基于DMA控制器的软件环形脉冲分配器设计

基于DMA控制器的软件环形脉冲分配器设计,第1张

  摘 要:介绍一种基于DMA控制器的步进电机软件环形脉冲分配器的设计。该设计具有容易实现,占用CPU资源少,速度快等优点。

  1 引言

  步进电机是数字控制系统中重要的执行元件,广泛应用于各种控制系统中。步进电动机的作用是将脉冲电信号转换成机械角位移,每当电机绕组输入一个电脉冲,电机转子便转动一个步进角,电机转动的角位移和角速度分别由输入电脉冲和电脉冲的频率确定,控制精度在一般情况下,由步进角决定。由于步进电机的工作原理是各绕组必须按一定的顺序通电变化才能正常工作(A AB B BC C CA A AB B ……),完成这种通电顺序变化规律的部分称为环形脉冲分配器。步进电机的环形分配器设计通常可以采用硬件和软件两种方法。软件分配器的特点是可以充分利用计算机资源降低硬件成本,适用多相脉冲分配,但将占用计算机运行时间,可能影响步进电机的运行速度。本文通过利用 DMA 控制器,设计了响应速度快,占用 CPU 时间少的脉冲分配器。

  2 基于 DMA 控制器的脉冲分配器设计   2.1 微机控制的步进电机驱动原理

  微机控制的步进电机驱动电路原理框图如图1 所示,系统由单片机,环形脉冲分配器,功率放大器等组成。步进电机的控制过程一般由单片机和环形脉冲分配器来完成,功率放大器按照控制规律驱动控制电机运转。从计算机或环形分配器输出的脉冲信号,其电流和功率较小,不能直接驱动步进电机转动,脉冲信号必须经功率放大才能驱动步进电机转动。采用微机对步进电机进行控制,控制线路简单,控制方案改变容易,适应性强。

基于DMA控制器的软件环形脉冲分配器设计,基于DMA控制器的软件环形脉冲分配器设计,第2张

  图 1 步进电机驱动原理框图

  环形脉冲分配器的软件分配方法即完全由软件编程来实现步进电机相序信号分配,直接从微机输出信号端口输出控制信号实现脉冲分配的方法。软件分频就是利用查表或计算软件进行控制脉冲分频,按一定顺序读取数据(正向读取或反向读取数据控制电机正反转),并通过输出接口输出相应的电信号,经功率放大提供给相应的电机绕组控制电机运转。电机的转速由输入的脉冲信号频率决定,也就是说,电机转速控制是通过控制输入脉冲信号的频率实现。电机的转向可以通过控制励磁信号加载的顺序来实现。

  软件脉冲分配器要依据脉冲频率和转向控制要求来产生电机绕组的控制波形。以二相步进电机为例,其正转和反转的励磁状态转换如表 1 所示。可以把上述转换表存入内存表中,以一定频率按顺序循环读取数据,并输出相应的脉冲信号。

基于DMA控制器的软件环形脉冲分配器设计,基于DMA控制器的软件环形脉冲分配器设计,第3张

  表 1 步进电机绕组通电状态转换表

  2.2 DMA 控制器基本原理

  DMA 即直接存储器存取,是一种快速传送数据机制。DMA 技术的重要性在于,利用它进行数据存取时不需要 CPU 进行干预,可提高系统执行应用程序的效率。利用 DMA 传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。DMA 对总线控制的优先级比 CPU 更高,所以能在 DMA 请求发生后非常短的时间内,就可把数据从源地址送到目的地址 。

  为了保证步进电机的控制精度,必须把内存表中的四位数据按等时间间隔同时发送到输出端口。纯软件的实现方法因为软件执行的不确定性较难保证时间控制的精确度。有些文献采取较常见的外接 EPROM[2]的方式实现。但是外接EPROM 的方法必须增加一个器件,就加大了电路设计的复杂度,也增加了成本。

  DMA 控制器是通常的单片机都具备的片内资源。以定时器中断为 DMA 请求因子,使 DMA控制器把内存表数据直接传送到端口输出,实现了类似外接 EPROM 一样的控制精度,也不会增加使用CPU进行数据传输带来的额外时间和资源的消耗。

  2.3 基于 DMA 控制器的脉冲分配器系统设计   2.3.1 系统工作原理

基于DMA控制器的软件环形脉冲分配器设计,基于DMA控制器的软件环形脉冲分配器设计,第4张

  图 2 基于 DMA 的软件环形脉冲分配器原理图

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2628288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-11
下一篇 2022-08-11

发表评论

登录后才能评论

评论列表(0条)

保存