《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的多通道SSI通信控制器設(shè)計
基于FPGA的多通道SSI通信控制器設(shè)計
來源:電子技術(shù)應(yīng)用2011年第10期
張鵬飛,王 瑋,趙 哲
(西北機電工程研究所,陜西 咸陽712099)
摘要: 采用VHDL硬件描述語言,以Xilinx公司的FPGA為設(shè)計平臺,設(shè)計實現(xiàn)了以開源軟核MC8051為核心的控制單元,控制4路SSI協(xié)議模塊的SoPC架構(gòu)的通信控制器,并對通信控制器進行了功能仿真與驗證。該控制器可靈活進行IP核模塊擴展,并可作為外圍處理機與TI公司TMS320C6000系列DSP進行互連通信,將慢速串行通信任務(wù)進行分離,從而減輕DSP的負擔,提高系統(tǒng)的整體性能。
關(guān)鍵詞: FPGA 同步串行接口 MC8051 IP核 DSP
中圖分類號: TP391
文獻標識碼: 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)境也越來越惡劣,要求嵌入式計算機在體積不斷減小的情況下,具有更強的處理功能和較低的功耗。本文采用FPGA[1]設(shè)計技術(shù),利用VHDL硬件描述語言[2],將4個同步串行接口協(xié)議SSI IP核[3]模塊組成一個功能可擴展的SoPC架構(gòu)的從通信控制器,從而使主從控制器協(xié)同工作,保證了整個嵌入式系統(tǒng)在通信速度達到技術(shù)要求的前提下,能更有效地降低系統(tǒng)功耗與體積。
1 SoPC設(shè)計方法
    可編程片上系統(tǒng)SoPC(System on Programmable Chip)(或稱基于大規(guī)模FPGA的單片系統(tǒng))是一種靈活、高效的SoC解決方案,將處理器、存儲器、I/O口等系統(tǒng)需要的功能模塊集成到一個PLD器件上,構(gòu)成了一個可編程片上系統(tǒng),具有靈活的設(shè)計方式(可裁減、可擴充、可升級),并具備軟硬件在系統(tǒng)可編程功能。
    圖1為典型的基于IP核庫的SoPC設(shè)計流程,主要是利用軟硬件協(xié)同方法完成整個系統(tǒng)設(shè)計。

2 通信控制器架構(gòu)模塊組成
    本文采用了一種全新的SoPC體系結(jié)構(gòu),整個嵌入式系統(tǒng)主要由主控制器和FPGA(從控制器)兩大功能單元組成,其結(jié)構(gòu)如圖2所示。主控制器選用TI公司的TMS320C6713 DSP,虛框內(nèi)的電路單元則為所設(shè)計的多通道同步通信控制器(也即從控制器)。通過TMS320C6713處理器芯片自帶的EMIF模塊與基于FPGA實現(xiàn)的多通道同步通信控制器進行數(shù)據(jù)交換?;贔PGA實現(xiàn)的從處理器內(nèi)部選用MC8051 IP軟核來控制和管理4路SSI協(xié)議通信控制器,TMS320C6713與MC8051之間通過雙端口RAM共享數(shù)據(jù)和交換信息,整個系統(tǒng)采用中斷控制方式,實現(xiàn)主/從控制器協(xié)同處理任務(wù)。

    由圖2可知,該SoPC架構(gòu)控制器內(nèi)部可劃分為4大模塊:從處理器MC8051 IP核、4路SSI協(xié)議通信控制器、雙端口RAM和中斷邏輯單元。下面分別對4個主要組成模塊進行介紹。
2.1 從處理器
    為了提高同步通信控制器的自主性與靈活性,在FPGA內(nèi)部嵌入一個微控制器80C51 IP核作為同步通信控制器的核心控制單元。MC8051 IP軟核的特點主要有:指令集與工業(yè)標準的8051控制器兼容;新的體系結(jié)構(gòu)使單片機處理速度提高了10倍;無多路復(fù)用I/O端口,實行輸入和輸出接口完全隔離;256 B的內(nèi)部RAM;最高可達64 KB的內(nèi)部ROM和最高可達64 KB的外部RAM;容易調(diào)整或改變VHDL源代碼實現(xiàn)相關(guān)的核擴展功能;可通過VHDL常量進行參數(shù)化設(shè)置。
    圖3是MC8051 IP核的內(nèi)部功能結(jié)構(gòu)圖。從圖中可以看到,該IP核包括的子模塊有:算術(shù)邏輯單元MC8051_ALU、串行接口單元MC8051_SIU、定時器/計數(shù)器單元MC8051_TMRCTR、核心控制單元MC8051_CONTROL、內(nèi)部數(shù)據(jù)存儲單元MC8051_RAM、內(nèi)部程序存儲單元MC8051_ROM和外部數(shù)據(jù)存儲單元MC8051_RAMX。其中,N表示MC8051_SIU和MC8051_TMRCTR兩個單元根據(jù)實際需要可靈活制定的個數(shù),其范圍值為1~256,可在VHDL代碼中改變參數(shù)C_IMPL_N_TMR的值進行設(shè)置。

 

 

