一种基于fpga的海图标绘台驱动模块的制作方法

文档序号:8361381阅读:211来源:国知局
一种基于fpga的海图标绘台驱动模块的制作方法
【技术领域】
[0001] 本发明涉及的是一种嵌入式电机驱动模块,特别涉及一种基于FPGA的海图标绘 台驱动模块。
【背景技术】
[0002] 近几年,随着航海技术的发展以及远洋需求的增加,人们对于舰船导航系统提出 了更高的要求。海图标绘台作为现代舰船导航系统的配套设备,采用了全数字化的标绘技 术,实现了纸质海图的数字化标绘,它可以准确拾取海图经纬度完成方位解算,可以实现本 舰和目标的跟踪,标绘并实时显示导航信息,此外其可以制订航行计划。经过几代产品的改 进,现有产品的智能化程度标绘精度已经很高,工作的稳定性以及实时性比较好。
[0003] 但在实际使用中发现,作为海图标绘台的重要组成部件的航迹标绘模块有待改 进。现有模块可以通过串口接收组合导航系统发来的信息,根据计算机解算得到的导航信 息,在不同比例的海图上绘制航迹和航海标志,还可以制订航行计划。它的优劣关乎着整个 导航系统的性能,因此设计一个更加高效可靠的航迹标绘模块是非常有必要的。

【发明内容】

