485硬件调试心得

RS-485标准接口是单片机系统常用的一种串行总线之一。采用半双工通信方式,它文成TTL电平转换为RS-485电平的功能。

以MAX485芯片为例,其结构和引脚都非常简单,内部含有一个驱动器和接收器。MAX485的封装有DIP、SO和uMAX三种。

DIP封装如下


管脚的功能如下:

R0:接收器输出端,若A比B大200mV,RO为高(接收为高电平);反之则接收为低电平。

RE: 接收器使能端,RE为低时,RO有效(接收有效);RE为高,RO呈高阻状态。

DE:驱动器使能端,DE=1,DI有效(输出有效);若DE=0,则DI呈高阻态。

DI:驱动输入端。DI=0,有A=0,B=1; DI=1,则A=1,B=0。


GND:接地

A:同相接收器输入和同相驱动器输出。

B:反相接收器输入和反相驱动器输出

VCC:电源端,一般接3.3V(5V)。

以下为典型的485工作电路,平衡电阻Rp通常取100~300欧姆。



RS485一种比较常用的现场总线,运用领域比较广泛。


曾经写好的485程序,过段时间貌似好像又不行了,似乎没有改哪里。程序莫名其妙被更改了,可能么 ? 答案是NO。

那么应该是硬件上有问题,就要进行485功能调试,排除故障。假设硬件设计上没有问题。

出现过故障:

1、485通信能发不能收?

2、485发送不正常?

3. 485通信乱码(非波特率问题)

工具:电脑(USB转串口TTL再转RS485)   板上(UART口/RS485) 

总的来说一个485程序经过以下几步调试应该OK。

1、确定板上UART与电脑通信正常(不经过485,证明MCU和电脑通信正常)。

2、切换各种波特率,UART与电脑通信

3、擦除板上程序,使用电脑USB-->TTL->RS485->RS485->TTL与电脑进行通信(若通信不正常,则一定是RS485部份存在问题,实现电脑通过两个485通信)

4、切换各波特率再与电脑进行通信

5、最后编写相应程序,采集485设备数据(与设备通信时,通常可能出现采集数据无响应,这时一般需要考虑两者的波特率是否匹配及是否存在线路干扰问题


485通信能发不能收:使能RE/DE始终置1,

485发送:使能RE/DE始终清零。




总结——一个IC器件的硬件调试

1、熟悉IC器件的DataSheet,每个管脚在不同功能是的不同配置,以及不同功能的时序图,保证软件逻辑没有问题。

2、确定各管脚有没有虚焊、短路、短路,特别是电源和地不能短路。在上电后,确保各管脚输入没有问题。可以用无水酒精把板子擦洗一般,因为在调试过程中某些管脚总会搞进点污秽,引起短路,这个方法可以解决大约40%板子突然罢工的问题(确认是板上问题)。

3.在2的基础上如直接输出有问题,则很大的概率是IC器件挂了(一般很皮实的)

4.经过接口线外接器件时,外接器件收到有问题,很有可能是接口线问题,一般通说一步一步沿着信号传输的方向查找问题。




你可能感兴趣的:(硬件知识)