搜索
bottom↓
回复: 20

CP2102做的USB 转 RS232 解决方案

[复制链接]

出0入0汤圆

发表于 2009-8-15 16:22:18 | 显示全部楼层 |阅读模式
前段时间公司的产品升级,将RS232串口转成USB,在OURAVR看了很多高手提供的资料,特别是sunny1500 晨辉大哥的一个开源的U盘型的USB转串口的帖子,按照他的方法做了板,使用串口调试工具调试也没问题,
但是在使用的过程出现了问题,运用VB编写的上位机程序和单片机通信过程中不能正常进行,在OURAVR百求无解,后来反复试验终于解决了问题,原因是真实串口完全是全双工的,但使用CP2102做的 USB TO URAT始终只是个虚拟串口,收发数据不能及时,需要延时或提高波特率。

废话少说,附上一点点资料,供OURAVR朋友参考。

电路中cp2102部分 的原理图:

(原文件名:sch.JPG)

PCB图:

(原文件名:pcb.JPG)

再来张实物电路板图:

(原文件名:实物.jpg)

使用的CP2102驱动程序:
点击此处下载 ourdev_471120.rar(文件大小:3.98M) (原文件名:CP210x_USB_Driver.rar)

还有VB编的,能自动查找虚拟出的串口号的程序:
Private Sub Form_Load()
Dim a As Integer
Dim fines As Integer
Me.AutoRedraw = True
    On Error GoTo uerror
    For a = 1 To 16
        MSComm1.CommPort = a
        MSComm1.PortOpen = True
        If MSComm1.PortOpen = True Then
            MSComm1.PortOpen = False
            fines = a
        Else
        End If
    Next   
    GoTo choose
uerror:
    Resume Next
choose:
If fines = 1 Then
MSComm1.CommPort = 1
ElseIf fines = 2 Then
MSComm1.CommPort = 2
ElseIf fines = 3 Then
MSComm1.CommPort = 3
ElseIf fines = 4 Then
MSComm1.CommPort = 4
ElseIf fines = 5 Then
MSComm1.CommPort = 5
ElseIf fines = 6 Then
MSComm1.CommPort = 6
ElseIf fines = 7 Then
MSComm1.CommPort = 7
ElseIf fines = 8 Then
MSComm1.CommPort = 8
ElseIf fines = 9 Then
MSComm1.CommPort = 9
ElseIf fines = 10 Then
MSComm1.CommPort = 10
ElseIf fines = 11 Then
MSComm1.CommPort = 11
ElseIf fines = 12 Then
MSComm1.CommPort = 12
ElseIf fines = 13 Then
MSComm1.CommPort = 13
ElseIf fines = 14 Then
MSComm1.CommPort = 14
ElseIf fines = 15 Then
MSComm1.CommPort = 15
ElseIf fines = 16 Then
MSComm1.CommPort = 16
End If

这里总共能查找16个COM口号,一般不会到这么大,最多COM6就差不多了。
波特率 57600

顺便提一句,我使用的是STC的单片机,使用CP2102可以当成串口使用STC下载器直接下载单片机程序,注意选对COM口。
产品已经投放市场一个多月了,暂时还没发现任何问题。

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。

出0入0汤圆

发表于 2009-8-15 16:41:08 | 显示全部楼层
我用CP2102做的小板子,
如果CP2102使用USB供电,比MCU先上电,(MCU单独供电)就会出现,CP2102只可以发数据,不能收数据~必须是MCU先上电,才可以正常。
不清楚,是不是这个上电的原因,现在准备全部改为和 MCU一样的3.3V外部供电

出0入0汤圆

 楼主| 发表于 2009-8-15 16:59:42 | 显示全部楼层
这个跟供电先后没关系的,只要一接上USB口,USB就会为CP2102供电,所以你要改成由外部电源为CP2102供电是不可能的。只要你板子没问题,先插USB接或者先通外部电源是没有任何关系的,除非你是使用USB口下载STC单片机程序,这时你才需要先接USB再上电MCU,因为STC下载软件需要握手协议。我的这些板子都是既能完全由USB取电又能由外部电源供电,或者两者皆供电,都是可以的。

出0入0汤圆

 楼主| 发表于 2009-8-15 17:20:10 | 显示全部楼层
3楼 谢谢~

出0入0汤圆

发表于 2009-8-15 19:13:23 | 显示全部楼层
LZ说,收发数据不能及时,需要延时或提高波特率。
个人认为是上位机软件问题,我试过256000波特率(我的串口调试助手最大就这个)没有问题的,用CP2102做的USB转串口下载STC是很快的,基本上是1~2秒就可以了

出0入0汤圆

 楼主| 发表于 2009-8-17 09:07:14 | 显示全部楼层
就是因为上位机的问题,才需要在上位机增加延迟或提高波特率。而且似乎USB转串口的波特率越高,误码率越低

出0入0汤圆

发表于 2009-8-17 11:56:38 | 显示全部楼层
谢谢,说不定能用到

出0入0汤圆

发表于 2009-8-17 12:05:36 | 显示全部楼层
做个记号,最近我也要用CP2102做点东西玩:)

出0入0汤圆

 楼主| 发表于 2009-8-17 12:33:56 | 显示全部楼层
小弟对CP2102可以说已经比较熟悉了,要是有什么疑问的话欢迎一起探讨

出0入0汤圆

发表于 2009-8-17 13:09:24 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-10-27 21:13:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-17 14:17:51 | 显示全部楼层
最近也在做这个,学习了!!!!

出0入0汤圆

发表于 2009-11-17 14:55:05 | 显示全部楼层
呵呵,我做了CP2102的小转接板,没有FT232好用,有时候连接不可靠

出0入0汤圆

发表于 2009-11-17 14:56:55 | 显示全部楼层
【9楼】 jiming5233 霜之哀伤
积分:26
派别:
等级:------
来自:
小弟对CP2102可以说已经比较熟悉了,要是有什么疑问的话欢迎一起探讨  


那直接上全部图和源码啊  嘻嘻

出0入0汤圆

发表于 2009-12-13 20:00:41 | 显示全部楼层
关注

出0入0汤圆

发表于 2009-12-25 16:28:42 | 显示全部楼层
CP2102用法比较"简单",已量产的项目好像还没有遇到什么问题,当然前提是该项目只是用于程序下载器.

出0入0汤圆

发表于 2010-1-4 18:18:03 | 显示全部楼层
有用.买回来了再做

出0入0汤圆

发表于 2011-6-1 13:17:22 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-9-26 17:44:33 | 显示全部楼层
学习了

出0入0汤圆

发表于 2013-5-26 20:27:30 | 显示全部楼层
jiming5233 发表于 2009-8-17 12:33
小弟对CP2102可以说已经比较熟悉了,要是有什么疑问的话欢迎一起探讨

你好, 小弟最近在做一块基于CP2102的USB转串口小板  想请教一个问题,我在Cp2102的txd 和rxd 两个引脚放了两个灯  连接如图所示  但是我查了好多资料 没查到 这两个引脚在默认情况下(也就是不收发数据时候)是高电平还是低电平  还有一个是 开始首发数据的时候这两个引脚的输出电流是多大 电压呢  能不能驱动这两个LED 灯亮起来? 非常感谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-27 07:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表