基于arm的嵌入式运动控制卡的制作方法

文档序号:6292815阅读:376来源:国知局
专利名称:基于arm的嵌入式运动控制卡的制作方法
技术领域
本发明涉及一种数控技术领域的运动控制卡,具体是一种基于ARM的嵌入式 运动控制卡。
技术背景在数控技术领域中,运动控制器是数字化控制的核心部件。运动控制器往往 采用"运动控制卡+PC"的结构,PC部分主要用于实现人机交互的功能,包括数 控编程输入、状态监控、手动控制等,针对不同的应用场合,可以选择采用普通 PC或者工业PC。而运动控制卡是运动控制的核心单元,它能够将预定的控制方 案指令转变成期望的机械运动,实现机械运动精确的位置、速度或者转矩控制。经过对现有技术的文献检索发现,李莉等在《计算机测量与控制》2007年 第15期上发表的"基于ARM和FPGA的机器人运动控制器的实现" 一文中,给出 了一种基于ARM处理器和FPGA (现场可编程门阵列)的嵌入式机器人运动控制 器架构,包括了以ARM芯片S3C44B0X作为运算芯片,连接FPGA芯片EP2C8硬件 译码,控制电机,并通过和S3C44B0X芯片连接的485串口进行通讯的运动控制 器。但该控制器有如下缺点(1)系统微处理器采用ARM7架构的处理器,速度 较慢。系统采用串口和外部进行通讯,速度较慢,传输距离有限,传输方式落后; (2)该系统配置存储器较小、Flash存储器12MB, SDRAM存储器32MB,如果软 件系统不断升级,不能适应发展需求;(3)系统采用yc-OS II操作系统,该操 作系统提供的用户API较少,可扩展性不强。发明内容本发明针对上述现有技术的不足,提供了一种基于ARM (先进精简指令运算 集芯片)的嵌入式运动控制卡,使其以ARM架构的芯片为核心,采用FPGA (现 场可编程门阵列)芯片进行硬件译码,并采用双端口通讯模块和上位机进行通讯。 本发明低功耗,多接口,强运算能力,低成本。本发明通过如下技术方案实现的,本发明包括主控制模块、FPGA模块(现场可编程门阵列模块)、存储器模块、看门狗及复位系统模块、扩展接口模块、 系统时钟模块、GPIO模块(通用输入输出模块)、JTAG (联合测试行动小组标准) 接口模块、双端口通讯模块、DA模块(数模转换模块)、AD模块(模数转换模块)、 电源模块、输入输出信号接口模块,其中-主控制模块为ARM微控制器,负责对存储器模块、GPIO模块进行访问控制, 以及对双端口通讯模块、JTAG模块、输入输出信号接口模块、扩展接口模块传 输给主控制模块的中断信号进行响应;主控制模块将数据传输进入FPGA模块, 同时也将控制信息传入FPGA模块;FPGA模块根据其内部的逻辑运算功能按照主控制模块的控制信息将输入的 数据发送往双端口通讯模块、DA模块、AD模块、GPI0模块、JTAG接口模块中; 由于FPGA模块外围接口多,扩展了硬件可分配地址,FPGA模块和主控制模块共 同构成了整个系统的中心部分;看门狗及复位模块负责监测主控制模块是否锁死,在主控制模块出现故障时 控制电源模块短暂停止向主控制模块供电,实现主控制模块的重启;JTAG接口模块通过FPGA模块实时读取主控制模块的数据信息,在开发时实 现软件系统的在线调试以及单步运行等功能;扩展接口模块获取外部信息(客户程序、设置参数、网络硬盘数据),并将 外部信息传输给主控制模块;系统时钟模块负责向主控制模块提供晶振;GPIO模块负责将FPGA模块的数据锁存输出至输入输出信号接口模块,同时 负责将外部开关量和伺服信号锁存输入FGPA模块;DA模块将FPGA模块传输的数字量信号转换后变为模拟量信号,并传输给输 入输出接口模块;AD模块将输入输出接口模块输入的外部模拟量信号转换为数字量信号,并 传输进入FPGA模块;输入输出信号接口模块将M模块、GPIO模块输出的信号进行放大后输出给 外部伺服驱动器及PLC (可编程逻辑控制器)控制电路,并将外部开关量信号和 伺服反馈信号以及外部模拟量信号进行预先处理后通过AD模块传输给FPGA模 块;6电源模块向主控制模块供电,并通过主控制模块供电给其他模块。 所述存储器模块包括FLASH存储器(闪存存储器)、SDRAM存储器(同步动 态存储器)、NVRAM存储器(非挥发性随机存储器),其中FLASH存储器用于存 储系统程序,NVRAM存储器用于存储系统配置文件、SDRAM存储器用于程序的运 行。所述扩展接口模块,包括串口模块、USB接口模块、网络接口模块,其中 串口模块负责串口通讯,将外部串口信号处理后传输给FPGA模块;USB接口模块负责和外界的USB通讯,按照USB协议将外部信息传输给FPGA 模块;网络接口模块实现和外部以太网的连接,按照网络协议将外部信息传输给 FPGA模块。本发明工作时,双端口通讯模块从上位机读取运动控制指令,通过FPGA模 块传输进入主控制模块进行运动控制相关的插补计算处理,得到运动进给数据, 将该数据通过FPGA模块传输进入DA模块,得到的模拟量信号由输入输出接口模 块输出进入伺服驱动器,控制伺服驱动器工作;伺服驱动器工作时,外部伺服驱 动器位置检测信号反馈信号再由输入输出接口模块传输进入GPIO模块,并最终 传输进入主控制模块,主控制模块按照反馈信息进行运动位置修正、运动限位判 断等处理,同时主控制模块中的根据反馈信息得到的实时运动信息(运动轨迹、 速度、加速度等)经由FPGA模块传输进入双端口通讯模块,再传输到上位机反 馈给用户。当外部有模拟量信号时协同控制运动状态时,AD模块将该信号转化 为数字量信号,并通过FPGA模块送入主控制模块,主控制模块根据该信号进行 运动参数的调整处理。在上述过程中,主控制模块负责和上位机交互信息、负责 插补运算,得出运动进给量、负责根据反馈信息的运动修正等;FPGA模块是大 部分模块和主控制模块信息交互的中转平台,数据均通过FPGA模块进(出)主 控制模块。本发明和现有技术相比,具有如下优点 (1)本发明是采用ARM内核微处理器作为核心部件,ARM处理器具有体积 小、功耗小、成本低、速度快等优点,其提供的标准接口种类丰富,使得整个装 置能够满足高速高精度运动控制的要求,增强了系统的实时性,同时减少了元器件数目,使得元器件使用数目减少90%;縮小了体积,使得板卡体积縮小了三倍, 提高了系统的稳定性,使得该发明可以应用于各种嵌入式场合。(2)本发明采用FPGA模块对硬件地址进行译码规划,保证了硬件地址的充 足,解决了以往一些运动控制卡硬件可分配地址少的问题,使得运动控制卡可以 不断进行扩展。FPGA模块的使用也大大地减少了逻辑电路的设计量,减少了电 路中60%以上的逻辑电路模块,减少了其它芯片的使用,使成本降低了50%以上, 稳定性得到增加。


