日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

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

在飛控組件測試時,由于被測系統(tǒng)與上位機有一定距離,如果直接把遙測并行數(shù)據(jù)傳送到上位機,將會出現(xiàn)數(shù)據(jù)信號的衰減和信號延時問題,有可能使信號時序錯位,從而達不到系統(tǒng)測試的要求。為此,需要研制一種數(shù)據(jù)傳送總線變換器,用來完成被測數(shù)據(jù)無失真的、實時的、遠距離與上位機的通信,并能接收上位機的控制指令,實現(xiàn)工作狀態(tài)的遠程交互。
1 數(shù)據(jù)傳送總線變換器的整體設(shè)計
綜合考慮到測試系統(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ù)預(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ù)并通過以太網(wǎng)口完成與上位機的實時通信任務(wù)。上位機按照數(shù)據(jù)傳輸協(xié)議、產(chǎn)品的數(shù)據(jù)遙測協(xié)議解調(diào)出各類物理變量,記錄并存儲。測試人員通過上位機完成工作狀態(tài)的遠程控制與各種信息交互任務(wù)。

在該系統(tǒng)中采用了FPGA+DSP+ARM的高端架構(gòu),但是衡量一個系統(tǒng)的整體性能不僅要看所使用的器件和所完成的功能,還要看各個器件之間的接口形式。在FPGA+DSP+ARM的信息處理平臺上,三者之間的接口形式將決定整個系統(tǒng)的性能。為滿足實時的信號處理任務(wù),在選擇DSP芯片時,不僅要考慮DSP芯片的處理速度,還要考慮DSP芯片與FPGA、ARM的接口能力,選擇帶有EMIF和HPI接口的DSP使其與FPGA、ARM無縫連接成為該系統(tǒng)設(shè)計的關(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)應(yīng)用系統(tǒng)的高性價比16/32 bit RISC微控制器,內(nèi)含一個由ARM公司設(shè)計的16/32 bit ARM7TDMI RISC處理器核。除了ARM7TDMI核以外,S3C4510B還有許多重要的片內(nèi)外圍功能模塊,其中就有一個以太網(wǎng)控制器,用于S3C4510B系統(tǒng)與其他設(shè)備的網(wǎng)絡(luò)通信[1]。
DSP芯片選用TI公司的TMS320C6416。TMS320C6416是TI公司推出的高速定點DSP,它擁有處理能力強大的CPU、高達1 MB的RAM、豐富的外設(shè)接口。外設(shè)包括CPU訪問外圍設(shè)備提供無縫接口的靈活的外部存儲器接口EMIFA和EMIFB,一個使得DSP很容易通過PCI接口無縫連接到一個具有PCI功能的外部主CPU上的PCI接口,一個16/32 bit寬的異步并行接口HPI(和PCI共用相同的引腳),一個提供64 bit數(shù)據(jù)通道訪問的增強型EDMA等。其高速的處理速度滿足系統(tǒng)的實時性要求,并能實現(xiàn)與多種外設(shè)無縫連接。
3 硬件設(shè)計
3.1 ARM與DSP的接口電路
3.1.1 DSP TMS320C6416 HPI描述
TMS320C6416集成有一個16/32 bit寬主機接口HPI,HPI通過復(fù)位時的自舉和器件配置引腳HD5選擇采用HPI16還是HPI32。HPI具有兩條地址線HCNTRL[1:0],負責(zé)對HPI的內(nèi)部寄存器進行尋址。HPI只有3個32 bit內(nèi)部寄存器,分別是控制寄存器HPIC、地址寄存器HPIA和數(shù)據(jù)寄存器HPID。用戶只需對上述3個寄存器進行相應(yīng)的讀寫操作,就能完成對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)單元就相當(dāng)于一片外接的SDRAM。


