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