《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于FPGA+DSP+ARM的數(shù)據(jù)傳送總線變換器
基于FPGA+DSP+ARM的數(shù)據(jù)傳送總線變換器
摘要: 在飛控組件測試時,由于被測系統(tǒng)與上位機有一定距離,如果直接把遙測并行數(shù)據(jù)傳送到上位機,將會出現(xiàn)數(shù)據(jù)信號的衰減和信號延時問題,有可能使信號時序錯位,從而達不到系統(tǒng)測試的要求。為此,需要研制一種數(shù)據(jù)傳送總線變換器,用來完成被測數(shù)據(jù)無失真的、實時的、遠距離與上位機的通信,并能接收上位機的控制指令,實現(xiàn)工作狀態(tài)的遠程交互。
關(guān)鍵詞: 信號調(diào)理 ARM DSP FPGA
Abstract:
Key words :

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

1      數(shù)據(jù)傳送總線變換器的整體設計

  綜合考慮到測試系統(tǒng)實時性和可靠性的要求,選擇以太網(wǎng)口作為數(shù)據(jù)傳送總線變換器與上位機的數(shù)據(jù)轉(zhuǎn)發(fā)接口,以高速串口作為控制口,采用FPGA+DSP+ARM的架構(gòu)作為實時信息處理平臺。

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

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

2       器件選型

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

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

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

        

3       硬件設計

  3.1 ARM與DSP的接口電路

  3.1.1 DSP TMS320C6416 HPI描述

  TMS320C6416集成有一個16/32 bit寬主機接口HPI,HPI通過復位時的自舉和器件配置引腳HD5選擇采用HPI16還是HPI32。HPI具有兩條地址線HCNTRL[1:0],負責對HPI的內(nèi)部寄存器進行尋址。HPI只有3個32 bit內(nèi)部寄存器,分別是控制寄存器HPIC、地址寄存器HPIA和數(shù)據(jù)寄存器HPID。用戶只需對上述3個寄存器進行相應的讀寫操作,就能完成對DSP內(nèi)存空間的訪問[2]。

  3.1.2 S3C4510B與TMS320C6416的接口電路

  由于S3C4510B中沒有完全符合TMS320C6416 HPI接口時序的外部接口可以直接使用,因此選用S3C4510B中時序最接近HPI接口時序的外部I/O接口與TMS320-C6416進行連接。TMS320C6416與S3C4510B接口電路如圖2所示。TMS320C6416與S3C4510B通過單獨的32 bit數(shù)據(jù)線HD0~HD31和8條控制線進行連接。S3C4510B通過HPI接口訪問DSP內(nèi)部的RAM以及其他外部資源。在整個ARM微處理器與DSP芯片通過HPI接口通信和數(shù)據(jù)交換的過程中,除了中斷ARM和清除ARM發(fā)過來的中斷需要DSP本身參與外,其他操作DSP都處于被動的地位,幾乎不用進行其他的操作。所以對于ARM來說,DSP系統(tǒng)單元就相當于一片外接的SDRAM。

 

 

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

  3.2 FPGA與DSP的接口電路

  3.2.1 DSP TMS320C6416 EMIF描述

  TMS320C6416對外有2個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存儲器總線,分成ACE0~ACE3 4個存儲空間,每個存儲空間可以獨立配置,無縫接口具有多種類型的存儲器,如SRAM、Flash RAM和DDR RAM等。

        3.2.2 FPGA與TMS320C6416的接口電路

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

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

4       系統(tǒng)軟件設計

  4.1 嵌入式操作系統(tǒng)

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

  4.2 驅(qū)動和應用程序的開發(fā)

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

        在μClinux操作系統(tǒng)上運行三個任務:讀取壓縮數(shù)據(jù)、通過以太網(wǎng)發(fā)送數(shù)據(jù)、接收和執(zhí)行來自遠端PC機的命令。其中讀取DSP壓縮數(shù)據(jù)任務對實時性有要求,它通過中斷處理程序來實現(xiàn),而其他的兩個任務則通過用戶進程來實現(xiàn)。以太網(wǎng)發(fā)送數(shù)據(jù)的任務和讀取壓縮數(shù)據(jù)的任務共享一個緩沖區(qū),通過ioctl函數(shù)在其間傳遞緩沖區(qū)雙向鏈表的地址。所以需要為數(shù)據(jù)處理模塊上的通信接口HPI注冊一個驅(qū)動程序,注冊驅(qū)動程序的函數(shù)是:

  result=register_chrdev(HPI_MAJOR,"hpi",&hpi_fops)
