RT-Thread USB学习笔记 - 硬件篇

RT-Thread USB学习笔记 - 硬件篇

RT-Thread USB学习笔记 - RTT最小系统移植

RT-Thread 应用笔记 基础通信系列

背景

  • 一直以来,都对USB的通信,比较感兴趣。
  • J-Link、ST-Link、USB-CAN、USB逻辑分析仪等等,都属于USB通信的设备
  • USB协议没怎么看过,目前打算从USB-HID、USB-Device开启。
  • 嵌入式软件开发,不是空中楼阁,离不开硬件的支撑。

 

前言

  • 昨天晚上调试USB HID,一块板不通,一块板USB无法正常识别
  • 不能正常识别的板子,移除USB上的电容,正常识别。
  • 不能识别的板子,经过万用表测量,发现USB端子有问题,用热风枪加烙铁,更换了一个USB 端子,正常。
  • 因此,USB调试硬件环境初步搭建完成
  • 烧写官方的HAL USB-HID例程。
  • 注意官方代码,默认禁用了SWD,造成下次不按复位键无法继续烧写,需要注释掉,如用STM32CubeMX 生成HAL基础代码时注意配置下SWD引脚。(开始以为板子问题,排查了很久)

2020-12-12_104457.png

 

目标

  • 使用STM32F103RB 板子,打通RT-Thread USB开发环境
  • 学习USB并应用,做个简单的USB协议转换工具,如USB-CAN。
  • 使用VS2019、QT,开发USB上位机

 

硬件准备

  • 搭建USB开发最小硬件开发环境
  • STM32芯片如今价格上涨,还好,有国产的可以替代。
  • PCB打样,相对比较便宜
  • 网上STM32的开发板很多,资料比较齐全
  • 这里选型入门级的STM32F103RBT6平台,资源相对较丰富。
  • 由于之前做过硬件开发,所以亲手制作。
  • 原理图与PCB设计工具:Altium Designer Summer 09

 

基本功能

  • STM32F103RBT6最小系统板
  • USB供电,USB学习使用
  • USB转串口CP2102,用于RT-Thread MSH串口输出
  • 按键:复位、用户按键
  • 外设:简单点,GPIO全部引出,方便外接ESP32、 ESP8266、传感器等模块。

 

硬件准备

  • 之前自己画的板子,复制、简化、修改,保证最快发出去。
  • 硬件组成分为电源部分、MCU、LED灯(之前网购过多的器件,消减它)。
  • 大体原理图如下:

2020-12-12_101638.png

2020-12-12_101751.png

2020-12-12_101819.png

2020-12-12_101832.png

2020-12-12_102237.png

 

开发路线图

  • 板子很早焊接完成,已经初步完成呼吸灯(PWM)、USB-HID 逻辑
  • USB上位机,使用之前VC6的,目前移植到VS2019。
  • 需要研究RT-Thread USB的移植与使用
  • USB Device深入的研究,实现如USB转CAN等功能

 

资料地址

软硬件资料正在整理中,后期不断更新

https://gitee.com/zhangsz0516/rtt_stm32_usb

2020-12-12_103739.png

2020-12-12_103926.png

 

初步总结

  • 技术源于实践,加强动手能力。
  • 用于探求新技术、新思路,如回顾之前写过的代码,很想重构。。。
  • 准备好硬件,开始软件的开发。

猜你喜欢

转载自blog.csdn.net/tcjy1000/article/details/111057995