提花就是在织物的织造过程中对经线的升降加以控制,使其具有凹凸不平的立体感。随着电子技术的发展,纺织提花技术由初的机械选针方式发展到现在的电磁选针方式。电子提花与机械提花相比,结构较为简单,花型控制更为灵活可靠。电子提花又有基于工控机和基于嵌入式单片机两种方案,后者比前者在可靠性、成本等方面更具有优势。
1 电子提花机嵌入式控制系统硬件设计
设计方案中,本文采用了板+底板的方式。在不修改板电路图的情况下,只要改变底板的功能单元,就可以方便得对系统的外围接口进行扩展。
|
|
上提供了以下外设接口:一个15芯的和一个37芯的接口(用于实现对提花机进行各种控制),2个四线RS232串口,2个USB HOST接口,一个10M/100M自适应以太网接口,一个TFT LCD接口和一个触摸屏接口。板和底板配合即构成一个的完整的应用系统。
由于S3C2410提供了117路复用的IO口线,本文利用了其中的28路口线对提花机实现了各种控制。
开机以后,控制程序开始运行;读取初始化的配置文件,该文件记录了工作的任务,磁铁板的数量和过孔信息。根据工作任务文件,可以获得花样文件位置,将它读入内存中,并设置织造重复次数的数据变量。如果该操作不成功,则要求手动输入。 如果操作成功,就进入硬件检查部分。硬件检查将通过CheckIO( )函数,向磁铁板上发送信息,并将信息读回,以此判断磁铁板是否存在问题。 如果硬件检查没有问题,就开始进入控制送数的阶段,该阶段在SendData()中完成。 SendData( )函数是控制流程中重要的一个函数,它控制着织造的整个过程。 在SendData( )中也可能因各种情况而退出,如硬件错误,送数错误,工作单任务完成需要重新调配或者直接退出程序等;在退出SendData( )后,需要判断退出的原因,对以上几种情况分别做出处理:如果硬件错误或送数出错,则会等待清除错误以及按键处理;如果是工作单完成,则等待操作人员的指示,可能是重新添加新的任务,或者是重复原来的工作,也有可能是直接退出;在SendData( )内也有可能因操作人员要求直接退出。 3 驱动程序 在嵌入式Linux中通过设计相应的设备驱动程序来完成对ARM的GPIO端口的访问控制,进而实现对提花机的各种控制。 内核内部通过file结构识别设备,通过file_operations数据结构提供文件系统的入口点函数,也就是访问设备驱动的函数。file_operations是定义在<linux/fs.h>中的函数指针表。 以对磁铁板发送串行数据为例,我们用S3C2410芯片GPB1引脚发送时钟信号SCLK_O,GPB0引脚发送串行数据SDATA_O(见表1)。使用如下file_operations数据结构: 其中ioremap函数的作用是把GPB的控制寄存器和数据寄存器的物理地址映射成I/O内存,这样我们就可以访问I/O寄存器了。devfs_register( )函数的作用是向Linux内核注册设备驱动程序。 有了驱动的支持,在应用程序中就可以直接对硬件设备(S3C2410的GPB0和GPB1引脚)进行访问了。 4 实验结果及结论 图4为示波器测得的B0、B1口的输出。图4的上方为B1,即SCLK_O;下方为B0,即SDATA_O。对SCLK_O信号,示波器每个所代表的时间是2 μs,所得的时钟周期是7μs,满足系统所需要的送数速度;程序发送的串行数据SDATA_O为非周期性,所以使得B1输出的信号也呈非周期性。经现场调试,该系统能满足对提花机的实时控制要求。 基于ARM的电子提花机控制系统与采用PC或工控机进行现场控制的系统方案相比,有着稳定性高、成本低的明显优势。 | ||
|
|
[1]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
[2]. 100M datasheet https://www.dzsc.com/datasheet/100M_2509927.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。