Philips AN10250 Application note

AN<10250>
使用一个飞利浦16C UART来实现一个简单的RS - 485发送器和 接收器节点
Rev._3 — 21 06 2004
文档信息
应用规格书
信息 内容
关键词 应用规格书,简单的 RS - 485 发送器和接收器节点
摘要 本应用规格书描述了如何将一个 SC16C554 / SC16C554B 或一个
SC16C654 / SC16C654B 连接到一个 ISA 总线上。它也适用于 SC16C554DB SC16C654DB
©
关于销售办事处的
请发送电子邮件到
飞利浦半导体
修订历史
版本 日期 说明
_3 21062004 应用规格书(9397 750 13518)。
变更: 第 4.0 节“结论”,第一句:从“飞利浦的 SC16C650 提供……”改变为“飞利浦的
SC16C650 / SC16C650B 提供……”。
_2 24092003 应用规格书(9397 750 12084)。
_1 04092003 应用规格书,初始版本(9397 750 11997)。
使用一个飞利浦16C UART来实现一个简单的RS - 485发送器和接收器节点
AN<10250>
联系信息
关于额外的信息,请访问:http://www.semiconductors.philips.com
<12NC> 9397 750 13518
应用规格说明
地址,
sales.addresses@www.semiconductors.philips.com
Koninklijke Philips Electronics N.V. 2003. All rights reserved.
Rev._3 — 21 06 2004 2 of 8
©
飞利浦半导体
1. 概述
AN<10250>
使用一个飞利浦 16C UART 来实现一个简单的 RS - 485 发送器和接收器节点
本应用规格书说明了如何使用一个飞利浦的16C UART(通用异步收发器)来实现一 个简单的RS - 485发送器和接收器节点。驱动UART的软件提供了9 位信息的定向通信协 议,它在一个RS - 485链路上进行传输,字符的传输方式与RS - 232 异步协议相同,都可 以使用奇偶位来区分一个数据字符与一个控制字符。
软件(RS485. C & RS485. H)可以从我们的网站上下载:
http//www.philipslogic.com/support/
1.0 数据帧和RS - 485协议
数据帧是每次由发送器发到接收器的一个基本单元,数据帧包括:接收器地址字节, 后面跟着一系列的数据字节,由一个EOF(帧结尾)字节来结束。每个字符被异步地送 出,因此,每一个字符都有一个起始位、8个数据位、一个奇偶位和一个停止位,对于每 个字符,需要发送的位的总数为11位,当地址和控制字符被发送时,奇偶位被设定为 ‘1’;而当数据字符被发送时,奇偶位设定为‘0’。
数据帧
接收器地址 数据序列
起始位 8 个数据位 奇偶位 停止位
1
数据帧开始于被设定为接收器的地址的控制字符(奇偶位 = 1),所有接收器都将激 活,以接收这个字节,每个接收器判定这个地址是否与它自己的地址相匹配,地址相匹配 的接收器将对UART进行设置,以便接收数据帧的其它部分,其它接收器将忽略整个帧, 直到下一个“地址”字节被送出为止。
被寻址的接收器将接收所有字符,直到收到EOF字符为止,然后,该接收器将转向, 将ACK(确认)字符送回到发送器。
<12NC> 9397 750 13518
应用规格说明
Rev._3 — 21 06 2004 3 of 8
Koninklijke Philips Electronics N.V. 2003. All rights reserved.
©
飞利浦半导体
AN<10250>
使用一个飞利浦 16C UART 来实现一个简单的 RS - 485 发送器和接收器节点
2.0 软件结构
2.1 控制字符
控制字符的奇偶位为‘1’,它们与数据字符不同,数据字符所具有的奇偶位被设定 为‘0’。
名称 数值 描述 地址 0 x 70……0 x 7F 节点地址
EOF_CHAR 0 x 60 ACK_ACK 0 x 61
2.2 代码结构
发送的流程很简单,它需要做的全部事情就是发送接收器的地址,后面跟上一系列的 数据。接收器的流程则没有那么简单——它利用UART的奇偶探测能力来探测地址字符, 由于地址字符的发送始终设定奇偶位为‘1’,软件需要做的全部事情就是设定UART,让 它去探测一个‘0’的奇偶位,一旦收到了地址字符,则软件将检查LSR寄存器是否有奇 偶校验出错,如果能检测到奇偶校验出错,那么说明收到地址字符,否则,收到的字符就 不是一个地址字符。
程序的主体就是中断线程上的状态机;当每次产生一个硬件中断时,这个状态机就会 被调用。这个状态机是由一个叫做EVENT_FLAG(事件_标志)的变量驱动的。
根据这个标志的设定情况,状态机将处理下列情况:
l 接收地址 l 接收数据 l 传输帧 l 发送确认信号
帧的结束字符 确认字符
<12NC> 9397 750 13518
应用规格说明
接收 地址
事件_标志=0
事件_标志
发送 确认
事件_标志=3
空闲
事件_标志=1 事件_标志=2
接收 数据
传输 数据
2.
Rev._3 — 21 06 2004 4 of 8
Koninklijke Philips Electronics N.V. 2003. All rights reserved.
©
飞利浦半导体
AN<10250>
使用一个飞利浦 16C UART 来实现一个简单的 RS - 485 发送器和接收器节点
3.0 软件的局限
l 在链路上的其它接收器,包括被寻址的接收器,都将侦听到通信数据,不论这些数据
是否是针对它们的。
l 帧传送时没有错误校验机制,例如CRC l 发送器并不检查从接收器发出的ACK字节,因此,当接收器没有正确地接收到整个帧
时, 没有相应的处理流程。
l 只定义了数量有限的控制字节:地址,ACK,EOF。 l 中断流程不能处理其它中断源,例如:线路状态,调制解调器状态。 l 软件只能工作在半双工状态。 l 线路发送器的转向时间取决于FIFO空位的设定情况——LSR Bit6和Bit5。
4.0 结论
飞利浦的SC16C650 / SC16C650B还能提供其它高级的功能,例如专门用来探测地址 字节的“特殊字符识别”功能,如果这个功能被软件所采用,那么它就能防止其它接收器 侦听到其它通信数据,除非该接收器已经收到一个有效地址。
当然,用户可采用其它软件功能来处理下列情况:
l 在帧已经被发出后检查ACK(确认)字节。 l 如果在给定的时间内仍未收到ACK字节,则重新发送帧。 l 随着帧一起发送一个CRC字节,以保证该帧能够被接收器正确地接收。 l 随同帧数据包长度的发送一起发送源地址。 l 总线空闲和冲突探测。 l 总线请求和仲裁。
<12NC> 9397 750 13518
应用规格说明
Rev._3 — 21 06 2004 5 of 8
Koninklijke Philips Electronics N.V. 2003. All rights reserved.
©
飞利浦半导体
AN<10250>
使用一个飞利浦 16C UART 来实现一个简单的 RS - 485 发送器和接收器节点
3
<12NC> 9397 750 13518
应用规格说明
Rev._3 — 21 06 2004 6 of 8
Koninklijke Philips Electronics N.V. 2003. All rights reserved.
©
飞利浦半导体
SC16C752/SC16C752B/SC16C2550/SC16C2550BISA 总线硬件接口示例
2. 否认声明
生命保障——这些产品在设计时并没有考虑到可以用于生命保障器具、
装置、或系统;在此类场合,这些产品的故障能够明显地导致人员伤 害。对于使用或销售这些产品的飞利浦半导体公司的用户,如果他们想 在此类应用中使用这些产品,则他们必须自行承担风险,并同意在由于 此类应用而导致任何损坏时全额向飞利浦半导体公司进行赔偿。
进行修改的权利——飞利浦半导体公司保留对此处描述或包含的产品进
行修改的权利,其中包括电路、标准单元、和/或软件,以便能够改善产 品的设计和/或性能。当产品已经投入批量生产时(状态“生产”),有 关的修改将会通过一个《用户产品/过程修改通知书(CPCN)》进行公 告。如未另行规定,飞利浦半导体公司不会对任何一个这些产品的使用 承担任何责任或义务,不向这些产品转让任何受专利、版权、或掩码著 作权保护的许可权或所有权,也不会做出任何表述或担保、说明这些产 品没有侵犯任何专利、版权、或掩码著作权。
应用信息——对于任何一件此类产品,此处描述的应用情况仅仅是为了
演示性目的。在没有进行进一步的试验或变更之前,飞利浦半导体公司 并没有做出任何表示或担保,声明此类应用将会适应于特定的用途。
3. 许可
飞利浦 I2C 零件的购买
飞利浦 I2C 零件的购买转让一个飞利浦 I2C 专利保护的许可在
2
I
C 系统中使用零件从而与飞利浦制定的规范一致。 这个规
范可以用代码 9398 393 40011 命令。
AN<10250>
飞利浦 RC5 零件的购买
飞利浦 RC5 零件的购买转让一个飞利浦 RC5 专利保护的许可在 RC5 系统中使用零件从而与飞利浦制定的详细的控制命令 RC5 标准 UATM- 5000 的分配规范一致。
4. 专利
同此通告主要器件使用一个或多个下列专利每个专利可能就其它权限有相应的 专利。
<专利号> — <专利所有者>
5. 商标
<商标名称> — 使所有者的商标
<注册商标名称> —是被所有者注册的商标
<12NC> 9397 750 13518
应用规格说明
Rev._3 — 21 06 2004 7 of 8
Koninklijke Philips Electronics N.V. 2003. All rights reserved.
©
飞利浦半导体
SC16C752/SC16C752B/SC16C2550/SC16C2550BISA 总线硬件接口示例
6. 目录
1. 概述....................................................................... 3
2. 否认声明................................................................ 7
3. 许可....................................................................... 7
4. 专利....................................................................... 7
5. 商标....................................................................... 7
6. 目录....................................................................... 8
AN<10250>
<12NC> 9397 750 13518
应用规格说明
Rev._3 — 21 06 2004 8 of 8
Koninklijke Philips Electronics N.V. 2003. All rights reserved.
Loading...