• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于DSP與FPGA的ARINC429總線接口卡設(shè)計(jì)

    2013-07-13 06:30:52曹雄偉史國(guó)慶
    電子設(shè)計(jì)工程 2013年3期
    關(guān)鍵詞:雙口PC機(jī)驅(qū)動(dòng)程序

    曹雄偉,朱 巖,史國(guó)慶

    (西北工業(yè)大學(xué) 陜西 西安 710129)

    在航電系統(tǒng)的研制初期,通常人們都要先在地面以微型計(jì)算機(jī)為基礎(chǔ)做各種仿真實(shí)驗(yàn)。這使得用于各仿真系統(tǒng)的接口卡的研制和革新工作便成為航電系統(tǒng)發(fā)展的一個(gè)重點(diǎn)。接口卡的主要任務(wù)是實(shí)現(xiàn)航電系統(tǒng)的數(shù)據(jù)總線與PC機(jī)的數(shù)據(jù)總線之間的通訊功能,這使得人們可以在PC機(jī)上模擬航電系統(tǒng)數(shù)據(jù)總線上所掛接的實(shí)際子系統(tǒng)。

    PCI(peripheral component interconnect)局部總線數(shù)據(jù)傳輸率為132 MB/s,可同時(shí)支持多組外設(shè),不受制于處理器,具有并行和資源鎖定功能,是通用的I/O接口部件標(biāo)準(zhǔn)。DSP與單片機(jī)相比,具有更快的運(yùn)行速度,更豐富的軟件和硬件資源;FPGA的時(shí)序嚴(yán)格,速度較快,可編程性好,適合于實(shí)現(xiàn)譯碼和專門(mén)電路。DSP+FPGA系統(tǒng)最大優(yōu)點(diǎn)是結(jié)構(gòu)靈活,有較強(qiáng)的通用性,適合于模塊化設(shè)計(jì),能提高算法效率,縮短開(kāi)發(fā)周期,易維護(hù)和擴(kuò)展系統(tǒng)。在以往的文獻(xiàn)中,對(duì)于嵌入式CPU的選用一般都選用的是單片機(jī),邏輯控制、時(shí)序控制、地址譯碼一般都是用分立元件實(shí)現(xiàn)的,而本文設(shè)計(jì)的基于DSP和FPGA的ARINC429總線接口卡,綜合了DSP和FPGA的各種優(yōu)點(diǎn),且接口卡應(yīng)用的協(xié)議芯片都是專用協(xié)議芯片,數(shù)據(jù)傳輸速度快、吞吐量大,板卡體積小、穩(wěn)定性高[1-2]。

    1 ARINC429總線

    ARINC429是機(jī)載電子設(shè)備之間進(jìn)行數(shù)據(jù)傳輸約定的一種標(biāo)準(zhǔn),它規(guī)定了航空運(yùn)輸工業(yè)航空電子系統(tǒng)生產(chǎn)部門(mén)對(duì)部件、通用設(shè)計(jì)、結(jié)構(gòu)及實(shí)驗(yàn)規(guī)范的要求,保證在航線上使用滿意和有必要的互換性,使那些影響設(shè)備互換性的物理和電氣特性達(dá)到最大程度的標(biāo)準(zhǔn)化,完善系統(tǒng)要求以求達(dá)到地面和機(jī)載設(shè)備的兼容性等。

    ARINC429為單向傳輸總線,總線上只許有一個(gè)發(fā)送器,但可以有多個(gè)接收器,最多為20個(gè)接收器。信息只能從通信設(shè)備的發(fā)送口輸出,經(jīng)傳輸總線傳至與它相連的需要該信息的其他設(shè)備的接收口。在兩個(gè)設(shè)備間需要雙向傳輸時(shí),則在每個(gè)方向各用一根獨(dú)立的傳輸總線。ARINC429通信采用雙極性歸零制的三態(tài)調(diào)制方式BNR碼,即調(diào)制狀態(tài)由 “高“,“零”和“低”狀態(tài)組成的三電平調(diào)制狀態(tài)組成。系統(tǒng)高速工作狀態(tài)的速率為100 kb/s,低速工作時(shí)速率為12.5 kb/s[1]。

    2 系統(tǒng)設(shè)計(jì)

    2.1 硬件設(shè)計(jì)

    文中設(shè)計(jì)的ARINC429總線接口卡主要是完成PCI總線與ARINC429總線之間的通信。當(dāng)PC機(jī)接收數(shù)據(jù)時(shí),首先,ARICN429總線接口芯片從ARINC429總線上采集數(shù)據(jù),解碼、鎖存數(shù)據(jù),等待DSP讀取。然后,DSP讀取到ARICN429總線接口芯片采集到的數(shù)據(jù)后將其存到雙口RAM中等待PC機(jī)讀取。最后,PC機(jī)通過(guò)PCI接口芯片從雙口RAM中讀取到ARINC429總線接口芯片從429總線上采集到的數(shù)據(jù);當(dāng)PC機(jī)發(fā)送數(shù)據(jù)時(shí),首先,PC機(jī)將要發(fā)送的數(shù)據(jù)通過(guò)PCI接口芯片寫(xiě)到雙口RAM中,等待DSP讀取。然后,DSP從雙口RAM中讀取數(shù)據(jù)并將數(shù)據(jù)寫(xiě)入到ARINC429總線接口芯片的輸入寄存器中,等待發(fā)送。最后,ARICN429總線接口芯片將數(shù)據(jù)編碼、發(fā)送到ARINC429總線上[5-6]。系統(tǒng)的硬件電路結(jié)構(gòu)框圖如圖1所示。圖中FPGA主要完成地址譯碼、時(shí)序控制等功能。系統(tǒng)硬件電路主要由3部分組成:PCI接口模塊、ARINC429接口模塊、PCI和ARINC429之間的接口模塊。

    圖1 系統(tǒng)的硬件電路結(jié)構(gòu)框圖Fig.1 Structure diagram of the hardware system

    2.1.1 PCI接口模塊

    接口卡與主機(jī)PCI總線的接口是通過(guò)PCI專用接口芯片PCI9052來(lái)實(shí)現(xiàn)的。PCI9052是PLX公司開(kāi)發(fā)的低價(jià)位PCI總線目標(biāo)接口電路,功耗低,采用PQFP型160引腳封裝,符合 PCI2.1規(guī)范,它的局部總線(LOCAL BUS)可以通過(guò)編程設(shè)置為8/16/32位的(非)復(fù)用總線,數(shù)據(jù)傳送率可達(dá)到132Mb/s,提供了ISA接口,可以使ISA適配器迅速、低成本地轉(zhuǎn)換到PCI總線上。由于PCI9052提供了和PCI總線信號(hào)相一致的接口信號(hào)引腳,所以只需要根據(jù)接口卡功能的需求將相關(guān)的信號(hào)引腳對(duì)應(yīng)連接起來(lái)即可。值得注意的是,PCI9052必須連接一個(gè)EEPROM來(lái)設(shè)置內(nèi)部寄存器。上電時(shí),PCI總線的RST#信號(hào)將PCI9052的內(nèi)部寄存器設(shè)置為缺省值,同時(shí),PCI9052輸出局部復(fù)位信號(hào)(LRESET#),并且檢查EEPROM是否存在。如果設(shè)備上裝有EEPROM,且EEPROM的第一個(gè)16字非FFFFH,那么,PCI9052根據(jù)EEPROM內(nèi)容設(shè)置內(nèi)部寄存器,否則設(shè)為缺省值。PCI9052與EEPROM的電路連接如圖2所示。

    圖2 PCI9052與EEPROM的電路連接Fig.2 Connection between PCI9052 and EEPROM

    2.1.2 ARINC429接口模塊

    接口卡與ARINC429總線的接口是通過(guò)ARINC429總線專用接口芯片HS3282來(lái)實(shí)現(xiàn)的。HS3282是一款面向ARINC429總線、以及類似ARINC429編碼時(shí)分多路數(shù)據(jù)傳輸協(xié)議的高性能CMOS型接口芯片,能夠直接與ARINC429總線的外部連接器連接。當(dāng)發(fā)送數(shù)據(jù)時(shí),HS3282一般和驅(qū)動(dòng)芯片HS3182配合使用來(lái)將HS3282輸出的邏輯電平轉(zhuǎn)換為符合ARINC429傳輸規(guī)范的差分電平[4]。接口卡與ARINC429總線的接口電路如圖3所示。

    圖3 接口卡與ARINC429總線的接口電路Fig.3 Interface circuit between interface card and ARINC429 bus

    2.1.3 PCI和ARINC429之間的接口模塊

    PCI和ARINC429之間的接口模塊主要是實(shí)現(xiàn)PCI協(xié)議與ARINC429協(xié)議的轉(zhuǎn)換。這部分電路主要是通過(guò)DSP與FPGA實(shí)現(xiàn)的。電路分為PCI9052與DSP之間的接口和DSP與HS3282之間的接口。

    2.1.3.1 PCI9052與DSP之間的接口

    PCI9052與DSP的電路連接是通過(guò)雙口RAM作為數(shù)據(jù)中繼、FPGA進(jìn)行邏輯控制來(lái)實(shí)現(xiàn)的。雙口RAM連接在DSP的外部接口上,被分配在外部接口的區(qū)域2,作為DSP的外部存儲(chǔ)器,當(dāng)DSP讀寫(xiě)雙口RAM時(shí),就會(huì)通過(guò)信號(hào)來(lái)使能雙口RAM,然后進(jìn)行相應(yīng)的數(shù)據(jù)讀寫(xiě)操作,至于PCI9052對(duì)雙口RAM的控制,則是通過(guò)片選信號(hào)UESR2/CS2#和USER3/CS3#來(lái)實(shí)現(xiàn)的。電路連接如圖4所示,這里雙口RAM選用的是IDT7028PF,F(xiàn)PGA選用的是Altera公司的EP1C12,DSP選用的是TI公司的TMS320F2812。

    圖4 PCI9052與DSP之間的接口電路Fig.4 Interface circuit between PCI9052 and DSP

    2.1.3.2 DSP與HS3282之間的接口

    DSP與HS3282之間的電路連接主要涉及到邏輯控制、地址譯碼、中斷控制等方面,這些都是通過(guò)FPGA來(lái)實(shí)現(xiàn)的。邏輯控制的功能在于對(duì)DSP對(duì)HS3282的控制,利用DSP的讀、寫(xiě)控制信號(hào)、地址信號(hào)和外部接口的片選信號(hào),通過(guò)FPGA 的 邏 輯 運(yùn) 算 來(lái) 控 制 HS3282 的 SEL、、、、、等控制信號(hào),實(shí)現(xiàn)DSP對(duì)接口芯片HS3282的讀寫(xiě)操作;地址譯碼的功能在于當(dāng)?shù)刂房偩€上出現(xiàn)預(yù)定的地址,且讀信號(hào)或?qū)懶盘?hào)有效時(shí),能夠?qū)S3282的接收器鎖存器進(jìn)行讀數(shù)據(jù)或?qū)?shù)據(jù)寫(xiě)入到HS3282發(fā)送器的FIFO中。中斷管理的功能在于實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)母咝?,在HS3282的中斷管理中,有兩種類型的中斷:TX/R表明數(shù)據(jù)發(fā)送結(jié)束,兩個(gè)分別表明不同的接收器已完成數(shù)據(jù)的接收,如果DSP接收到中斷,將從接收器讀取數(shù)據(jù),并進(jìn)行相應(yīng)的處理;如果接收到中斷,就將數(shù)據(jù)寫(xiě)入到發(fā)送器FIFO中,進(jìn)行發(fā)送操作。當(dāng)DSP讀取數(shù)據(jù)時(shí),首先設(shè)置數(shù)據(jù)選擇信號(hào)線SEL為邏輯 “0”,并且產(chǎn)生讀允許脈沖信號(hào),這樣DSP就能讀取第一個(gè)數(shù)據(jù)字,然后設(shè)置數(shù)據(jù)選擇信號(hào)線為邏輯“1”,并且再次產(chǎn)生讀允許脈沖信號(hào),DSP就能讀取第二個(gè)數(shù)據(jù)字。當(dāng)DSP發(fā)送數(shù)據(jù)時(shí),首先通過(guò)、將數(shù)據(jù)裝入FIFO,當(dāng)ENTX信號(hào)有效時(shí),HS3282將數(shù)據(jù)發(fā)送出去。這里信號(hào)是通過(guò)地址線的最低有效位來(lái)控制的,、、、是通過(guò)讀寫(xiě)信號(hào)線和地址總線來(lái)控制的。另外,在本設(shè)計(jì)中,由1個(gè)24 MHz的晶振給FPGA提供時(shí)鐘信號(hào)源。由FPGA提供給DSP一個(gè)24 MHz的工作時(shí)鐘。同時(shí),通過(guò)分頻電路FPGA可以分別提供給HS3282的工作時(shí)鐘分別有 1 MHz、500 kHz、250 kHz、125 kHz 分別可以產(chǎn)生 100 k、50 k、25 k、12.5 k 4種429通信速率,滿足不同外部設(shè)備的要求[3]。DSP與HS3282之間的接口電路連接如圖5所示。這里DSP通過(guò)外部接口來(lái)對(duì)HS3282進(jìn)行讀寫(xiě)操作,HS3282被分配在區(qū)域0和區(qū)域1,DSP通過(guò)片選信號(hào)來(lái)分別選通雙口RAM和HS3282。

    圖5 DSP與HS3282之間的接口電路Fig.5 Interface circuit between DSP and HS3282

    2.2 軟件設(shè)計(jì)

    本接口卡的軟件主要由兩部分組成:DSP數(shù)據(jù)收發(fā)程序、PCI驅(qū)動(dòng)程序。

    2.2.1 DSP數(shù)據(jù)收發(fā)程序

    DSP數(shù)據(jù)收發(fā)程序主要完成ARINC數(shù)據(jù)的收發(fā),接口卡的數(shù)據(jù)收發(fā)程序主要是通過(guò)中斷來(lái)完成的。如果DSP接收到D/R中斷,將從接收器讀取數(shù)據(jù),并進(jìn)行相應(yīng)的處理;如果接收到TX/R中斷,就將數(shù)據(jù)寫(xiě)入到發(fā)送器FIFO中,進(jìn)行發(fā)送操作。DSP數(shù)據(jù)收發(fā)程序流程圖如圖6所示。

    圖6 DSP數(shù)據(jù)收發(fā)程序流程圖Fig.6 Flow chart of the data transceiver program

    2.2.2 PCI驅(qū)動(dòng)程序

    由于Windows應(yīng)用程序運(yùn)行在保護(hù)模式下,他們不能直接訪問(wèn)硬件,所以Windows應(yīng)用程序想要訪問(wèn)硬件就要通過(guò)驅(qū)動(dòng)程序來(lái)訪問(wèn),所以必須為接口卡編寫(xiě)PCI設(shè)備驅(qū)動(dòng)程序。驅(qū)動(dòng)程序主要完成設(shè)備初始化、對(duì)設(shè)備端口和內(nèi)存、寄存器的讀寫(xiě)操作。接口卡使用的PCI設(shè)備驅(qū)動(dòng)程序是微軟公司推出的WDM驅(qū)動(dòng)程序。對(duì)于WDM驅(qū)動(dòng)程序,微軟公司提供了專門(mén)的驅(qū)動(dòng)程序開(kāi)發(fā)包Windows XP DDK,但是DDK開(kāi)發(fā)難度較大,周期長(zhǎng),不容易掌握,所以本文采用Numga公司提供的開(kāi)發(fā)工具Driver Studio來(lái)實(shí)現(xiàn)。Driver Studio制作的類庫(kù)封裝了DDK函數(shù),提供的開(kāi)發(fā)向?qū)Э梢陨纱a框架,與Visual C++完全兼容,大大簡(jiǎn)化了WDM驅(qū)動(dòng)程序的編寫(xiě)。

    3 結(jié)束語(yǔ)

    文中設(shè)計(jì)的ARINC429總線接口卡,分別使用PCI9052和HS3282作為PCI總線和ARINC429總線的接口芯片,使用FPGA進(jìn)行邏輯控制、時(shí)序控制,提高了系統(tǒng)的集成度、穩(wěn)定性。數(shù)據(jù)收發(fā)過(guò)程由卡上的DSP控制,無(wú)需占用計(jì)算機(jī)資源,具有高速、可靠、實(shí)時(shí)性好的優(yōu)點(diǎn)。接口卡已在某綜合航電測(cè)試系統(tǒng)中得到應(yīng)用,能夠滿足測(cè)試系統(tǒng)的需求,有很高的實(shí)用價(jià)值。

    [1]支超有.機(jī)載數(shù)據(jù)總線技術(shù)及其應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2006.

    [2]孫麗明.TMS320F2812原理及其C語(yǔ)言程序開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2008.

    [3]史國(guó)慶,高曉光,吳勇,等.基于PCI總線的ARINC429總線接口板硬件設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2010,18(1):28-29.

    SHI Guo-qing,GAO Xiao-guang,WU Yong,et al.Hardware design and realization of ARINC429 bus interface board based on PCI bus[J].Computer Measurement&Control,2010,18(1):28-29.

    [4]張怡,劉利杰,張航,等.基于DSP的ARINC429總線接口設(shè)計(jì)[J].航空計(jì)算技術(shù),2008,38(1):105-107.

    ZHANG Yi,LIU Li-jie,ZHANG Hang,et al.Design of ARINC429 BUS interface based on DSP[J].Aeronautical Computing Technique,2008,38(1):105-107.

    [5]張華強(qiáng),郭小娟,張慶榮.基于DSP的ARINC429總線接口卡的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)量與測(cè)試技術(shù),2008,35 (10):36-40.

    ZHANG Hua-qiang,GUO Xiao-juan,ZHANG Qing-rong.Design and realization of ARINC429 bus interface card based on DSP[J].Metrology&Measurement Technique,2008,35(10):36-40.

    [6]韓沖,翟正軍,羊天德,等.基于DSP的ARINC429嵌入式智能接口板硬件設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(jì),2006,17(27):3133-3135.

    HAN Chong,ZHAI Zheng-jun,YANG Tian-de,et al.Design and realization of embeded intelligent interface card of ARINC429 bus based on DSP[J].Computer Engineering and Design,2006,17(27):3133-3135.

    猜你喜歡
    雙口PC機(jī)驅(qū)動(dòng)程序
    雙口形式的戴維寧定理在電路分析中的應(yīng)用
    雙口RAM在機(jī)載嵌入式系統(tǒng)中的應(yīng)用
    基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
    基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
    VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
    電子制作(2017年23期)2017-02-02 07:16:47
    雙口RAM讀寫(xiě)正確性自動(dòng)測(cè)試的有限狀態(tài)機(jī)控制器設(shè)計(jì)方法
    雙口RAM在無(wú)人機(jī)三余度飛控計(jì)算機(jī)數(shù)據(jù)交換中的應(yīng)用
    驅(qū)動(dòng)程序更新與推薦
    驅(qū)動(dòng)程序更新與推薦
    驅(qū)動(dòng)程序更新與推薦
    夏邑县| 齐河县| 唐河县| 浦江县| 五常市| 岳阳市| 玛纳斯县| 西宁市| 晋中市| 宕昌县| 礼泉县| 犍为县| 柯坪县| 囊谦县| 枣强县| 乌海市| 青铜峡市| 沾化县| 沙坪坝区| 盐边县| 湖州市| 延边| 山丹县| 龙川县| 广元市| 宽甸| 剑阁县| 隆尧县| 巩留县| 贵州省| 烟台市| 沙河市| 桐乡市| 东乌珠穆沁旗| 上思县| 宣威市| 阿拉善右旗| 江西省| 华阴市| 黑龙江省| 平乐县|