文獻(xiàn)標(biāo)識碼: B
文章編號: 0258-7998(2011)10-0036-03
在嵌入式系統(tǒng)應(yīng)用領(lǐng)域中,需要完成的任務(wù)越來越復(fù)雜,,應(yīng)用環(huán)境也越來越惡劣,,要求嵌入式計(jì)算機(jī)在體積不斷減小的情況下,具有更強(qiáng)的處理功能和較低的功耗,。本文采用FPGA[1]設(shè)計(jì)技術(shù),,利用VHDL硬件描述語言[2],將4個(gè)同步串行接口協(xié)議SSI IP核[3]模塊組成一個(gè)功能可擴(kuò)展的SoPC架構(gòu)的從通信控制器,,從而使主從控制器協(xié)同工作,,保證了整個(gè)嵌入式系統(tǒng)在通信速度達(dá)到技術(shù)要求的前提下,能更有效地降低系統(tǒng)功耗與體積,。
1 SoPC設(shè)計(jì)方法
可編程片上系統(tǒng)SoPC(System on Programmable Chip)(或稱基于大規(guī)模FPGA的單片系統(tǒng))是一種靈活,、高效的SoC解決方案,,將處理器、存儲器,、I/O口等系統(tǒng)需要的功能模塊集成到一個(gè)PLD器件上,,構(gòu)成了一個(gè)可編程片上系統(tǒng),具有靈活的設(shè)計(jì)方式(可裁減,、可擴(kuò)充,、可升級),并具備軟硬件在系統(tǒng)可編程功能,。
圖1為典型的基于IP核庫的SoPC設(shè)計(jì)流程,,主要是利用軟硬件協(xié)同方法完成整個(gè)系統(tǒng)設(shè)計(jì)。
2 通信控制器架構(gòu)模塊組成
本文采用了一種全新的SoPC體系結(jié)構(gòu),,整個(gè)嵌入式系統(tǒng)主要由主控制器和FPGA(從控制器)兩大功能單元組成,,其結(jié)構(gòu)如圖2所示。主控制器選用TI公司的TMS320C6713 DSP,,虛框內(nèi)的電路單元則為所設(shè)計(jì)的多通道同步通信控制器(也即從控制器),。通過TMS320C6713處理器芯片自帶的EMIF模塊與基于FPGA實(shí)現(xiàn)的多通道同步通信控制器進(jìn)行數(shù)據(jù)交換?;贔PGA實(shí)現(xiàn)的從處理器內(nèi)部選用MC8051 IP軟核來控制和管理4路SSI協(xié)議通信控制器,,TMS320C6713與MC8051之間通過雙端口RAM共享數(shù)據(jù)和交換信息,整個(gè)系統(tǒng)采用中斷控制方式,,實(shí)現(xiàn)主/從控制器協(xié)同處理任務(wù),。
由圖2可知,該SoPC架構(gòu)控制器內(nèi)部可劃分為4大模塊:從處理器MC8051 IP核,、4路SSI協(xié)議通信控制器,、雙端口RAM和中斷邏輯單元。下面分別對4個(gè)主要組成模塊進(jìn)行介紹,。
2.1 從處理器
為了提高同步通信控制器的自主性與靈活性,,在FPGA內(nèi)部嵌入一個(gè)微控制器80C51 IP核作為同步通信控制器的核心控制單元。MC8051 IP軟核的特點(diǎn)主要有:指令集與工業(yè)標(biāo)準(zhǔn)的8051控制器兼容,;新的體系結(jié)構(gòu)使單片機(jī)處理速度提高了10倍,;無多路復(fù)用I/O端口,實(shí)行輸入和輸出接口完全隔離,;256 B的內(nèi)部RAM,;最高可達(dá)64 KB的內(nèi)部ROM和最高可達(dá)64 KB的外部RAM;容易調(diào)整或改變VHDL源代碼實(shí)現(xiàn)相關(guān)的核擴(kuò)展功能,;可通過VHDL常量進(jìn)行參數(shù)化設(shè)置,。
圖3是MC8051 IP核的內(nèi)部功能結(jié)構(gòu)圖。從圖中可以看到,該IP核包括的子模塊有:算術(shù)邏輯單元MC8051_ALU,、串行接口單元MC8051_SIU,、定時(shí)器/計(jì)數(shù)器單元MC8051_TMRCTR,、核心控制單元MC8051_CONTROL,、內(nèi)部數(shù)據(jù)存儲單元MC8051_RAM、內(nèi)部程序存儲單元MC8051_ROM和外部數(shù)據(jù)存儲單元MC8051_RAMX,。其中,,N表示MC8051_SIU和MC8051_TMRCTR兩個(gè)單元根據(jù)實(shí)際需要可靈活制定的個(gè)數(shù),其范圍值為1~256,,可在VHDL代碼中改變參數(shù)C_IMPL_N_TMR的值進(jìn)行設(shè)置,。
2.2 SSI協(xié)議控制器
同步串行接口SSI(Synchronous Serial Interface)[4]通信協(xié)議是同步串行通信協(xié)議的一種類型,該協(xié)議主要包含幀同步信號GATE,、時(shí)鐘信號CLK和串行數(shù)據(jù)DATA三類信號,,其時(shí)序關(guān)系如圖4所示。
在圖4中,,幀同步信號GATE有方式1和方式2兩種可選擇方式協(xié)調(diào)控制時(shí)鐘信號CLK和串行數(shù)據(jù)DATA,。方式1用虛曲線①表示,在該方式下,,整個(gè)系統(tǒng)空閑時(shí),,GATE一直處于高電平狀態(tài),當(dāng)觸發(fā)一個(gè)瞬態(tài)低電平脈沖后,,DATA在GATE信號的上升沿根據(jù)系統(tǒng)配置要求進(jìn)行傳輸,,同時(shí)GATE保持高電平。方式2用實(shí)曲線②表示,,該方式下當(dāng)系統(tǒng)空閑時(shí),,GATE一直處于低電平狀態(tài),當(dāng)觸發(fā)一個(gè)瞬態(tài)高電平脈沖后,,DATA在GATE信號的下降沿進(jìn)行傳輸,,同時(shí)GATE保持低電平。在上述兩種方式中,,DATA可在CLK的上升沿或者下降沿保持穩(wěn)定并進(jìn)行采集,。
SSI IP核接口信號圖如圖5所示。
本文中共定義了4路(A~D)相同結(jié)構(gòu)的SSI IP核,,MC8051通過中斷和查詢方式對4路通信協(xié)議控制器進(jìn)行數(shù)據(jù)的收/發(fā)操作控制,。
2.3 雙端口RAM
MC8051中的外部數(shù)據(jù)存儲器MC8051_XRAM存儲空間最高可達(dá)到64 KB,本設(shè)計(jì)用VHDL語言生成一個(gè)32 KB的外部數(shù)據(jù)擴(kuò)展雙端口存儲器MC8051_XRAM,,一端供MC8051 IP核操作,,另一端供DSP操作,通過地址線譯碼,,從而為MC8051_XRAM和4路SSI協(xié)議控制器提供cs_x和cs_a~cs_d等片選信號,。輸入MC8051_XRAM模塊的地址線為addra(15:0),,實(shí)際使用到的地址線空間為addra(14:0),支持32 KB尋址空間,。
2.4 中斷邏輯單元
中斷邏輯單元的操作地址為FFD3H,,當(dāng)DSP向該地址進(jìn)行寫操作時(shí),中斷邏輯單元將向多通道同步通信控制器發(fā)出低有效的中斷信號,;當(dāng)多通道同步通信控制器中的MC8051向該地址進(jìn)行寫操作時(shí),,中斷邏輯單元將清除中斷。該中斷邏輯單元的信號接口信息如表1所示,。
選中A路通道對并行數(shù)據(jù)的發(fā)送進(jìn)行仿真測試,,其測試仿真如圖7所示。從圖可以看出,,并行數(shù)據(jù)Data在MC8051工作時(shí)鐘Wr_clk和外部分頻時(shí)鐘Exclk作用下,,通過設(shè)置A通道內(nèi)的寄存器組合達(dá)到最終串行數(shù)據(jù)的發(fā)送。從而可以驗(yàn)證,,數(shù)據(jù)發(fā)送仿真功能正確,。
選中B路通道對外圍串行數(shù)據(jù)的接收進(jìn)行仿真測試,其測試仿真如圖8所示,。從圖可以看出,,串行數(shù)據(jù)Rxd在MC8051工作時(shí)鐘Clk和外部分頻時(shí)鐘Exclk作用下,通過配置B通道內(nèi)的寄存器組合得到并行數(shù)據(jù)的接收,。從而可以驗(yàn)證,,數(shù)據(jù)接收仿真功能正確。
本文以Xilinx公司的FPGA器件為設(shè)計(jì)平臺,,采用VHDL硬件描述語言,,設(shè)計(jì)了一種SoPC架構(gòu)的從通信控制器,并對設(shè)計(jì)方案進(jìn)行了仿真與驗(yàn)證,,得出了設(shè)計(jì)方案的正確性,,并已成功用于某遙測數(shù)據(jù)工程實(shí)踐中,因其兼具較高的數(shù)據(jù)傳輸率,、IP核的可移植性和靈活擴(kuò)展性而容易推廣使用,。
參考文獻(xiàn)
[1] 任曉東.CPLD/FPGA高級應(yīng)用開發(fā)指南[M].北京:電子工業(yè)出版社,2003.
[2] 侯伯亨,,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,,2001.
[3] 馮春陽,張遂南.三線制同步串行通信控制器接口設(shè)計(jì)[J].現(xiàn)代電子技術(shù),,2009,,306(19):80-82.