图l为本发明的系统结构框图;图2为本发明的双端口通讯模块框图;图3为本发明的DA模块框图;图4为本发明的GPIO模块框图;图5为本发明的输入输出信号接口模块框图;图6为本发明的运动控制流程图。
具体实施方式
下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护 范围不限于下述的实施例。如图1所示,本实施例包括主控制模块、FPGA模块、存储器模块、看门 狗及复位模块、扩展接口模块、系统时钟模块、GPIO模块、JTAG接口模块、双 端口通讯模块、DA模块、AD模块、电源模块、输入输出信号接口模块,其中主控制模块分别与FPGA模块、扩展接口模块、存储器模块、看门狗及复位 系统模块、电源模块相连,FPGA模块分别与系统时钟模块、GPI0模块、JTAG接 口模块、双端口通讯模块、DA模块、AD模块相连,双端口通讯模块通过PC104 总线模块和上位机相连,负责主控制模块和上位机之间的通讯;DA模块、AD模 块、GPIO模块中的输入输出信号通过输入输出信号接口模块和外部伺服驱动器 及开关相连。主控制模块为ARM微控制器,采用ATMEL公司的AT91RM9200芯片,负责对 存储器模块、GPIO模块进行访问控制,以及对双端口通讯模块、JTAG模块、输入输出信号接口模块、扩展接口模块传输给主控制模块的中断信号进行响应;以 及系统在软件调度下,实时计算运动数据;同时主控制模块将数据传输进入FPGA 模块,同时也将控制信息传入FPGA模块;FPGA模块中的FPGA芯片为Altera公司的EP1K30芯片,根据其内部的逻辑运算功能按照主控制模块的控制信息将输入的数据发送往双端口通讯模块、DA 模块、AD模块、GPI0模块、JTAG接口模块中;同时FPGA模块外围接口多,扩 展了硬件可分配地址,FPGA模块和主控制模块共同构成了整个系统的中心部分; 看门狗及复位模块和电源模块相连,并负责监测主控制模块是否锁死,在主 控制模块出现故障时控制电源模块短暂停止向主控制模块供电,实现主控制模块 的重启;JTAG接口模块通过FPGA模块实时读取主控制模块的数据信息,在开发时实 现软件系统的在线调试以及单步运行等功能。GPIO模块为通用输入输出模块,负责将FPGA模块的数据锁存输出至输入输 出信号接口模块,同时负责将外部开关量和伺服信号锁存输入FGPA模块;M模块将FPGA模块传输的数字量信号转换后变为模拟量信号,并传输给输 入输出接口模块;AD模块其中的AD转换芯片为AD7862-IO型芯片,将输入输出接口模块输入 的外部模拟量信号转换为数字量信号,并传输进入FPGA模块,AD模块将模拟量 转换为12位的有效数字量,支持两路AD同时转换。输入输出信号接口模块将DA模块、GPIO模块输出的信号进行放大后输出给 外部伺服驱动器及状态显示,并将外部开关量信号和伺服反馈信号以及外部模拟 量信号进行预先处理后通过AD模块传输给FPGA模块。电源模块向主控制模块供电,并通过主控制模块供电给其他模块,电源模块 提供三种直流电压为"十5V"、 "+12V"和"-12V",以及一个地电源"GND",电源 模块将对电压进行滤波后供给各个模块。所述存储器模块用存储运动控制卡的数据,并由主控制模块进行数据的读写 操作,包括Flash存储器、SDRAM存储器、NVRAM存储器,其中Flash存储器 用于存放操作系统和应用程序等,Flash存储器采用AT49BV6416芯片,该芯片 具有64M存储空间,可以放置完整的Li皿x内核以及应用程序;SDRAM存储器作为内存使用,具体型号是HY57V571620,存储其大小为16M; NVRAM存储器采用 型号为UL635H256的芯片,主要用于存储系统配置文件等。所述系统时钟模块,负责向主控制模块提供晶振,为一块32.768k石英晶振 器,和ARM芯片的外部时钟接口连接,提供主控制模块的晶振信号。如图2所示,所述双端口通讯模块,为一通讯芯片,通讯芯片采用IDT7024 芯片。该通讯芯片有两个标示器分别称为左侧标示器和右侧标示器,为通讯双方 提供标示作用。通讯芯片负责主控制模块控制的FPGA模块和上位机之间的通讯, 其通讯方式具体如下通讯采用标示器逻辑方式进行,如果主控制模块要向通讯 芯片读写数据,则通过FPGA模块向左侧标示器进行申请,则主控制模块通过FPGA 模块和双端口模块通讯芯片进行数据流的交互、同时锁定右侧标示器,使得右侧 不能进行上位机和双端口模块通讯芯片之间数据流的交互,保证双端口通讯模块 中的数据不发生混乱。当数据流和信号量交互完成后,左侧的标示器还需要将右 侧信号灯的锁定解锁,防止发生锁死的现象。如果右侧上位机希望通过总线向双 端口模块通讯芯片读写数据,则同样的需要通过右侧的标示器进行申请。上位机 和双端口模块通讯芯片之间的数据流和信号量传输通过PC104总线进行传输。双端口通讯模块的通讯方式保证了运动控制卡和上位机系统的高效准确通讯。如图3所示,所述DA模块,包括DA转换芯片和运算放大器,DA转换芯片 采用TLV5630芯片,将数字量信号转换为0-2.5v的模拟量信号,支持最多8路 模拟量信号通道输出;数字量输入信号由FPGA模块进入DA转换芯片后按照通道 输出,每两路通道进入同一个运算放大器,运算放大器其型号为MC33179。经过 电压放大后,实现-IOV至10V的模拟量输出,模拟量最多支持8路同时输出, 可以控制八个伺服驱动器。如图4所示,所述GPIO模块,包括4个输入数据锁存器以及4个输出数据 锁存器,负责处理运动控制中主要的开关量信号,包括伺服驱动的起停、限位、 正转反转、减速、回零等信号。总线数据是16位的,而每八个开关量信号由一 个输出数据锁存器输出, 一位为代表一个开关信号量。输出数据锁存器采用 74HC377六上升沿D型触发器,输出数据锁存器均是8位的,两个输出数据锁存 器为一组,恰好对应总线中的16位数据,通过地址线中的片选信号进行选通输 出。同样的,输入数据锁存器采用74HC244八路三态缓冲驱动,对应每组数据输入用两个输入数据锁存器一组。通过地址线中的片选信号进行选通输出。这样可 以扩展出两路输入总线信号和两路输出总线信号,总计32个输入和32个输出信 号。如图5所示,所述输入输出接口模块,主要包括驱动放大器LM1413、驱动 比较器LM139、光耦、高速光耦,将AD模块、DA模块、GPIO模块传输来的信号 按功能分为普通输出信号、高速输出信号、普通输入信号、高速输入信号、轴编 码器信号,其中普通信号为慢速信号,不要求系统高速响应;高速信号需要系统 快速响应。普通输出信号经过光耦隔离,再接入驱动放大器,经信号放大输出, 高速输出信号和普通输出信号的不同之处是它采用高速光耦隔离,速度更快。外 部输入信号要进入运动控制卡,也需要本模块进行光耦隔离,其中普通输入信号 经过光耦隔离,高速输入信号经过高速光耦隔离,轴光栅编码器信号反馈后,经 过驱动比较器的转换,转化为运动控制卡内部轴编码器信号。如图6所示,本实施例工作时,上位机将运动信息通过PC104总线传输进入 双端口通讯模块,运动控制卡由FPGA模块从双端口通讯模块读取信息,传输给 主控制模块进行处理,得到控制伺服驱动的数字信号,再通过FPGA模块发送给 DA模块转换为模拟量信号,经由输入输出信号接口模块,控制伺服驱动器。伺 服驱动器有反馈信号,反馈信号通过输入输出信号接口模块,再转入GPIO模块 锁存后输入FPGA模块,由FPGA模块送回主控制模块,主控制模块根据该反馈信 号进行下一步的控制,同时主控制模块将反馈得到的实际运动信息由双端口通讯 模块传送给上位机,让用户了解运动实时情况。本实施例在实际应用时,只需要将其和工业PC通过双端口 RAM通讯方式连 接,运行控制应用程序,同时在工业PC机上编制相应的人机界面交互程序,就 可以通过上位机界面实现运动控制功能。本实施例增强了系统的实时性,同时减 少了元器件数目,使得元器件使用数目减少90%;縮小了体积,使得板卡体积縮 小了三倍,提高了系统的稳定性,使得该本实施例可以应用于各种嵌入式场合。
权利要求
1、一种基于ARM的嵌入式运动控制卡,包括主控制模块、FPGA模块,存储器模块,其特征在于,还包括看门狗及复位系统模块、扩展接口模块、系统时钟模块、GPIO模块、JTAG接口模块、双端口通讯模块、DA模块、AD模块、电源模块、输入输出信号接口模块,其中主控制模块为ARM微控制器,负责对存储器模块、GPIO模块进行访问控制,以及对双端口通讯模块、JTAG模块、输入输出信号接口模块、扩展接口模块传输给主控制模块的中断信号进行响应;主控制模块将数据传输进入FPGA模块,同时也将控制信息传入FPGA模块;FPGA模块根据其内部的逻辑运算功能按照主控制模块的控制信息将输入的数据发送往双端口通讯模块、DA模块、AD模块、GPIO模块、JTAG接口模块中;同时FPGA模块外围接口多,扩展了硬件可分配地址,FPGA模块和主控制模块共同构成了整个系统的中心部分;看门狗及复位模块负责监测主控制模块是否锁死,在主控制模块出现故障时控制电源模块短暂停止向主控制模块供电,实现主控制模块的重启;JTAG接口模块通过FPGA模块实时读取主控制模块的数据信息,在开发时实现软件系统的在线调试以及单步运行;扩展接口模块获取外部信息,并将外部信息传输给主控制模块;系统时钟模块负责向主控制模块提供晶振;GPIO模块负责将FPGA模块的数据锁存输出至输入输出信号接口模块,同时负责将外部开关量和伺服信号锁存输入FGPA模块;DA模块将FPGA模块传输的数字量信号转换后变为模拟量信号,并传输给输入输出接口模块;AD模块将输入输出接口模块输入的外部模拟量信号转换为数字量信号,并传输进入FPGA模块;输入输出信号接口模块将DA模块、GPIO模块输出的信号进行放大后输出给外部伺服驱动器及状态显示,并将外部开关量信号和伺服反馈信号以及外部模拟量信号进行预先处理后通过AD模块传输给FPGA模块。
2、 根据权利要求1所述的基于ARM的嵌入式运动控制卡,其特征是,所述 存储器模块包括FLASH存储器、SDRAM存储器、NVRAM存储器,其中FLASH存 储器用于存储系统程序,NVRAM存储器用于存储系统配置文件,SDRAM存储器用 于程序的运行。
3、 根据权利要求1所述的基于ARM的嵌入式运动控制卡,其特征是,所述 扩展接口模块获取外部信息,并将外部信息传输给主控制模块,包括串口模块、 USB接口模块、网络接口模块,其中串口模块负责串口通讯,将外部串口信号处理后传输给FPGA模块; USB接口模块负责和外界的USB通讯,按照USB协议将外部信息传输给FPGA 模块;网络接口模块实现和外部以太网的连接,按照网络协议将外部信息传输给 FPGA模块。
4、 根据权利要求1所述的基于ARM的嵌入式运动控制卡,其特征是,所述 GPI0模块,包括4个输入数据锁存器以及4个输出数据锁存器,负责处理运动 控制中主要的开关量信号,总线数据是16位的,而每八个开关量信号由一个输 出数据锁存器输出, 一位为代表一个开关信号量,输出数据锁存器采用74HC377 六上升沿D型触发器,输出数据锁存器均为8位,两个输出数据锁存器为一组, 对应总线中的16位数据,通过地址线中的片选信号进行选通输出;输入数据锁 存器采用74HC244八路三态缓冲驱动,对应每组数据输入用两个输入数据锁存器 一组,通过地址线中的片选信号进行选通输出,扩展出两路输入总线信号和两路 输出总线信号,总计32个输入和32个输出信号。
5、 根据权利要求1所述的基于ARM的嵌入式运动控制卡,其特征是,所述 所述主控制模块,为ATMEL公司的AT91RM9200芯片。
6、 根据权利要求1所述的基于ARM的嵌入式运动控制卡,其特征是,所述 FPGA模块,为Altera公司的EP1K30芯片。
7、 根据权利要求1所述的基于ARM的嵌入式运动控制卡,其特征是,所述 系统时钟模块,为一块32.768k石英晶振器,和ARM微处理器的外部时钟接口连 接。
8、 根据权利要求1所述的基于ARM的嵌入式运动控制卡,其特征是,所述双端口通讯模块,为一通讯芯片,负责主控制模块模块和上位机的通讯,通讯芯 片有两个标示器分别为左侧标示器和右侧标示器,通讯时,如果主控制模块要向 通讯芯片读写数据,则通过FPGA模块向左侧标示器进行申请,则主控制模块通 过FPGA模块和双端口模块通讯芯片进行数据流的交互,同时锁定右侧标示器, 使得右侧不能进行上位机和双端口模块通讯芯片之间数据流的交互,保证双端口 通讯模块中的'数据不发生混乱,当数据流和信号量交互完成后,左侧的标示器还 需要将右侧信号灯的锁定解锁,防止发生锁死的现象;如果右侧上位机希望通过 总线向双端口模块通讯芯片读写数据,则同样的需要通过右侧的标示器进行申 请。
全文摘要
一种运动控制卡设计技术领域的基于ARM芯片的嵌入式运动控制卡,本发明中,主控制模块分别与FPGA模块、扩展接口模块、存储器模块、看门狗及复位系统模块、电源模块相连,FPGA模块分别与系统时钟模块、GPIO模块、JTAG接口模块、双端口通讯模块、DA模块、AD模块相连,双端口通讯模块通过PC104总线模块和上位机相连,负责主控制模块和上位机之间的通讯;DA模块、AD模块、GPIO模块中的输入输出信号通过输入输出信号接口模块和外部伺服驱动器及开关等相连;本发明是采用ARM微处理器作为核心部件,实现高速高精度运动控制,同时减少了元器件数目,缩小了体积,同时采用FPGA模块对硬件地址进行译码规划。
文档编号G05B19/414GK101261512SQ200810036150
公开日2008年9月10日 申请日期2008年4月17日 优先权日2008年4月17日
发明者放 刘, 磊 罗, 俊 胡, 邱明勇 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1