您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术一种基于ARM及FPGA的新型智能化航迹仪的设计 正文
一种基于ARM及FPGA的新型智能化航迹仪的设计

一种基于ARM及FPGA的新型智能化航迹仪的设计

点击数:7228 次   录入时间:03-04 11:47:04   整理:http://www.55dianzi.com   嵌入式系统-技术
    本部分中还包括海图坐标转换程序,其主要功能:主板接收装海图命令的同时,会读取CAN总线上由综导台发送的海图信息,包括海图类型(墨卡托或高斯海图)、大小、比例等。程序根据这些信息,将海图上的经纬度值折算成XY轴坐标,以便于底层的直线差补程序将XY坐标量转换成步进电机的走步脉冲数。
3.1.3 底层部分
    底层包括所有的画线、写标记符等绘笔执行动作的程序,及与硬件有关的I/O操作子程序、中断服务程序。下面介绍几个主要的程序。
   (1)直线差补程序
   线段是航迹仪绘制的基本图形,其他各种曲线都是以线段逼近的。设线段终点到起点坐标长度分量分别为Δx、Δy。令X、Y向步进电动机同时起动,同时停止,分别以均匀速度Vx、Vy运动。这样 ,即 。其中T代表电机运行时间,Vx、Vy分别为X、Y向电机速度,fx、fy分别为运转频率,k为步进电机脉冲当量。
 程序设计中,已知X、Y向的增量?驻x、?驻y,选增量大的方向的走步频率为最大走步频率f1=fM,另一方向频率即为f2=fM×Δy/Δx。已知两个方向的走步频率,由接口板计数器的初始频率12MHz可计算出X、Y向的分频值;已知的脉冲当量可求出X、Y向各自需要的走步脉冲数。将分频值、脉冲数及开始/停止等控制信息传送给接口板,使其产生相应频率的脉冲信号,以控制步进电机,即可实现航迹仪的直线差补功能。
    (2)CAN总线通讯任务模块
    设计中采用PHILIPS公司的CAN总线控制器SJA1000,CAN总线驱动器选用82C250。
    综导台将导航数据通过CAN总线发送给航迹仪。通讯模块主要实现对航迹仪数据报文接收、解析等。当有CAN报文到达,SJA1000产生中断释放信号量。设备工作任务中轮询等待信号量接收CAN报文。对接收的CAN报文,首先存入CAN接收数据结构,解析后读入航迹仪数据结构。CAN接收数据结构在接收CAN报文时临时分配。在报文解析过程中,接收的报文通常为BCD码,因此要将其还原为ASCII码。解析过程中,若出现格式错误,则置错误状态标志。
    (3)LCD屏显示及触摸程序
    本设计采用SHARP公司的144.78mm、LM057QC1T01型STN彩色液晶显示器,其显示格式为320像素(×3)×240行,即显示屏每行有320个像素点,共240行,每个像素点由RGB(红、绿、篮)三种颜色组成。
    LCD触摸屏程序主要分为显示任务FsceShow,触摸屏查询任务TouchCheck,触摸屏状态查询任务TouchStateCheck。TouchCheck入口函数Touch_check( )查询触摸屏中断,TouchStateCheckt( )查询触摸屏状态改变,FaceShow执行响应,显示图形。程序框图如图4所示。

                                 


    (4)位置补偿模块
    如前文所述,在步进电机运行完一次由运行到静止的过程后,把目标位置与从数字化板发送的实际位置做差比较得到的位置差量Δd作为一次操作补偿。其特点是在一次绘图过程中有两次电机的开始和停止,补偿速度慢,但所绘的是近似真实的图形。程序框图如图5所示。

                                            
3.2 XC2S50接口板部分的软件设计
    XC2S50接口板软件部分采用VHDL语言编写。编译后通过JTAG口烧写入配置芯片18V01中。软件部分主要包括顶层模块jkb_top、接口模块jiekou、脉冲发生模块pulse_generate、速度控制模块speed_CTR、脉冲计数模块counter、方波发生器counter32等。其结构框图如图6所示。

                  

                                                  

    在脉冲发生模块pulse_generate中,速度控制模块speed_ctr的主要功能是:通过查询发送、剩余脉冲数,计算出响应的速度控制级别(可分为4种模式),将速度控制信息传送给脉冲计数模块counter。两个脉冲计数模块counter分别控制X、Y两个步进电机的走步步数。它们分别以X、Y向驱动脉冲作为输入时钟信号,纪录两向脉冲数,发出使能信号以控制counter32,其原理如图7所示。两个方波发生模块counter32分别对X向、Y向步进电机驱动器输出方波,其输出波形的频率即为步进电机的走步频率,如图8所示。接口模块jiekou接收来自主板发送的X、Y向分频值、脉冲数数据信息,以及运行方向、开始终止、抬落笔、报警等控制信息,并将数据信息发送给pulse_generate模块,将控制信息发送给驱动板。所有的软件模块封装在顶层模块jkb_top中。

                                       

                                       


    新型智能化航迹仪设计,针对传统航迹仪系统的诸多问题,给出了有效的改造方案。改造方案降低了成本,增强了功能的针对性,节省了系统资源。数字化板的使用,为原开环系统增加了闭环反馈,提高了标绘精度。使用FPGA器件代替原CDT800接口板,保证系统的时事性与稳定性,提高了集成度。CAN总线通讯的采用,增大了信息的承载量,提高了实时性。LCD触摸显示屏的使用,增强了人机交互性。使用带有细分功能的电机驱动器,及对传统航迹仪步进电机部分的优化改造,降低了工作的振动与噪音,提高了工作稳定性。



上一页  [1] [2] 


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术