一种表用rs485收发数据的方法

文档序号:8380911阅读:474来源:国知局
一种表用rs485收发数据的方法
【技术领域】
[0001]本发明涉及一种表用RS485收发数据的方法。
【背景技术】
[0002]RS-485是目前工业控制中使用最为广泛的通信标准之一,利用2根数据线采用平衡式发送、差分式接收的方式实现通信。现在电表设计中,RS-485也是表计抄读、设置数据的通讯方式之一,但是RS-485的2根数据线连接时是有极性区别的,如果工程人员不知道正确极性对于RS-485的意义,或者现场布线没有用有标志的线区分2根数据线,都会造成通讯失败的结果,这样就会给现场的使用和布线带来不便。

【发明内容】

[0003]基于以上原因,实现RS-485的无极性连接是很有必要的,这样2根数据线可任意连接而不影响正常通讯。
[0004]如果通信系统使用UART作为数据的发送和接收,由于UART正确接收的起始位采用下降沿,如果起始位是上升沿的便无法正确接收,所以需使用无极性485芯片对信号进行处理才能实现RS-485的无极性连接。
[0005]如果使用软件方式模拟UART通信的,可在使用的是有极性485芯片的情况下,捕捉信号的上升沿作为起始信号开始接收,然后将所有的接收信号取反,这样就可以实现信号的无极性传输,且不需要增加额外的硬件开销。
[0006]可见在不增加成本、更换硬件,而且软件资源充足的情况下,通过软件方式模拟UART通信实现RS-485的无极性连接是一种比较有优势的设计方法。
[0007]一个完整的通讯字符由起始位、数据帧、可能的奇偶校验位、停止位几部分组成。当通信线上没有数据传送时,线上维持逻辑I的状态,当开始传送数据时,送出一个低电平作为起始位,当接收端采样到传输线上的信号由逻辑I状态变为逻辑O状态时,启动移位寄存器,开始采样后面传输来的数据信号,一个通讯字符接收完后,开始接收下一个通讯字符,以此类推,将所有的通讯数据接收进来。
[0008]同样的,发送数据时也是以这样的数据格式将要发送的数据发送出去,只不过数据传输方向不一样而已。
[0009](I)通过分析了 UART发送、接收的原理,这样用普通I/O 口来模拟UART 口,只需要按照数据格式来接收、发送数据。如果RS-485的2根数据线反接,进来的数据信号反转,原来的逻辑I状态变为逻辑O状态,原来的逻辑O状态变为逻辑I状态,所以发送、接收时只需要以相反的方式处理数据,这样2根数据线正接或者反接都能解析出正确的信号,达到通讯成功的目的。
[0010](2)为了模拟UART发送、接收,选择的接收I/O 口需要有外部中断功能,并且是上升沿、下降沿都能触发外部中断,这样上升沿或者下降沿的起始位都能正确接收。为了模拟不同波特率下数据位的不同位宽,需要一个定时器以位宽的时间间隔产生定时中断,来解析数据信号。
【主权项】
1.一种表用RS485收发数据的方法,用于公用表与外部设备之间的通信效率的改进,其特征在于包括:不使用无极性RS485芯片进行数据收发处理。
2.根据权利要求1所述的表用RS485收发数据的方法,其特征在于进一步包括:通过表内部单片机的I/O端口来持续接收来自外部设备通信线上的数据信号。
【专利摘要】一个完整的通讯字符由起始位、数据帧、可能的奇偶校验位、停止位几部分组成。当通信线上没有数据传送时,线上维持逻辑1的状态,当开始传送数据时,送出一个低电平作为起始位,当接收端采样到传输线上的信号由逻辑1状态变为逻辑0状态时,启动移位寄存器,开始采样后面传输来的数据信号,一个通讯字符接收完后,开始接收下一个通讯字符。
【IPC分类】G06F13-42
【公开号】CN104699651
【申请号】CN201410836975
【发明人】周俊, 姚徐旭
【申请人】华立仪表集团股份有限公司
【公开日】2015年6月10日
【申请日】2014年12月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1