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