《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的多通道SSI通信控制器設(shè)計(jì)
基于FPGA的多通道SSI通信控制器設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2011年第10期
張鵬飛,王 瑋,趙 哲
(西北機(jī)電工程研究所,陜西 咸陽712099)
摘要: 采用VHDL硬件描述語言,以Xilinx公司的FPGA為設(shè)計(jì)平臺,設(shè)計(jì)實(shí)現(xiàn)了以開源軟核MC8051為核心的控制單元,控制4路SSI協(xié)議模塊的SoPC架構(gòu)的通信控制器,并對通信控制器進(jìn)行了功能仿真與驗(yàn)證。該控制器可靈活進(jìn)行IP核模塊擴(kuò)展,并可作為外圍處理機(jī)與TI公司TMS320C6000系列DSP進(jìn)行互連通信,將慢速串行通信任務(wù)進(jìn)行分離,從而減輕DSP的負(fù)擔(dān),提高系統(tǒng)的整體性能。
關(guān)鍵詞: FPGA 同步串行接口 MC8051 IP核 DSP
中圖分類號: TP391
文獻(xiàn)標(biāo)識碼: B
文章編號: 0258-7998(2011)10-0036-03
Design of multi-channel SSI communication controller based on FPGA
Zhang Pengfei,Wang Wei,Zhao Zhe
Northwest Institute of Mechanical & Electrical Engineering, Xianyang 712099,China
Abstract: The article designs and implements typical communication controller based on SoPC architecture in VHDL on the platform of FPGA of Xilinx corporation with the open source code MC8051 IP core as the central control unit,which manages four same SSI modules,and the controller has been functionally simulated and verfied.The communication controller may flexibly add other IP core modules, and be used as a peripheral communication process unit and interconnect with TMS320C6000 series DSP of TI.It can separate the slow serial communication tasks, relieve the burdens of main controlling DSP,and improve the overall performance of system.
Key words : SSI;FPGA;MC8051;IP core;DSP


    在嵌入式系統(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。