當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

摘 要: 介紹了基于FPGA+DSP+ARM的數(shù)據(jù)傳送總線變換器的整體設(shè)計(jì)及ARM、DSP和FPGA的器件選型,詳細(xì)描述了ARM與DSP、DSP與FPGA的接口電路設(shè)計(jì),給出了系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì),詳細(xì)描述了HPI驅(qū)動(dòng)程序的實(shí)現(xiàn)過(guò)程。
關(guān)鍵詞: 可編程邏輯門(mén)陣列;數(shù)字信號(hào)處理器;ARM;嵌入式系統(tǒng)

在飛控組件測(cè)試時(shí),由于被測(cè)系統(tǒng)與上位機(jī)有一定距離,如果直接把遙測(cè)并行數(shù)據(jù)傳送到上位機(jī),將會(huì)出現(xiàn)數(shù)據(jù)信號(hào)的衰減和信號(hào)延時(shí)問(wèn)題,有可能使信號(hào)時(shí)序錯(cuò)位,從而達(dá)不到系統(tǒng)測(cè)試的要求。為此,需要研制一種數(shù)據(jù)傳送總線變換器,用來(lái)完成被測(cè)數(shù)據(jù)無(wú)失真的、實(shí)時(shí)的、遠(yuǎn)距離與上位機(jī)的通信,并能接收上位機(jī)的控制指令,實(shí)現(xiàn)工作狀態(tài)的遠(yuǎn)程交互。
1 數(shù)據(jù)傳送總線變換器的整體設(shè)計(jì)
綜合考慮到測(cè)試系統(tǒng)實(shí)時(shí)性和可靠性的要求,選擇以太網(wǎng)口作為數(shù)據(jù)傳送總線變換器與上位機(jī)的數(shù)據(jù)轉(zhuǎn)發(fā)接口,以高速串口作為控制口,采用FPGA+DSP+ARM的架構(gòu)作為實(shí)時(shí)信息處理平臺(tái)。
數(shù)據(jù)傳送總線變換器的系統(tǒng)框圖如圖1所示。其中,F(xiàn)PGA作為數(shù)據(jù)預(yù)處理器,完成并行數(shù)據(jù)到串行數(shù)據(jù)的轉(zhuǎn)換等數(shù)據(jù)預(yù)處理任務(wù);DSP讀取FPGA處理后的數(shù)據(jù)并完成數(shù)據(jù)壓縮的任務(wù);ARM作為中央處理控制器,主要完成從DSP系統(tǒng)中讀取已經(jīng)編碼好的數(shù)據(jù)并通過(guò)以太網(wǎng)口完成與上位機(jī)的實(shí)時(shí)通信任務(wù)。上位機(jī)按照數(shù)據(jù)傳輸協(xié)議、產(chǎn)品的數(shù)據(jù)遙測(cè)協(xié)議解調(diào)出各類(lèi)物理變量,記錄并存儲(chǔ)。測(cè)試人員通過(guò)上位機(jī)完成工作狀態(tài)的遠(yuǎn)程控制與各種信息交互任務(wù)。