[0004] 本发明的目的是针对标绘台的缺点,提出改进方案并且给出具体设计的软硬件部 分。
[0005] 本发明的目的是这样实现的:
[0006] 本发明选用FPGA板卡代替传统的CDT800定时计数卡,其可以作为独立模块采用 硬件方式产生脉冲序列和传输控制命令,避免了频繁的中断响应,节约了主机的CPU资源, FPGA板卡主要由FPGA最小系统、PC/104总线连接器、输入输出单元、电平转换电路以及基 地址设置模块组成。
[0007] 在标绘台系统中,通常需要加快标绘的速度,即提高步进电机的频率。但由于电机 的响应频率较低,一味地提高速度,很容易出现丢步以及堵转现象。为此本发明中FPGA板 卡得到步数后,判断它是否大于采用变速控制方法的最小步数,若小于,则以某一恒定频率 运行指定步数,否则进行变速控制。首先根据读入的最快频率以及系统参数,解算出每一步 的频率并转换成分频值存入RAM中,先进行加速运动,每走一步读入新的分频值,当所有加 速脉冲完成后,开始以最高频率执行恒速运动,应走的步数等于总的步数减去加减速过程 走的步数,当这一过程执行完后,电机开始减速运动,直到走完输入的步数后停止。
[0008] 标绘台的主程序是在嵌入式VxWorks操作系统下采用C语言编写的,主要包括三 大功能:外部通信、显示控制、航迹标绘。程序设计采用分层结构,顶层是监控模块,中间层 是命令识别模块,底层是公共模块和中断处理模块,公共模块包括画线、写字、I/O操作。层 与层之间通过函数调用来联系,顶层与中间层通过shibieO函数联系,中间层和底层通过 zxcbO函数联系。shibieO函数主要用来判断读入的是哪一类命令,然后调用具体的功能 模块;zxcbO函数主要用来调用走笔函数,再通过中断实现对的电机控制。设计中定义了 cnum和ynum两个函数用来记录随机命令和推位命令条数,设计BufTerl和Buffer2两个缓 冲区来存放两类命令。
[0009] 主程序执行时,初始化各个模块,顶层监控模块工作,先判断是否有随机命令,即 cnum>0,如果有则读出一条命令然后调用shibieO函数判断具体的命令类型;如果没有则 判断是否有推位命令,即ymim>0,如果有同样读取命令并调用shibie()函数;如果没有则 判断是否处于跟踪状态,如果不是则检测键盘命令并执行,如果是则返回检测cnum。
【附图说明】
[0010] 图1为本发明的控制系统结构图;
[0011] 图2为本发明的主程序功能模块。
【具体实施方式】
[0012] 下面结合附图举例对本发明做更详细地描述:
[0013] 结合图1,图1为本发明的控制系统结构图。本发明选用FPGA板卡代替传统的 CDT800定时计数卡,其可以作为独立模块采用硬件方式产生脉冲序列和传输控制命令,避 免了频繁的中断响应,节约了主机的CPU资源,FPGA板卡主要由FPGA最小系统、PC/104总 线连接器、输入输出单元、电平转换电路以及基地址设置模块组成。
[0014]I、FPGA板卡接口说明:
[0015] 输出端口:
[0016] (I)X向脉冲:XCP+ (正向)、XCP_ (反向);
[0017](2)Y向脉冲:YCP+ (正向)、YCP…_ (反向);
[0018] (3)报警信号:ALARM;
[0019] (4)抬落笔控制信号:PEN。
[0020] 输入端口:
[0021] (I)X向零点;
[0022] (2)Y向零点。
[0023] 2、FPGA板卡主要功能:
[0024] (1)实现与PC/104总线通信,能够收发数据;
[0025] (2)可输出不同方向的匀速脉冲和变速脉冲;
[0026] (3)实现对脉冲速度和个数的控制;
[0027] (4)可接收零点检测信号;
[0028] (5)能够控制蜂鸣器和绘笔。
[0029] 结合图2,图2为本发明的主程序功能模块。程序设计采用分层结构,顶层是监控 模块,中间层是命令识别模块,底层是公共模块和中断处理模块,公共模块包括画线、写字、 I/O操作。层与层之间通过函数调用来联系,顶层与中间层通过shibieO函数联系,中间层 和底层通过zxcbO函数联系。shibieO函数主要用来判断读入的是哪一类命令,然后调 用具体的功能模块;zxcbO函数主要用来调用走笔函数,再通过中断实现对的电机控制。 设计中定义了cnum和ynum两个函数用来记录随机命令和推位命令条数,设计Bufferl和 Buffer2两个缓冲区来存放两类命令。
[0030] 主程序执行时,初始化各个模块,顶层监控模块工作,先判断是否有随机命令,即cnum>0,如果有则读出一条命令然后调用shibieO函数判断具体的命令类型;如果没有则 判断是否有推位命令,即ymim>0,如果有同样读取命令并调用shibie()函数;如果没有则 判断是否处于跟踪状态,如果不是则检测键盘命令并执行,如果是则返回检测cnum。系统主 要包含的命令函数有实时航迹跟踪、日期时间图号标绘、海图装订、修海图、航行计划、航迹 标绘、位置网图、海图变形修正、回转半径测量、串口键盘操作。每一个命令函数的执行流程 是相似的。为了保证系统稳定工作,命令经过严格定义,如果出错将不执行。每执行一个随 机命令或推位命令,相应的cnum或ynum减1。
【主权项】
1. 一种基于FPGA的海图标绘台驱动模块,其特征是本发明选用FPGA板卡代替传统的 CDT800定时计数卡,其可W作为独立模块采用硬件方式产生脉冲序列和传输控制命令,避 免了频繁的中断响应,节约了主机的CPU资源,FPGA板卡主要由FPGA最小系统、PC/104总 线连接器、输入输出单元、电平转换电路W及基地址设置模块组成。
2. 根据权利要求1所述的一种基于FPGA的海图标绘台驱动模块,其特征是在标绘台系 统中,通常需要加快标绘的速度,即提高步进电机的频率。
3. 根据权利要求2所述的基于FPGA的海图标绘台驱动模块,其特征是标绘台的主程序 是在嵌入式VxWorks操作系统下采用C语言编写的,主要包括H大功能:外部通信、显示控 制、航迹标绘。
【专利摘要】一种基于FPGA的海图标绘台驱动模块,其特征是本发明选用FPGA板卡代替传统的CDT800定时计数卡,其可以作为独立模块采用硬件方式产生脉冲序列和传输控制命令,避免了频繁的中断响应,节约了主机的CPU资源,FPGA板卡主要由FPGA最小系统、PC/104总线连接器、输入输出单元、电平转换电路以及基地址设置模块组成。节约了主机的CPU资源,FPGA板卡主要由FPGA最小系统、PC/104总线连接器、输入输出单元、电平转换电路以及基地址设置模块组成。程序设计采用分层结构,顶层是监控模块,中间层是命令识别模块,底层是公共模块和中断处理模块,公共模块包括画线、写字、I/O操作。层与层之间通过函数调用来联系,通过函数来判断读入的是哪一类命令,然后调用具体的功能模块,记录随机命令和推位命令条数,设计两个缓冲区来存放两类命令。
【IPC分类】G06F13-24, G01C21-00
【公开号】CN104679686
【申请号】CN201310626204
【发明人】韩雪
【申请人】哈尔滨功成科技创业投资有限公司
【公开日】2015年6月3日
【申请日】2013年11月29日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1