CP2102 USB 转串口芯片数据分析-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3854|回复: 1

CP2102 USB 转串口芯片数据分析

[复制链接]
发表于 2019-8-28 20:46 | 显示全部楼层 |阅读模式
CP210xSilicon Labs 公司出品的一系列USB转串口芯片。目前这一系列有:CP2101,CP2102, CP2103, CP2104, CP2105, CP2108。其中不同版本差别在下图可以看到【参考1】:
       image001.png                        
最近我拿到一个 CP2102 USB转串口卡,发现Windows10可以通过WindowsUpdate直接安装驱动无需额外下载。另外,它的官方网站提供了大量的资料和参考给人感觉很好。我的目标是使用 Arduino 来直接驱动,因此还需要进行一些额外的研究。非常遗憾,之前介绍的USBlyser抓包结果让人看起来一头雾水,最后只能使用USB逻辑分析仪抓包。一端通过Arduino 按照96008None,1None 模式发送。另外一端使用串口工具读取。数据是单独的A  2秒后发送“string from www.lab-z.com字符串。对照网站提供的AN571可以解读全部数据。
1.      打开/关闭串口
image002.png
image003.png




2.查询CTS/RTS等等线的状态
image004.png
image005.png


设备返回状态信息
image006.png

3.查询 Serial Status
image007.png

返回一个19Bytes的结构体
image008.png

image009.png
image010.png



4.设置通讯参数
image011.png

image012.png



0x0800 : 1 Stop bit, None Parity, Data bits=8
5.设置流控制
image013.png
image014.png




发送一个 20Bytes 的数值,上面发送多次的原因是前两次被NAK 了,第三次才成功。
6.设置特殊控制字符(实际上我们不需要)
image015.png
image016.png

image017.png



7.设置波特率
image018.png

这个 0x01C200 115200 的波特率。紧接着又设置了一次,这次是9600

image019.png
8.设置 Modem 握手方式(我们没有用),这里用了 0x0200,设置了RTS
image020.png

随后又设置用 DTS
image021.png
image022.png



参考:


发表于 2020-3-19 10:54 | 显示全部楼层
好好学习,天天向上
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 11:30 , Processed in 0.089520 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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