1 引言
CPLD是一種用戶(hù)可以根據(jù)自行需要而自己能夠設(shè)計(jì)構(gòu)造其邏輯功能的數(shù)字集成電路系統(tǒng),實(shí)現(xiàn)了硬件設(shè)計(jì)的軟件化。CPLD具有豐富的可編程I/O引腳,具有在系統(tǒng)可編程( In System programmability)、使用方便靈活的的特點(diǎn);近年來(lái), CPLD器件成本不斷下降,集成密度、速度和性能大幅度提高,一個(gè)芯片就可以實(shí)現(xiàn)一個(gè)復(fù)雜的數(shù)字電路系統(tǒng);再加上使用方便的開(kāi)發(fā)工具,使用CPLD器件可以極大地縮短產(chǎn)品開(kāi)發(fā)周期,給設(shè)計(jì)、修改帶來(lái)很大方便。CPLD成為一種可優(yōu)化硬件電路設(shè)計(jì)且具競(jìng)爭(zhēng)力的產(chǎn)品。
ALTERA貼片電感器 公司不僅提供大規(guī)模的CPLD 和FPGA 器件, 同時(shí)也提供一套十分有特色的綜合工具M(jìn)AXPLU S- II, 設(shè)計(jì)者既可以使用原理圖輸入, 也可以使用文本輸入方式, 更可以二者混合輸入。從編譯、綜合、布線(xiàn)到仿真、下載一氣呵成, 十分方便。
TMS320C6713是TI公司在TMS320C6711的基礎(chǔ)上推出的新一代浮點(diǎn)DSP芯片,它可以在255MHz的時(shí)鐘頻率下實(shí)現(xiàn)1800MIPS/1350MFLOPS的定點(diǎn)和浮點(diǎn)運(yùn)算,極大程度上滿(mǎn)足了高速數(shù)據(jù)采集與實(shí)時(shí)控制系統(tǒng)對(duì)信號(hào)處理速度的要求。作為下位機(jī)使用時(shí),它可通過(guò)主機(jī)口HPI與各種不同類(lèi)型的上位機(jī)連接。
本文將給出如何使用ALteRA 公司的CPLD 器件EPM7128AE-144實(shí)現(xiàn)DSP的HPI口和背板的VM貼片電感E總線(xiàn)之間的連接方法。
2 TMS320C6713的HPI
2.1 TMS320C6713HPI口的接口信號(hào)
TMS320C6713的HP貼片電感器I口是一個(gè)16位寬的并行端口。上位機(jī)掌管該端口的主控權(quán),可通過(guò)HPI直接訪(fǎng)問(wèn)TMS320C6713的存儲(chǔ)空間和外圍設(shè)備。表1總結(jié)了TMS320C6713HPI的接口信號(hào)的基本特征。
下面對(duì)它們的具體工作方式進(jìn)行說(shuō)明。
(1)HD[15-0]可以看作數(shù)據(jù)地址的共用總線(xiàn),通過(guò)HD[15-0]傳送的數(shù)據(jù)包括控制積存器的設(shè)置值、初始化的訪(fǎng)問(wèn)地址以及要傳輸?shù)臄?shù)據(jù)。
(2)HCNTL[1-0]信號(hào)控制當(dāng)前訪(fǎng)問(wèn)的是HPI的哪一個(gè)寄存器,還提供了一個(gè)對(duì)HPI數(shù)據(jù)寄存器(HPID)進(jìn)行自增的訪(fǎng)問(wèn)方式。表2給出了HCNTL[1-0]控制信號(hào)功能。
(3)HHWIL的作用是表明區(qū)分HD[15-0]上傳輸?shù)氖?2位數(shù)據(jù)中的高16位還是低16位。
(4)#HAS信號(hào)用于復(fù)用地址數(shù)據(jù)總線(xiàn)的主機(jī)。
(5)#HCS、#HDS1和#HDS2信號(hào)在片內(nèi)組合為一個(gè)低有效的#HSTROBE信號(hào),它的作用是:讀取時(shí)#HSTROBE信號(hào)的下降沿鎖存輸入HPI的控制信號(hào),寫(xiě)入時(shí)其下降沿和讀取時(shí)作用相同,上升沿則鎖存寫(xiě)入的數(shù)據(jù)。
(6)#HRDY信號(hào)表明HPI是否已準(zhǔn)備好傳輸數(shù)據(jù),作用是在接口時(shí)序上插入等待狀態(tài)。
TMS320C6713HPI中用三個(gè)寄存器來(lái)完成主設(shè)備和CPU的通信,他們是HPI數(shù)據(jù)寄存器(HPID)、HPI地址寄存器(HPIA)、HPI控制寄存器(HPIC)。HPID中存放的是主機(jī)從TMS320C6713存儲(chǔ)空間中寫(xiě)入的數(shù)據(jù)。HPIA中存放的是主機(jī)訪(fǎng)問(wèn)TMS320C6713存儲(chǔ)空間的地址。HPIC中存放的是TMS320C6713的控制信息,其高16位和低16位內(nèi)容相同。
3 設(shè)計(jì)實(shí)現(xiàn)
實(shí)際上, 整個(gè)CPLD 設(shè)計(jì)的主要任務(wù)也是圍繞這幾個(gè)信號(hào)的設(shè)計(jì)展開(kāi)的。
用VHDL實(shí)現(xiàn)CPLD的內(nèi)部邏輯實(shí)現(xiàn),VHDL 是用來(lái)描述從抽象到具體硬件級(jí)別的工業(yè)標(biāo)準(zhǔn)語(yǔ)言, 并已成為一種通用的硬件設(shè)計(jì)交換媒介。。VHDL硬件描述語(yǔ)言設(shè)計(jì)方法其靈活性、可移植性都是非常好的,在對(duì)設(shè)計(jì)的仿真方面同圖形化硬件描述方法一樣都是非常優(yōu)秀的,設(shè)計(jì)效率在大規(guī)模設(shè)計(jì)中將明顯高于原理圖設(shè)計(jì)。
部分VHDL程序如下:
has <='1';
hrw <=crw;
hcntl0 <=ca2;
hcntl1 <=ca3;
hds1 <='1';
hds2 <=cis and hrdy;
cirq1<=hint;
ca_l <=ca16隔離電感器&ca15&ca14;
ca_m <= ca5&ca4;
p1:process (ca_l,ca_m)
begin
case ca_m is
when "00"=>ec<="1110";
when "01"=>ec<="1101";
when "10"=>ec<="1011";
when "11"=>ec<="0111";
when ot電感器生產(chǎn)廠(chǎng)家hers =>ec<="1111";
end case;
hcs <=ec(0);
end procESS p1;
具體的設(shè)計(jì)思路如下:本設(shè)計(jì)中,因?yàn)檫€有其他板內(nèi)部件需要選擇,所以采用地址的4和5譯碼來(lái)控制HCS,當(dāng)為“00”時(shí)HCS有效。設(shè)計(jì)時(shí)將HDS1 固定接高電平, 并由IS和HRDY信號(hào)產(chǎn)生邏輯來(lái)控制HDS2 信號(hào)。當(dāng)HRDY處于無(wú)效狀態(tài)(即HPI 端口未準(zhǔn)備就緒) 時(shí), HDS2 信號(hào)不變,不采樣任何信號(hào);而當(dāng)HRDY有效時(shí), HDS2 信號(hào)同IS 信號(hào)保持一致, 并在IS 的下降沿采樣控制信號(hào),在上升沿采樣數(shù)據(jù)信號(hào)。在一次傳輸開(kāi)始之前和結(jié)束之后, HDS2 都要保持為高電平??捎肏DS2 作為時(shí)鐘輸入的兩分頻電路來(lái)產(chǎn)生HHWIL ; HCNTL[ 0 : 1] 接兩根地址線(xiàn),以便由上層驅(qū)動(dòng)程序來(lái)控制對(duì)HPI 口內(nèi)部不同寄存器的訪(fǎng)問(wèn), 并由CR/W來(lái)產(chǎn)生HR/ W信號(hào)。 大功率電感廠(chǎng)家 |大電流電感工廠(chǎng)