直流电机控制系统设计_第1页
直流电机控制系统设计_第2页
直流电机控制系统设计_第3页
直流电机控制系统设计_第4页
直流电机控制系统设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-z.1直流电机控制系统设计Linu*下编程实现ARM系统的pwm输出,从而控制直流电动机。可以实现直流电动机得调速转动,也可以使其恒速转动。2采用UP-NETARM2410-S嵌入式实验平台.PC机Pentium500以上,硬盘10G以上,Pc机操作系统REDHATLINU*9.0+MINI+ARMLINU*开发环境3pwm发生器用到的存放器有1,。TCFG0定时器配置存放器02.TCFG1定时器配置存放器13TCON定时器控制存放器4TTB0&TCMPB0定时器计数缓冲区存放器和比拟缓冲区存放器5TT00定时器观察存放器4硬件设计〔框图,连线图〕5软件设计。程序函数的流程图:dcm_main.c直流电动机调速控制程序#include<stdio.h>#include<ftl.h>#include<string.h>#include<sys/ioctl.h>#defineDCM_IOCTRL_SETPWM (0*10)#defineDCM_TTB0 (16384)staticintdcm_fd=-1;char*DCM_DEV="/dev/dcm/0raw";voidDelay(intt){ inti; for(;t>0;t--) for(i=0;i<400;i++);}/****************************************************************/intmain(intargc,char**argv){ inti=0; intstatus=1; intsetpwm=0; intfactor=DCM_TTB0/1024; if((dcm_fd=open(DCM_DEV,O_WRONLY))<0){ printf("Erroropening%sdevice\n",DCM_DEV); return1; } for(;;){ for(i=-512;i<=512;i++){ if(status==1) setpwm=i; else setpwm=-i; ioctl(dcm_fd,DCM_IOCTRL_SETPWM,(setpwm*factor)); Delay(500); printf("setpwm=%d\n",setpwm); } status=-status; } close(dcm_fd); return0;}6简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个适宜状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序〔注,有的嵌入式CPU也会内嵌一段短小的启动程序〕,因此整个系统的加载启动任务就完全由BootLoader来完成。比方在一个基于ARM7TDMIcore的嵌入式系统中,系统在上电或复位时通常都从地址0*00000000处开场执行,而在这个地址处安排的通常就是系统的BootLoader程序。通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。引导加载程序是系统加电后运行的第一段软件代码。在PC机器中:PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OSBootLoader〔比方,LILO和GRUB等〕一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的BootLoader读到系统的RAM中,然后将控制权交给OSBootLoader。BootLoader的主要运行任务就是将内核映象从硬盘上读到RAM中,然后跳转到内核的入口点去运行,也即开场启动操作系统。在专用的嵌入式板子运行GNU/Linu*系统已经变得越来越流行。一个嵌入式Linu*系统从软件的角度看通常可以分为四个层次:

1、引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大局部。

2、Linu*内核。特定于嵌入式板子的定制内核以及内核的启动参数。

3、文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk来作为rootfs。

4、用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有:QT和GTK等。常见bootloader:

Redboot,Armboot,uboot,blob等等。重点介绍Blob和U-boot

BlobBlob(BootLoaderObject)是由Jan-DerkBakkerandErikMouw发布的,是专门为StrongARM构架下的LART设计的BootLoader。Blob的最后版本是。Blob支持SA1100的LART主板,但用户也可以自行修改移植。Blob也提供两种工作模式,在启动时处于正常的启动加载模式,但是它会延时10秒等待终端用户按下任意键而将Blob切换到下载模式。如果在10秒内没有用户按键,则Blob继续启动Linu*内核。其根本功能为:初始化硬件〔CPU速度,存储器,中断,RS232串口〕-引导Linu*内核并提供ramdisk

-给LART下载一个内核或者ramdisk

-给FLASH片更新内核或者ramdisk

-测定存储配置并通知内核-给内核提供一个命令行Blob功能比拟齐全,代码较少,比拟适合做修改移植,用来引导Liun*,目前大局部S3C44B0板都用Blob修改移植后来加载uClinu*。U-BootU-Boot是由开源工程PPCBoot开展起来的,ARMboot并入了PPCBoot,和其他一些arch的Loader合称U-Boot。2002年12月17日第一个版本发布,同时PPCBoot和ARMboot停顿维护。U-Boot自发布以后已更新6次,最新版本为,U-Boot的支持是持续性的。U-Boot支持的处理器构架包括PowerPC(MPC5**,MPC8**,MPC82**,MPC7**,MPC74**,4**),ARM〔ARM7,ARM9,StrongARM,*scale〕,MIPS(4Kc,5Kc),*86等等,U-Boot〔UniversalBootloader〕从名字就可以看出,它是在GPL下资源代码最完整的一个通用BootLoader。

U-Boot提供两种操作模式:启动加载〔Bootloading〕模式和下载〔Downloading〕模式,并具有大型BootLoader的全部功能。主要特性为:

-SCC/FEC以太网支持

-BOOTP/TFTP引导

-IP,MAC预置功能

-在线读写FLASH,DOC,IDE,IIC,EEROM,RTC

-支持串行口kermit,S-record下载代码

-识别二进制、ELF32、pImage格式的Image,对Linu*引导有特别的支持

-监控(minitor)命令集:读写I/O,内存,存放器、内存、外设测试功能等

-脚本语言支持〔类似BASH脚本〕

-支持WatchDog,LCDlogo,状态指示功能等

U-Boot的功能是如此之强大,涵盖了绝大局部处理器构架,提供大量外设驱动,支持多个文件系统,附带调试、脚本、引导等工具,特别支持Linu*,为板级移植做了大量的工作。U-Boot1.1.1版本特别包含了对SA1100和44B0芯片的移植,所以44B0移植主要是针对Board的移植,包括FLASH、内存配置以及串口波特率等等。U-Boot的完整功能性和后续不断的支持,使系统的升级维护变得十分方便。u-Boot…内核与根文件系统烧写请翻开超级终端与实验箱电源,进入uboot。1、在内核与根文件系统的烧写之前需要先配置网络环境1〕uboot启动以后使用printenv查看环境变量2〕更改效劳器ip和本地ip2、windows平台下tftp效劳的配置3、烧写根文件系统1)把根文件系统映像下载到RAM的0*30008000处:tftp0*30008000root.cramfs2)正式烧写之前先擦出flash:nanderase0*2800000*4000003)开场烧写根文件系统到nandflash:nandwrite0*300080000*2800000*2500004、烧写内核1)把内核下载到RAM的0*30008000处:tftp0*30008000uImage2)正式烧写之前先擦出flash:nanderase0*800000*2000003)开场烧写内核到nandflash:nandwrite0*300080000*800000*2000007请翻开虚拟机与超级终端,并翻开实验箱电源进入linu*。在宿主机上进展调试修改程序。1、将driver文件夹、kernel文件夹和app文件夹拷贝拷贝到linu*的/home/bc目录下。2在宿主机上翻开程序所在目录,编写好适宜的Makefile文件3进展编译,先makeclean下,然后自动编译make。如果有错误提示进展修改,直到没错为止。4、先mini完成接口等的配置后将/home/bc挂载到目标板的上mount–tnfs–onolock192.168.0.***:/home/bc/mnt/nfs3、进入driver目录,加载驱动insmods3c2410-dc-motor.o4、lsmod查看是否安装好5回到dc_motor目录cd..然后运行程序,./dcm_main在mini窗口会显示转速的变化。观察试验箱电动机在运转。此时程序调试运行成功8分析总结在编写Makefil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论