首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
USB接口的多功能容栅传感器测量系统
来源:本站整理  作者:佚名  2011-11-22 07:56:05




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

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] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:107,695.30000 毫秒