基于ARM7和CAN总线的电子送经卷取系统设计
扫描二维码
随时随地手机看文章
本文利用性价比高的主控器ARM7-LPC2194($9.0768)、CAN接收器PCA82C250($0.6186)和TLP2631($0.7920),设计了一种基于ARM7的纺织机送经和卷取系统,实现了送经卷取系统总线的网络节点设计,较好地解决了纺织机的电子送经和卷曲系统的数据传输问题。另外,本文系统的通信方案,对于其它工业测控领域也是可取的。
针对纺织机电子送经和卷取系统的数据传输效率低等问题,设计了一套基于CAN总线的送经和卷取的系统,该系统以CAN总线为通信方式,利用ARM主控制器,设计了电子送经和卷取系统的CAN总线通信硬件电路和相关软件,实现了主控结点与卷取驱动器和送经驱动器的高效通信,结果表明了该方法的有效性和可靠性。
电子送经卷取系统是纺织工艺流程的一个重要环节,其控制性能的优劣直接影响着工艺过程及织机的效率。然而,通信又是该系统的关键技术,使得电子送经卷取系统通信的设计受到国内外纺织公司(德国的百格拉,意大利的舒美特等公司)的高度重视,提出了多种设计方案。然而,中国用户仍然面临着剑杆织机送经和卷取系统的价格昂贵、操作复杂,数据传输效率低等问题。
CAN(控制器局域网)总线是一种有效支持分布式控制和实时控制的串行通信网络,与其它通讯相比,其数据通信具有突出的灵活性和可靠性。ARM控制器可以满足一般的工业控制的需要,其具有减少系统硬件设计的复杂度和性价比高等优点而得到广泛应用。因此,针对国内电子送经卷取系统数据传输率低和国外系统价格昂贵问题,本文采用ARM公司的ARM7一UPC2194和Philips公司的PCA82C250为核心器件,研制开发了一种基于ARM芯片作为主控制器,CAN总线为通信方式的嵌入式电子送经卷取系统,该系统具有响应速度快、传输效率高等优点。
1 送经卷取系统的总体设计
根据技术及经济需求,本设计选取ARM7-LPC2194为主控制器,作为CAN网络节点控制器,(其中LPC2194内部集成有四路CAN控制器而不必外接CAN控制器),应用CAN总线技术和接口电路,实现了节点间的高效数据交换和传输。系统总体框图如图1所示。
图1 系统总体框图
2 系统的硬件设计
2.1 系统CAN总线的实现
送经卷取系统主要由内部集成有四路CAN控制器的ARM7-LPC2194芯片、光电隔离器TLP2631、CAN收发器PCA82C250及送经卷取驱动器等元件组成,其结构如图2所示。
图2 系统的硬件电路图
本设计分别将协议控制器通过串行数据输出线TX和串行数据输入线RX连接到光电隔离器TLP2631的3管脚和7管脚,实现了光电隔离。利用CAN收发器。PCA82C250将从光电隔离器TLP2631输出的差动的总线信号转换成逻辑信号电平并在RxD输出,接收到的串行数据通过与总线电缆相连的差动发送和接收总线终端CANH和CANL将数据送到总线协议控制器译码,完成了普通电平到显、隐性电平的传输。CAN总线获取显、隐性电平后,再经过 PCA82C250和光电耦合器TLP2631将数据传输给送经驱动器、卷取驱动器的CAN接收端口,从而实现了基于CAN总线的数据传输。
2.2 系统抗干扰的设计
信号数据传输过程中,存在着扰动,为此本设计采取以下措施来克服干扰的影响:
1)为了满足光电隔离的要求,本设计在协议控制器和CAN收发器之间加入了TLP2631光电隔离器,有效地抑制了传输线中由于耦合电容、电感造成的干扰,实现了不同电平的转换。
2)为了匹配数据总线的阻抗和提高数据传输的抗干扰能力,在CAN总线终端的两端加有两个120 Ω总线阻抗匹配电阻。若不接这两个电阻,有时甚至无法通信。采用屏蔽双绞线以减少现场环境对结点的干扰。
3 系统的软件设计
送经卷取系统的软件设计是实现数据高效通信的关键,本文的软件部分主要由数据采集程序和CAN总线通信程序设计两部分组成。其中数据采集程序可参考文献,本文重点论述CAN通讯程序的设计。
3.1 开发环境
软件开发环境,选用ADS1.2集成开发环境,ADS是ARM微控制器集成开发工具。ADS1.2支持ARM10之前所有ARM系列,支持软件调试及 JTAG硬件仿真调试,支持汇编语言、C/C++源程序;具有编译效率高、系统库功能强等特点;可以在WINDOWS 98、WINDOWS XP、WINDOWS 2000上运行。
3.2 CAN总线通信主程序的设计
本程序采用模块化结构,来实现各结点间的通信。程序首先对CAN控制器函数初始化,其次检测是否有接收帧和数据异常,实现数据的接收和发送。从而完成 ARM芯片启动代码的编码,其结构如图3所示。然后,主程序通过调用CAN启动驱动程序提供的接口,便可实现数据的有效传输。
图3 通信主程序流程图
3.3 CAN控制器函数初始化
CAN控制器初始化,主要是完成总线的参数设置,其主要包括硬件使能、寄存器复位、波特率及验收滤波器的工作方式等设置,其结构如图4所示。
图4 初始化子程序流程图
硬件使能是通过寄存器来控制多路开关并使其与CAN控制器连接,因为CAN的某些寄存器必须在软复位状态下读写,所以一定要进行软件复位。
初始化子程序采用的主要函数如下:
3.4 数据接收子程序
接收数据可采用查询方式或中断方式,本文采用数据查询方式,完成子程序的设计,利用旁路滤波器,通过查询接收数据存储空间,判断是否接收信息寄存器、标识符寄存器、数据寄存器的RX帧。由于接收缓冲区的容量不大,所以接收缓冲区接收帧,必须立即进入环形接收缓冲区,然后再对环形接收缓冲区里的信息进行分类处理。[!--empirenews.page--]
3.5 发送子程序
总线将采集到的数据(Tx帧信息寄存器、Tx标识符寄存器、Tx数据寄存器A、Tx数据寄存器B)经过打包成符合发送帧格式的数据后,通过调用发送数据函数进行数据的发送。程序首先检查LPC2194的3个发送缓冲区和总线的空闲空间,通过查询CANSR的TCS位,将帧传到总线,结构如图5所示。
图5 发送CAN子程序路程图
4 结束语
解决国内电子送经卷取系统数据传输率低和国外系统价格昂贵问题,本文设计了一种基于ARM7的纺织机送经和卷取系统,利用性价比高的主控器ARM7- LPC2194、CAN接收器PCA82C250和光电耦合器TLP2631,实现了送经卷取系统总线的网络节点设计,较好地解决了纺织机的电子送经和卷曲系统的数据传输问题,该系统自动化程度,具有高效的通信率和抗干扰能力。同时,本系统的通信方案,对于其它工业测控领域也具有较好的应用前景。