2.2 SSI協(xié)議控制器
    同步串行接口SSI(Synchronous Serial Interface)[4]通信協(xié)議是同步串行通信協(xié)議的一種類型,該協(xié)議主要包含幀同步信號GATE、時鐘信號CLK和串行數(shù)據(jù)DATA三類信號,其時序關(guān)系如圖4所示。

    在圖4中,幀同步信號GATE有方式1和方式2兩種可選擇方式協(xié)調(diào)控制時鐘信號CLK和串行數(shù)據(jù)DATA。方式1用虛曲線①表示,在該方式下,整個系統(tǒng)空閑時,GATE一直處于高電平狀態(tài),當觸發(fā)一個瞬態(tài)低電平脈沖后,DATA在GATE信號的上升沿根據(jù)系統(tǒng)配置要求進行傳輸,同時GATE保持高電平。方式2用實曲線②表示,該方式下當系統(tǒng)空閑時,GATE一直處于低電平狀態(tài),當觸發(fā)一個瞬態(tài)高電平脈沖后,DATA在GATE信號的下降沿進行傳輸,同時GATE保持低電平。在上述兩種方式中,DATA可在CLK的上升沿或者下降沿保持穩(wěn)定并進行采集。
    SSI IP核接口信號圖如圖5所示。

    本文中共定義了4路(A~D)相同結(jié)構(gòu)的SSI IP核,MC8051通過中斷和查詢方式對4路通信協(xié)議控制器進行數(shù)據(jù)的收/發(fā)操作控制。
2.3 雙端口RAM
    MC8051中的外部數(shù)據(jù)存儲器MC8051_XRAM存儲空間最高可達到64 KB,本設(shè)計用VHDL語言生成一個32 KB的外部數(shù)據(jù)擴展雙端口存儲器MC8051_XRAM,一端供MC8051 IP核操作,另一端供DSP操作,通過地址線譯碼,從而為MC8051_XRAM和4路SSI協(xié)議控制器提供cs_x和cs_a~cs_d等片選信號。輸入MC8051_XRAM模塊的地址線為addra(15:0),實際使用到的地址線空間為addra(14:0),支持32 KB尋址空間。
2.4 中斷邏輯單元
    中斷邏輯單元的操作地址為FFD3H,當DSP向該地址進行寫操作時,中斷邏輯單元將向多通道同步通信控制器發(fā)出低有效的中斷信號;當多通道同步通信控制器中的MC8051向該地址進行寫操作時,中斷邏輯單元將清除中斷。該中斷邏輯單元的信號接口信息如表1所示。

    選中A路通道對并行數(shù)據(jù)的發(fā)送進行仿真測試,其測試仿真如圖7所示。從圖可以看出,并行數(shù)據(jù)Data在MC8051工作時鐘Wr_clk和外部分頻時鐘Exclk作用下,通過設(shè)置A通道內(nèi)的寄存器組合達到最終串行數(shù)據(jù)的發(fā)送。從而可以驗證,數(shù)據(jù)發(fā)送仿真功能正確。

    選中B路通道對外圍串行數(shù)據(jù)的接收進行仿真測試,其測試仿真如圖8所示。從圖可以看出,串行數(shù)據(jù)Rxd在MC8051工作時鐘Clk和外部分頻時鐘Exclk作用下,通過配置B通道內(nèi)的寄存器組合得到并行數(shù)據(jù)的接收。從而可以驗證,數(shù)據(jù)接收仿真功能正確。
    本文以Xilinx公司的FPGA器件為設(shè)計平臺,采用VHDL硬件描述語言,設(shè)計了一種SoPC架構(gòu)的從通信控制器,并對設(shè)計方案進行了仿真與驗證,得出了設(shè)計方案的正確性,并已成功用于某遙測數(shù)據(jù)工程實踐中,因其兼具較高的數(shù)據(jù)傳輸率、IP核的可移植性和靈活擴展性而容易推廣使用。
參考文獻
[1] 任曉東.CPLD/FPGA高級應(yīng)用開發(fā)指南[M].北京:電子工業(yè)出版社,2003.
[2] 侯伯亨,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計[M].西安:西安電子科技大學(xué)出版社,2001.
[3] 馮春陽,張遂南.三線制同步串行通信控制器接口設(shè)計[J].現(xiàn)代電子技術(shù),2009,306(19):80-82.

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