基于S3C44B0X的转速测量模块设计
0 引 言
随着嵌入式技术的发展,以ARM核为代表的32位嵌入式微处理器得到日益广泛的应用。S3C44B0X是一款基于ARM7TDMI的SOC芯片[1]。它具有较丰富的片上资源,适合嵌入式产品的开发,笔者开发的棉纺机械控制器即采用此芯片,控制器需要RS232、AD、I/O和脉冲计数等硬件资源,但S3C44B0X本身不具有外部脉冲计数功能,本文介绍利用可编程定时计数器82C54在S3C44B0X系统中实现测量棉纺机械电机转速的方法。
1 电机转速模块概述
棉纺机械的自动控制中,实时采集各电机转速并加以调整是非常重要的环节,通常棉纺机械控制是利用装在电机转轴上的光电编码器来产生电机转速脉冲,脉冲通过控制器的电机转速测量模块自动计算实际转速,再利用变频器通过RS232通讯实现对电机的转速调整控制。鉴于S3C44B0X本身不具有外部脉冲计数功能,需要在已有的硬件资源基础上扩展外围电路。利用可编程定时计数器82C54是个很好的选择。
Intel 82C54[2]是专用的可编程定时计数芯片,82C54通过对加在其CLK输入引脚的脉冲进行计数,脉冲最高频率可以达到10MHz,使用灵活,功能强大。
2 转速测量模块的硬件电路设计
采用82C54对系统外围进行硬件设计,电路原理框图如图1所示,图中绘制了关键电路连接关系。S3C44B0X的数据线D0~D7通过74LVC4245接82C54的数据线, 74LVC4245的作用是实现了CPU的3·3V电压和82C54的5V电压的稳定转换。片选可使用S3C44B0X的任意空余片选nGCSx,如果整个系统还有其他外围电路需要较多片选,也可利用S3C44B0的地址线接74HC138译码器扩展出多路片选信号供系统其它资源使用。在实际应用中,由于系统与外设通过接口相联接时会产生共地的干扰,使系统工作不正常,所以必须进行电平隔离,以提高系统抗干扰能力。系统采用常用的光电耦合器件TP521 1。
3 转速测量模块的软件设计
使用82C54必须对其进行初始化编程,先向控制字寄存器写入控制字,选定计数器通道、工作方式、计数格式,然后写入计数初值。经过一个时钟脉冲的上升沿和下降沿,计数初值才装入实际计数器,然后在门控信号GATE的控制下,对从CLK引脚输入的脉冲进行递减计数[3]。这里结合以上硬件设计给出对82C54的0通道的初始化程序,其它通道原理相同。读写格式为先读写计数器低字节,后读写高字节,选工作方式2,采用二进制计数。假设系统中82C54的基地址为0x8000000。由于S3C44B0X系统中硬件采用的是16位数据,所以各寄存器设置每次加2。
//各通道和控制字地址定义
#define BaseAddr 0x8000000
#define I8254CTR BaseAddr+0x6 //控制字
相关文章
- 2022-07-22提高高速压电倾斜镜应用带宽的方法
- 2023-10-04低温气液两相流数值计算分析
- 2022-01-03CXT智能变送器原理与应用
- 2023-06-16新型的二维压电移动机构
- 2023-05-30干井式温度校验器校准方法研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。