<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA+DSP+ARM的數據傳送總線(xiàn)變換器設計

基于FPGA+DSP+ARM的數據傳送總線(xiàn)變換器設計

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

在飛控組件測試時(shí),由于被測系統與上位機有一定距離,如果直接把遙測并行數據傳送到上位機,將會(huì )出現數據信號的衰減和信號延時(shí)問(wèn)題,有可能使信號時(shí)序錯位,從而達不到系統測試的要求。為此,需要研制一種數據傳送,用來(lái)完成被測數據無(wú)失真的、實(shí)時(shí)的、遠距離與上位機的通信,并能接收上位機的控制指令,實(shí)現工作狀態(tài)的遠程交互。

1 數據傳送的整體設計

綜合考慮到測試系統實(shí)時(shí)性和可靠性的要求,選擇以太網(wǎng)口作為數據傳送與上位機的數據轉發(fā)接口,以高速串口作為控制口,采用+DSP+的架構作為實(shí)時(shí)信息處理平臺。

數據傳送總線(xiàn)變換器的系統框圖如圖1所示。其中,作為數據預處理器,完成并行數據到串行數據的轉換等數據預處理任務(wù);DSP讀取處理后的數據并完成數據壓縮的任務(wù);作為中央處理控制器,主要完成從DSP系統中讀取已經(jīng)編碼好的數據并通過(guò)以太網(wǎng)口完成與上位機的實(shí)時(shí)通信任務(wù)。上位機按照數據傳輸協(xié)議、產(chǎn)品的數據遙測協(xié)議解調出各類(lèi)物理變量,記錄并存儲。測試人員通過(guò)上位機完成工作狀態(tài)的遠程控制與各種信息交互任務(wù)。

本文引用地址:http://dyxdggzs.com/article/201706/348419.htm

在該系統中采用了FPGA+DSP+的高端架構,但是衡量一個(gè)系統的整體性能不僅要看所使用的器件和所完成的功能,還要看各個(gè)器件之間的接口形式。在FPGA+DSP+ARM的信息處理平臺上,三者之間的接口形式將決定整個(gè)系統的性能。為滿(mǎn)足實(shí)時(shí)的信號處理任務(wù),在選擇DSP芯片時(shí),不僅要考慮DSP芯片的處理速度,還要考慮DSP芯片與FPGA、ARM的接口能力,選擇帶有EMIF和HPI接口的DSP使其與FPGA、ARM無(wú)縫連接成為該系統設計的關(guān)鍵一環(huán)。

2 器件選型

在該數據傳送總線(xiàn)變換器中,FPGA選用Xilinx公司最新推出的低成本現場(chǎng)可編程門(mén)陣列Spartan-3E 系列中的XC3S500E。XC3S500E包含有20個(gè)Block RAM,每個(gè)RAM塊中的18 KB的模塊存儲器,是完全同步、真正的雙端存儲器。用戶(hù)可獨立地從每個(gè)端口讀出或向每個(gè)端口寫(xiě)入(但同一地址不能同時(shí)進(jìn)行讀和寫(xiě))。另外,每個(gè)端口都有一個(gè)獨立的時(shí)鐘,對每個(gè)端口的數據寬度都可以獨立進(jìn)行配置。

ARM芯片選用Samsung公司的S3C4510B。S3C4510B是基于以太網(wǎng)應用系統的高性?xún)r(jià)比16/32 bit RISC微控制器,內含一個(gè)由ARM公司設計的16/32 bit ARM7TDMI RISC處理器核。除了ARM7TDMI核以外,S3C4510B還有許多重要的片內外圍功能模塊,其中就有一個(gè)以太網(wǎng)控制器,用于S3C4510B系統與其他設備的網(wǎng)絡(luò )通信[1]。

DSP芯片選用TI公司的TMS320C6416。TMS320C6416是TI公司推出的高速定點(diǎn)DSP,它擁有處理能力強大的CPU、高達1 MB的RAM、豐富的外設接口。外設包括CPU訪(fǎng)問(wèn)外圍設備提供無(wú)縫接口的靈活的外部存儲器接口EMIFA和EMIFB,一個(gè)使得DSP很容易通過(guò)PCI接口無(wú)縫連接到一個(gè)具有PCI功能的外部主CPU上的PCI接口,一個(gè)16/32 bit寬的異步并行接口HPI(和PCI共用相同的引腳),一個(gè)提供64 bit數據通道訪(fǎng)問(wèn)的增強型EDMA等。其高速的處理速度滿(mǎn)足系統的實(shí)時(shí)性要求,并能實(shí)現與多種外設無(wú)縫連接。

3 硬件設計

3.1 ARM與DSP的接口電路

3.1.1 DSP TMS320C6416 HPI描述

TMS320C6416集成有一個(gè)16/32 bit寬主機接口HPI,HPI通過(guò)復位時(shí)的自舉和器件配置引腳HD5選擇采用HPI16還是HPI32。HPI具有兩條地址線(xiàn)HCNTRL[1:0],負責對HPI的內部寄存器進(jìn)行尋址。HPI只有3個(gè)32 bit內部寄存器,分別是控制寄存器HPIC、地址寄存器HPIA和數據寄存器HPID。用戶(hù)只需對上述3個(gè)寄存器進(jìn)行相應的讀寫(xiě)操作,就能完成對DSP內存空間的訪(fǎng)問(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ò)單獨的32 bit數據線(xiàn)HD0~HD31和8條控制線(xiàn)進(jìn)行連接。


