2.2 S3C44B0X主板
传统的航迹仪采用嵌入式PC/104模块为核心控制系统。系统的接口、控制、传动等部分采用分立式设计,占用的空间较大,且价格昂贵。因此在改进设计中使用基于Samsung公司生产的ARM处理器S3C44B0X芯片。由于使用基于芯片开发的主板提高设计开发的灵活性,为本系统所专用,因此所用接口、外设均为自主设计的电路,节省了不必要的开销。这种设计提高了系统的响应速度,降低了成本。另外,S3C44B0X自带LCD控制器,能够保证改进设计中触摸屏显示部分的顺利实现。
S3C44B0X主板主要包括CPU模块及其辅助电路、存储器系统模块、通信模块、系统调试模块、人机接口模块及扩展总线部分。
主板外接CAN总线控制器及总线驱动器等设备,接收CAN总线上由综合导航显控台发送的实时位置、航向信息;通过人机接口接收到的触摸屏发送的控制信息,经处理后将控制命令(主要是控制脉冲频率、脉冲个数、开始停止等命令)通过扩展I/O口发送给接口板,另外,将显示信息发送给LCD触摸显示屏。
2.3 XC2S50接口板
传统航迹仪使用接口板CDT800,其中包括 Am9513计数器与μPD71055I/O接口。CDT800为成品接口板,其计数器Am9513相关资料相对有限,且动态初始化要求严格,在实际应用过程中,对系统资源的占用过大,严重影响系统的实时性。在改进设计中,采用基于Xilinx公司生产的FPGA元件XC2S50的接口板。这种设计提高了系统的集成化,保证了实时性,使得硬件的设计开发更加简便。
XC2S50接口板包括FPGA芯片XC2S50、配置芯片18V01、输出驱动芯片SN74LS244及外部接口电路。其原理图见图2。
接口板的主要功能是:接收S3C44B0X主板通过数据总线发送的数据命令信息(包括:X、Y方向的分频值、脉冲个数、运行方向,以及开始/终止运行、抬落笔、报警等),经FPGA芯片XC2S50处理后,转化为相应频率的脉冲信号;再经输出驱动芯片SN74LS244,通过接口HJY传递给X、Y向的步进电机驱动器。运行程序通过JTAG口或DOWNLOAD口烧写入配置芯片18V01中。
2.4 步进电机及其驱动器
对于航迹仪系统,标绘精度是极其重要的一项技术指标,而电机及传动机构的精度则对其产生直接影响。
航迹仪控制系统对快速性及定位精度均有很高的要求。考虑到系统是针对数字量及位移的控制系统,因此选用步进电机作为其执行元件。步进电机是一种将电脉冲转换成相应角位移的电机元件,当外加一个脉冲信号于电机的控制装置时,其转轴就转过一个固定的角度(步距角),即前进了一步。
系统要求绘笔绘制大量细小折线,这就要求电机工作在低频区且需要频繁地执行起动、停止、调速等操作。因此步进电机极易出现低频振荡,产生工作噪音,影响绘笔的稳定性及标绘精度。因此,改进方案采用了先进的细分驱动器,大大降低了低频振荡。
本设计选用RORZE公司生产的5相混合式步进电机M56853D及相应的5相细分步步进电机驱动器RD-0534M。
步进电机M56853D各技术参数:
最大静转矩Mk=8.0kg·cm;电流I=3.5A/相;转子转动惯量Jr=0.240g·cm·S2;步距角(整步时)θb= = 0.72°;容许径向负载10.5kg;容许轴向负载1.5kg;转子齿数Zr=100。
细分驱动器RD-0534M各技术参数:
供电电压 DC18V~40V;细分数选用m=80;最大响应频率fMAX=500kpps,则可获得最大转速nMAX=60000/m=750r/min
改进后航迹仪系统电机步距角变为原系统的1/80,步距分辨率及控制脉冲频率均得到提高。提高后的控制脉冲频率大大超过了自由振动频率f0,从而避免了系统的低频振荡。
2.5 电磁感应式数字化板
传统的航迹仪为开环系统,无检测反馈装置。改进设计中增添了数字化板。这一反馈模块,构成了一套完整的闭环控制系统,增强了稳定性,降低了误差。
数字化板的工作原理:在标绘仪的绘图平板上布上导线形成格栅,把电磁发射线圈安装到绘笔上,此时把线圈圆心和绘笔圆心标定在同一直线上;绘笔在平板上绘图,而线圈不断发射磁场脉冲,导线切割磁场产生感应电流,通过接收电路和信号处理电路得到绘笔在绘图平台上的相对位置(绘笔位置)。把电磁感应定位得到的位置作为绘笔当前真实位置,此位置通过UART口反馈给S3C44B0X控制器。目标位置与该位置进行比较,得到需要的位置差量,计算后作出响应的位置补偿调整。数字化板工作原理如图3所示。
3 航迹仪系统的软件设计
3.1 S3C44B0X主板部分的软件设计
操作系统是控制和管理计算机软硬件资源、合理组织计算机工作流程、方便用户的程序集合。航迹仪功能的完成,很大程度上取决于操作系统软件平台的选择和应用程序的编制。在航迹仪的设计中,软件平台选用基于Tonardo集成开发环境的实时操作系统VxWorks,应用程序则采用VxWorks支持的标准C语言编制。
主板软件系统主要由主程序、命令解释部分、底层部分组成。其中,主程序到命令解释部分的调用通过函数shibie( )进行;命令解释部分到底层部分的调用通过函数zxcb( )进行。
3.1.1 主程序
主程序主要对综导台命令和触摸屏命令进行管理、调度。程序执行过程中查询随机命令数和推位命令数这两个变量。变量小于等于零时,没有综导台命令,程序查询触摸屏有无按下及键值,执行响应操作。当两个变量大于零,说明有了综导台命令,就会自动进入跟踪状态。在跟踪状态,不响应触摸屏命令,控制程序只查询有无随机命令及推位命令,转入响应的命令解释程序。
3.1.2 命令解释部分
命令解释部分主要功能:通过函数shibie( )对每一条命令进行识别及格式检查。对于随机命令和推位命令,每从CAN总线上接收一条命令,相应的命令条数加1。每执行完一条,相应的命令条数减1,同时指向下一条。只要这两个变量不为零,就说明有综导台命令未处理。通过检查随机命令数和推位命令数,即可按先后次序顺次执行所有命令。
本文关键字:暂无联系方式嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术