驅(qū)動程序的主要結(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ū)動程序編寫完成后,將驅(qū)動程序源代碼置于../linux-2.4.x/driver/char目錄下,同時修改同級目錄下的Makefile,在../linux-2.4.x/driver/char/Makefile中加入Obj_y +=hpi.o

  同時,為了能夠在?滋Clinux啟動時自動初始化此字符設備,還需要修改 ../linux-2.4.x/driver/char/men.c文件,在其中加入:

  (1)新添加的字符驅(qū)動程序初始化函數(shù)聲明:extern void hpi_init(void);

  (2)在字符設備統(tǒng)一初始化函數(shù)int _init chr_dev_init(void)中調(diào)用新設備的初始化函數(shù),需要在int _init chr_dev_init(void)中加入語句:hpi_init();

  在函數(shù)int _init chr_dev_init(void)中,字符設備的初始化函數(shù)將被統(tǒng)一調(diào)用,并完成字符驅(qū)動file_operations數(shù)據(jù)結(jié)構(gòu)的注冊,初始化之后就可以使用HPI字符設備了。

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美中文字幕| 欧美日韩国产999| 日韩网站免费观看| 亚洲国产日韩欧美综合久久 | 最新日韩精品| 亚洲高清资源综合久久精品| 国产一区欧美日韩| 国产亚洲欧美另类一区二区三区| 国产精品日韩电影| 国产精品久久久久久久久果冻传媒 | 欧美成人免费在线观看| 久久久亚洲影院你懂的| 久久精品123| 久久国产精品99久久久久久老狼| 欧美制服第一页| 久久激情婷婷| 久久偷窥视频| 免费成人av| 欧美极品在线观看| 欧美日韩国产影院| 国产精品大片wwwwww| 国产精品毛片va一区二区三区| 国产精品女同互慰在线看| 国产精品综合视频| 激情亚洲网站| 亚洲国产精品高清久久久| 亚洲人屁股眼子交8| 夜夜爽av福利精品导航| 亚洲一区二区视频在线| 欧美在线亚洲一区| 最近中文字幕日韩精品| 99精品国产在热久久| 亚洲一区二区视频在线观看| 亚洲欧美综合另类中字| 久久不见久久见免费视频1| 久久噜噜亚洲综合| 欧美黄色影院| 国产精品久久久久秋霞鲁丝| 国产日韩欧美在线看| 1024国产精品| 亚洲天堂av综合网| 欧美专区在线观看一区| 亚洲欧洲一区二区三区久久| 在线中文字幕一区| 欧美一区免费视频| 毛片一区二区三区| 欧美日韩亚洲一区| 国产日韩精品一区二区三区 | 亚洲国产成人在线播放| 99av国产精品欲麻豆| 亚洲欧美日韩一区| 久久在线免费观看| 欧美日韩午夜剧场| 国产夜色精品一区二区av| 亚洲国产日韩综合一区| 中日韩男男gay无套| 久久精品二区| 亚洲深夜福利网站| 久久天天躁夜夜躁狠狠躁2022 | 午夜久久黄色| 日韩视频精品在线| 欧美一级久久久| 欧美电影专区| 国产精品一区毛片| 最新国产乱人伦偷精品免费网站| 亚洲欧美日本在线| 日韩视频―中文字幕| 久久精品一区二区国产| 欧美日韩亚洲一区二| 黄色亚洲在线| 中日韩美女免费视频网址在线观看 | 国内久久婷婷综合| 9l国产精品久久久久麻豆| 久久精品一区中文字幕| 亚洲制服av| 欧美jizz19hd性欧美| 国产精品视频一区二区三区| 亚洲高清毛片| 午夜精品久久久久久久白皮肤| 99一区二区| 久久亚洲精品一区| 国产精品永久免费观看| 亚洲看片网站| 亚洲国产高清高潮精品美女| 香蕉成人伊视频在线观看| 欧美精品97| 国内精品久久久久久久果冻传媒| 亚洲夜间福利| 一区二区三区国产盗摄| 免费在线欧美视频| 国产欧美一区二区三区在线看蜜臀| 99国产麻豆精品| 亚洲精品日韩在线观看| 久久免费观看视频| 国产欧美视频一区二区| 中文久久精品| 一道本一区二区| 欧美成人免费全部观看天天性色| 国内精品伊人久久久久av影院| 午夜精品久久久久久久99水蜜桃 | 欧美久久久久久久久久| 一区在线影院| 亚洲欧美日韩中文在线制服| 亚洲影院高清在线| 欧美日韩视频在线| 亚洲精品一区二区网址 | 久久婷婷蜜乳一本欲蜜臀| 国产欧美亚洲日本| 亚洲欧美日本国产专区一区| 亚洲一区二区欧美| 欧美日韩亚洲高清一区二区| 亚洲日本一区二区| 日韩亚洲国产欧美| 欧美成人一区二区| 亚洲高清在线视频| 亚洲精品一区二区三区福利| 鲁鲁狠狠狠7777一区二区| 黄色成人精品网站| 久久国产一二区| 久久久久一区| 精品成人久久| 亚洲国产精品成人va在线观看| 久久久免费av| 一区二区三区亚洲| 91久久久精品| 欧美高清在线播放| 亚洲国产精品电影| 日韩视频中文| 欧美日韩在线视频一区二区| 一区二区三区 在线观看视| 亚洲视频一起| 欧美午夜片在线免费观看| 亚洲深夜av| 欧美中文日韩| 狠狠色伊人亚洲综合成人| 亚洲韩国日本中文字幕| 欧美激情在线观看| aa成人免费视频| 亚洲综合色网站| 国产欧美日韩激情| 久久精品国产69国产精品亚洲| 老司机精品视频网站| 91久久精品国产91久久性色tv | 激情六月综合| 亚洲精品黄色| 国产精品成人观看视频免费| 亚洲欧美国产精品桃花| 久久精品国产综合| 悠悠资源网亚洲青| 99精品99| 国产精品欧美日韩久久| 欧美在线观看视频一区二区| 免费亚洲电影在线| 亚洲免费观看| 欧美亚洲自偷自偷| 精品粉嫩aⅴ一区二区三区四区| 亚洲精品久久久久久久久久久久久| 欧美日韩一区二区高清| 午夜精品理论片| 欧美成人a视频| 亚洲午夜av| 久久最新视频| 一本到12不卡视频在线dvd| 欧美尤物一区| 亚洲国产合集| 亚洲欧美日韩成人| 激情文学一区| 亚洲综合日韩在线| 尤物在线精品| 午夜精品久久久久久久99水蜜桃| 国语自产在线不卡| 一区二区三区成人| 国产真实精品久久二三区| 一区二区动漫| 狠狠操狠狠色综合网| 亚洲午夜激情| 在线免费观看视频一区| 午夜亚洲精品| 亚洲国产一区二区a毛片| 午夜视黄欧洲亚洲| 亚洲国产一二三| 久久激情一区| 一本大道久久精品懂色aⅴ| 久久天天狠狠| 亚洲欧美精品在线| 欧美日韩国产va另类| 久久www成人_看片免费不卡| 欧美日韩亚洲国产一区| 亚洲国产mv| 国产农村妇女毛片精品久久莱园子 | 午夜天堂精品久久久久| 亚洲激情国产精品| 性色av一区二区怡红| 亚洲青色在线| 久久精品亚洲精品| 一本久久青青| 欧美国产精品v| 欧美综合激情网| 国产精品免费视频观看| 亚洲精品一区二区三区99|