摘要: 本应用说明展示了如何使用MAX22088在家庭总线中传输UART数据包,MAX22088是Maxim集成的第一款家庭总线系统(HBS)兼容收发器。
Maxim集成的首款家庭总线系统(HBS)兼容收发器MAX22088提高了恶劣工业环境的性能。MAX22088专为家庭总线系统设计,并不局限于这些网络。本应用笔记演示了使用MAX22088 hbs兼容收发器编码和传输UART数据包的简单解决方案。
Maxim Integrated最近推出了MAX22088,这是其首款兼容家庭总线系统(HBS)的收发器。MAX22088符合HBS标准,但也可用于其他类型的通信系统。本应用笔记演示了如何使用MAX22088 hbs兼容收发器和MAX32660微控制器生成和传输UART数据包。MAX32660微控制器用于为主收发器生成UART数据包,另一个MAX32660用于解码远程收发器接收的数据(图1)。使用两个MAX22088 EV kit验证了该方法;给出并讨论了测试数据和代码示例。
在当今的家庭自动化(HA)系统中,多个家电、设备和控制设备之间的信息交换需要标准化的通信协议来进行有效和稳健的数据传输。HBS标准通过将这些设备连接到单一总线来简化这些设备之间的通信,同时定义了一种传输标准,同时提供电力和交换数据。
MAX22088 HBS兼容收发器支持在单对线上传输数据和电源,适用于HBS应用,如HVAC、远程监控和传感。标准的HBS布线方案不允许主时钟信号同步输入和输出数据位。相反,像标准串行UART通信一样,数据转换在总线上被检测到,并由接收电路解码。
UART协议是一种异步串行数据通信标准。UARTs使用数据包中的开始位和停止位来检测正在传输的数据,而不是主时钟同步输出位。UART通信是大多数微控制器(包括MAX32660)的常见集成功能。
标准HBS电缆将电源和数据从控制器传输到下游远程设备/节点。HBS数据传输使用替代标记反转(AMI)和负逻辑编码,占空比为50%,其中双极脉冲表示逻辑“0”。当收发器输出处于高阻抗或非活动状态时,逻辑“1”发生。对家庭总线通信的要求是总线上不能同时存在两个逻辑“0”条件。这是为了避免数据传输时线路上的饱和和功率问题。固件或通信软件主要负责确保满足这一要求。
因此,在普通的家庭总线系统中,UART数据包需要确保每个逻辑“0”后面都必须跟着逻辑“1”。一个简单的编码解决方案是用逻辑“1”填充每一个其他位。这种方法使UART通信的包长度加倍,传输频率减半。注意,符合hbs的通信将需要在字符帧后面有一个奇偶校验位,但是这种方法不包括一个。
MAX32660微控制器UART输出包括8位数据:一个起始位和一个停止位,但不包括奇偶校验位。8位数据扩展到总共两个数据包,并通过家庭总线传输(图2)。
下面给出的代码用于对UART包进行编码。它将8位数据拆分并分配给数据包的偶数位,并将逻辑“1”分配给数据包的奇数位。
For (i = 0;我& lt;TX_Length;I ++) {txdata[(I *2) + 0] = ((tx_text[I] & & lt; & lt;3) + ((tx_text[i] &0 x04) & lt; & lt;2) + ((tx_text[i] &0 x02) & lt; & lt;1) + ((tx_text[i] &0x01)) + 0xaa;Txdata [(i*2) + 1] = ((tx_text[i] &0 x80)在祝辞1) + ((tx_text[i] &0 x40)在祝辞2) + ((tx_text[i] &0 x20)在祝辞3) + ((tx_text[i] &0 x10)在祝辞4) + 0xaa;}
例如,如果要发送的数据(tx_text[i])为0x35 (0b'00110101),则编码后的数据包(txdata[i])将为0b' 10101111,0b '10111011。
图3显示了使用带编码的家庭总线成功传输UART数据0x35。
对UART数据进行编码,使得每个“0”后面跟着一个“1”,并且数据可以正确地从总线传输和接收。HBS发射机输入的数据与HBS接收机输出的数据匹配;接收端MAX32660对输出位进行无错误解码。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308