作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。
标题 | 基于ARM7与uclinux的嵌入式全自动生化分析仪控制系统模型 |
技术领域 | |
行业 | |
简介 | 提出了一种新的基于ARM的嵌入式全自动生化分析仪系统的设计,该设计采用ARM处理器为主CPU,运动控制器为从CPU,并采用实时的uclinux操作系统,使得系统很好地进行多任务处理,并保证了运动控制的实时性。 |
内容 |
1.引言
系统硬件采用ARM处理器加运动控制芯片结构模式。ARM处理器选用SANSUM公司的4510B处理芯片,用于键盘、显示,网络通讯等管理工作,而运动控制芯片采用了NOVA电子有限公司的MCX314芯片,专门负责运动控制的处理工作, MCX314芯片是一款能够同时控制4个伺服马达或步进马达的运动控制芯片,它以脉冲串形式输出,能对伺服马达或步进马达进行位置控制、插补驱动、速度控制等。该芯片输出的脉冲速度范围为1PPS一4MPPS,可以满足高速驱动的需求,并且脉冲的频率精确度小于0.1%。。控制系统硬件结构如图2所示。
MCX314与CPU的连接如图3所示。其中:CLK是启动MCX314的内部同步电路的主时钟信号输入端,其频率16.000MHz。驱动速度、加/减速度、加速度/减速度的变化率都根据此频率设定。A0-A2是MCX314读/写寄存器的地址信号。CSN为片选信号,低电平有效。INTN是供CPU使用的中断请求信号,由任何中断因素引发中断,INTN都为低电平,中断解除后,返回高阻态。WRN和RDN分别是写使能和读使能。PLS是Pulse/DIR模式下的脉冲输出端,占空比为50%,复位后为低电平。DIR是Pulse/DIR模式下的方向信号输出端,占空比为50%,复位后为低电平。LMTP和LMPM分别是正方向和负方向的越限信号输入端,在正、负方向驱动脉冲输出过程中,此信号有效就执行减速停止或立即停止,在方式选择中,可设定减速停止或立即停止和逻辑电平。IN0~IN3用于立即停止或减速运动中的轴,这里接原点和各工位的光电开关输入信号。EMGN信号常用于紧急停车,低电平会立即停止所有输出。
(2) TaskMainMenu 主任务,系统的菜单、网络下载以及测试等都在此任务中完成,进入运动控制任务后此任务会被挂起。 (3) TaskContml 运动控制任务,负责编织过程中命令发送、运动芯片状态读取、IO口操作等控制。 (4)TaskErrorControl 异常处理任务,负责运动过程中的异常处理。 (5)TaskStatusControl 运动状态任务,负责运动过程中的状态显示以及参数设置。 (6)TaskKeyInt 按键处理任务,负责对键盘输入的接收。 (7)TaskNetHandle 网络任务,负责对网络数据包的处理。 (8)Taskstatus 系统状态任务,负责显示CPU利用率、编码器值等系统状态。 交叉编译环境的建立:在宿主机上安装arm―elf―tool工具包,建立基于ARM体系结构的编译器、链接器、调试器以及一些实用程序,编译UClinux内核、制作文件系统都需要依赖此交叉编译环境。 加载方式:UClinux的内核有两种运行方式,可以在Flash上直接运行;也可以加载到RAM 中运行。我们采用了boot-loader来执行设置开机寄存器的配置、内核与文件系统的加载以及传递硬件与启动参数给内核的方式加载UClinux内核。 配置、编译:在编译UClinux内核之前,首先要进行内核的系统类型、通用选项、块设备、文件系统、字符设备的选择和配置。最后用make zlmage命令生成压缩好的内核Zlmage。 UClinux的根文件系统的加载:系统内核启动成功之后便会试图加载根文件系统。UClinux采用的romfs根文件系统, romfs中需要保证基本目录和基本应用程序的存在,这样操作系统才能正常工作。 此外,还必须为各外部硬件设备编写UClinux的驱动程序,如IIC总线驱动、LCD驱动、打印机驱动等。UClinux的驱动程序结构和标准Linux驱动程序结构类似。大部分的标准Linux驱动都是采用模块化的方式,以支持动态加载/卸载的功能;而嵌入式系统都是针对具体应用的,一般不需要此功能,所以UClinux的驱动程序都是直接编译到内核中去的。
与MCX314进行数据交换主要通过以WR开头的8个写寄存器和以RR开头的8个读寄存器。MCX314既可以用16位数据总线访问,也可以用8位数据总线访问。当用8位数据总线访问时,需要使用A0、A1、A2和A3。系统初始化时皆应预先设施寄存器初始制。 通过32位逻辑、实时位置计数器和比较寄存器实现位置反馈和控制;通过中断端口向主控制器发出中断请求;提供32个输出端口和48个输入端口,这些端口的功能各具特色。 本系统中运动控制芯片主要用于对4个轴(X.Y.Z.U)进行控制,X轴初始化程序流程图如下所示。
参考文献: [1].马忠梅,马广云等.ARM嵌入式处理器结构与应用基础.北京:北京航空航天大学出版社,2002 [2].Samsung Electronics。CPU一S [3].李驹光 聂雪媛等.ARM应用系统开发详解-基于S [4].Linux与嵌入式系统,李善平等,清华大学出版社,2003. [5].[美]Hollabaugh C,陈雷,钟书毅等译.嵌入式linux―― 硬件、软件与接口.北京:电子工业出版社,2003 [6].叶佩青,汪劲松. MCX314运动控制芯片与数控系统设计. 北京航空航天大学出版社,2002 |