基于A19lRM9200微处理器和单片机实现电机控制系统的设计

网友投稿 251 2022-11-22

基于A19lRM9200微处理器和单片机实现电机控制系统的设计

1 系统硬件设计

1.1 主机硬件系统结构

主机硬件系统结构如图1所示。

SDRAM存储器是系统代码的运行场所,存放系统运行时的程序和数据,但掉电后该部分程序和数据会丢失。设计中使用2片数据宽度为16位的SDRAM并行运行作为1个32位数据宽度的SDRAM模块,如图3所示。

使用的SDRAM电路为Hynix公司的HY57V651620BTC,其工作电压为3.3 V,单片存储容量为4组x16 Mb,54引脚TSOP封装,兼容LVTTL电平接口,支持自动刷新和自刷新。

1.2 从机硬件设计

2)系统控制和复位 复位时所有的I/O寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转JMP指令,以使程序跳转到复位处理例程。如果程序永远不会使能中断,则中断向量可以由一般的程序代码所覆盖。

4)SPI串行外设接口 串行外设接口SPI允许ATmegal28和外设之间进行高速的同步数据传输。主机和从机之间的SPI连接如图6所示。

5)16位定时器/计时器 16位的T/C可以实现精确的程序定时、波形产生和信号测量。T/Cl、T/C3的普通模式、CTC模式、快速PWM模式、相位修正PWM模式与T/C0、T/C2相同。

2 系统软件设计

嵌入式电机控制系统在软件设计上分为主机软件设计与从机软件设计。主机软件设计主要分为主机的SPI驱动程序和主机通信程序。

voidinitexxxdevice(viod){

/检查硬件设备是否存在,如果存在进行硬件设备内部寄存器初始化

if(result=registerchrdev(254,“xxxdevice”,&xxxefops))

}

设备初始化函数中调用函数registerchrdev()来完成注册字符,函数形式如下:

intregisterchrdev(unsignedintmajor,constchar*name,structfileoperations*fop);

fops是指向实现的fileoperations结构体的操作指针。根据这些参数,采用如下命令,在/dev下创建该设备文件名。

mknod/dev/xxxdevicec2540。

主机通信程序流程如图7所示。MEGAl28从机程序的流程图如图8所示。

3 结束语

该系统设计是对嵌入式技术与理论的拓展和应用,是对NETCON网络化控制系统的升级与改进,实现了对电机控制系统实时监控多路电机的状态,并且可以控制任一路电机的转速与相位。实现了单片机与ARM系列处理器之间的通信,解决了利用ARM处理器实现电机控制CPU工作效率低的问题。该方案经过测试应用效果良好,大大提高了CPU的工作效率。但电机的测速精度还有待进一步提高,PWM调速范围有待进一步加大,还需进一步优化程序,提高整个系统的实时性。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CentOS7下安装hadoop
下一篇:Java 前台加后台精品图书管理系统的实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~