新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于CC2531的USB接口设计

基于CC2531的USB接口设计

作者:时间:2012-01-04来源:网络收藏

按照CDC类抽象控制模型对端点的需求,采用端点0作为控制端点,完成设备的枚举和串口参数的设置。将端点2和端点4分配给数据子类,作为IN和OUT端点,虚拟串口的数据传输主要在这两个端点进行。具体的配置如下:

currentLineCoding.dteRate=HAL_UART_BAUDRATE_115200;//波特率设置

currentLineCoding.charFormat=CDC_CHAR_FORMAT_1_STOP_BIT;//1个停止位

currentLineCoding.parityType=CDC_PARITY_TYPE_NONE;//无奇偶校验

currentLineCoding.dataBits=8;//8位数据

INDEX=0x02;//选择端点2

CSIH=0x01; //方向:IN块传输,双缓冲模式

MAXI=0x20;//最大包数目 256字节(8字节为单位)

USBINDEX=0x04;//选择端点4

USBCSOH=0x40;//方向:OUT等时传输,单缓冲模式

USBMAXO=0x20;//最大包数目 256字节(8字节为单位)

下面以IN端点2为例,说明数据如何通过USB传递到电脑上。当电脑发出IN请求时,如果USB端点2的FIFO非空,就向电脑发送FIFO里的内容;如果FIFO为空,则向电脑发送一个空包作为回应。通过寄存器位USBCSIL.INPKT_RDY来控制电脑和8051 MCU内核对USB的FIFO的使用权。当INPKT_RDY=1时,电脑正在对USB端口进行访问,8051 MCU内核无法向FIFO内写入数据;当INPKT_RDY=0时,8051 MCU内核可以将发送数据写入FIFO内,置位INPKT_RDY=1,完成数据的上传。其流程如图4所示。

图4 端点2数据流程

图4 端点2数据流程

4 温度采集的实现

采用作为温度数据的汇聚节点,采用IEEE 802.15.4协议组成一个由10个采集终端组成的星状网络,对终端节点的温度进行采集。终端节点硬件由CC2530实现,温度传感器采用DS18B20.上位机由Visual C++编写,实现数据的实时显示,并实现数据的存储和历史温度查询。的USB设备描述符里声明PID=0x1000,VID=0x0451,UBS驱动采用Windows XP系统提供的usbser.sys.温度采集结果如图5所示。

图5 温度采集结果

图5 温度采集结果

结语

实验结果表明,数据传输率满足采用IEEE 802.15.4协议的低速无线传感器网络的要求,同时又避免了PC端驱动程序的开发,具有一定的实际意义。


上一页 1 2 下一页

关键词: 设计 接口 USB CC2531 基于

评论


相关推荐

技术专区

关闭