说了也神奇,我自从玩TT小飞机开始就有个愿望,就是替换掉官方自带的扩展件换个MCU,比如一个ESP8266,STM8上去。为此我也做过很多的探索:
Dji TT扩展件与TT使用USB端串口通讯.上 |
---|
Dji TT扩展件与TT使用USB端串口通讯.下 |
当然不只是这两个,还有很多文章,我后来也释然了,我能力不够,不过吧。dji的一位大佬说,这个地方的接口是用的USB(差分的协议)不是直接串口的通信。
所以对于成本什么的来说,应该是ESP32芯片+一个串口转换到USB的芯片。然后这个芯片是可以当电源的输入端,完成对整个扩展件的供电。
先来补一点关于USB接口的知识补充
一张比较清晰的渲染图
Pin Name Color Description
1 VCC Red +5 V
2 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 connected
5 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-D2WD
CP2102N
WINBOND 250Q64JVS1Q
10011B
扩展件上面的芯片,主要芯片
这个里面有固件应该,我可以把里面的固件提取出来
系列: 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%252FLM10011
TI也给了一个应用:
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芯片
参数