病房呼叫显示器的设计与实现_毕业论文(设计)(编辑修改稿)内容摘要:

立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。 当要发送的数据传送到SBUF 时,是送入发送缓冲器;而当要从 SBUF 读取数据时,则出自接收缓冲器,读取的是刚接收到的数据。 串行接口的工作方式 在串行接口的四种工作方式中,串行通信方式只适用 1, 2, 3 方式中。 方式 0 主要用于扩展并行输入 /输出接口。 (1) 方式 0 在方式 0 状态下,串行接口为同步移位寄存器方式,其波特率是固定的,为 /12,数据由 RXD()端输入,同步移位脉冲由TXD()端输出,发送、接收的是 8 位数据,低位在先。 当执行发送任何一条将 SBUF 作为目的寄存器的指令时,数据开始从 RXD 端串行发送,其波特率为振荡频率的 1/12。 (2) 方式 1 在方式 1 状态下,串行接口为 8 位异步通信接口。 1 帧信息为 10位: 1 位起始位 (0), 8 位数据(低位在先)和 1 位停止位 (1)。 TXD 为发送端, RXD 为接收端,波特率不变。 在方式 1 的接收中设置有数据辨识功能,即在同时满足以下两个条件时 ,接收数据有效,可实现 9 装载 SBUF, RB8 及 RI 置 1,接收控制器再次采样 RXD 的负跳变,以便接收下一帧数据。 下列条件任何一个不满足时,所接收的数据无效,接收控制器不再恢复。 RI=0; SM2=0 或接收到的停止位 =1。 (3) 方式 2 和 3 在串行工作方式 2, 3 时,为 9 位异步通信接口,发送、接收一帧信息由 11 位组成,即起始位 1 位 (0)、数据 8 位(低位在先)、 1 位可编程位(第 9 数据位)和 1 位停止位 (1)。 方式 2, 3 的区别在于:方式 2 的波特率为 /32 或 /64( / ),而方式 3 的波特率可变。 同样,方式 2, 3 中也设置有数据辨识功能。 即当“ RI=0; SM2=0或接收到的停止位数据 =1”中的任一条件不满足时,所接收的数据帧无效。 注意接收到的停止位与 SBUF, RB8 或 RI 无关。 RS485简介 RS485 接口芯片已广泛应用于工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域 [5]。 可用于 RS485 接口的芯片种类也越来越多。 如何在种类繁多的接口芯片中找到最合适的芯片,是摆在每一个使用 者面前的一个问题。 RS485 接口在不同的使用场合,对芯片的要求和使用方法也有所不同。 使用者在芯片的选型和电路的设计上应考虑哪些因素,由于某些芯片的固有特性,通信中有些故障甚至还需要在软件上作相应调整,如此等等。 希望本文对解决 RS485接口的某些常见问题有所帮助。 10 RS485 接口标准 传输方式:差分 传输介质:双绞线 标准节点数: 32 最远通信距离: 1200m 共模电压最大、最小值: +12V; 7V 差分输入范围: 7V~ +12V 接收器输入灵敏度:177。 200mV 接收器输入阻抗:≥ 12kΩ (1) 节点数 节点数及半双工和全双工通信 所谓节点数,即每个 RS485 接口芯片的驱动器能驱动多少个标准 RS485 负载。 根据规定,标准 RS485 接口的输入阻抗为≥ 12kΩ,相应的标准驱动节点数为 32。 为适应更多节点的通信场合,有些芯片的输入阻抗设计成 1/2 负载 (≥ 24kΩ )、 1/4 负载 (≥ 48kΩ )甚至 1/8负载 (≥ 96kΩ ),相应的节点数可增加到 6 128 和 256。 表 1 为一些常见芯片的节点数。 32 节点: SN75176, SN75276, SN75179, SN75180, MAX485,MAX488, MAX490 64 节点: SN75LBC184 128 节点: MAX487, MAX1487 256 节点: MAX1482, MAX1483, MAX3080~ MAX3089 (2) 半双工和全双工 11 RS485 接口可连接成半双工和全双工两种通信方式。 半双工通信的芯片有 SN7517 SN7527 SN75LBC18 MAX48 MAX 148MAX308 MAX1483 等;全双工通信的芯片有 SN7517 SN75180、MAX488~MAX49 MAX1482 等。 应用中的常见问题 抗雷击和抗静电冲击 RS485 接口芯片在使用、焊接或设备的运输途中都有可能受到静电的冲击而损坏。 在传输线架设于户外的使用场合,接口芯片乃至整个系统还有可能遭致雷电的袭击。 选用抗静电或抗雷击的芯片可有效避免此类损失,常见的芯片有 MAX485E、 MAX487E、 MAX1487E等。 特别值得一提的是 SN75LBC184,它不但能抗雷电的冲击而且能承受高达 8kV 的静电放电冲击,是目前市场上不可多得的一款产品。 限斜率驱动 由于信号在传输过程中会产生电磁干扰和终端反射,使有效信号和无效信 号在传输线上相互迭加,严重时会使通信无法正常进行。 为解决这一问题,某些芯片的驱动器设计成限斜率方式,使输出信号边沿不要过陡,以不致于在传输线上产生过多的高频分量,从而有效地扼制干扰的产生。 如 MAX48 SN75LBC184 等都具有此功能。 故障保护 故障保护技术是近两年产生的,一些新的 RS485 芯片都采用了此项技术,如 SN7527 MAX3080~MAX3089。 什么是故障保护,为什么要有故障保护,如果没有故障保护会产生什么后果。 12 众所周知, RS485 接口采用的是一种差分传输方式, 各节点之间的通信都是通过一对(半双工)或两对(全双工)双绞线作为传输介质。 根据 RS485 的标准规定,接收器的接收灵敏度为177。 200mV,即接收端的差分电压大于、等于 +200mV 时,接收器输出为高电平;小于、等于 200mV 时,接收器输出为低电平;介于177。 200mV 之间时,接收器输出为不确定状态。 在总线空闲即传输线上所有节点都为接收状态以及在传输线开路或短路故障时,若不采取特殊措施,则接收器可能输出高电平也可能输出低电平。 一旦某个节点的接收器产生低电平就会使串行接收器 (UART)找不到起始位,从而引起通信异常, 解决此类问题的方法有两种: (1) 使用带故障保护的芯片,它会在总线开路、短路和空闲情况下,使接收器的输出为高电平。 确保总线空闲、短路时接收器输出高电平是由改变接收器输入门限来实现的。 例如, MAX3080~ MAX 3089 输入灵敏度为 50mV/200mV,即差分接收器输入电压 UAB≥50mV 时,接收器输出逻辑高电平;如果 UAB≤ 200mV,则输出逻辑低电平。 当接收器输入端总线短路或总线上所有发送器被禁止时,接收器差分输入端为 0V,从而使接收器输出高电平。 同理, SN75276的灵敏度为 0mV/300mV,因而达到故障保护的目的。 (2) 若使用不带故障保护的芯片,如 SN7517 MAX1487 等时,可在软件上作一些处理,从而避免通信异常。 即在进入正常的数据通信之前,由主机预先将总线驱动为大于 +200mV,并保持一段时间,使所有节点的接收器产生高电平输出。 这样,在发出有效数据时,所 13 有接收器能够正确地接收到起始位,进而接收到完整的数据。 RS485应用设计 485芯片 DE控制端的设计 由于应用系统中,主机与分机相隔较远,通信线路的总长度往往超过 400 米,而分机系统上电或复位又常常不在同一个时刻完成。 如果在此时某个 75176 的 DE 端电位为“1”,那么它的 485 总线输出将会处于发送状态,也就是占用了通信总线,这样其它的分机就无法与 主机进行 通信: 这种情况尤其表现在某个分机出现异常情况下(死机),会使整个系统通信崩溃。 因此在电路设计时,应保证系统上电复位时 75176 的 DE 端电位为“ 0”。 由于 8031 在复位期间, I/O口输出高电平,故图 2 电 路的接法有效地解决复位期间分机“咬”总线的问题。 隔离光耦电路的参数选取 在应用系统中,由于要对现场情况进行实时监控及响应,通信数据的波特率往往做得较高(通常都在 4800 波特以上)。 限制通信波特率提高的“瓶颈”,并不是现场的导线(现场施工一般使用 5 类非屏蔽的双绞线),而是在与单片机系统进行信号隔离的光耦电路上。 此处采用 TIL117。 电路设计中可以考虑采用高速光耦,如 6N13 6N136等芯片,也可以优化普通光耦电路参数的设计,使之能工作在最佳状态。 例如:电阻 R R3 如果选取得较大,将会 使光耦的发光管由截止进入饱和变得较慢;如果选取得过小,退出饱和也会很慢,所以这 14 两只电阻的数值要精心选取,不同型号的光耦及驱动电路使得这两个电阻的数值略有差异,这一点在电路设计中要特别慎重,不能随意,通常可以由实验来定。 485总线输出电路部分的设计 输出电路的设计要充分考虑到线路上的各种干扰及线路特性阻抗的匹配。 由于工程环境比较复杂,现场常有各种形式的干扰源,所以 485 总线的传输端一定要加有保护措施。 在电路设计中采用稳压管D D2 组成的吸收回路,也可以选用能够抗浪涌的 TVS 瞬态杂波抑制器 件,或者直接选用能抗雷击的 485 芯片(如 SN75LBC184 等)。 考虑到线路的特殊情况(如某一台分机的 485 芯片被击穿短路),为防止总线中其它分机的通信受到影响,在 75176 的 485 信号输出端串联了两个 20Ω的电阻 R R11。 这样本机的硬件故障就不会使整个总线的通信受到影响。 在应用系统工程的现场施工中,由于通信载体是双绞线,它的特性阻抗为 120Ω左右,所以线路设计时,在 RS485网络传输线的始端和末端各应接 1 只 120Ω的匹配电阻(如图 1 中 R8),以减少线路上传输信号的反射。 由于 RS485 芯片的特 性,接收器的检测灵敏度为177。 200mV,即差分输入端 VA VB≥ +200mV,输出逻辑 1, VA VB≤ 200mV,输出逻辑 0;而 A、 B 端电位差的绝对值小于 200mV 时,输出为不确定。 如果在总线上所有发送器被禁止时,接收器输出逻辑 0,这会误认为通信帧的起始引起工作不正常。 解决这个问题的办法是人为地使 A端电位高于 B两端电位,这样 RXD的电平在 485 总线不发送期间(总线悬浮时)呈现唯一的高电平, 8031 15 单片机就不会被误中断而收到乱字符。 通过在 485 电路的 A、 B 输出端加接上拉、下拉电阻 R R9,即可很好地解决这个 问题。 软件的编程 485 芯片的软件编程对产品的可靠性也有很大影响。 由于 485 总线是异步半双工的通信总线,在某一个时刻,总线只可能呈现一种状态,所以这种方式一般适用于主机对分机的查询方式通信,总线上必然有一台始终处于主机地位的设备在巡检其它的分机,所以需要制定一套合理的通信协议来协调总线的分时共用。 这里采用的是数据包通信方式。 通信数据是成帧成包发送的,每包数据都有引导码、长度码、地址码、命令码、内容、校验码等部分组成。 其中引导码是用于同步每一包数据的引导头;长度码是这一包数据的总长度;命令码是 主机 对分机(或分机应答主机)的控制命令;地址码是分机的本机地址号;“内容”是这一包数据里的各种信息;校验码是这一包数据的校验标志,可以采用奇偶校验、和校验等不同的方式。 在 485 芯片的通信中,尤其要注意对 485 控制端 DE 的软件编程。 为了可靠的工作,在 485 总线状态切换时需要做适当延时,再进行数据的收发。 具体的做法是在数据发送状态下,先将控制端置“ 1”,延时 1ms 左右的时间,再发送有效的数据,一包数据发送结束后再延时1ms 后,将控制端置“ 0”。 这样的处理会使总线在状态切换时,有一个稳定的工作过程。 5 系统硬件设计 系统总体框图 16 系统采用 RS485CAN 总线协议,有主从两个独立系统,所以在硬件设计上有两种框图 ,如图 和图 : 从机采用 485 芯片为串口通信芯片,辅助两个按键判键电路构成总体的硬件结构,系统都是采用 +5V 电源供电,则框图如图 : 主 机8 9 S 5 1T X DR X D1 号 从 机8 9 S 5 1T X D R X D2 号 从 机8 9 S 5 1T X D R X D2 2 5 号 从机 8 9 S 5 1T X D R X D… 图 总体框图。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。