本帖最后由 香水城 于 2017-8-16 11:12 编辑
关于STM32 USB作为从机设备时管脚连接以及通讯的简易验证方法
前言
USB作为从机设备时,管脚连接以及通讯的验证方法其实就是下载一段简单USB程序,在不需要任何驱动的前提下实现简单的USB通讯。通过这个简单程序的运行情况来判断USB管脚和通讯是否正常。
问题分析
USB作为从机设备时,其硬件验证相对简单。当硬件工程师怀疑自己的硬件有问题时,就自己写一个简单的测试程序。但这对一般的硬件工程师来说还是有一定难度的。通过STM32CubeMX这个工具,这个过程就变的非常简单了。方法如下: 1/在STM32CubeMX中选择您需要使用的开发板,我们以STM32F401C-Discovery 板子为例(在选择板子的时候,是不需要需改时钟配置+管脚配置的,所以流程更加简单) 注意:如果你选择的不是开发板,而是自己做的板子请参考如下简易配置流程: 1. 选STM32Fxxx 2. 在PinOut项中配置RCC的HSE外部时钟开启(这个是必须的,除了STM32F0x2系列MCU) 3. 开启USB_OTG_HS/USB_OTG_FS/USB中的Internal FS PHY为 Device Only 4. 设置Middleware 中的USB_Device 为 Human Interface device 5. 配置时钟的输入为‘x’M(默认是25M,这里的‘x’是需要与实际连接晶体频率相等),设置系统时钟为72M(建议使用时钟自动分配功能,具体数据需要根据实际所选芯片的时钟范围来设置)
6. 直接生成代码运行即可 2/在Pinout中选择USB OTG FS选项中的Device Only选项。 之后在Middleware中选择USB Device选项中的Human Interface device class 3/直接生成工程,并编译下载到STM32F401C-Discovery板子上就可以验证了。如果可以看到HID的设备,那么就是USB部分的硬件联系没有什么问题了.
总结:
该工程只是完成了一个USB HID类的枚举工作,不需要工程师添加任何代码,其作用就是为了验证USB作为从机设备时的硬件管脚连接以及通讯是否有问题。且一般windows都是支持HID这个基本类,故此方法有广泛的实用意义。
|