鉴于还有很多的朋友没有看过B站的无线USB转换器TOS-WLink总体架构设计视频;这里文字码一下:
1,最终追求的效果
不论中间经过多少步骤,看起来都是一个过程、一个黑盒子、是可以隐藏的,电脑的操作系统始终使用标准的USB协议来进行通信 ;
软件层面最终的消费者举例:
⭐HID类键鼠,U盘等免驱设备,电脑操作系统是最终消费者;
⭐JLink,STLink,CH340等需要安装驱动使用,最终消费者是配套的应用软件,如KEIL,OpenOCD,串口调试助手等应用软件;
2,系统设计图:
视频中讲了以虚拟设备CMSIS-DAP的数据流向来理解;感兴趣的去看下视频,第6集,文章后面附上了视频链接;
图中3和4类比数组,当前满是5个,客户端、服务器一一对应,数据流向类似的;
举例理解设计图:
假设一个物理USB设备(FT232)插入了TOS-WLink的USB口、会发生什么?
1)、您已经出了新手村,【5】TOS-WLink和【2】无线助手已经无线连接;
2)、FT232接入TOS-WLink的USB口,TOS-WLink完成USB主机对FT232的枚举、设置地址,这个地址实际和电脑等会分配的地址没什么关系;
3)、TOS-WLink创建【4】中的FT232服务端;
4)、TOS-WLink通知无线USB助手:FT232插入的事件;
5)、 无线USB助手创建【3】FT232客户端,连接步骤3中的FT232服务端;
6)、无线USB助手踢一脚操作系统,醒醒,USB插入了,该干活了;
7)、操作系统的USB URB通过【3】FT232客户端和TOS-WLink的FT232服务端通信;
数据包流向:
下行:
电脑submit_urb---->FT232客户端 --无线WIFi->FT232服务端--> TOS-WLink submit_urb(USB主机) --> FT232
上行:反过来,省略....
来回N包, 完成枚举;没有意外的断电,断网;电脑被欺骗了;设备管理器出现了FT232的COM7口(我喜欢7这个数字,必须是COM7);
8,最终消费者登场,串口助手打开,设置波特率等参数,开始收发串口包;
以上的步骤除了第8步,用户使用FT232,前面的7步完全模拟了、直接FT232插入到电脑的USB口,当然实际插入的是TOS-WLink的USB口,因为有无线USB助手、此时的TOS-WLink像是电脑的分身;会自动的完成FT232的接入;
拔出FT232的过程,从以上步骤4改为通知FT232拔出,无线助手销毁FT232客户端,踢一脚电脑操作系统,移除FT232;TOS-WLink销毁FT232服务端;
当然实际拔出FT232, 无线USB助手不在也没事,FT232客户端自己会干活,检测到服务端断开, 踢电脑操作系统一脚后,自己销毁自己;
效果类似用户直接拔出了插在电脑的FT232;
所以最终效果,在TOS-WLink的USB口,插拔的USB设备,电脑自动接入和移除USB设备,不是有“脏东西”;参看B站视频第一集的演示;
实现了章节1中追求的最终效果;
3 无限USB助手角色描述
无线USB助手在完成了章节2中的举例FT232事件后,可以关闭退出,不影响串口助手使用FT232;
也可以再打开,获取到当前USB连接的状态;
视频中演示了,他是个大管家;
除此之外就是配网,密码管理,OTA升级等
密码很重要;你可以关闭本机的无线USB助手,在你的另外一台电脑打开它,接入TOS-WLink的空闲或者新插入的USB设备;新电脑打开的无线USB助手、即使密码正确也不能移除已经连接在电脑1的FT232;
怎么接入FT232到新电脑:
1,FT232拔出,再插入TOS-WLink,解除了锁定;新电脑的无线USB助手可使用它;
2,原电脑打开无线USB助手登录后取消FT232,释放它,新电脑可以使用它;
3,直接断电TOS-WLink,再上电......., 不推荐,太暴力;
4,下面看一下TOS-WLink这货
是不是对章节3理解有点帮助;
重点:它是设计为标准USB设备提供无线化;比如你自己制作的USB设备;
附参考:这个B站作者是博主本人;,可以帮着点点赞的...
参考1:软件架构设计视频:
第6集 无线USB转换器TOS-WLink:软件胡乱设计介绍 参演:TOS-无线USB助手
参考2:最终追求效果视频演示
第1集,自制无线USB转换器TOS-WLink: 接入实例演示-终于可以躺沙发调试电路板