|
由基于 STM32F103C8T6 的开源智能充电器引发一个小开源项目:
基于 STM32F103C6T6 的 USB 转 RS232 模块.
我想大家已经很熟悉 OurAVR 以前介绍的 FT232BM , CH431 等等专用的 USB 转 RS232 芯片了. 这些可以通过网站以前的资料中获得.
在这个贴子我将向大家介绍一下自己做的 USB 转 RS232 模块.
大家已经很熟悉 STM32F103 系列的芯片片内都带一个 USB SLAVE 的硬件模块, 直接可以用他来实现 USB 功能.
我们就是利用了这个功能来实现 USB 转 RS232 的功能.
下面所有资源都是我和虫子两个人利用业余时间完成的所有资源, 包括软硬件, 现在全部开源.
-------------------------------------------------------
硬件
Protel99格式 PCB: 点击此处下载 ourdev_506342.rar(文件大小:16K) (原文件名:USBTO232.rar)
(原文件名:10.jpg)
-------------------------------------------------------
软件:
其实把软件说白了就是串口中断得到的数据通过 USB 中断发出去, 满足 PC 的 CDC 模式. USB 接收中断获得的 CDC 模式的数据通过 STM32 的串口再发送出去, STM32 只起到一个搬运工的作用.
基于 MDK3.50 和 IAR5.20 以上版本的工程下载:
点击此处下载 ourdev_506356.rar(文件大小:2.49M) (原文件名:Virtual_COM_Port.rar)
(原文件名:11.jpg)
Windows 下的驱动文件下载:
点击此处下载 ourdev_506590.rar(文件大小:13K) (原文件名:麦思网 USB-232 Driver.rar)
Hex 下载:
点击此处下载 ourdev_506347.rar(文件大小:8K) (原文件名:烧写 Hex.rar)
ISP 下载软件:
点击此处下载 ourdev_506357.rar(文件大小:577K) (原文件名:mcuisp.rar)
备注: 由 ISP 下载程序的时候需要短接 模块上的 CON1 跳线, 设置 Boot0, 让上电程序从片内 Booload 启动. 下载完程序将 CON1 断开.
-------------------------------------------------------
性能测试过程:
准备过程: 由于我电脑没有串口所以也用了一个 USB 转 RS232 模块来测试我们自己制作的模块的功能, 如下图所示:
Com7 为成品 USB 转 RS232 模块. 他使用的是性能比较好的 FT232BM 芯片.
Com4 为我们自己制作的 USB 转 RS232 模块. 使用的是 STM32F103C6T6 芯片, 烧入的上面贴出来的代码.
(原文件名:6.jpg)
两个模块通过一个两边都是母头的串口交叉线相连:
(原文件名:1.jpg)
第一个试验:
由我们的 USB 转 RS232 模块发送数据到 串口端, 即 USB 端 发送到 串口端.
(原文件名:9.JPG)
过程: 发送一个文件 第05章+STM32系列微控制器开发工具与应用.pdf. 115200 波特率
结果为: 发送 524288 个字节, 接收也为 524288 个字节.
结论: 没有丢包
第一个试验:
由我们的 USB 转 RS232 模块接收数据到 USB 端, 即 串口端 发送到 USB 端.
(原文件名:8.jpg)
过程: 发送一个文件 第05章+STM32系列微控制器开发工具与应用.pdf. 115200 波特率
结果为: 发送 524288 个字节, 接收也为 524288 个字节.
结论: 没有丢包
第三个试验:
两边同时互相 10 mS 定时 发送数据: 发送 ASCII 字符串 "1234567890"
(原文件名:7.jpg)
过程: 两边同时互相 10 mS 定时 发送数据: 发送 ASCII 字符串 "1234567890". 115200 波特率
结果为: 串口4 :发送 3033 个字节, 接收为 4581. 串口7 :发送 4581 个字节, 接收为 3033.
结论: 没有丢包
通过上面三个试验我可以说我们的 USB 转 RS232 模块基本达标, 应该为一个合格的小产品.
下面再贴出一些我们自己制作的 USB 转 RS232 的照片:
(原文件名:2.jpg)
(原文件名:3.jpg)
(原文件名:4.jpg)
(原文件名:5.jpg)
(原文件名:4.jpg)
(原文件名:5.jpg)
(原文件名:6.jpg)
(原文件名:7.jpg)
(原文件名:9.jpg)
(原文件名:10.jpg) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
该献的血还是要献的。你不献他不献。难道让我去献? --- 出自坛友:lovejp1981
|