PIC 使能485/422_Part2.1使能485_Tx_Only

1.需求

工作中需要把目前设备的单向232转为485/422模式,实现双向通讯,目前查找相关资料。突然想到一件事,我是否能让232现有的单向上发线同时连工控机的tx,rx,然后靠协议,来定时切换PIC一侧的tx rx?PIC可能不支持这个,对吧? check 一下:pinmux如果能把一个io口既可以配成rx,也可以配成tx就可以。。。我觉得这不可能,放弃。只有485有这种半双工能力。

2.工控机端

我的usb接口是一款422、485兼容设备,看看电平规格吧。它的VCC是+5V,似乎可以。它用的是CH340做协议转换,这个片子似乎可以同时支持3种规格的串口协议。

2.1 usb-485/422接口设备测试

说明书中,提及设备本身测试的时候,似乎是按422的线序的, TX+ <-> RX+ ,Tx- <->Rx-我现在的需求是要能让两根差分线实现双向通讯。据说485的方向识别是个问题。

485的自发自收可以短接Tx+,Rx+吗? =>check。实测电平值在2.85V(差分线之间)。短接似乎不可能,成对的Tx Rx反相,短接后,理想情况,信号会拉至0.我的接口设备VCC无电压,不知道是不是出错,或者商家就没有引出这个管脚。

485标准:发送器A、B之间的逻辑1安排在+2~+6V;负电平在-2~-6V,是另一个逻辑状态;接收端认为+200mV以上都算1,-200 mV以下都算0

485在接收端,会变成反逻辑,我不知道这个反转是怎么回事。485,422一个全双工,一个半双工,只有这一点区别。电平较RS232降低,说是为了避免接口烧毁。

PIC 使能485/422_Part2.1使能485_Tx_Only_第1张图片

由上图可知:485标准的发送电压下限是Vpp = 3.0V,我的这款设备几乎是卡着这个下限做的,也兼容了TTL电平。

2.2 CH340支持485半工收发吗?

暂不考虑,往前推进。

3. PIC端

PIC的串行通信模块,叫EUSART,也叫SCI

  1. E ...........enhanced 增强
  2. U...........universal 多功能
  3. S|A ....... syn, asyn 同步和异步
  4. R|T ........recv, transmit,首发

Tx,Rx Pin对应的IO口的TRIS位是用来控制Tx,Rx的自动换向的。它需要强制设置为1。标志着由eusart模块来接管它的方向控制:

PIC 使能485/422_Part2.1使能485_Tx_Only_第2张图片

 TRIS是控制端口的三态的.所以,这才是半双工的意思,你要自己切?不对:

PIC 使能485/422_Part2.1使能485_Tx_Only_第3张图片

所以,这件事看起来毫无难度,只要把Tx,Rx的TRIS位使能,然后让设备的Tx Rx分别接至工控机的Tx+Rx+,Tx-Rx-,就OK了?

4.着手编码

先尝试切至485  tx模式,这样可以提高信号输出抗干扰能力。

再检查一下:

4.1  uart_ttl tx only => 485tx

这是Tx+Tx-,设备一侧的发送。再次检测电平匹配:

上位机侧+5V(一端Tx+,一端Tx-)

单片机IO口:

PIC 使能485/422_Part2.1使能485_Tx_Only_第4张图片

输出在4.3~0.6之间,可以。 

 器件一侧我配成了同步master tx only。看看能不能通:

PIC 使能485/422_Part2.1使能485_Tx_Only_第5张图片

4.2 乱码排错

我把设备发送,和工控机测发送的波形采集了一下:

工控机侧Tx:

PIC 使能485/422_Part2.1使能485_Tx_Only_第6张图片

设备侧Tx:

PIC 使能485/422_Part2.1使能485_Tx_Only_第7张图片

两者同时设置为115200波特率时,上位机一侧的实际频率是116736;PIC一侧是113581,但是PIC看起来完全是时钟数据:检查后发现,配置为485模式,不能将eusart设置为同步模式,同步模式会输出时钟和数据两根线,485不是这种协议。

PIC 使能485/422_Part2.1使能485_Tx_Only_第8张图片

 注意对于485模式,MCC,PINMUX配置出的管脚是Tx1 |Rx1。

修改MCC配置:

PIC 使能485/422_Part2.1使能485_Tx_Only_第9张图片

 最终效果:

PIC 使能485/422_Part2.1使能485_Tx_Only_第10张图片

附录1 注意事项

  • 注意485的端接电阻问题,端接电阻不可省。
  • 注意pic 485模式Tx, Rx均应配置为Output,232模式Tx输出,Rx输入,Digital.

交叉索引:

PIC 使能485/422_Part2.2_激活485半双工icon-default.png?t=N4P3https://blog.csdn.net/twicave/article/details/131004987

你可能感兴趣的:(调试,嵌入式系统设计,单片机,笔记,嵌入式硬件,单片机)