在該系統(tǒng)中采用了FPGA+DSP+ARM的高端架構(gòu),但是衡量一個(gè)系統(tǒng)的整體性能不僅要看所使用的器件和所完成的功能,還要看各個(gè)器件之間的接口形式。在FPGA+DSP+ARM的信息處理平臺(tái)上,三者之間的接口形式將決定整個(gè)系統(tǒng)的性能。為滿(mǎn)足實(shí)時(shí)的信號(hào)處理任務(wù),在選擇DSP芯片時(shí),不僅要考慮DSP芯片的處理速度,還要考慮DSP芯片與FPGA、ARM的接口能力,選擇帶有EMIF和HPI接口的DSP使其與FPGA、ARM無(wú)縫連接成為該系統(tǒng)設(shè)計(jì)的關(guān)鍵一環(huán)。
2 器件選型
在該數(shù)據(jù)傳送總線變換器中,F(xiàn)PGA選用Xilinx公司最新推出的低成本現(xiàn)場(chǎng)可編程門(mén)陣列Spartan-3E 系列中的XC3S500E。XC3S500E包含有20個(gè)Block RAM,每個(gè)RAM塊中的18 KB的模塊存儲(chǔ)器,是完全同步、真正的雙端存儲(chǔ)器。用戶(hù)可獨(dú)立地從每個(gè)端口讀出或向每個(gè)端口寫(xiě)入(但同一地址不能同時(shí)進(jìn)行讀和寫(xiě))。另外,每個(gè)端口都有一個(gè)獨(dú)立的時(shí)鐘,對(duì)每個(gè)端口的數(shù)據(jù)寬度都可以獨(dú)立進(jìn)行配置。
ARM芯片選用Samsung公司的S3C4510B。S3C4510B是基于以太網(wǎng)應(yīng)用系統(tǒng)的高性?xún)r(jià)比16/32 bit RISC微控制器,內(nèi)含一個(gè)由ARM公司設(shè)計(jì)的16/32 bit ARM7TDMI RISC處理器核。除了ARM7TDMI核以外,S3C4510B還有許多重要的片內(nèi)外圍功能模塊,其中就有一個(gè)以太網(wǎng)控制器,用于S3C4510B系統(tǒng)與其他設(shè)備的網(wǎng)絡(luò)通信[1]。
DSP芯片選用TI公司的TMS320C6416。TMS320C6416是TI公司推出的高速定點(diǎn)DSP,它擁有處理能力強(qiáng)大的CPU、高達(dá)1 MB的RAM、豐富的外設(shè)接口。外設(shè)包括CPU訪問(wèn)外圍設(shè)備提供無(wú)縫接口的靈活的外部存儲(chǔ)器接口EMIFA和EMIFB,一個(gè)使得DSP很容易通過(guò)PCI接口無(wú)縫連接到一個(gè)具有PCI功能的外部主CPU上的PCI接口,一個(gè)16/32 bit寬的異步并行接口HPI(和PCI共用相同的引腳),一個(gè)提供64 bit數(shù)據(jù)通道訪問(wèn)的增強(qiáng)型EDMA等。其高速的處理速度滿(mǎn)足系統(tǒng)的實(shí)時(shí)性要求,并能實(shí)現(xiàn)與多種外設(shè)無(wú)縫連接。
3 硬件設(shè)計(jì)
3.1 ARM與DSP的接口電路
3.1.1 DSP TMS320C6416 HPI描述
TMS320C6416集成有一個(gè)16/32 bit寬主機(jī)接口HPI,HPI通過(guò)復(fù)位時(shí)的自舉和器件配置引腳HD5選擇采用HPI16還是HPI32。HPI具有兩條地址線HCNTRL[1:0],負(fù)責(zé)對(duì)HPI的內(nèi)部寄存器進(jìn)行尋址。HPI只有3個(gè)32 bit內(nèi)部寄存器,分別是控制寄存器HPIC、地址寄存器HPIA和數(shù)據(jù)寄存器HPID。用戶(hù)只需對(duì)上述3個(gè)寄存器進(jìn)行相應(yīng)的讀寫(xiě)操作,就能完成對(duì)DSP內(nèi)存空間的訪問(wèn)[2]。
3.1.2 S3C4510B與TMS320C6416的接口電路
由于S3C4510B中沒(méi)有完全符合TMS320C6416 HPI接口時(shí)序的外部接口可以直接使用,因此選用S3C4510B中時(shí)序最接近HPI接口時(shí)序的外部I/O接口與TMS320-
C6416進(jìn)行連接。TMS320C6416與S3C4510B接口電路如圖2所示。TMS320C6416與S3C4510B通過(guò)單獨(dú)的32 bit數(shù)據(jù)線HD0~HD31和8條控制線進(jìn)行連接。S3C4510B通過(guò)HPI接口訪問(wèn)DSP內(nèi)部的RAM以及其他外部資源。在整個(gè)ARM微處理器與DSP芯片通過(guò)HPI接口通信和數(shù)據(jù)交換的過(guò)程中,除了中斷ARM和清除ARM發(fā)過(guò)來(lái)的中斷需要DSP本身參與外,其他操作DSP都處于被動(dòng)的地位,幾乎不用進(jìn)行其他的操作。所以對(duì)于ARM來(lái)說(shuō),DSP系統(tǒng)單元就相當(dāng)于一片外接的SDRAM。


