单片机 > 单片机程序设计 > 详情

基于ARM的智能电子提花机控制系统设计

发布时间:2020-05-30 发布时间:
|

  引 言

  提花就是在织物的织造过程中对经线的升降加以控制,使其具有凹凸不平的立体感。随着电子技术的发展,纺织提花技术由最初的机械选针方式发展到现在的电磁选针方式。电子提花与机械提花相比,结构较为简单,花型控制更为灵活可靠。电子提花又有基于工控机和基于嵌入式单片机两种方案,后者比前者在可靠性、成本等方面更具有优势。

  1 电子提花机嵌入式控制系统硬件设计

  设计方案中,本文采用了核心板+底板的方式。在不修改核心板电路图的情况下,只要改变底板的功能单元,就可以方便得对系统的外围接口进行扩展。有利于二次开发,核心板框和底板框图如图1、2所示。

  

  

  核心板上集成Samsung S3C2410处理器,32M的SDRAM以及8M的Flash。

  底板上提供了以下外设接口:一个15芯的和一个37芯的接口(用于实现对提花机进行各种控制),2个四线RS232串口,2个USB HOST接口,一个10M/100M自适应以太网接口,一个TFT LCD接口和一个触摸屏接口。核心板和底板配合即构成一个最小的完整的应用系统。

  由于S3C2410提供了117路复用的IO口线,本文利用了其中的28路口线对提花机实现了各种控制。见表1和表2。

  

  

  2 电子提花机系统软件设计

  电子提花机控制系统软件主程序流程如图3所示。

  

  开机以后,控制程序开始运行;读取初始化的配置文件,该文件记录了工作的任务,磁铁板的数量和过孔信息。根据工作任务文件,可以获得花样文件位置,将它读入内存中,并设置织造重复次数的数据变量。如果该操作不成功,则要求手动输入。

  如果操作成功,就进入硬件检查部分。硬件检查将通过CheckIO( )函数,向磁铁板上发送信息,并将信息读回,以此判断磁铁板是否存在问题。

  如果硬件检查没有问题,就开始进入控制送数的阶段,该阶段在SendData()中完成。

  SendData( )函数是控制流程中最重要的一个函数,它控制着织造的整个过程。

  在SendData( )中也可能因各种情况而退出,如硬件错误,送数错误,工作单任务完成需要重新调配或者直接退出程序等;在退出SendData( )后,需要判断退出的原因,对以上几种情况分别做出处理:如果硬件错误或送数出错,则会等待清除错误以及按键处理;如果是工作单完成,则等待操作人员的指示,可能是重新添加新的任务,或者是重复原来的工作,也有可能是直接退出;在SendData( )内也有可能因操作人员要求直接退出。

  3 驱动程序

  在嵌入式Linux中通过设计相应的设备驱动程序来完成对ARM的GPIO端口的访问控制,进而实现对提花机的各种控制。

  内核内部通过file结构识别设备,通过file_operations数据结构提供文件系统的入口点函数,也就是访问设备驱动的函数。file_operations是定义在中的函数指针表。

  以对磁铁板发送串行数据为例,我们用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或工控机进行现场控制的系统方案相比,有着稳定性高、成本低的明显优势。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
PIC单片机基础知识之二