首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于STM32的USB OTG数据通信的实现
来源:本站整理  作者:佚名  2011-09-15 05:25:10



程序中实现U盘的BOT传输,除了规定控制传输端点0之外,还定义了输入、输出端点,BOT状态机的5个状态,两个状态寄存器CBW、CSW。端点输出中断程序完成写U盘,端点输入完成读U盘操作。其流程图分别如图4、图5所示。

  

  

  3.2 与PC机之间通信

  与PC机进行通信,系统作为USB从设备时, 要应答PC主机的标准请求、处理USB总线事务和用户功能[6]。首先调用void USB_OTG_USBD_Init ()将USB OTG工作模式配置成从机模式,接着调用底层驱动API函数USB_OTG_USBD_EP_Open ()来激活端点进行数据传输,USB OTG定义了三个端点, 程序中定义端点0在控制传输中应答设备枚举,端点1的功能为向PC机发送数据, 端点2的功能为接受PC机发送的数据。PC主机枚举系统设备时, 必须先获得USB OTG端点的配置参数。最后通过调用如下的PCD层API函数完成SETUP包、IN包、OUT包的传输。

  uint32_t USB_OTG_USBD_EP_Read();

  uint32_t USB_OTG_USBD_EP_Write();

  uint32_t USB_OTG_USBD_EP_Stall();

  uint32_t USB_OTG_USBD_EP_ClrStall();

  uint32_t USB_OTG_USBD_EP_Flush();

  本文采用意法半导体公司互联型控制芯片STMF107集成的USB OTG接口, 在基于金牛开发板上实现了从设备和主机的数据传输,作为从设备, PC机端的应用程序可以通过USB OTG 开发板的SDRAM进行数据的读写,可稳定在500 kb/s;作为主机, 可以枚举连接到USB OTG 接口上的U盘实现了对U盘的读写,最高读写速率可达800 kb/s。

  本文利用了STM32F107芯片高度集成的USB OTG接口,其开发系统性能好、可靠性高、开发方便,开发者只需在软件上编程实现数据传输。同时STM32芯片提供了相关固件库,在此基础上进行开发提高了效率。

上一页  [1] [2] [3] 

关键词:

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

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