当前位置:首页 > 测试测量 > 测试测量
[导读] 摘要:为了快速开发性价比高的基于USB接口的虚拟数据采集仪,采用了NI-VISA和CH372芯片的方案搭建一个通用的模板,并以一个温度信号的虚拟数据采集仪器的实例加以说明。实验表明该模板降低了USB通信的复杂度,缩短了

 摘要:为了快速开发性价比高的基于USB接口的虚拟数据采集仪,采用了NI-VISA和CH372芯片的方案搭建一个通用的模板,并以一个温度信号的虚拟数据采集仪器的实例加以说明。实验表明该模板降低了USB通信的复杂度,缩短了开发周期。

关键词:USB;数据采集;虚拟仪器;NI-VISA;CH372

引言

构建USB接口的虚拟数据采集仪器常有如下方案:

①采用NI公司的USB数据采集模块。该方案的特点是方便使用,但成本相对高。②采用非NI公司的USB数据采集模块。通过调用厂商提供的二次开发包里面的动态链接库,驱动数据采集。该方案比方案①成本低,但应用相对复杂。③采用数据采集器件+单片机+USB接口器件。

参考文献通过涮用动态链接库模块来实现驱动设计。参考文献通过NI-VISA方案来实现驱动设计,比参考文献采用的方法方便易用。综合比较,方案③从成本和开发速度上都具有很高的性价比。

本文旨在方案③的基础上,搭建一个通用的模板。开发者只要在该模板的基础上就可以快速开发性价比高的基于USB接口的数据采集系统。本文采用了NI-VISA和CH372 USB芯片的方案,并以一个温度信号的虚拟数据采集仪器的实例加以说明。

1 CH372及其外围电路

CH372是南京沁恒生产的一款USB总线芯片,它提供8位数据线及读、写、片选、中断线各一条,内置USB通信底层协议,具有方便、简单的内置固件模式和灵活的外置固件模式。内置固件模式下,芯片自动处理端点0的所有事务,本地单片机只需要负责处理数据交换即可,程序简洁、简单;外置固件模式下,由本地单片机负责处理各种USB请求,可以灵活地实现符合USB规范的设备。

图1是CH372的外围电路。D0~D7为芯片的数据I/O口,与STC89C52RC单片机的P0~P7相连;INT与单片机的P3.2相连;CS与单片机的P3.3相连;RD与单片机的P3.4相连;WR与单片机的P3.5相连;A0与单片机的P3.7相连。单片机采用的是11.059 2 MHz晶振。温度传感器采用DS18B20,它的数据线接单片机的P2.2口。

2 单片机软件设计

CH372芯片专门用于处理USB通信,在接收到数据或者发送完数据后,CH372以中断方式通知单片机进行处理。

单片机通过CH372芯片接收数据的处理步骤如下:

①当CH372接收到USB主机发来的数据后,首先锁定当前USB缓冲区,防止被后续数据覆盖,然后将INT引脚设置为低电平,向单片机请求中断;

②单片机进入中断服务程序,首先执行GET_STATUS命令获取中断状态;

③CH372在GET_STATus命令完成后将INT引脚恢复为高电平,取消中断请求;

④由于通过上述GET_STATUS命令获取的中断状态是“下传成功”,所以单片机执行RD_USB_DATA命令从CH372读取接收到的数据;

⑤CH372在RD_USB_DATA命令完成后释放当前缓冲区,从而可以继续USB通信;

⑥单片机退出中断服务程序。

单片机通过CH372芯片发送数据的处理步骤如下:

①单片机执行WR_USB_DATA命令向CH372写入要发送的数据;

②CH372被动地等待USB主机在需要时取走数据;

③当USB主机取走数据后,CH372首先锁定当前USB缓冲区,防止重复发送数据,然后将INT引脚设置为低电平,向单片机请求中断;

④单片机进入中断服务程序,首先执行GET_STATUS命令获取中断状态;

⑤CH372在GET_STATUS命令完成后将INT引脚恢复为高电平,取消中断请求;

⑥由于通过上述GET_STATUS命令获取的中断状态是“上传成功”,所以单片机执行WR_USB_DATA命令向CH372写入另一组要发送的数据,如果没有后续数据需要发送,那么单片机不必执行WR_USB_DATA命令;

⑦单片机执行UNLOCK_USB命令;

⑧CH372在UNLOCK_USB命令完成后释放当前缓冲区,从而可以继续USB通信;

⑨单片机退出中断服务程序;

⑩如果单片机已经写入了另一组要发送的数据,那么转到步骤②,否则结束。

在内置固件模式的USB设备方式下,单片机只需要处理6种中断状态。为了进一步简化USB通信,在本文的模板中只让CH372处理如表1所列的两种中断状态。

根据表1所列的两种中断状态相关的读写操作指令如表2所列。

本文对CH372的底层驱动进行了高度的封装,只提供一个接口给应用层,接口函数如表3所列。

从通用的角度考虑,本文对应用层的功能模块划分如下:

①USB设备初始化模块。实现设置USB设备的厂商VID和产品PID,工作模式为内置固件模式,具体代码如下:

④中断服务模块。两种中断状态分别是端点2的OUT事务和端点2的IN事务。IN事务中断表示上位机已经完成数据的接收,下一步让单片机做什么就是中断服务的内容。OUT事务中断表示USB设备端已经完成数据的接收,下一步让单片机端做什么就是中断服务的内容。中断服务模块的伪代码如下:

本文给出的实例是当单片机接收到上位机发送过来的“开始温度采集”信号后,开始不断启动温度的采集和往上位机发送温度数据,直到收到上位机发送过来的“停止温度采集”信号。本实例单片机端的主程序伪代码如下:

在“中断服务模块”代码中的端点2的OUT事务部分,读取上位机发送过来的数据,从该数据中获取信息,刷新“开始温度采集”的标志,然后退出中断。在单片机主程序里面可以根据对该标志的判断来决定开始采集温度还是暂停采集温度。

3 上位机软件设计

上位机的USB设备的驱动编写采用的是NI-VISA图形化的方法进行设置,详细步骤见参考文献。驱动编写后,接下来就是采用LabVIEW 2012编写上位机程序,上位机的运行界面如图2所示。

其关键程序代码如下:

①打开USB资源。该部分代码如图3所示。其中关键函数是图3中所示的“VISA打开”函数。

②点击运行界面上的“开始采集温度”按钮。实现上位机往CH372设备发送一个字符“1”。CH372设备接收后,触发单片机中断服务读取该字符。读取该字符后,刷新“开始采集温度”的标志。在单片机的主程序中,根据该标志启动温度采集和往上位机发送温度数据。因此,上位机程序中必须含有往CH372设备写发送数据的操作和读来自CH372设备数据的操作,该部分代码如图4所示。其中的关键函数是图4所示的“VISA写入”函数和“VISA读取”函数。

结语

该模板采用CH372芯片的内置同件模式,屏蔽了USB通信的底层细节,大大降低了USB通信的复杂度。同时对CH372的操作细节进行了封装,提供相应接口给应用层,开发者的设计只局限在应用层,大大降低了开发时间和难度。采用NI-VISA的图形化配置的方法快速开发了USB设备的驱动,采用LabVIEW里面提供的函数方便实现USB设备打开和读写操作。因此,该模板能实现USB接口的虚拟数据采集仪的快速设计。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