S3C4510B通過(guò)HPI接口訪(fǎng)問(wèn)DSP內部的RAM以及其他外部資源。在整個(gè)ARM微處理器與DSP芯片通過(guò)HPI接口通信和數據交換的過(guò)程中,除了中斷ARM和清除ARM發(fā)過(guò)來(lái)的中斷需要DSP本身參與外,其他操作DSP都處于被動(dòng)的地位,幾乎不用進(jìn)行其他的操作。所以對于A(yíng)RM來(lái)說(shuō),DSP系統單元就相當于一片外接的SDRAM。


在TMS320C6416中,HPI、GP[15:9]、PCI、EEPROM、McBSP2共用了一組引腳,DSP在復位時(shí)通過(guò)鎖存PCI_EN和McBSP2_EN引腳的值來(lái)選擇使用何種外設。在該系統中,將這兩個(gè)使能引腳都拉低。

3.2 FPGA與DSP的接口電路

3.2.1 DSP TMS320C6416 EMIF描述

TMS320C6416對外有2個(gè)EMIF總線(xiàn)接口,分別是64 bit的EMIFA和16 bit的EMIFB。EMIFA接口具備與8、16、32、64 bit系統接口的功能,EMIFB接口端口支持8 bit和16 bit系統[3]。EMIFA為64 bit存儲器總線(xiàn),分成ACE0~ACE3 4個(gè)存儲空間,每個(gè)存儲空間可以獨立配置,無(wú)縫接口具有多種類(lèi)型的存儲器,如SRAM、Flash RAM和DDR RAM等。

3.2.2 FPGA與TMS320C6416的接口電路

在該系統中,采用DSP TMS320C6416 EMIFA接口連接到FPGA的方法實(shí)現DSP與FPGA Block RAM的無(wú)縫連接。FPGA的雙端Block RAM的一端以存儲器模式與DSP通信,另一端與內部FPGA邏輯通信[4]。

鑒于EMIF具有靈活的時(shí)序參數,只需要極少的FPGA邏輯,因此,只需最低限度的設計工作,FPGA就可以用做DSP協(xié)處理器。圖3 所示為T(mén)MS320C6416與FPGA的接口電路。

4 系統軟件設計

4.1 嵌入式操作系統

在該數據傳送總線(xiàn)變換器中,實(shí)時(shí)數據壓縮的任務(wù)由DSP完成。ARM S3C4510B完成與PC之間的以太網(wǎng)通信,其軟件實(shí)現所要求的實(shí)時(shí)性、可靠性和復雜性使得選擇一種帶有TCP/IP協(xié)議包的嵌入式實(shí)時(shí)操作系統成為必需,而μCLinux是一個(gè)帶有完整的TCP/IP協(xié)議的操作系統,在μCLinux中加入實(shí)時(shí)RT-Linux模塊以滿(mǎn)足對嵌入式操作系統的實(shí)時(shí)性要求。

4.2 驅動(dòng)和應用程序的開(kāi)發(fā)

基于μCLinux操作系統的硬件驅動(dòng)和應用程序的開(kāi)發(fā)是在交叉編譯環(huán)境中進(jìn)行的,首先在PC機上開(kāi)發(fā),然后移植到目標機上進(jìn)行調試并最終固化到目標機上。所開(kāi)發(fā)的硬件驅動(dòng)有以太網(wǎng)卡控制器驅動(dòng)、LCD驅動(dòng)、HPI驅動(dòng)等驅動(dòng)程序。系統軟件結構如圖4所示[5]。

在μClinux操作系統上運行三個(gè)任務(wù):讀取壓縮數據、通過(guò)以太網(wǎng)發(fā)送數據、接收和執行來(lái)自遠端PC機的命令。其中讀取DSP壓縮數據任務(wù)對實(shí)時(shí)性有要求,它通過(guò)中斷處理程序來(lái)實(shí)現,而其他的兩個(gè)任務(wù)則通過(guò)用戶(hù)進(jìn)程來(lái)實(shí)現。以太網(wǎng)發(fā)送數據的任務(wù)和讀取壓縮數據的任務(wù)共享一個(gè)緩沖區,通過(guò)ioctl函數在其間傳遞緩沖區雙向鏈表的地址。所以需要為數據處理模塊上的通信接口HPI注冊一個(gè)驅動(dòng)程序,注冊驅動(dòng)程序的函數是:
result=register_chrdev(HPI_MAJOR,hpi,hpi_fops)
驅動(dòng)程序的主要結構如下:
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驅動(dòng)程序編寫(xiě)完成后,將驅動(dòng)程序源代碼置于../linux-2.4.x/driver/char目錄下,同時(shí)修改同級目錄下的Makefile,在../linux-2.4.x/driver/char/Makefile中加入Obj_y +=hpi.o
同時(shí),為了能夠在?滋Clinux啟動(dòng)時(shí)自動(dòng)初始化此字符設備,還需要修改 ../linux-2.4.x/driver/char/men.c文件,在其中加入:
(1)新添加的字符驅動(dòng)程序初始化函數聲明:extern void hpi_init(void);
(2)在字符設備統一初始化函數int _init chr_dev_init(void)中調用新設備的初始化函數,需要在int _init chr_dev_init(void)中加入語(yǔ)句:hpi_init();

在函數int _init chr_dev_init(void)中,字符設備的初始化函數將被統一調用,并完成字符驅動(dòng)file_operations數據結構的注冊,初始化之后就可以使用HPI字符設備了。

本文所設計數據傳送總線(xiàn)變換器,不僅解決了由于傳輸距離遠而引起的信號畸變問(wèn)題,而且滿(mǎn)足了信息傳遞的實(shí)時(shí)性要求,同時(shí)具有網(wǎng)關(guān)功能和嵌入式Web功能,能確保系統安全接入Internet。



關(guān)鍵詞: 總線(xiàn)變換器 ARM FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>