微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > C8051F320在USB设计中的应用

C8051F320在USB设计中的应用

时间:01-18 来源:国外电子元器件 作者:李建平 点击:

1 bDescriptorType 1 0x05 端点描述符类型 0x05 端点描述符类型
2 bEndpointAddress 1 0x81 端点地址:端点1 IN 0x02 端点地址:端点2 OUT
3 bmAttributes 1 0x02 传输类型:批量传输 0x02 传输类型:批量传输
4 wMaxPacketSize 2 64 最大数据包64字节 64 最大数据包64字节
6 bInterval 1 0x05 / 0x05 /

(2)USB中断服务程序的编写

当USB中断到达时,C8051F320首先通过读取USB功能控制器的三个中断寄存器CMINT、IN1INT和OUT1INT来判断中断来源(USB复位中断、端点0中断、端点1输入中断、端点2输出中断),然后根据不同的中断来源跳入相应的处理模块以进行不同的中断处理,并在处理完毕后返回。

其中,端点0是每个USB设备都必须支持的默认控制传输端点,主要用于主机对USB设备的配置、状态信息的获取和设备错误的纠正等,它的中断处理模块由控制输出和控制输入两部分组成。每次传输首先由设置事务开始,然后根据设置事务数据包中的USB标准命令请求判断该次传输是控制输入还是控制输出。由于作用和地位的特殊性和重要性,端点0中断处理模块是一个最为复杂的中断处理模块。结合C8051F320端点0控制状态寄存器E0CSR的特点和应用的具体需求,图3给出了该中断处理模块的流程图,主要是对控制传输中设置事务的分析和处理。


USB复位中断的主要作用是将相关USB变量、寄存器和各端点的状态恢复为初始状态(需要注意的是:复位后,端点0为空闲状态,端点1的 IN和端点2的OUT为暂停状态)。端点1输入中断和端点2输出中断均为批量传输中断,其主要作用是在收到中断时,在各自预先定义好的缓冲区中写入要传输给主机的数据或取走主机传输过来的数据,实际上,这是C8051F320 读写USB缓冲区的过程。

4 结束语

随着USB技术的日益成熟,越来越多的测控设备趋向于引入USB总线接口技术或者只提供USB外接接口,所以设计一种USB接口到测控网络总线的接口转换模块非常必要。文中给出的这种USB和CAN总线的接口转换模块就是立足于这类需要而进行的一项前期研究工作,该方案具有较强的实用性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top