在TMS320C6416中,HPI、GP[15:9]、PCI、EEPROM、McBSP2共用了一組引腳,DSP在復(fù)位時通過鎖存PCI_EN和McBSP2_EN引腳的值來選擇使用何種外設(shè)。在該系統(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邏輯,因此,只需最低限度的設(shè)計工作,F(xiàn)PGA就可以用做DSP協(xié)處理器。圖3 所示為TMS320C6416與FPGA的接口電路。

4 系統(tǒng)軟件設(shè)計
4.1 嵌入式操作系統(tǒng)
在該數(shù)據(jù)傳送總線變換器中,實時數(shù)據(jù)壓縮的任務(wù)由DSP完成。ARM S3C4510B完成與PC之間的以太網(wǎng)通信,其軟件實現(xiàn)所要求的實時性、可靠性和復(fù)雜性使得選擇一種帶有TCP/IP協(xié)議包的嵌入式實時操作系統(tǒng)成為必需,而μCLinux是一個帶有完整的TCP/IP協(xié)議的操作系統(tǒng),在μCLinux中加入實時RT-Linux模塊以滿足對嵌入式操作系統(tǒng)的實時性要求。
4.2 驅(qū)動和應(yīng)用程序的開發(fā)
基于μCLinux操作系統(tǒng)的硬件驅(qū)動和應(yīng)用程序的開發(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)上運行三個任務(wù):讀取壓縮數(shù)據(jù)、通過以太網(wǎng)發(fā)送數(shù)據(jù)、接收和執(zhí)行來自遠端PC機的命令。其中讀取DSP壓縮數(shù)據(jù)任務(wù)對實時性有要求,它通過中斷處理程序來實現(xiàn),而其他的兩個任務(wù)則通過用戶進程來實現(xiàn)。以太網(wǎng)發(fā)送數(shù)據(jù)的任務(wù)和讀取壓縮數(shù)據(jù)的任務(wù)共享一個緩沖區(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啟動時自動初始化此字符設(shè)備,還需要修改 ../linux-2.4.x/driver/char/men.c文件,在其中加入:
(1)新添加的字符驅(qū)動程序初始化函數(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)中加入語句:hpi_init();
在函數(shù)int _init chr_dev_init(void)中,字符設(shè)備的初始化函數(shù)將被統(tǒng)一調(diào)用,并完成字符驅(qū)動file_operations數(shù)據(jù)結(jié)構(gòu)的注冊,初始化之后就可以使用HPI字符設(shè)備了。
本文所設(shè)計數(shù)據(jù)傳送總線變換器,不僅解決了由于傳輸距離遠而引起的信號畸變問題,而且滿足了信息傳遞的實時性要求,同時具有網(wǎng)關(guān)功能和嵌入式Web功能,能確保系統(tǒng)安全接入Internet。

參考文獻
[1] 李駒光.ARM應(yīng)用系統(tǒng)開發(fā)詳解——基于S3C4510B的系統(tǒng)設(shè)計(第二版)[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平臺接口應(yīng)用指南[EB/OL].(2007-01-29).http:www.xilinx.com.cn.
[5] DAVID A.Linux編程白皮書[M].朱珂,譯.北京:機械工業(yè)出版社,2000.

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

在現(xiàn)代工業(yè)和汽車領(lǐng)域,控制器局域網(wǎng)(CAN)總線作為一種可靠且高效的通信方式,廣泛應(yīng)用于各種電子設(shè)備之間的數(shù)據(jù)傳輸。在 CAN 總線系統(tǒng)中,有一個看似毫不起眼卻至關(guān)重要的元件 ——120Ω 終端電阻。這個小小的電阻,對于...

關(guān)鍵字: 控制器局域網(wǎng) 總線 通信

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開發(fā)板

在人工智能的發(fā)展歷程中,我們往往認為更多的訓(xùn)練、更復(fù)雜的數(shù)據(jù)能讓 AI 變得更加智能。然而,近期一些研究卻揭示了令人意外的現(xiàn)象:對小型 AI 語言模型進行數(shù)學(xué)訓(xùn)練時,過度訓(xùn)練可能會導(dǎo)致其表現(xiàn)急劇下降,甚至出現(xiàn) “變笨”...

關(guān)鍵字: 人工智能 數(shù)據(jù) 模型

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場可編程門陣列(FPGA)憑借其開發(fā)時間短、成本效益高以及靈活的現(xiàn)場重配置與升級等諸多優(yōu)點,被廣泛應(yīng)用于各種產(chǎn)品領(lǐng)域。從通信設(shè)備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關(guān)鍵字: FPGA 邊緣計算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進入體內(nèi),并對體內(nèi)器官或結(jié)構(gòu)進行直接觀察和對疾病進行診斷的醫(yī)療設(shè)備,一般由光學(xué)鏡頭、冷光源、光導(dǎo)纖維、圖像傳感器以及機械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運用單片機和FPGA芯片作為主控制器件 , 單片機接收從PC機上傳過來的顯示內(nèi)容和顯示控制命令 , 通過命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號和同步的控制信號— 數(shù)據(jù)、時鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機 FPGA LED顯示屏

在異構(gòu)計算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時鐘頻率下實現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI

為增進大家對CAN總線的認識,本文將對CAN總線協(xié)議以及CAN總線負載率的設(shè)置予以介紹。

關(guān)鍵字: CAN 指數(shù) 總線

為增進大家對CAN總線的認識,本文將對CAN總線的特征以及高低速CAN總線的特性予以介紹。

關(guān)鍵字: CAN 指數(shù) 總線
關(guān)閉