DSPHPI口與PC104總線接口的FPGA設(shè)計(jì)
摘 要 通過對TI公司TMS320C5000系列DSP HPI總線和PC104總線時(shí)序的分析,以VHDL語言為工具,使用Altera的FPGA芯片EP1K50,設(shè)計(jì)完成PCI04總線和DSP HPI總線之間的通信接口,并在一款以TMS320VC5409DSP為數(shù)據(jù)采集處理器、研華嵌入式工控主板PCM-5825為系統(tǒng)主板組成的嵌入式數(shù)據(jù)采集系統(tǒng)申得到了運(yùn)用;給出與整個(gè)接口設(shè)計(jì)相關(guān)的VHDL源代碼和在PCM-5825上驗(yàn)證接口設(shè)計(jì)的X86匯編語言程序。
關(guān)鍵詞 DSP HPI PC104總線 FPGA VHDL源代碼 在一款嵌入式數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)中,采用TMS320VC5409 DSP作為對多路信號的采集與預(yù)處理,處理后的數(shù)據(jù)送至12.7 Cm(5in)的工控計(jì)算機(jī)中進(jìn)行分析與保存。因?yàn)楣た貦C(jī)的總線為PC104,因此需要設(shè)計(jì)PC104與DSP之間的通信接口。系統(tǒng)中以Altera公司的一片F(xiàn)PGA芯片EPlK50來對該接口和數(shù)據(jù)采集過程中的邏輯控制與FIFO進(jìn)行設(shè)計(jì)。下面主要闡述該通信接口的設(shè)計(jì)。1 DSP的HP0接口
TMS320VC5409 DSP的HPI是一個(gè)8位的并行接口,主要用來與主設(shè)備或主處理器接口。DSP內(nèi)部有一定數(shù)量的雙訪問RAM,除了DSP本身可以訪問該RAM區(qū)域外,主機(jī)也可以通過HPI口實(shí)現(xiàn)對雙訪問RAM的訪問,從而實(shí)現(xiàn)主機(jī)與DSP的通信。
HPI接口通過HPI控制寄存器HPIC、地址寄存器HPIA、數(shù)據(jù)寄存器HPID等3個(gè)HPI寄存器進(jìn)行控制和實(shí)現(xiàn)數(shù)據(jù)傳輸。這3個(gè)寄存器都是16位的,因此主機(jī)訪問這些寄存器時(shí)需要分兩次操作才能完成。
HPIC只有4位用于控制HPI的操作,這4位分別位于高字節(jié)和低字節(jié)的低4位,并規(guī)定HPIC的高低字節(jié)必須相同:
Bit0/8(BOB)一一用于字節(jié)順序控制,BOB=1表示第1個(gè)字節(jié)為低字節(jié),否則第1個(gè)字節(jié)為高字節(jié);
Bitl/9(SMOD)一一訪問模式控制,SMOD=l表示共享訪問模式(SAM),否則為主機(jī)訪問模式(HOM);
Bit2/10(DSPINT)一一主機(jī)通過將該位寫l來向DSP發(fā)送1次HPI中斷;
Bit3/11(H1NT)一一DSP通過向該位置l,使外部引腳HINT產(chǎn)生一個(gè)低電子作為給主機(jī)的中斷,中斷的清除必須由主機(jī)向該位寫l來清除。
HPID是數(shù)據(jù)寄存器,主機(jī)通過讀寫該寄存器來實(shí)現(xiàn)對共享RAM的讀寫,RAM的地址則由HPIA地址寄存器的內(nèi)容來決定。因此,主機(jī)對DSP的訪問過程是,先往HPI地址寄存器HPIA寫入欲訪問的地址,然后再對數(shù)據(jù)寄存器HPID進(jìn)行讀或?qū)懺L問。
HPI接口信號包括:
HAS一一輸入,地址鎖存信號,可連接到高電平;
HBIL一一輸入,字節(jié)識別信號,用來識別傳輸?shù)氖歉唠娖竭€是低電平;
HCNTL[1..0]一一輸入,HPI寄存器的訪問地址信號,主機(jī)用來選擇訪問的HPI寄存器。如表l所列; HCS一一輸入,HPI片選信號,低電平有效;
HD[7..0]一一雙向三態(tài)數(shù)據(jù)總線;
HDS1/HDS2一一數(shù)據(jù)輸入選通信號,可將其中一個(gè)接低電平,另一個(gè)接邏輯控制;
HINT一一輸出,給主機(jī)的中斷信號,由HPIC寄存器的HINT位控制;
HRDY一一輸出,HPI準(zhǔn)備好,高電子有效;
HR/W一一輸入,讀寫控制信號,高電子表示主機(jī)進(jìn)行讀操作,低電子表示主機(jī)進(jìn)行寫操作。
HPI的訪問時(shí)序如圖l所示。如前所述,訪問寄存器時(shí)需要分兩次操作才能完成。
2 PC104總線
PC104總線是從ISA總線衍生而來的,主要是為了適應(yīng)嵌入式系統(tǒng)的需要。在8.89 cm(3.5 in)和12.7cm(5in)工控主板中,大多使用PC104總線作為標(biāo)準(zhǔn)接口總線。PC104總線共有104根引腳,其中絕大多數(shù)與ISA總線信號特性完全一致,只有極個(gè)別的信號有區(qū)別,因此在應(yīng)用中完全可以按ISA總線使用。PC104總線與ISA總線一樣,是一個(gè)16位和8位同時(shí)兼容的總線。在本系統(tǒng)中,使用的是8位的方式,將DSP的HPI口作為PC104總線的8位I/O設(shè)備。PC104總線的I/O訪問時(shí)序如圖2和圖3所示。 根據(jù)PC104總線的I/O訪問時(shí)序,只需使用以下的總線信號,即可完成8位總線的通信設(shè)計(jì):
SD[7..0]一一PC104數(shù)據(jù)總線;
SA[9..0]一一PC104地址總線;
IOW一一PC104端口寫控制,低電平有效,表示對I/0口寫操作,由OUT指令執(zhí)行;
IOR一PC104端口讀控制,低電子有效,表示對I/O口讀操作,由IN指令執(zhí)行;
SYSCLK一一PC104總線時(shí)鐘;
ALE一一地址鎖存信號,在此不用作地址鎖存,而是用作總線周期的開始同步,它的下降沿表示總線周期開始;
IOCHRDY一一I/0設(shè)備就緒信號,當(dāng)將該電平為低(無效狀態(tài))時(shí),表示I/0設(shè)備要延長總線周期,信號由三態(tài)門或集電極開路門驅(qū)動;





