彈上通信系統(tǒng)的LabVIEW與單片機的通信技術(shù)
摘要:結(jié)合某型信息化彈藥彈上電子器件通信問題研究,以C8051F340單片機為例,介紹了單片機與LabVIEW進行USB通信的3種方法。針對LabVIEW,實現(xiàn)USB通信的方式有:利用CIN(代碼接口節(jié)點),調(diào)用DLL(動態(tài)鏈接庫),通過VISA(虛擬儀器軟件架構(gòu))。對這3種方式進行詳細的介紹和比較,并給出結(jié)論。
關(guān)鍵詞:信息化彈藥;LabVIEW;USB;C8051F340;DLL;VISA
引言
某型信息化彈藥通過對目標(biāo)的基準(zhǔn)彈道與飛行中的攻擊彈道進行比較后,給出有限次不連續(xù)的修正量來修正攻擊彈道,以減少彈著點誤差,提高彈丸對付高速機動飛行目標(biāo)的命中精度,或提高遠程打擊精度。該信息化彈藥的基本結(jié)構(gòu)就是在常規(guī)炮彈上加裝彈道修正模塊,彈道修正模塊主要由微控制器根據(jù)基準(zhǔn)彈道修正攻擊彈道參數(shù)來提高命中率。
在傳感器及信號調(diào)理電路的基礎(chǔ)上,選用高速單片機、快速的數(shù)據(jù)傳輸總線以及LabVIEW應(yīng)用程序,可快速開發(fā)一個簡單實用的信息化彈藥彈道控制通信系統(tǒng)模型。本通信系統(tǒng)模型用USB總線,在PC機與USB設(shè)備間實現(xiàn)上下位機之間的通信,在軟件方面通常要完成以下設(shè)計:USB設(shè)備固件編程、USB設(shè)備驅(qū)動編程和PC機應(yīng)用程序設(shè)計。下位機彈道修正模塊用Silicon Labs公司的全速USB Flash微控制器C8051F340,上位機PC采用LabVIEW編寫應(yīng)用程序。與C8051F340進行USB通信主要有3種方式:利用CIN調(diào)用開發(fā)USB設(shè)備的外部代碼;調(diào)用DLL對USB設(shè)備進行操作;通過VISA訪問USB設(shè)備。下面分別進行介紹和比較。
1 利用CIN調(diào)用開發(fā)USB設(shè)備外部代碼
CIN(Code Interface Node,代碼接口節(jié)點)是LabVIEW中通過參數(shù)傳遞來調(diào)用C/C++代碼的節(jié)點,可以利用USB設(shè)備生產(chǎn)廠家提供的C/ C++代碼,將代碼集成并作為一個單獨的VI發(fā)布,實現(xiàn)數(shù)據(jù)的高效處理。這種實現(xiàn)方法相當(dāng)于在LabVIEW下利用CIN對USB設(shè)備編寫驅(qū)動程序。以C8051F340端口1IN批量傳輸為例。規(guī)定使用端口1IN批量傳輸且最大包長度為128字節(jié),假設(shè)端點1IN的緩沖區(qū)地址為0x7E00~0x7E8F。主機通過不斷發(fā)送IN令牌請求USB執(zhí)行IN傳輸,C8051F340會通過將端點字節(jié)計數(shù)寄存器(N1CNT)加載,以示數(shù)據(jù)準(zhǔn)備完畢,同時將一個IN數(shù)據(jù)包裝入端點的IN FIFO并將INPRDY位(EINCSR L.O)位置1。利用CIN調(diào)用USB設(shè)備的外部代碼的一般步驟如下:
①創(chuàng)建CIN節(jié)點。CIN節(jié)點位于“函數(shù)選板”一“互連接口”一“庫與可執(zhí)行庫文件”子選板下。根據(jù)設(shè)備的參數(shù)需要增加外部代碼的輸入/輸出端口。
②創(chuàng)建C源文件。右擊CIN并選擇創(chuàng)建C8051F340UsbInl.c文件選項,對打開的程序修改如下:
評論