关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > USB接口的多功能容栅传感器测量系统

USB接口的多功能容栅传感器测量系统

作者:时间:2011-11-20来源:网络收藏

3.2 程序
因为C8051F321的模块高度集成化,所以对的设计主要是USB固件程序的设计。其中最重要的是USB描述符和USB传输中断的处理。当USB中断到达时,C8051F321首先读取3个中断寄存器(CMINT、IN1INT和OUT1INT)来判断中断来源(USB复位中断、端点0中断、端点1输入中断、端点2输出中断),然后跳入相应的处理模块进行处理。USB中断程序流程如图4所示。

本文引用地址:http://www.eepw.com.cn/article/161402.htm

e.jpg


端点0主要用于主机对USB设备的配置、状态信息的获取和设备错误的纠正等,它的中断处理模块由控制输出和控制输入2部分组成。每次传输由设置事务开始,然后根据设置事务数据包中的USB标准命令请求判断该次传输是控制输入还是控制输出。USB复位中断将相关USB变量、寄存器和各端点的状态恢复为初始状态。端点1输入中断和端点2输出中断均为批量传输中断,其主要作用是在收到中断时,在各自预定义好的缓冲区中写入要传输给主机的数据或读取传输过来的数据。
3.3 主程序
程序主要包括主程序、时钟初始化子程序、端口初始化子程序、USB控制器配置初始化子程序、延时子程序、采集数据中断子程序、USB中断子程序和附加功能子程序。由于采集数据实时性要求比较高,所以将采集数据中断设为高优先级。
附加功能子程序包括正常计数、数据保持、最大值跟踪、最小值跟踪和清零的功能。对附加功能的实现均是通过控制CK和DATA信号线完成,附加功能转换流程如图5所示。给CK信号线一个负脉冲,即可完成清零操作;在正常计数状态下将DATA信号线置为高电平,将进入保数功能;如果再将CK信号线置为低电平,进入最大值跟踪功能;内部专用芯片将用新测得的数据与上一个数据进行比较,如果新测得数据大,则替换掉,否则丢弃。可以在上位机上通过USB测试软件发送相关命令来控制进行操作。程序中设定一个字节的变量来存放从上位机接收到的命令,当判断是其中的一个命令时就调用相应的处理程序完成操作。

f.jpg


3.4 软件抗干扰
环境的干扰使单片机程序很容易“跑飞”,为了控制程序正常运行,除了硬件上使用光耦隔离技术之外,软件上可采用设置“软件陷阱”的办法来将跑飞的程序拉入正常轨道,即在程序代码空间使用跳转指令将跑飞的程序拉到程序执行的开始位置,具体操作方法是在所有未被使用的代码空间处写入“LJMP 0000H”指令。另外,可利用单片机自带的“看门狗”功能看住程序,一旦程序跑飞,看门狗将强制单片机复位。也就是说,在程序代码中每隔一定时间就设置一个“喂狗指令”,清除看门狗计时器值,不让其达到最大值而发出复位信号。

结语
使用主机上的软件测试出该软硬件能够稳定可靠地运行,点击测试软件的相关功能按钮,能够完成相应的功能操作。与传统的RS232/RS485通信方式相比较,该方案解决了不带串行通信方式的上位机的通信闲难,抗干扰能力更强,为系统提供更稳定的电源,适用于恶劣环境下的工业现场的高精度

接地电阻相关文章:接地电阻测试方法


电机保护器相关文章:电机保护器原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