在TMS320C6416中,HPI、GP[15:9]、PCI、EEPROM、McBSP2共用了一組引腳,DSP在復(fù)位時(shí)通過(guò)鎖存PCI_EN和McBSP2_EN引腳的值來(lái)選擇使用何種外設(shè)。在該系統(tǒng)中,將這兩個(gè)使能引腳都拉低。
3.2 FPGA與DSP的接口電路
3.2.1 DSP TMS320C6416 EMIF描述
TMS320C6416對(duì)外有2個(gè)EMIF總線接口,分別是64 bit的EMIFA和16 bit的EMIFB。EMIFA接口具備與8、16、32、64 bit系統(tǒng)接口的功能,EMIFB接口端口支持8 bit和16 bit系統(tǒng)[3]。EMIFA為64 bit存儲(chǔ)器總線,分成ACE0~ACE3 4個(gè)存儲(chǔ)空間,每個(gè)存儲(chǔ)空間可以獨(dú)立配置,無(wú)縫接口具有多種類(lèi)型的存儲(chǔ)器,如SRAM、Flash RAM和DDR RAM等。
3.2.2 FPGA與TMS320C6416的接口電路
在該系統(tǒng)中,采用DSP TMS320C6416 EMIFA接口連接到FPGA的方法實(shí)現(xiàn)DSP與FPGA Block RAM的無(wú)縫連接。FPGA的雙端Block RAM的一端以存儲(chǔ)器模式與DSP通信,另一端與內(nèi)部FPGA邏輯通信[4]。
鑒于EMIF具有靈活的時(shí)序參數(shù),只需要極少的FPGA邏輯,因此,只需最低限度的設(shè)計(jì)工作,F(xiàn)PGA就可以用做DSP協(xié)處理器。圖3 所示為T(mén)MS320C6416與FPGA的接口電路。

4 系統(tǒng)軟件設(shè)計(jì)
4.1 嵌入式操作系統(tǒng)
在該數(shù)據(jù)傳送總線變換器中,實(shí)時(shí)數(shù)據(jù)壓縮的任務(wù)由DSP完成。ARM S3C4510B完成與PC之間的以太網(wǎng)通信,其軟件實(shí)現(xiàn)所要求的實(shí)時(shí)性、可靠性和復(fù)雜性使得選擇一種帶有TCP/IP協(xié)議包的嵌入式實(shí)時(shí)操作系統(tǒng)成為必需,而μCLinux是一個(gè)帶有完整的TCP/IP協(xié)議的操作系統(tǒng),在μCLinux中加入實(shí)時(shí)RT-Linux模塊以滿(mǎn)足對(duì)嵌入式操作系統(tǒng)的實(shí)時(shí)性要求。
4.2 驅(qū)動(dòng)和應(yīng)用程序的開(kāi)發(fā)
基于μCLinux操作系統(tǒng)的硬件驅(qū)動(dòng)和應(yīng)用程序的開(kāi)發(fā)是在交叉編譯環(huán)境中進(jìn)行的,首先在PC機(jī)上開(kāi)發(fā),然后移植到目標(biāo)機(jī)上進(jìn)行調(diào)試并最終固化到目標(biāo)機(jī)上。所開(kāi)發(fā)的硬件驅(qū)動(dòng)有以太網(wǎng)卡控制器驅(qū)動(dòng)、LCD驅(qū)動(dòng)、HPI驅(qū)動(dòng)等驅(qū)動(dòng)程序。系統(tǒng)軟件結(jié)構(gòu)如圖4所示[5]。

在μClinux操作系統(tǒng)上運(yùn)行三個(gè)任務(wù):讀取壓縮數(shù)據(jù)、通過(guò)以太網(wǎng)發(fā)送數(shù)據(jù)、接收和執(zhí)行來(lái)自遠(yuǎn)端PC機(jī)的命令。其中讀取DSP壓縮數(shù)據(jù)任務(wù)對(duì)實(shí)時(shí)性有要求,它通過(guò)中斷處理程序來(lái)實(shí)現(xiàn),而其他的兩個(gè)任務(wù)則通過(guò)用戶(hù)進(jìn)程來(lái)實(shí)現(xiàn)。以太網(wǎng)發(fā)送數(shù)據(jù)的任務(wù)和讀取壓縮數(shù)據(jù)的任務(wù)共享一個(gè)緩沖區(qū),通過(guò)ioctl函數(shù)在其間傳遞緩沖區(qū)雙向鏈表的地址。所以需要為數(shù)據(jù)處理模塊上的通信接口HPI注冊(cè)一個(gè)驅(qū)動(dòng)程序,注冊(cè)驅(qū)動(dòng)程序的函數(shù)是:
result=register_chrdev(HPI_MAJOR,"hpi",&hpi_fops)
驅(qū)動(dòng)程序的主要結(jié)構(gòu)如下:
struct file_operations hpi_fops=
{
owner: THIS MODULE,
open: hpi_open,
read: hpi_read,
write: hpi_write,
ioctl: hpi_ioctl,
mmap:hpi_mmap,
release:hpi_release,
};
HPI驅(qū)動(dòng)程序編寫(xiě)完成后,將驅(qū)動(dòng)程序源代碼置于../linux-2.4.x/driver/char目錄下,同時(shí)修改同級(jí)目錄下的Makefile,在../linux-2.4.x/driver/char/Makefile中加入Obj_y +=hpi.o
同時(shí),為了能夠在?滋Clinux啟動(dòng)時(shí)自動(dòng)初始化此字符設(shè)備,還需要修改 ../linux-2.4.x/driver/char/men.c文件,在其中加入:
(1)新添加的字符驅(qū)動(dòng)程序初始化函數(shù)聲明:extern void hpi_init(void);
(2)在字符設(shè)備統(tǒng)一初始化函數(shù)int _init chr_dev_init(void)中調(diào)用新設(shè)備的初始化函數(shù),需要在int _init chr_dev_init(void)中加入語(yǔ)句:hpi_init();
在函數(shù)int _init chr_dev_init(void)中,字符設(shè)備的初始化函數(shù)將被統(tǒng)一調(diào)用,并完成字符驅(qū)動(dòng)file_operations數(shù)據(jù)結(jié)構(gòu)的注冊(cè),初始化之后就可以使用HPI字符設(shè)備了。
本文所設(shè)計(jì)數(shù)據(jù)傳送總線變換器,不僅解決了由于傳輸距離遠(yuǎn)而引起的信號(hào)畸變問(wèn)題,而且滿(mǎn)足了信息傳遞的實(shí)時(shí)性要求,同時(shí)具有網(wǎng)關(guān)功能和嵌入式Web功能,能確保系統(tǒng)安全接入Internet。

參考文獻(xiàn)
[1] 李駒光.ARM應(yīng)用系統(tǒng)開(kāi)發(fā)詳解——基于S3C4510B的系統(tǒng)設(shè)計(jì)(第二版)[M].北京:清華大學(xué)出版社,2006.
[2] TMS320C6416 datasheet[EB/OL].(2001-02).http://www.TI.com.
[3] TMS320C6000 DSP External Memory Interface(EMIF) Reference Guide[EB/OL].(2008-04).http://www.TI.com.
[4] 使用EMIF將Xilinx FPGA與TI DSP平臺(tái)接口應(yīng)用指南[EB/OL].(2007-01-29).http:www.xilinx.com.cn.
[5] DAVID A.Linux編程白皮書(shū)[M].朱珂,譯.北京:機(jī)械工業(yè)出版社,2000.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