由于RS-485芯片的特性,接收器的检测灵敏度为± 200mV,即差分输入端VA-VB ≥+200mV,输出逻辑1,VA-
VB ≤-200mV,输出逻辑0;而A、B端电位差的绝对值小于200mV时,输出为不确定。如果在总线上所有发送器被禁止
时,即所有485芯片都处于接收态时,接收器输出状态不定,如果为1的话没有问题,如果为0的话,会使接收器认为是新
的一封信文的开始,从而导致通讯异常。
我目前的系统里面有多个485接口,其中有两个是内部两个板子之间的通讯接口,还有两个是用来和外部系统通讯的
接口。我曾经量过不同批次的多个485芯片在总线空闲(或浮空)状态下的输出,发现有的芯片接收器输出为1,有的输
出为0,有的原本输出为1(或0),加上120欧的终端电阻后又变为0(或1)。一般同一批次的输出相同。
目前,对外的485接口无论总线浮空时输出为0还是为1,和计算机通讯时都正常。但内部的485接口如果总线浮空时
输出为1的话,则通讯正常,但一旦焊上120欧的终端电阻就通不上;如果总线浮空时输出为0的话,则通不上,必须焊上
120欧的终端电阻通讯才能恢复正常。
通过对A加上拉电阻到VCC,对B加下拉电阻到GND,强制总线空闲时总线电平VA-VB ≥+200mV,接收器输出为
1,无论加不加终端电阻通讯都正常。
理论上在总线空闲时,接收器输出不确定,485的通讯都应该存在问题。但事实上大部分的设计中并没有加上拉和
下拉电阻强制总线电平,而且通讯也没有问题。这点让我一直疑惑不解,哪位高手能够解答?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |