搜索

版权所有 © bob综合网页版 京ICP备14154451号 
                 

-基于NI-VISA的USB接口虚拟数据搜聚仪安排

发布时间:2022-01-19 10:35:00
来源:bob综合体育下载

  和CH372芯片的计划搭修一个通用的模板,并以一个温度信号的虚拟数据搜集仪器的实例加以阐发。实习注明该模板消重了

  ①采用NI公司的USB数据搜集模块。该计划的特质是轻易运用,但本钱相对高。②采用非NI公司的USB数据搜集模块。通过挪用厂商供应的二次开辟包内里的动态链接库,驱动数据搜集。该计划比计划①本钱低,但利用相对繁杂。③采用数据搜集器件+单片机+USB接口器件。

  参考文件通过涮用动态链接库模块来实行驱动安排。参考文件通过NI-VISA计划来实行驱动安排,比参考文件采用的手腕轻易易用。归纳较量,计划③从本钱和开辟速率上都拥有很高的性价比。

  本文旨正在计划③的根柢上,搭修一个通用的模板。开辟者只消正在该模板的根柢上就可能迅速开辟性价比高的基于USB接口的数据搜集编造。本文采用了NI-VISA和CH372 USB芯片的计划,并以一个温度信号的虚拟数据搜集仪器的实例加以阐发。

  CH372是南京沁恒坐褥的一款USB总线位数据线及读、写、片选、隔绝线各一条,内置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,它的数据线 单片机软件安排

  CH372芯片特意用于管束USB通讯,正在收受到数据或者发送完数据后,CH372以隔绝方法合照单片机举办管束。

  ①当CH372收受到USB主机发来的数据后,开始锁定方今USB缓冲区,预防被后续数据笼盖,然后将INT引脚创立为低电平,向单片机央浼隔绝;

  ②单片机进入隔绝任职法式,开始奉行GET_STATUS敕令获取隔绝状况;

  ③CH372正在GET_STATus敕令告终后将INT引脚光复为高电平,打消隔绝央浼;

  ④因为通过上述GET_STATUS敕令获取的隔绝状况是“下传凯旋”,是以单片机奉行RD_USB_DATA敕令从CH372读取收受到的数据;

  ⑤CH372正在RD_USB_DATA敕令告终后开释方今缓冲区,从而可能一直USB通讯;

  ③当USB主机取走数据后,CH372开始锁定方今USB缓冲区,预防反复发送数据,然后将INT引脚创立为低电平,向单片机央浼隔绝;

  ④单片机进入隔绝任职法式,开始奉行GET_STATUS敕令获取隔绝状况;

  ⑤CH372正在GET_STATUS敕令告终后将INT引脚光复为高电平,打消隔绝央浼;

  ⑥因为通过上述GET_STATUS敕令获取的隔绝状况是“上传凯旋”,是以单片机奉行WR_USB_DATA敕令向CH372写入另一组要发送的数据,假使没有后续数据须要发送,那么单片机不必奉行WR_USB_DATA敕令;

  ⑧CH372正在UNLOCK_USB敕令告终后开释方今缓冲区,从而可能一直USB通讯;

  正在内置固件形式的USB设置方法下,单片机只须要管束6种隔绝状况。为了进一步简化USB通讯,正在本文的模板中只让CH372管束如表1所列的两种隔绝状况。

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

  ①USB设置初始化模块。实行创立USB设置的厂商VID和产物PID,作事形式为内置固件形式,整体代码如下:

  ④隔绝任职模块。两种隔绝状况分裂是端点2的OUT事情和端点2的IN事情。IN事情隔绝显露上位机仍然告终数据的收受,下一步让单片机做什么即是隔绝任职的实质。OUT事情隔绝显露USB设置端仍然告终数据的收受,下一步让单片机端做什么即是隔绝任职的实质。隔绝任职模块的伪代码如下: