弹上通信系统的LabVIEW与单片机的通信技术
引言
某型信息化弹药通过对目标的基准弹道与飞行中的攻击弹道进行比较后,给出有限次不连续的修正量来修正攻击弹道,以减少弹着点误差,提高弹丸对付高速机动飞行目标的命中精度,或提高远程打击精度。该信息化弹药的基本结构就是在常规炮弹上加装弹道修正模块,弹道修正模块主要由微控制器根据基准弹道修正攻击弹道参数来提高命中率。
在传感器及信号调理电路的基础上,选用高速单片机、快速的数据传输总线以及LabVIEW应用程序,可快速开发一个简单实用的信息化弹药弹道控制通信系统模型。本通信系统模型用USB总线,在PC机与USB设备间实现上下位机之间的通信,在软件方面通常要完成以下设计:USB设备固件编程、USB设备驱动编程和PC机应用程序设计。下位机弹道修正模块用Silicon Labs公司的全速USB Flash微控制器C8051F340,上位机PC采用LabVIEW编写应用程序。与C8051F340进行USB通信主要有3种方式:利用CIN调用开发USB设备的外部代码;调用DLL对USB设备进行操作;通过VISA访问USB设备。下面分别进行介绍和比较。
1 利用CIN调用开发USB设备外部代码
CIN(Code Interface Node,代码接口节点)是LabVIEW中通过参数传递来调用C/C++代码的节点,可以利用USB设备生产厂家提供的C/ C++代码,将代码集成并作为一个单独的VI发布,实现数据的高效处理。这种实现方法相当于在LabVIEW下利用CIN对USB设备编写驱动程序。以C8051F340端口1IN批量传输为例。规定使用端口1IN批量传输且最大包长度为128字节,假设端点1IN的缓冲区地址为0x7E00~0x7E8F。主机通过不断发送IN令牌请求USB执行IN传输,C8051F340会通过将端点字节计数寄存器(N1CNT)加载,以示数据准备完毕,同时将一个IN数据包装入端点的IN FIFO并将INPRDY位(EINCSR L.O)位置1。利用CIN调用USB设备的外部代码的一般步骤如下:
①创建CIN节点。CIN节点位于“函数选板”一“互连接口”一“库与可执行库文件”子选板下。根据设备的参数需要增加外部代码的输入/输出端口。
②创建C源文件。右击CIN并选择创建C8051F340UsbInl.c文件选项,对打开的程序修改如下:
③编译C8051F340UsbInl.c文件,生成可被LabVIEW执行的C8051F340UsbInl.1sb。以VC++为例编译CIN节点源文件。在VC++下创建C8051F340UsbInl.mak文件,内容如下:
在VC++下点击newprojectmake file,输入文件名C8051F340UsbInl后点击为OK和Finish按钮。将C8051F340UsbInl.c和C8051F340U-sbInl.mak一起复制到C8051F340UsbInl文件夹下,重新打开C8051F340UsbInl工作台,按F7可生成C8051F340UsbInl.1sb文件。
④右击选用的CIN图标,选择“加载代码资源”并选择C8051F340UsbInl.1sb文件。至此,一个基于CIN的读USB端口1的VI创建完毕。
相关文章
- 2024-04-09减小一独立压力控制型无级变速器压力波动的研究
- 2024-10-12结合工程力学教学谈如何培养学生创新意识和实践能力
- 2023-08-08微控数显调节仪表应用中的干扰分析与抑制
- 2022-05-12基于多任务嵌入式应用的MP3实时解码系统设计
- 2024-11-20GNU工具开发基于ARM嵌入式系统的方法
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。