MBUS通信问题

2019-07-27 18:37发布

用TSS721a的吗?Mbus通信,PC作主机,430作从机,接收不正确,求助……
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
mintspring
2019-07-28 23:39





        图1-3 MBus总线上的bit流传输虚线左边的时间段是主站到从站的bit流传输,总线电压在Vspace和Vmark间切换,从站电流维持Imark不变;虚线右边的时间段是从到主的bit流传输,从站所取电流在Imark和Ispace间切换,总线电压基本维持Vmark不变,但由于MBus电源输出阻抗的存在,使得电流增大时总线电压略有减小。这表明数据传输过程中任意时刻MBus总线上要么传输电压信号,要么传输电流信号,所以MBus只能工作在主从半双工方式下。主站通过检测总线上是否出现11-20mA脉冲电流确定接收“0”还是“1”;从站接收数据时,由于总线绝对电压会随着距离和总线电流变化而变化,故通过检测总线电压与动态参考电压是否相差10V以上来确定接收“0”还是“1”。TI公司的MBus接口芯片TSS721A采用的就是这种动态电平识别逻辑,它的动态参考电压由从站接入位置处的Vmark对芯片内的一个电容充电获得。该电容充放电电流之比约为40,在波特率大于300的情况下只要在传输的bit流中每11位至少出现一个“1”(Vmark),就可以保证动态参考电压始终维持在Vmark附近。1.2.2   MBus数据链路层MBus数据链路层以国际电工委员会IEC870-5(遥控装置和系统传输协议)为基础,规定了MBus的信号传输方式、字节表示、帧格式以及主从站的连接过程等。根据物理层的特点,MBus采用半双工、异步串行信号传输方式,波特率为300~9600。信号格式采用起止式异步协议(IEC870-5-1),以字节为单位进行传输,先传低位bit(LSB)再传高位bit(MSB)。总线上表示一个字节的11位bit流按传输顺序是:起始位/8bit字节/奇偶校验位/停止位。由于MBus的空闲位(Vmark,Imark)为逻辑“1”,所以起始位定义为逻辑“0”,而停止位定义为逻辑“1”。这样,一个字节的传输过程中包括起始、数据、校验、停止共11比特,其中至少有一个逻辑“1”,满足MBus从站的电平要求。MBus采用FT1.2异步式字节传输帧格式(IEC870-5-2),由多个字节组成,传输时字节间不允许停顿。FT1.2定义了三种帧格式,分别是单字节帧(表1-3 )、定长短帧(表1-4 )和变长长帧(表1-5 )。其中S:表示起始位;D:未加说明均表示一个字节;P:表示奇偶校验位;E:表示停止位;发送顺序从左至右,从上至下。


表1-3 单字节帧SDPE0E5H11

一周热门 更多>