1.需求
工作中需要把目前设备的单向232转为485/422模式,实现双向通讯,目前查找相关资料。突然想到一件事,我是否能让232现有的单向上发线同时连工控机的tx,rx,然后靠协议,来定时切换PIC一侧的tx rx?PIC可能不支持这个,对吧? check 一下:pinmux如果能把一个io口既可以配成rx,也可以配成tx就可以。。。我觉得这不可能,放弃。
2.工控机端
我的usb接口是一款422、485兼容设备,看看电平规格吧。它的VCC是+5V,似乎可以。它用的是CH340做协议转换,这个片子似乎可以同时支持3种规格的串口协议。
说明,测试的时候,似乎是按422的线序的, TX+ <-> RX,我现在的需求是要能让两根差分线实现双向通讯。据说485的方向识别是个问题。
485的自发自收可以短接Tx+,Rx+吗? =>check。电平值在2.85V.
短接似乎不可能,成对的Tx Rx反相,短接后,理想情况,信号会拉至0.
我的接口设备VCC无电压,不知道是不是出错,或者商家就没有引出这个管脚。
485标准:发送发送器A、B之间的征地安排在+2~+6V,是一个逻辑状态,负电平在-2~-6V,是另一个逻辑状态;接收端认为+200mV以上都算1,-200 mV以下都算0.485在接收端,会变成反逻辑,我不知道这个反转是怎么回事。485,422一个全双工,一个半双工,只有这一点区别。电平较232降低,说是为了避免接口烧毁。
485标准的发送电压下限是Vpp = 3.0V
2.1CH340支持485半工收发吗?
暂不考虑,往前推进。
3. PIC端
PIC的串行通信模块,叫EUSAR,也叫SCI.Tx,Rx Pin的TRIS位是用来控制Tx,Rx的自动换向的。
所以,这件事看起来毫无难度,只要把Tx,Rx的TRIS位使能,然后让设备的Tx Rx分别接至工控机的Tx+Rx+,Tx-Rx-,就OK了?
再检查一下:
TRIS是控制端口的三态的.所以,这才是半双工的意思,你要自己切?不对:
先尝试切至485 tx模式,这样可以提高信号输出抗干扰能力。
3.1 uart_ttl tx only => 485tx
这是Tx+Tx-,设备一侧的发送。再次检测电平匹配:
上位机侧+5V(一端Tx+,一端Tx-)
单片机IO口:
输出在4.3~0.6之间,可以。
器件一侧我配成了同步master tx only。看看能不能通:
开机会打印嵌入式程序版本号:降低波特率试试=》