CP210x芯片(串口转USB接口)随记
说了也神奇,我自从玩TT小飞机开始就有个愿望,就是替换掉官方自带的扩展件换个MCU,比如一个ESP8266,STM8上去。为此我也做过很多的探索:Dji TT扩展件与TT使用USB端串口通讯.上Dji TT扩展件与TT使用USB端串口通讯.下当然不只是这两个,还有很多文章,我后来也释然了,我能力不够,不过吧。dji的一位大佬说,这个地方的接口是用的USB(差分的协议)不是直接串口的通信。所以对于成本什么的来说,应该是ESP32芯片+一个串口转换到USB的芯片。然后这个芯片是可以当电源的输入端,完成对整个扩展件的供电。先来补一点关于USB接口的知识补充
一张比较清晰的渲染图Pin Name Color Description1 VCC Red +5 V2 D− White Data −3 D+ Green Data +4 ID none permits distinction of Micro-A- and Micro-B-Plug. Type A: connected to Ground, Type B: not connected5 GND Black Signal Ground
插一个OTG的制作
我们这里看一个实物图的样子,从后面看左边是GND
关于颜色的对应也可以看
对不起,我又抠开了
我们就看这里,GND
6个引脚
输入到这里扩展器的电压为4.89V(我就pdd 17快的万用表)https://www.silabs.com/interface/usb-bridges/usbxpress/device.cp2102n-gqfn24
那就是这块芯片了。24脚封装的(4x6=24)
芯片特性,可以看到有UART转换
小号https://pdf.youdao.com/docview.html?key=239E8B57EDB74FE399A7C2F6CE948838&from=en&to=zh-CHS&src=fanyiweb&isUseTerm=1&mode=PICMODE
大概看看
后面是软件的字符
一份引脚的对应电压表
支持的串口参数
支持串口硬流控
注意看这个,我只是发现3,4脚接了与电脑写程序的USB接口下面的数据口我没有找到线索断了。。。这个串口不是接在芯片的外部接口的我只有慢慢想办法了ESP32-D2WDCP2102NWINBOND 250Q64JVS1Q10011B扩展件上面的芯片,主要芯片
这个里面有固件应该,我可以把里面的固件提取出来系列: W25Q64JV存储容量: 64 Mbit最大时钟频率: 133 MHz接口类型: SPI
下面这个芯片不好找,找了半天https://www.ti.com.cn/product/cn/LM10011
文档首页https://www.ti.com.cn/cn/lit/ds/symlink/lm10011.pdf?ts=1630242216735&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fproduct%252Fcn%252FLM10011
说的非常明白了
典型电路https://www.ti.com.cn/cn/lit/an/zhcaak3a/zhcaak3a.pdf?ts=1630242492700&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fproduct%252Fcn%252FLM10011TI也给了一个应用:
TI也给了GUI的可视化方案
TI家的数据手册写比教科书都好,我爱了https://www.silabs.com/support/resources这边其实是关于电脑端的开发:
这个函数是打开COM3端口写的参数也很清楚https://www.silabs.com/documents/public/application-notes/an197-serial-communications-guide-cp210x-cn.pdf串行指南的中文版
指南的后面是一些资料https://docs.microsoft.com/zh-cn/windows/win32/api/winbase/ns-winbase-dcb?redirectedfrom=MSDN定义串行设备的控制设备
函数https://docs.microsoft.com/zh-cn/windows-hardware/drivers/usbcon/developing-windows-applications-that-communicate-with-a-usb-device微软的知识库太上头了。。。。
看左边
https://opdhsblobprod04-secondary.blob.core.windows.net/contents/e8076ea2fc0149e5a2cb281b153d2b9c/c161a49d9cce14784b998d69174443a5?skoid=2d004ef0-5468-4cd8-a5b7-14c04c6415bc&sktid=975f013f-7f24-47e8-a7d3-abc4752bf346&skt=2021-08-27T23%3A15%3A04Z&ske=2021-09-03T23%3A20%3A04Z&sks=b&skv=2020-08-04&sv=2020-08-04&se=2021-08-28T23%3A58%3A56Z&sr=b&sp=r&sig=im22GOHuTStSDHMkeOyt0SSn1ELilsgkFynQxQP%2B6Us%3D还可以下载PDF的版本,对于了解USB是极好的
对这个芯片进行编程的话,就是可以使用这些软件https://www.silabs.com/interface终于找到这个地方了,接口IC这些混合信号 IC 产品跨越不同的技术和标准,以实现两个设备或功能之间的快速有效通信。
这样看
使用页面
可以下载驱动
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers这里是下载我们可以使用的https://www.silabs.com/interface/usb-bridges/classic/device.cp2102
大型特性文章很水,记录而已,我只是想换个主控。https://terra-1-g.djicdn.com/851d20f7b9f64838a34cd02351370894/RM-TT/RoboMaster%20TT%20Arduino%20IDE%20%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.pdf
其实就很苦恼,明明是串口通信https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type1gc
扩展件上面的wifi芯片
参数