全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

STM32F1 USB外设在USB系统的位置

时间:2023-07-17 15:43

人气:

作者:admin

标签:   系统  USB  设在  STM32F1   

导读:STM32F1 USB外设实现了USB2.0全速总线和APB1总线间的接口。...

1

STM32F1 USB外设在USB系统的位置

STM32F1 USB外设实现了USB2.0全速总线和APB1总线间的接口。看不懂的话看下图。

图片

2

STM32F1 USB外设功能描述

USB外设为PC主机和微控制器所实现的功能之间提供了符合USB规范的通信连接。PC主机和微控制器之间的数据传输是通过共享一专用的数据缓冲区来完成的,该数据缓冲区能被USB外设直接访问。这块专用数据缓冲区的有效大小由所使用的端点数目和每个端点最大的数据包大小所决定(总共有16端点,PMA大小为512字节,可以用多少拿多少,也可以全用),所有端点共享用512字节缓冲区,最多可用于16个单向或8个双向端点。USB模块同PC主机通信,根据USB规范实现令牌包的检测,数据发送/接收的处理,和握手包的处理。整个传输的格式由硬件完成,其中包括CRC的生成和校验。

也就是说16个端点共享一个512字节的缓冲区,我们可以理解为USB HOST就是通过对这些缓冲区的读写来实现和设备的数据交互,其实原理大概就是如此。 如果主机发送数据给设备 ,设备会把USB外设接收的数据放入缓冲区,完毕之后通知CPU读取数据了, 如果主机读取USB设备的数据 ,CPU会把数据放到缓冲区,然后告诉USB外设可以发送数据了,USB外设会把缓冲区的数据通过总线发送给主机。

2

STM32F1 USB外设主要特征

1.符合USB2.0全速设备的技术规范。

2.可配置1到8个USB双向端点,我们可以理解为8个IN端点和8个OUT端点,也就是每一个双向端点可以被配置为一个IN端点和一个OUT端点,但是这两个端点共用一个端点寄存器,两个端点的类型必须是一致的(控制端点、中断端点、批量端点、同步端点)。

3.外设硬件自动为每一个PID和Packet字段生成CRC效验,并和其他字段组成一个完整的USB Packet。

4.支持控制传输、中断传输、同步传输、批量传输。

5.支持同步传输和批量传输双缓冲机制,比如说我们采集ADC或者接收外部传感器的数据时必须保持数据的完整性,就可以使用双缓冲机制防止丢数。

6.支持对自己的挂起和恢复操作。

7.帧锁定时钟脉冲生成。当收到一个SOF帧开始包,可以生成一个脉冲信号给其他模块使用,如果SOF中断使能,会进入SOF中断处理函数。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信