基于USB接口1553B總線設(shè)備檢測(cè)系統(tǒng)設(shè)計(jì)
發(fā)布時(shí)間:2008/6/16 0:00:00 訪問(wèn)次數(shù):618
1 引言
mil-std-1553b軍用總線標(biāo)準(zhǔn),在軍事裝備,特別是飛機(jī)系統(tǒng)中得到了廣泛的應(yīng)用,艦載系統(tǒng)中也正在逐步推廣。對(duì)于1553b總線傳輸信息的飛機(jī)系統(tǒng),特別是由該總線網(wǎng)絡(luò)構(gòu)成的綜合航火控系統(tǒng)、通信系統(tǒng)而言,系統(tǒng)時(shí)實(shí)監(jiān)測(cè)與在線故障診斷均建立在信息錄取的前提下。為了方便錄取1553b總線上傳輸?shù)男畔⒕托枰獞?yīng)用1553b總線到計(jì)算機(jī)標(biāo)準(zhǔn)接口轉(zhuǎn)換器,目前常用轉(zhuǎn)換器有1553b-pci、1553b-vxi等,但在工程實(shí)踐過(guò)程中,它們存在體積大、價(jià)格高、使用不方便等缺陷。相比而言,usb接口具有體積小、攜帶方便、熱插拔等特征,具有不可替代的優(yōu)勢(shì)。
本文介紹的1553b設(shè)備檢測(cè)系統(tǒng)就是基于usb接口的。設(shè)計(jì)包含兩大部分:硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件設(shè)計(jì)主要實(shí)現(xiàn)1553b接口到usb接口的轉(zhuǎn)換;軟件設(shè)計(jì)主要是usb芯片固件開(kāi)發(fā)、usb接口驅(qū)動(dòng)、開(kāi)發(fā)計(jì)算機(jī)測(cè)試1553b設(shè)備軟件。
2 硬件系統(tǒng)設(shè)計(jì)
本系統(tǒng)的硬件設(shè)計(jì)工作主要集中在1553b與usb總線接口的轉(zhuǎn)換設(shè)計(jì)。硬件系統(tǒng)分成三部分:1553b接口轉(zhuǎn)換電路、fpga譯碼電路和usb接口電路。
2.1 1553b接口轉(zhuǎn)換電路
目前,1553b接口芯片種類(lèi)繁多,根據(jù)工程應(yīng)用場(chǎng)合和實(shí)際需要,我們選用ddc公司bu-61580芯片。bu-61580芯片除了具有遠(yuǎn)程終端(rt)功能外,還可以用作總線控制器(bc)、總線監(jiān)控器(mt)。其內(nèi)部功能極強(qiáng),接口靈活、便于控制,有各種封裝形式和供電電壓供用戶(hù)選擇。
2.2 fpga譯碼電路
fpga作為現(xiàn)場(chǎng)可編程器件越來(lái)越廣泛地應(yīng)用到工程設(shè)計(jì)中。利用fpga對(duì)系統(tǒng)中信號(hào)進(jìn)行譯碼可避免由于開(kāi)始硬件電路設(shè)計(jì)考慮不周造成的硬件設(shè)計(jì)錯(cuò)誤,而且方便系統(tǒng)的以后的升級(jí)。本系統(tǒng)中,fpga通過(guò)1553b接口芯片讀取1553b總線上的數(shù)據(jù)并暫存在fpga內(nèi)部ram中,然后通知usb接口芯片把數(shù)據(jù)讀出;同時(shí),還要通過(guò)usb接口接收從pc下發(fā)的數(shù)據(jù),重新打包,發(fā)送到1553b設(shè)備。
2.3 usb接口電路
usb接口控制芯片包含兩大類(lèi):一類(lèi)是需要外置控制器的芯片,還有一類(lèi)為內(nèi)置控制器,如cypress公司的cy7c64613芯片。本系統(tǒng)選用philip公司的pdiusbd12芯片,需外置控制器的芯片。
pdiusbd12芯片是帶有并行總線和局部dma傳輸能力的全速u(mài)sb接口器件。片內(nèi)集成了高性能usb接口器件、sie、fifo存儲(chǔ)器、收發(fā)器以及電壓調(diào)整器等,可與任何外部微控制器/微處理器實(shí)現(xiàn)高速并行接口(2mb/s),完全能匹配1553b總線最高傳輸速率(1mb/s)[1]。usb 實(shí)現(xiàn)模塊的核心是pidusb12。外置控制器at89c52的p0口接pidusbd12的data0~data7,用來(lái)傳輸要交換的數(shù)據(jù)。p0 口所有引腳都要外接上拉電阻。pidusbd12的片選信號(hào)和復(fù)位信號(hào)由at89c52的p1.6與p1.7提供。at89c52 的p3.6與p3.7作為pidusbd12的寫(xiě)讀控制端,at89c52和pidusbd12的ale相連,pidusbd12的掛起狀態(tài)和中斷控制都接高電平。 pidusb12的d+和d-加上+5v電源和地就構(gòu)成了usb接口,從而能與計(jì)算機(jī)相連。
pdiusbd12與usb的連接通過(guò)1.5k上拉電阻將d+置為高實(shí)現(xiàn),默認(rèn)狀態(tài)不與vcc相連,可用softconnect技術(shù)通過(guò)at89c52發(fā)送專(zhuān)門(mén)的命令來(lái)實(shí)現(xiàn)該連接,允許at89c52在決定與usb建立連接之前完成初始化時(shí)序,usb總線連接可以重新初始化而不需要撥出電纜[2]。隨后usb設(shè)備識(shí)別和通信就要依靠固件程序和驅(qū)動(dòng)程序了。
3 軟件設(shè)計(jì)
1553b設(shè)備測(cè)試軟件首先要實(shí)現(xiàn)usb接口與pc之間的通信,然后,再對(duì)設(shè)備進(jìn)行性能檢測(cè)。因此,需要對(duì)usb芯片進(jìn)行固件、pc驅(qū)動(dòng)程序和測(cè)試程序設(shè)計(jì)。
3.1 usb固件設(shè)計(jì)
at89c52中的固化程序可采用c51 設(shè)計(jì),主要功能是:控制pdiusbdl2接受usb驅(qū)動(dòng)程序的請(qǐng)求;控制pdiusbdl2接受應(yīng)用程序的控制指令;通過(guò)pdiusbdl2存儲(chǔ)數(shù)據(jù)并實(shí)時(shí)上傳pc機(jī)。pdiusbdl2的固件設(shè)計(jì)成完全的中斷驅(qū)動(dòng),當(dāng)cpu處理前臺(tái)任務(wù)時(shí)usb的傳輸可在后臺(tái)進(jìn)行,確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),簡(jiǎn)化了編程和調(diào)試。單片機(jī)通過(guò)pdiusbdl2與主機(jī)通信的過(guò)程簡(jiǎn)述如下::當(dāng)pdiusbdl2接收到主機(jī)發(fā)來(lái)的令牌包后就給單片機(jī)發(fā)中斷,單片機(jī)進(jìn)入中斷服務(wù)程序。它將數(shù)據(jù)從pdiusbd12的內(nèi)部fifo取回到cpu存儲(chǔ)器并根據(jù)中斷寄存器判斷usb令牌包的類(lèi)型從而建立正確的事件標(biāo)志以通知主循環(huán)程序進(jìn)行處理,主循環(huán)檢查事件標(biāo)志并進(jìn)入對(duì)應(yīng)的子程序進(jìn)行進(jìn)一步的處理,固件程序流程如圖2所示。系統(tǒng)上電后,先檢測(cè)pdiusbd12,如檢測(cè)不成功則報(bào)錯(cuò),要使用者重插usb接口,再次檢測(cè)。檢測(cè)成功則根據(jù)pdiusbd12的中斷類(lèi)型設(shè)定中斷標(biāo)志位的值,再根據(jù)中斷位的值調(diào)用相應(yīng)的功能子程序[3]。
在本設(shè)計(jì)中,功能子程序主要包括兩部分:
1)通過(guò)at89c52的p0端口從fpga接收1553b設(shè)備數(shù)據(jù),重新打包,再經(jīng)過(guò)p0端口寫(xiě)入pc機(jī);
2) 通過(guò)p0端口接收pc數(shù)據(jù),重新打包,通過(guò)at89c52的p0端口從fpga寫(xiě)入1553b設(shè)備。
3.2 驅(qū)動(dòng)程序
完成驅(qū)動(dòng)程序設(shè)計(jì)的方法一般有三種:基于ddk開(kāi)發(fā)、基于windrive開(kāi)發(fā)和基于drivestudi
1 引言
mil-std-1553b軍用總線標(biāo)準(zhǔn),在軍事裝備,特別是飛機(jī)系統(tǒng)中得到了廣泛的應(yīng)用,艦載系統(tǒng)中也正在逐步推廣。對(duì)于1553b總線傳輸信息的飛機(jī)系統(tǒng),特別是由該總線網(wǎng)絡(luò)構(gòu)成的綜合航火控系統(tǒng)、通信系統(tǒng)而言,系統(tǒng)時(shí)實(shí)監(jiān)測(cè)與在線故障診斷均建立在信息錄取的前提下。為了方便錄取1553b總線上傳輸?shù)男畔⒕托枰獞?yīng)用1553b總線到計(jì)算機(jī)標(biāo)準(zhǔn)接口轉(zhuǎn)換器,目前常用轉(zhuǎn)換器有1553b-pci、1553b-vxi等,但在工程實(shí)踐過(guò)程中,它們存在體積大、價(jià)格高、使用不方便等缺陷。相比而言,usb接口具有體積小、攜帶方便、熱插拔等特征,具有不可替代的優(yōu)勢(shì)。
本文介紹的1553b設(shè)備檢測(cè)系統(tǒng)就是基于usb接口的。設(shè)計(jì)包含兩大部分:硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件設(shè)計(jì)主要實(shí)現(xiàn)1553b接口到usb接口的轉(zhuǎn)換;軟件設(shè)計(jì)主要是usb芯片固件開(kāi)發(fā)、usb接口驅(qū)動(dòng)、開(kāi)發(fā)計(jì)算機(jī)測(cè)試1553b設(shè)備軟件。
2 硬件系統(tǒng)設(shè)計(jì)
本系統(tǒng)的硬件設(shè)計(jì)工作主要集中在1553b與usb總線接口的轉(zhuǎn)換設(shè)計(jì)。硬件系統(tǒng)分成三部分:1553b接口轉(zhuǎn)換電路、fpga譯碼電路和usb接口電路。
2.1 1553b接口轉(zhuǎn)換電路
目前,1553b接口芯片種類(lèi)繁多,根據(jù)工程應(yīng)用場(chǎng)合和實(shí)際需要,我們選用ddc公司bu-61580芯片。bu-61580芯片除了具有遠(yuǎn)程終端(rt)功能外,還可以用作總線控制器(bc)、總線監(jiān)控器(mt)。其內(nèi)部功能極強(qiáng),接口靈活、便于控制,有各種封裝形式和供電電壓供用戶(hù)選擇。
2.2 fpga譯碼電路
fpga作為現(xiàn)場(chǎng)可編程器件越來(lái)越廣泛地應(yīng)用到工程設(shè)計(jì)中。利用fpga對(duì)系統(tǒng)中信號(hào)進(jìn)行譯碼可避免由于開(kāi)始硬件電路設(shè)計(jì)考慮不周造成的硬件設(shè)計(jì)錯(cuò)誤,而且方便系統(tǒng)的以后的升級(jí)。本系統(tǒng)中,fpga通過(guò)1553b接口芯片讀取1553b總線上的數(shù)據(jù)并暫存在fpga內(nèi)部ram中,然后通知usb接口芯片把數(shù)據(jù)讀出;同時(shí),還要通過(guò)usb接口接收從pc下發(fā)的數(shù)據(jù),重新打包,發(fā)送到1553b設(shè)備。
2.3 usb接口電路
usb接口控制芯片包含兩大類(lèi):一類(lèi)是需要外置控制器的芯片,還有一類(lèi)為內(nèi)置控制器,如cypress公司的cy7c64613芯片。本系統(tǒng)選用philip公司的pdiusbd12芯片,需外置控制器的芯片。
pdiusbd12芯片是帶有并行總線和局部dma傳輸能力的全速u(mài)sb接口器件。片內(nèi)集成了高性能usb接口器件、sie、fifo存儲(chǔ)器、收發(fā)器以及電壓調(diào)整器等,可與任何外部微控制器/微處理器實(shí)現(xiàn)高速并行接口(2mb/s),完全能匹配1553b總線最高傳輸速率(1mb/s)[1]。usb 實(shí)現(xiàn)模塊的核心是pidusb12。外置控制器at89c52的p0口接pidusbd12的data0~data7,用來(lái)傳輸要交換的數(shù)據(jù)。p0 口所有引腳都要外接上拉電阻。pidusbd12的片選信號(hào)和復(fù)位信號(hào)由at89c52的p1.6與p1.7提供。at89c52 的p3.6與p3.7作為pidusbd12的寫(xiě)讀控制端,at89c52和pidusbd12的ale相連,pidusbd12的掛起狀態(tài)和中斷控制都接高電平。 pidusb12的d+和d-加上+5v電源和地就構(gòu)成了usb接口,從而能與計(jì)算機(jī)相連。
pdiusbd12與usb的連接通過(guò)1.5k上拉電阻將d+置為高實(shí)現(xiàn),默認(rèn)狀態(tài)不與vcc相連,可用softconnect技術(shù)通過(guò)at89c52發(fā)送專(zhuān)門(mén)的命令來(lái)實(shí)現(xiàn)該連接,允許at89c52在決定與usb建立連接之前完成初始化時(shí)序,usb總線連接可以重新初始化而不需要撥出電纜[2]。隨后usb設(shè)備識(shí)別和通信就要依靠固件程序和驅(qū)動(dòng)程序了。
3 軟件設(shè)計(jì)
1553b設(shè)備測(cè)試軟件首先要實(shí)現(xiàn)usb接口與pc之間的通信,然后,再對(duì)設(shè)備進(jìn)行性能檢測(cè)。因此,需要對(duì)usb芯片進(jìn)行固件、pc驅(qū)動(dòng)程序和測(cè)試程序設(shè)計(jì)。
3.1 usb固件設(shè)計(jì)
at89c52中的固化程序可采用c51 設(shè)計(jì),主要功能是:控制pdiusbdl2接受usb驅(qū)動(dòng)程序的請(qǐng)求;控制pdiusbdl2接受應(yīng)用程序的控制指令;通過(guò)pdiusbdl2存儲(chǔ)數(shù)據(jù)并實(shí)時(shí)上傳pc機(jī)。pdiusbdl2的固件設(shè)計(jì)成完全的中斷驅(qū)動(dòng),當(dāng)cpu處理前臺(tái)任務(wù)時(shí)usb的傳輸可在后臺(tái)進(jìn)行,確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),簡(jiǎn)化了編程和調(diào)試。單片機(jī)通過(guò)pdiusbdl2與主機(jī)通信的過(guò)程簡(jiǎn)述如下::當(dāng)pdiusbdl2接收到主機(jī)發(fā)來(lái)的令牌包后就給單片機(jī)發(fā)中斷,單片機(jī)進(jìn)入中斷服務(wù)程序。它將數(shù)據(jù)從pdiusbd12的內(nèi)部fifo取回到cpu存儲(chǔ)器并根據(jù)中斷寄存器判斷usb令牌包的類(lèi)型從而建立正確的事件標(biāo)志以通知主循環(huán)程序進(jìn)行處理,主循環(huán)檢查事件標(biāo)志并進(jìn)入對(duì)應(yīng)的子程序進(jìn)行進(jìn)一步的處理,固件程序流程如圖2所示。系統(tǒng)上電后,先檢測(cè)pdiusbd12,如檢測(cè)不成功則報(bào)錯(cuò),要使用者重插usb接口,再次檢測(cè)。檢測(cè)成功則根據(jù)pdiusbd12的中斷類(lèi)型設(shè)定中斷標(biāo)志位的值,再根據(jù)中斷位的值調(diào)用相應(yīng)的功能子程序[3]。
在本設(shè)計(jì)中,功能子程序主要包括兩部分:
1)通過(guò)at89c52的p0端口從fpga接收1553b設(shè)備數(shù)據(jù),重新打包,再經(jīng)過(guò)p0端口寫(xiě)入pc機(jī);
2) 通過(guò)p0端口接收pc數(shù)據(jù),重新打包,通過(guò)at89c52的p0端口從fpga寫(xiě)入1553b設(shè)備。
3.2 驅(qū)動(dòng)程序
完成驅(qū)動(dòng)程序設(shè)計(jì)的方法一般有三種:基于ddk開(kāi)發(fā)、基于windrive開(kāi)發(fā)和基于drivestudi
熱門(mén)點(diǎn)擊
- Actel推出基于IGLOO FPGA的插入
- FCI的eSATA連接器外部數(shù)據(jù)備份速度高達(dá)
- JVC硬盤(pán)攝像機(jī)選用賽普拉斯PSoC Cap
- Catalyst半導(dǎo)體發(fā)布超低功耗8位I2C
- ACCES I/O推出隔離輸入的SSR 輸出
- ADI推出具有±200mA以上驅(qū)動(dòng)能力的AD
- 意法推出微型ESD保護(hù)器件USBULC6-2
- HUBER+SUHNER推出MMBX超小型板
- SMK推出適用于microSD/ Trans
- Catalyst新推高分辨率亮度調(diào)節(jié)LED驅(qū)
推薦技術(shù)資料
- MOSFET 電感單片降壓開(kāi)關(guān)模式變換器優(yōu)勢(shì)
- SiC MOSFET 和 IG
- 新型 電隔離無(wú)芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對(duì)位置編碼器技術(shù)參數(shù)設(shè)計(jì)
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究