数控系统模块间RS—422串行通信协议的设计.docx
-
资源ID:10074913
资源大小:19.84KB
全文页数:7页
- 资源格式: DOCX
下载积分:10金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
数控系统模块间RS—422串行通信协议的设计.docx
数控系统模块间RS422串行通信协议的设计 信息。UART1和UART2扩展成RS422,分别接操作键盘板和接口板通过串口进行通信。串行通信的波特率是115200bps,8为数据位,1位停止位,没有校验位。机床的主令开关、指示灯、继电器、电磁阀、用户键盘板的手动调整开关等通过RS-422传至ARM。这种通讯架构主要有以下三个优点:第一,用户键盘和接口板从主板上分别出来,用RS422连接,便于安装,并且兼容了不同类型的数控系统。其次,用双RS422而不用RS485,最大限度提高带宽,简化应用层通信软件的设计。第三,设计了一套完整的帧传送协议,保证了数据快速有效传递。 2 串行通信硬件设计 图2是RS-422接口电路图4,该系统的接口板和操作键盘板的信息采集是通过RS-422完成的。选择RS-422的理由如下:RS-422的通信速率和误码率完全能够达到信号传输的要求。RS-422是工业标准的总线,牢靠性高,应用广泛,价格低廉。ARM端有UART,FPGA端可通过IO口扩展串口。MAX3491可将LVTTL/CMOS的信号转换为RS-422的差分信号。本系统用到3片MAX3491,分别接在主板的ARM上,接口板的FPGA上,和用户键盘板的FPGA上。图2中的MAX3491右侧是3.3V的LVTTL/CMOS信号,接ARMS3C2410的UART管脚或者FPGA的IO口。FPGA选用Cyclone的EP1C6Q240,对于串口115200bps的波特率,可用FPGA的通用IO口。由于RS-422采纳输入、输出通道独立,三态门缓冲器的限制引脚/RE接高,DE接低。MAX3491左边的信号是差分信号。RS422_T+、RS422_T-是差分信号输出的正和负,RS422_R+、RS422_R-是差分信号输入的正和负。差分信号在进入电平转化芯片MAX3491之前进行滤波和限幅处理,消退信号在传输过程中接收到的噪声。L1是滤波器,消退共模干扰。D1D4、R11、R12将信号大致限幅在电源和地之间,避开尖峰电压损坏接口芯片。C9是压片电容,25V/104,接在接口芯片的电源和地之间。 3 串行通信协议的设计 本协议解决上位机和下位机间的数据传输,约定了数据格式、通信的建立、故障的处理。 3.1 帧结构 串行通信分为异步串行和同步串行,RS-422是基于异步串行通信设计的。异步通信的双方没有时钟,通信始于发送方的逻辑1到逻辑0的下跳沿,一般是1位起始位,58位数据位,1位奇偶校验位,1位停止位。停止位是逻辑1,停止后总线保持逻辑1状态,直到下一次的起始位出现。这样,一次通信的信息量很小,8位数据最多只能表示256种状态,无法在困难的通信系统中干脆运用。于是,将要传送的数据根据肯定的格式组成帧,由协议限制帧中的数据,一个字节接一个字节地发送和接收。 字节Data0解析 图3是本文设计的通讯协议帧结构。对主站和从站,吩咐和数据的定义有所不同。帧长12个字节,编号0到11,低编号字节先发、先收。帧头0X55,帧尾0XAA,编号是10的字节是累加和SUM,SUM是CMD、Data7Data0共9个字节的累加。帧长为12个字节的设计使得主板到接口板和操作键盘板全部的通信信息均可在一帧内完成,节约了通信时间,ARMS3C2410的FIFO模式中断支持一次12字节的发送和接收。该协议不须要ID,ARM有两个UART,点对点连接接口板和用户键盘板。图3是一个字节Data0的解析,D7D0每位限制一个输出端口,每位输出端口对应机床的一个继电器或者电磁阀或者用户键盘板的一个指示灯。数控机床的输入输出以及用户键盘板上有许多这样的数字IO,它们经过编码后被填入图3的Data7Data0。 3.2 通信的建立 图4是通讯建立的状态机。帧的第1字节是CMD,共8位,支持256个吩咐。本数控系统用到的的常见吩咐:复位吩咐0X01,启动吩咐0X02,停止吩咐0X03,正常数据0X04。前三个吩咐要有应答。通信的建立从硬件复位起先,由主站发起,在周期任务里发送复位吩咐0X01给从站,从站的状态信息依靠这个复位吩咐进行初始化。从站完成复位以后,发一个应答给主站,表示复位已完成。然后,主站发送启动吩咐0X02,该吩咐发给从站,启动从站里的一些定时模块,为接下来的数据采集做打算。从站启动完成后,发送应答给主站,表示启动已完成。接下来主站发一个数据帧,表示接数打算完成,同时打开看门狗计时器。每当收到从站发来的数据时看门狗计时器清零,当看门狗计时器溢出时状态机复位,表示通讯系统故障。此时,系统进入自修复自动通信状态。 通信系统建立以后,主站通过看门狗监视从站的通信是否正常工作。主站收到来自从站的数据,依据自动循环或手动调整的加工要求确定是否返回应答数据。考虑到常见的帧应答不仅须要大量的时间,而且还会造成死锁。本协议规定,当通信建立以后,从站每20ms定时向主站发送一帧数据,不管主站是否应答,当收到停止吩咐时,从站停止数据帧发送。 4 串行通信协议的软件设计 函数RenewOSInitUart为ARM9S3C2410的初始化代码,解决串口初始化、串口发送中断和接收中断初始化问题。其中ARM的串口1接接口板,串口2接用户键盘板。详细的代码如下所示: void RenewOSInitUart OSInitUart; /串口通用寄存器初始化 bUART =0XC5, / 串1 FIFO使能,接收12个字节,发送12个字节 bUART =0XC5;/ 串2 FIFO使能,接收12个字节,发送12个字节 OpenUartRev; /打开串口1 Uart_Init; /串口1波特率设置为115200bps OpenUartRev; /打开串口2 Uart_Init; /串口2波特率设置为115200bps SetISR_Interrupt;/设置串口1的中断服务函数名RXD1Interrupt SetISR_Interrupt;/设置串口2的中断服务函数名RXD2Interrupt 图5是上位机ARMS3C2410串口接收中断流程图,使能了超时中断。在正常状况下,当下位机起先向上位机发送数据的时候,ARM S3C2410连续收到12个字节的数据后,进入接收中断。若因为通信的缘由没有接收到触发深度设定的12个字节且三个字长的时间没有收到任何数据,进入超时中断。超时中断和接收中断共用同一个中断源。在接收中断的最起先,读取接收数据长度,看是否等于触发深度12,若不是,说明是超时中断,清空串口缓冲区数据,丢弃数据,清零看门狗计时器,中断返回。当接收数据等于触发深度,说明接收的是一帧完整的帧。把串口缓冲区数据逐个读出,送到接收数组,同时,计算累加和。接下来推断帧头、帧尾和累加和是否正确,若正确,将接收到的数据填充到IO的据结构里去,称IO处理。若不正确,丢弃数据,然后返回。 5 系统实测结果 图6数控系统限制箱,包括系统键盘、用户键盘、手轮、主轴波段开关和用于界面显示的液晶屏。图6是数控系统的主板。图6是自动加工时的操作和显示界面。图6是加工的工件。 6 结论 本文设计了一种RS-422的通信协议,用于解决数控系统模块间信号通信。利用ARMS3C2410异步串行通信接口的资源,结合模块间数据通信的需求,将中断和FIFO帧用于数据通信。实现了下位机每隔20ms向上位机传送一次数据的功能。看门狗、超时中断、出错重发机制、帧头帧尾和累加和校验保证了数据通信的牢靠性和稳定性。该协议应用在两轴车床上,完成了轴承外环沟道的小批量试产。其加工样品完全满意工艺和误差的要求,达到了预期的设计要求,验证了本协议的有效性和好用性。 【参考文献】 1中华人民共和国国务院.国家中长期科学和技术发展规划纲要Z.北京:中华人民共和国国务院,2022. 2阳宪惠,工业数据通信与限制网络M.北京:清华高校出版社,2003. 3谢剑,金永乔,等.高档数控系统中的RS485串行总线接口探讨与开发J.组合机床与自动化加工技术,2022:2225. 4李腾飞.嵌入式车床数控系统设计与探讨D.安徽工程高校,2022. 责任编辑:刘展 第7页 共7页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页