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