页面加载中,请稍候
来源:电子设计工程发布时间:2014-01-2031浏览
询问 AI摘要:运用低功耗COrtex—M3微控制器STM32F103VBT6和FPGA芯片设计一种基于CAN总线的运动控制器。介绍系统的体系结构、主要硬件设计和软件结构。利用FPGA高速处理能力实现控制算法,与外界通信采用STM32和CAN总线技术,系统稳定可靠,另外,将设计好的FPGA程序或是C程序进行封装,系统的可移植性强。
关键词:STM32;FPGA;CAN总线;运动控制
如今,运动控制正朝着高速度、高精度、开放式的方向发展,从而对执行部件提出了更高的要求。过去的运动控制器主要是基于单片机或者PLC加上分立数字电路设计,受制于器件本身的性能,导致电路执行速度慢、体积庞大、集成程度低,升级难度大。而采用微处理器、DSP、FPGA等现代手段构成的只能控制系统是新一代运动控制发展的方向。本文对基于FPGA的嵌入式运动控制器进行了研究,并应用了CAN总线,使硬件接口简单、实时性强、灵活度高,有很强的实用价值。
1 总体方案设计策略
本系统以意法半导体体公司生产的基于Cortex—M3处理器STM32F103VBT6芯片核心进行通信、数据的存储以及键盘扫描和LCD显示,它集成了CAN、SPI、USB、USART控制器,满足系统的设计要求,简化的系统的实现过程,丰富的函数库大大缩短了用户的开发周期。而FPGA作为系统主要的执行机构,利用其高速性进行算法实现、速度控制和位置控制,系统的整体构造如图1所示。
2 运动控制器的功能模块设计
为了满足整个系统的运转,运动控制主要由通信和数据处理两部分构成,通信和数据存储由STM32负责进行,出于数据运算的复杂性和实时性,FPGA处理算法的实现。本设计相对庞大,模块不一一介绍。
2.1 CAN通信模块的设计
2.1.1 硬件设计
bxCAN是STM32内置的CAN控制器,支持2.0A和2.0B CAN协议,波特率最高可达可达到1 Mbit/s,包含3个发送邮箱,3级深度的2个接收FIFO,14个可变位宽的过滤器组,支持时间触发通信模式,它的设计目标是以最小的CPU负荷来高效处理大量收到的报文,它也支持报文发送的优先级要求(优先级特性可软件配置)。CAN硬件设计如图2所示。
以CTM8251作为收发芯片,它不仅能完成收发功能,还具有DC2500V的隔离功能,使系统与外界隔离开来,简化了CAN外围的硬件设计,提高了系统的性价比,图中120 Ω的电阻为可选用的终端匹配电阻,假如网络中已经存在一对匹配电阻,则该电阻可以不使用,其中B82790是个共模扼流线圈,作用是抑制共模干扰平衡差分信号的传输;本设计中采用比较常用的拨码开关电路设置CAN网络的ID地址和波特率;LED作为通信状态指示。
2.1.2 软件设计
针对STM32对外设的设置,我们只需要对相应的参数进行适当的配置就能满足设计的要求,软件部分主要任务只要进行CAN初始化和数据发送即可。本设计初始化模块中只需要对CAN工作方式进行配置,而不需要对过滤器进行特殊的配置,部分初始化程序如下:
基于此本设计构造的速度、加速度、时间的对应函数如下:
图5为本设计在Quartus II中的仿真波形,为了加快仿真的速度,特意在仿真而前对某些参数进行了修改。
本系统的加减速模块的构造满足速度和加速度曲线的构造满足速度变化平稳,加速连续等条件,起始和终止速度与要求速度一致,加速度为0,加速度率K可以根据实际需要随时调整,通用性很好。
2.2.2 光电编码器模块
本系统采用的闭环控制,反馈信号的精度直接影响定位、测速,在此采用增量是编码器进行定位控制,增量式编码器主要是利用两个相差90度的方波信号A和B,和零位脉冲信号Z进行角位移和方向判断(如图6所示),从而达到了检测位置的目的,此外,我们将A或B信号四倍频,则计数脉冲的周期将减小到T/4,从而使角位移测量精度提高4倍。四倍频后的编码器信号,需经计数器计数后,才能转化为相对位置。由两个与非门、一个非门逻辑、D触发器组成传统的波形转换电路,通过它来将A相、B相脉冲转换成正向计数信号dz、反向计数信号df和方向(dir)信号,通过正反方向的数字信号加减完成最终的计数,最终的仿真数据如图7所示。
3 结束语
本课题研究是基于某品牌雕刻机控制系统设计进行的总结,旨在建立一种通用的运动控制器,通过该运动控制器以及系统其它部分的协同工作,整个控制系统实时性、可靠性好,满足了控制要求。通信非常稳定,相关算法还有待优化。
新闻来源:电子设计工程,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
15 小时前

2026-07-09

2026-07-22