通讯问题(串口屏和电脑连接异常)

硬件篇


Q:串口工具打开后,刷新不到串口号。

A:大部分的台式机会有一个串口1,这个就是电脑的DB9出口,一般用DB9转接延长线,是可以和DB9的进行RS232通讯,现在大部分的笔记本电脑没有串口1,通常用串口转接线、转接板,通过USB转出TTL,RS232,RS485,打开设备管理器,需要更新串口驱动。通讯后,串口号不能选错,一般的串口通信工具,HEX发送需要勾选,这个是通讯的前提。


Q:屏发出来的数据在串口工具表现出来是乱码,接收不到数据。

A:波特率是否匹配,串口电平是否错误,转接板芯片是否匹配。


Q:接线错误。

A:在RS232或者TTL通讯是需要3根线才能看到有接收、发送交互的通讯的,地线G、收R或者发T,其中信号地是一定要接的,通常串口屏发出来通常用DOUT、或者TXD、TX、T、232T等英文缩写表示,串口屏的接收用的DIN、RXD、RX、232R等英文缩写表示,信号地是GND、G来表示。通常要交叉接线,也就是串口屏的R接电脑的T,串口屏的T接电脑的R。

在RS485接线中,也就是需要至少2根线,简单的说就是A接A,B接B,RS-485半双工模式接线时将T/R+接对方的A+、T/R-接对方的B-。

  B通常要交叉接线,也就是串口屏的R接单片机的T、串口屏的T接单片机的R、GND接GND。在RS485接线中,需要至少2根线,A接A,B接B。RS-485半双工模式接线时将T/R+接对方的A+、T/R-接对方的B-。


Q:接 TTL和RS232兼容性电平选择不对。

A:电平匹配问题,串口屏的电平是TTL还是RS232,有的屏后面有短接处可以短接进行跳变如下图红框处。

DGUSI屏,比如C070_15WT、C050_04WT,和用户CPU的连接距离很短。为了提升波特率又方便接PC调试,迪文的TTL/RS232兼容接口在设计上用了74系列芯片逻辑门做反向,发送还是TTL电平,只是反过来。这个不是标准的RS232,一般这样通讯距离不要超过半米。和电脑用DB9是可以进行RS232通讯的,屏后面的短接跳线短接后会变成3.3V TTL 标准通讯电平。

迪文DGUSI 15/16/17/18WT 系列带外壳的产品(比如DMT64480T057_18WT),RS232串口是严格的RS232规范,输出电平是+/-5V以上。这种屏通讯距离可以长很多(理想环境是10米)。


f04165077e869eef_html_4ddc0b97d7fe9f69


通常情况,TTL/RS232兼容接口的屏在距离超过1米以上就会发现数据丢失现象比较严重,如果用户的单片机用了标准的RS232芯片,那么如果进行长距离通讯呢,可以采用如下办法:屏上面短接为标准3.3V TTL 通讯电平,用户做一个TTL转接RS232的标准小板子,或者改用迪文有标准RS232接口的屏。


Q:电平不完全匹配,迪文屏是3.3V TTL,有些用的5V的串口电平单片机。

A:大部分芯片都兼容3.3和5V,可以采用串接电阻直连的方法,电阻常用330或470欧姆(留个上拉做备用);也可以用串接高速二极管,或是用三极管做电平开关。也可以参考下图的转换电路。

下图是3.3V和5V电平的TTL串口转化电路,其中SS14可用其他压降小于0.3V的肖特基二极管代替。


f04165077e869eef_html_1dadbc77a1a0583a



Q:通讯芯片本身问题。(用户更换232芯片物料时容易出现这一问题)

A:MAX3232、MAX232假货非常多,可以用示波器测量下232IC的输入、输出波形验证:先用串口助手单独测评,测试一定时间后计算发送和屏响应的数据,帧数是否一致,确定屏通信是否有问题;测试Max232芯片接收、发送波形是否按程序设计的时间在走,发现是否存在丢波、波形对齐不整齐等现象。

如下例子:图左图是不正常的232芯片,(UTC3232输出就不对称)的第1个字节解调波形严重失真。右图是正规的芯片波形是对称的。


f04165077e869eef_html_1478fc6e07f519e3


Q:波特率的误码率太大,影响通讯

A:如何降低误码率,由于RS232/TTL芯片(如MAX232)的旁路匹配电容,储能能力不足,导致波形失真,建议使用4颗105 电容。如图。


f04165077e869eef_html_6b74d37e7e104277

如果还是怀疑有波特率误码问题,串口屏和电脑通讯没有问题,控制板和电脑通讯也没有问题,但是控制板和串口屏通讯就不正常,需要用户将二者的波特率用示波器测试出来,对比波形分析是否波特率误码,迪文屏是可以自定义波特率来修正二者的误差的。


Q:TTL通讯屏和电脑能通讯、控制板和电脑也能通讯,但是屏和控制就是通讯不上。

A:用示波器测量下波形,如果电路输出的高电平低于3.3V, 分一下a、b两种情况去考虑。

a、这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值,上拉电阻也能增强抗干扰能力。一般情况下,串口通信用TTL连接的时候,因这种连接的通信距离很近(建议控制50cm以内),极易受到干扰。为了消除TTL线上的干扰,所以,除了两个脚上加5-10K的上拉电阻,还再接一个小容量的电容,是可以滤到高频干扰脉冲。这种接法可以看成是阻容滤波电路。

b、测量是否由于负载原因,给控制板通讯芯片供电电压过低了,导致的输出电平也变低。



软件篇


Q:DGUS屏开启了校验,或者升级、降级为其他的内核,导致通讯不上。

A:检查屏的系统配置,DGUS屏有必要在保证通讯正常的情况,用串口升级内核处理。


Q:DGUSII屏下载了CFG文件之后就不能通讯了。

A:检查屏的CFG系统配置,0607的位置写了5AA5开启了系统时间校准之后,可能把屏通讯弄得波特率不对,在屏上电的时候,收到的指令不是发送的校准的30个55之内的规定指令导致。一般用户下载CFG的时候0607位置都写0000最好,如果是DGUSII屏时钟误校准了,那么重新按照正确的方法操作。


Q:数据被干扰,影响通讯,或者本身单片机程序有问题了,发送的指令错误。

A:用串口引线监测法。

工具可以是常见的USB转TTL、RS232、RS485的通讯小板子。测试方法参考:测试某个TTL通讯的数据是否正常:将小板子和电脑的USB口插上,驱动安装完成后,用杜邦线m接着转接板的GND,用杜邦线n接着转接板的RXD,杜邦线另外一头最好用工头的(方便用两只手可以戳着代测试引脚进行测量),将m和n两根线另一头分别接着串口屏的GND和RXD(或TXD),这样控制板在给屏发数据的时候,就能够捕捉到经过单片机发给屏的数据了,用串口工具收取之后进行分析查看。(这种方法适用于分析、排查各类与通讯不正常的故障原因)


becb55058f7e451a_html_bf16f1227e205a4b