基于rs485接口的数据传输电路设计(编辑修改稿)内容摘要:
时, R 仍为低电平, CPU 认为此时无起始位,直到出现第一个下降沿, CPU才开始接收第一个数据,这将导致接收错误。 由接收方式转入发送方式后,D变化前,若 A与 B之间为低电压,发送第一个数据起始位时, A与 B之间仍为低电压, A、B引脚无起始位,同样会导致发送错误。 克服这种后果的方案是:主机连续发送两个同步字,同步字要包含多次边沿变化 (如 55H , 0AAH),并发送两次 (第一次可能接收错误而忽略 ) ,接收端收到同步字后,就可以传送数据了,从而保证正确通信。 为了 更可靠地工作,在 RS485总线状态切换时需要适当延时,再进行数据的收发。 具体的做法是在数据发送状态下,先将控制端置“ 1”,延时 ms左右的时间,再发送有效的数据,数据发送结束后,再延时 ms,将控制端置“ 0”。 这样的处理会使总线在状态切换时,有一个稳定的工作过程。 单片机通信节点的程序基本上可以分为 6个主要部分,分别为预定义部分、初始化部分、主程序部分、设备状态检测部分、帧接收部分和帧发送部分。 预定义部分主要定义了通信中使用的握手信号,用于保存设备信息的缓冲区和保存本节点设备号的变量。 设备状 态检测部分应能在程序初始化后,当硬件发生故障时,作出相应的反应。 主程序部分应能接收命令帧,并根据命令的内容作出相应的回应。 为缩短篇幅,这里仅给出主程序部分的代码。 如下所示: /* 主程序流程 */ while(1) { //主循环 if(recv_cmd(amp。 type)==0) //发生帧错误或帧地址与本机 //地址不符,丢弃当前帧后返回 continue。 switch(type) { case __ACTIVE_: //主 机询问从机是否存在 send_data(__OK_, 0,dbuf)。 //发送应答信息 break。 case __GETDATA_: len = strlen(dbuf)。 send_data(__STATUS_, len,dbuf)。 //发送状态信息 break。 default: break。 //命令类型错误,丢弃当前帧后返回 } } 结论 RS485由于使用了差分电平传输 信号,传输距离比 RS232更长,最多可以达到 3000 m,因此很适合工业环境下的应用。 但与 CAN总线等更为先进的现场工业总线相比,其处理错误 基于 RS485 接口的数据传输电路设计 (2020) 7 的能力还稍显逊色,所以在软件部分还需要进行特别的设计,以避免数据错误等情况发生。 另外,系统的数据冗余量较大,对于速度要求高的应用场所不适宜用 RS485 总线。 虽然RS485 总线存在一些缺点,但由于它的线路设计简单、价格低廉、控制方便,只要处理好细节,在某些工程应用中仍然能发挥良好的作用。 总之,解决可靠性的关键在于工程开始施工前就要全盘考虑可采取的措施,这样才能从根本 上解决问题,而不要等到工程后期再去亡羊补牢。 基于 RS485 接口的数据传输电路设计 (2020) 6 二、 硬件设计 RS485 RS- 485 标准接口是单片机系统种常用的一种串行总线之一。 RS485 通信方式 RS485 标准是由 EIA(电子工业协会 )和 TIA(通讯工业协会 )共同制订和开发的。 RS485 作为一种多点差分数据传输的电气规范 ,已成为业界最广泛应用的标准通信接口之一。 理论上 ,RS485 标准最多接入 32个设备 (受芯片驱动能力的影响 ),可以工作在半双工或全双工模式下 ,最大传输距离约为 1219 米 ,最大传输速率约为 10Mbps[1]。 然而通常 RS485 网络采用平衡双绞线作为传输媒体 ,平衡双绞线的长度与传输速率成反比 ,只有在 20Kbps 的传输速率下 ,才可能达到最大传输距离。 一般 15 米长的双绞线最大传输速率仅为 1Mbps。 不过对于速率要求不是很高的控制系统来说已经足够了。 RS485 采用平衡发送和差分接收方式来实现通信:在发送端 TXD 将串行口的 TTL电平信号转换成差分信号 A、 B 两路输出,经传输后在接收端将差分信号还原成TTL电平信号。 两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。 同时,最大传输速率和最 大传输距离也大大提高。 如果以 10Kbps 速率传输数据时传输距离可达 12m,而用 100Kbps 时传输距离可达。 如果降低波特率,传输距离还可进一步提高。 另外 RS485实现了多点互连,最多可达 256 台驱动器和 256台接收器,非常便于多器件的连接。 不仅可以实现半双工通信,而且可以实现全双工通信。 多机通原理 在多机通信中,每台从机均分配有一个从机地址,主机与从机之间进行串行通信时,通常是主机先呼叫某从机地址,唤醒被叫从机后,主、从两机之间进行数据交换。 而未被呼叫的从机则继续进行各自的工 作。 可是,如果在主机与某被呼叫从机进行数据交换过程中,其他从机如果不采取相应的数据识别技术,则这些从机就会因为串行通信线上有数据传输而时时被打断,影响正常的工作。 利用单片机的串口工作方式 方式 3 可以很好解决上述问题。 在多机通信过程中,从机首先要解决的是如何识别主机发送的是地址信息还是数据信息。 当发送的是地址信息时,各从机都响应串口中断,接收主机下发的一帧地址数据。 而当主机发送数据帧时,无关从机可不响应串口中断。 解决的方法是:当主机发送一帧地址信息时,应保持这帧数据的第 9 位为 1(即 TB8=1)。 从机按照工作 方式 2或工作方式 3 运行时,将串口寄存器 SCON 中的控制位 SM2 置为 1,当所接收的一帧数据的第 9位为 1,所有从机都产生串口中断,接收这一帧地址数据并与各自的 基于 RS485 接口的数据传输电路设计 (2020) 7 从机地址进行比较,以判断主机是否要与本机通信。 接收到的地址数据与从机地址相等达到为被呼叫从机,该从机将串口控制寄存器 SCON 中的控制位 SM2 清为0,去接收主机发送来的数据帧(数据帧的第 9 位为 0),此时不管接收到的第 9位数据是否为 1或 0,都要产生串口中断,这就保证了主机与被呼叫从机间的正常数据通信。 数据通信结束后,该从机又重新将串行口控制寄存器 SCON 中的控制位 SM2 置为 1,为下一次与主机进行通信做好准备。 其他从机则一直在 SM2=1下继续自己的工作,不会因为主、从机之间的数据通信而被打断。 多机通信的实现,主要靠主、从机正确地设置与判断多机通信控制位 SM2 和发送或接收的第 9位数据( TB8 或 RB8)。 当主机给从机发送信息时,要根据发送信息的性质来设置 TB8,发送地址信号时,设置 TB8=1;发送数据或命令时,设置 TB8=0。 当从机的 SM2为 1时,该从机只接收地址帧( RB8 位为 1),对数据帧( RB8 位为0)将不予理睬。 而当 SM2 为 0 时,该从机接收所有发送来的信息。 多 机通信过程如下: 使所有从机的 SM2置 1,处于只接收地址帧的状态(即从机复位); 主机发送一地址帧信息,其中包含 8位地址,第 9位为地址、数据标志位,第 9位置 1表示发送的是地址; 从机接收到地址帧后,各自中断 CPU,把接收到的地址与本地址作比较; 地址相符的从机,使 SM2 清零以接收主机随后发来的所有信息,对于地址不相符的从机,仍保持 SM2=1 状态,对主机随后发送的数据不予理睬,直到主机发送来新的地址帧; 主机发送数据或控制信息给被寻址的从机; 被寻址的从机,因 SM2=0,可以接收主机发送过来的所有数据,当从机 接收数据结束时,置位 SM2,返回接收地址帧状态(复位状态); 当主机改为与另外从机联系时,可再发地址帧寻址其从机,而先前被寻址过的从机恢复 SM2=1。 基于 RS485 接口的数据传输电路设计 (2020) 7 单片机通信功能 单片机 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。 51 单片机用 4 个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。 串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51 单片机的串行接口是一个全双工的接口,它可以作为 UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。 51 单片机串行接口的结构如下: ( 1)数据缓冲器( SBUF) 接受或发送的数据都要先送到 SBUF 缓存。 有两个,一个缓存,另一个接受,用同一直接地址 99H,发送时用指令将数据送到 SBUF即可启动发送;接收时用指令将 SBUF 中接收到的数据取出。 ( 2)串行控制寄存器( PCON) SCON 用于串行通信方式的选择,收发控制及状态指示,各位含义如下: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0,SM1:串行接口工作方式选择位,这两位组合成 00, 01, 10, 11 对应于工作方式 0、 3。 串行接口工作方式特点见下表 SM0。基于rs485接口的数据传输电路设计(编辑修改稿)
相关推荐
败。 聚类的有效性检验可 以说是一种反馈机制,根据有效性检验结果,需要对聚类的其它三个环节进行调整,从而获得满足问题要求的聚类结果。 聚类分析的作用 聚类分析旨在无类别标签的训练样本条件下,根据数据本身的特征分布提炼出数据的内在的模式或结构。 总的来说它主要有三个作用 [13]。 1) 聚类本身是人类学习的一种重要方式。 在没有人指导的情况下,人类可以根据自己的实践经验总结
一条指令,开始下一轮新的扫描。 在每次扫描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。 PLC 的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。 ( 1) PLC 在输入 采样阶段 首先以扫描方式按顺序将所有暂存在输入锁在器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入,随即关闭输 3 入端口,进入程序执行阶段。 ( 2) PLC
(站):凡在建筑物内各层楼用于出入轿厢的地点均称为站。 11)提升高度( mm):由底层端站楼面至层顶端站楼面之间的垂直距离。 12)顶层高度( mm) :由顶层端站楼面至机房楼板或隔音层楼板下最突出构件之的垂直距离。 电梯的运行速度越快,顶层高度一般越 高。 13)底坑深度( mm):由层底端站楼面至井道底面之间的垂直距离。 电梯的运行速 陕西理工学院毕业设计论文 第 8 页 共 55 页
台登陆,可以进行图 书分享,图书借阅,图书归还以及对图书作出评价等操作。 ( 2) 管理员可以通过后台管理,对用户进行增、删、改管理: ( 3)管理员也可以通过后台对用户上传的图书进行维护操作 可行性分析 可行性分析是在系统调查的基础上,针对新系统的开发是否具有必要性和可 行性,对新系统的开发从技术、经济、社会的方面进行可行性分析和研究,以避免投资失误,保证新系统的开发成功。
进行切换。 控制信号何时为高电平,何时为低电平,一般以单片机的 TI, RI 信号作参考。 发送时,检测 TI是否建立起来, 当 TI 为高电平后关闭发送功能转为接收功能; 接收时,检测 RI是否建立起来,当 RI 为高电平后,接收完毕,又可以转为发送。 RS485 通信格式 RSS485 协议的信息格式如下: (1)编码格式;二进制代码。 (2)波特率: 9600 b/ s。 (3)通信方式
潍 坊 学 院 本 科 毕 业 设 计 14 4 系统实现 环境配置要求 Struts 2 核心 Filter 的配置 Struts 2使用核心的 FilterDispatcher来过滤用户请求,当 FilterDispaatcher拦截到用户请求后,用户请求将转入 Struts 2 体系内,因此将在 文件中配置FilterDispatcher过滤器,在 : filter