ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:195.19KB ,
资源ID:3870319      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3870319.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式系统结课设计论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统结课设计论文.docx

1、嵌入式系统结课设计论文嵌入式系统结课设计(论文)基于Xscale和嵌入式Linux的运动控制系统的设计与应用学生姓名:学 号:班 级: 所在学院: 专 业: 年 月摘要随着汁算机技术、微电子技术以及相关技术的飞速发展,嵌入式系统正在应用到越来越多的领域。在工业控制特别是运动控制方面,复杂的控制和处理,以往多采用工业计算机和PLC作为处理机。但是在移动机器人等体积较小的应用中,使用工业计算机和PLC有很多不利的因素,而基于微处理器和嵌入式Linux的嵌入式运动控制系统体积小,处理能力强,灵活性好,得到了越来越多的应用。本课题中进行了基于嵌入式Linux的运动控制系统研究。由Intel Xscal

2、e架构微处理器PXA255构建的上位计算机采用嵌入式Linux操作系统,由AT89S52构建的直流电机数字伺服控制板作为下位运动控制单元,两者之间通过串行接口进行通讯,共同构成一个运动控制系统。关键词: 嵌入式系统 Xscale 51单片机 运动控制 串行通讯ABSTRACTWith the development of computer,Microelectronics and technology related,embedded system is applied to more and more areasIn industrial control,the use of industr

3、ial computer and PLC is popular,especially for the motion contr01However,in the application of small volume demanded such as mobile rotot,industrial computer and PLC have many disadvantages,but the motion control system based on micro-processor and embedded Linux become mobile popular because of its

4、 small volume,high processing capacity and good adaptabilityIn the thesis,the motion control system developed consists of two parts:the upper layer computer based on PXA255 CPU of Intel Xscale architecture uses the Linux operating system;the bottom layer DC servo motor digital control board is const

5、ructed by AT89S52Two parts communicate by serial port and make up a motion control systemKEY WORDS:Embedded system Xscale 5 1 series MCU Motion control Serial communication目录摘要 IABSTRACT II1 绪论 1 1.1嵌入式系统概述 1 1.1.1嵌入式系统的定义 1 1.1.2嵌入式系统的组成 12 Xscale上位计算机 3 2.1系统总体设计方案 3 2.2 Xscale上位计算机 33 Linux的设备驱动程

6、序 6 3.1设备驱动程序的结构 64伺服运动控制系统方案 8 4.1伺服系统硬件接口分析 8 4.2伺服运动控制板的软件设计 9结论 11参考文献 121 绪论1.1嵌入式系统概述在日常生活中,嵌入式系统无处不在,如天天必用的移动电话、手腕上的电子表、烹调用的微波炉、办公室的打印机、汽车的燃油喷射系统、ABS系统以及现在流行的数码相机、数码摄像机、PDA等都是嵌入式系统的应用。当前,随着计算机技术和信息技术的飞速发展,以及3C(计算机:Computer、通讯:Communication、消费电子:Consumer Electries)的普及,人类进入了后PC时代,各种信息非常丰富,数字信息技

7、术和网络技术高度发达,人们对产品的要求也在提高,数字化、智能化的产品成为发展方向,对大量信息的处理以及数字化与智能化的要求使得嵌入式系统应用更为广泛。嵌入式系统以应用为中心,强调体积和功能的可裁减性,是以完成控制、监视等功能为目标的专用系统。在嵌入式应用系统中,系统执行任务的软硬件都嵌入在实际的设备环境中,通过专用的IO接口与外界交换信息,一般它们执行的任务程序不由用户编制。嵌入式系统主要用于各种信号处理与控制,目前己应用在国防、国民经济及社会生活各领域。嵌入式系统在应用数量上远远超过了各种通用计算机。1.1.1嵌入式系统的定义根据电气工程师协会的定义,嵌入式系统是用来控制、监视或者辅助设备、

8、机器或工厂运行的装置(devices used to control,monitor,Or assist the operation of,equipment,machinery or plants)。国内一般认为嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。1.1.2嵌入式系统的组成嵌入式系统通常由嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等大部分组成。图1一.嵌入式处理器是嵌入式系统的核心部件。嵌入式处理器与通用处理器最大的不同点在于其大多工作在为特定用户群设计的系统中。它通常

9、把通用计算机中许多由板卡完成的任务集成在芯片的内部,从而有利于嵌入式系统设计趋于小型化,同时也具备高效率、高可靠性等特征。国际上大的硬件厂商几乎都有自己的嵌入式处理器,从低端的51单片机到现在广泛使用的ARM、MIPS、PowerPC、MC6800等。在本文中,上位计算机采用的处理器是Intel公司生产的Xscale架构的PXA255处理器。二、嵌入式外围设备嵌入式外围设备是指在一个嵌入式系统中,除了嵌入式处理器以外用于完成存储、通信、调试、显示等辅助功能的其他部件。根据外围设备的功能可分为以下3类:(1)存储器:主要有静态非易失性存储器(RAMSDRAM)、动态存储器(DRAM)和Fash存

10、储器等。其中,Flash具有可擦写次数多、存储速度快、容量大及价格低等优点而在嵌入式领域得到了广泛的应用。(2)接口:应用最为广泛的包括并口、RS-232串口,IrDA红外接口、SPI串行外围设备接口、总线接口、USB通用串行总线接口、Ethernet网络接口等。(3)人机交互:LCD显示器、键盘和触摸屏等人机交互设备。三、嵌入式操作系统 在大型以及复杂的嵌入式应用系统中,为了使嵌入式开发更方便、快捷,需要具备一种稳定的、安全的软件模块集合,用以管理存储器分配、中断处理、任务间通信和定时器响应,以及提供多任务处理等,即嵌入式操作系统。四、嵌入式应用软件嵌入式系统应用软件是针对特定的实际专业领域

11、,基于相应的嵌入式硬件平台,并能完成用户预期任务的计算机软件。用户的任务可能有时间和精度的要求。有些应用软件需要嵌入式操作系统的支持,但在简单的应用场合下也可以不需要专门的操作系统。嵌入式应用软件是用户开发的重点,用户的系统开发通常需要做的软件方面的工作主要是应用软件。2 Xscale上位计算机2.1系统总体设计方案本文中研究的运动控制系统将用作移动机器人的开发平台,要求能有精确的运动控制。直流伺服电机可以用电池作为动力,适用于移动平台。所以设计中的运动控制系统采用直流伺服电机。伺服控制单元采用主处理器AT89S52、伺服控制芯片LM629、H桥功率驱动器LMDl8200、MAXON直流伺服电

12、动机RE25,500线增量式光电编码器HEDL-5540构成伺服系统硬件平台。系统中由处理能力强大的Xscale架构处理器PXA255构成上位计算机,AT89S52作为主处理器和伺服控制芯片LM629构成下位机,以串行方式通讯。构成一个全数字伺服控制系统平台。如下图3所示。其中伺服控制芯片LM629是可编程全数字式伺服控制的专用运动控制处理器。具有8位分辨率的PWM输出、内部梯形速度图发生器,可以进行位置和速度控制。而且其速度、位置和数字PID控制器参数可以在控制过程中改变。此系统有位置和速度两种控制模式,集成度高,需要外围部件少,易于调试,简化了高精度的运动控制系统的设计。下图中传感器信号输

13、入可以用于系统扩展,本文中用上位计算机的按键信号代替传感器信号。 光电编码器信号输入图22.2 Xscale上位计算机Xscale架构微处理器是基于ARM V5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器架构。它支持32位ARM指令和16位Thumb指令和DSP指令集,己应用在数字移动电话、个人数字助理、网络产品和工业控制等场合。Xscale架构处理器是Intel目前主要推广的一款ARM微处理器。运动控制系统的上位计算机采用Xscale架构的PXA255处理器构建。图4所示为PXA255的处理器结构图。PXA255采用高效能、低功耗的Xscale核心、RISC技术和O18微米

14、工艺,同时它也采用了Intel先进的媒体处理技术,包含40位累加器和16位SIMD以增强处理能力和音频视频解码能力。PXA255还具有丰富的扩展接口,除了SDRAM、DRAM和Flash等系统存储器接口外,还可支持PCMCIA、Compact Flash、MMCSD Card扩展卡,UART、Blue Tooth、IC、SSP、USB Slave等串行接口以及大量的GPIO接口。以PXA255作为移动机器人的处理平台,能够进行后续的视觉以及复杂的应用开发。为了以后系统开发的方便,需要进行Boot Loader(启动加载器)的移植,这里选用源代码开放的U-Boot作为Boot Loader进行移

15、植。下面是上位计算机总体配置的描述:1、微处理器:Intel Xscale PXA255,主频:400Mhz;32bit RISC架构, 32K指令cache。2、存储器:SDRAM 64MByte,总线速度100MHz;Intel NOR FLASH 32MByte。3、显示系统:LCD接口,支持各种STN,TFT LCD,最高支持800X600 TFT LCD;4+2可编程LED指示灯。4、输入设备:4个可编程按键;4线制电阻式触摸屏接口;SPI接口,可扩展键盘。5、音频系统:立体声输出,输出阻抗32欧姆;立体声混音输入,LINE IN,单声道麦克风输入。6、通讯接口:10100M自适应以

16、太网接口一个;IRDA红外接口一个,支持SIR和FIR;标准RS232接口一个,支持完全的控制信号;标准UART接口一个,可支持高速蓝牙传输;USB DEVICE接口一个,支持USB协议1.1。7、调试接口:标准JTAG口一个,支持仿真器调试;CPLD JTAG口一个,支持CPLD内容更新。8、扩展卡槽:CF卡插座一个,支持存储卡,WLAN,MODEM,ETHERNET;SD卡插座一个,支持存储卡;9、其他:4个可编程IO口;4个10bitADC接口;1个PWM输出口;图3 PXA255的处理器结构图3 Linux的设备驱动程序进行嵌入式系统的开发,很大的工作量是为各种设备编写驱动程序,除非系

17、统不使用操作系统,程序直接操纵硬件。Linux系统中,内核提供保护机制,用户空间的进程一般是不能直接访问硬件的。Linux中设备被抽象出来,所有设备都被看成文件。设备的读写和普通文件一样。用户进程通过文件系统的标准接口访问设备驱动程序。设备驱动程序主要完成这些功能:(1)探测设备和初始化设备;(2)把数据从内核传送到硬件和从硬件读取数据;(3)读取应用程序传送给设备文件的数据和回送应用程序请求的数据;(4)检测和处理设备出现的错误。Linux系统把设备分成3种类型:字符型设备,块设备和网络没备。字符设备的读写以字节为单位,存取时没有缓存。块设备读写以块为单位,存取时有缓存支持以提高效率。典型的

18、字符设备包括鼠标、键盘及串行口等。块设备主要包括硬盘、软盘、CD-ROM等,一个系统要安装操作系统必须使用块设备。网络设备用于通信,网络设备在Linux里做专门的处理。Linux的网络系统主要基于BSD Unix的socket机制。在系统和驱动程序之间定义有专门的数据结构(sk buff)进行数据的传递。系统里支持对发送数据和接收数据的缓存,提供流量控制机制和对多种协议的支持。所有设备的驱动程序都有一些共性,对编写所有类型的驱动程序都通用,操作系统提供给驱动程序的支持也大致相同。这些特性包括;(1)读写几乎所有设备都有输入和输出。每个驱动程序要负责本设备的读写操作。 (2)中断中断在现代计算机

19、结构中有重要的地位。操作系统必须提供驱动程序响应中断的能力。(3)时钟在实现驱动程序时,很多地方会用到时钟。如某些协议里的超时处理,没有中断机制的硬件的轮询等。操作系统应为驱动程序提供定时机制,一般是在预定的时间过了以后回调注册的时钟函数。3.1设备驱动程序的结构Linux的设备驱动程序可以分为以下三个重要组成部分:(1) 自动配置和初始化子程序,负责检测所要驱动的硬件设备是否存在和能否正常工作。如果该设备正常,则对这个设备及其相关的设备驱动程序需要的软件状态进行初始化。这部分驱动程序仅在初始化时被调用一次。 (2) 服务与I/O请求的子程序,又称为驱动程序的上半部分。调用这部分程序是由于系统

20、调用的结果。这部分程序在执行时,系统仍认为是与进行调用的进程属于同一个进程,只是由用户态变成了核心态,具有进行此系统调用的用户程序的运行环境,因而可以在其中调用一些与进程运行环境有关的函数。(3) 中断服务子程序,又称为驱动程序的下半部分。在Linux系统中,并不是直接从中断向量表中调用设备驱动程序的中断服务子程序,而是由Linux系统来接收硬件中断,再由系统调用中断服务子程序。4伺服运动控制系统方案直流伺服系统在现代生产生活中无处不在,尤其是在一些以电池为动力的移动机构中,如AGV(自动导航车)、LGV(激光导航车),行走机器人。直流系统有着不可替代的作用,直流伺服技术发展已十分成熟。由许多

21、专用的集成芯片,如位置控制芯片LM629、脉宽调制芯片637 UC、以及功率驱动芯片IR2110、LMDl8200,采用它们可以构成不同功率等级的直流伺服系统。直流伺服电机构成的伺服控制系统有两种:速度伺服系统和位置伺服系统(又称随动系统)。为了实现精确的控制,课题中伺服运动控制系统具有速度模式和位置模式两种控制方式。由于该平台将用作移动机器人的开发平台,要求能有精确的运动控制,所以采用了瑞士MAXON公司的直流伺服电机,用电池作为动力。选用电机型号:RE2520W,参数:额定电压24V、空载转速9550rmin、堵转电流10400mA、最大连续转矩26.1mNm。配备行星轮减速器:速比157

22、/l。伺服控制板采用主处理器AT89s52、伺服控制芯片LM629、H桥功率驱动器LMDl8200、MAXON直流电动机,500线增量式光电编码器HEDL-5540构成伺服系统硬件平台,此系统有位置和速度两种控制模式,集成度高,需要外围部件少,易于调试,简化了高精度的运动控制系统的设计。系统结构原理如图4所示:图44.1伺服系统硬件接口分析一、处理器与LM629、LMDl8200的接口本设计中采用AT89S52单片机作为主处理器对电机进行伺服运动控制。AT89S52单片机的主要工作就是向LM629传送运动数据和PID数据;通过LM629、LMDl8200对电动机的运行进行监控:与上位计算机通讯

23、并显示电机以及系统的工作状态。LM629的I0口DoD7与单片机的PO口相连,用来从单片机传送数据和控制指令,从LM629传送电动机的状态和运动信息。单片机的P27引脚与LM629的片选相连,作为选中LM629的地址线。用DO经74LS37锁存后与LM629的Ps相连,作为命令和数据端口选择线,当D0=0时,单片机可以向LM629写指令,或从LM629读状态;当DO=l时,单片机可以向LM629写数据,或从LM629读信息。LM629的中断引HI经一个非门与单片机的中断0相连,LM629的有6个中断源都通过该引脚申请中断,一旦有中断申请,单片机必须通过读LM629的状态字来识别哪一个中断发生。

24、处理器AT89S52的P1.7、P1.6脚是LMDl8200过热和过流信号输入引脚,系统工作中AT89S52还要不停查询LMDl82000的状态,根据过流和过热信号情况进行系统的保护。二、LM629、LMDl8200与电机的接口LM629输出的PWM的方向和大小信号PWMS和PWMM是根据LM629的内置梯形速度图发生器产生的,经过光电隔离后与LMDl820的D取方向、PWM输入引脚连接。增加光电隔离是为了防止电机驱动电路大电流及其变化和噪声对前端控制电路的影响。由于LM629的时钟频率是8MHz,所以这里的光电隔离器需要特别的选择,不能选择常用的中低频器件,否则从光电隔离器件输入PWM信号矩

25、形波,在光电隔离器件的输出端只能得到梯形波,并不能实现准确的PWM控制。故选用了高速光电隔离器6N137。高速光电耦合器6N137由磷砷化钾发光二极管和光敏集成检测电路组成。通过光敏二极管接收信号并经内部高增益线性放大器把信号放大后,由集电极开路门输出。该光电隔离器高、低电平传输延迟时问短,典型值仅为48 ns,已接近TTL电路传输延迟时间的水平,因而在传输速度上完全能够满足要求。除此之外,6N137还具有一个控制端,通过对该端的控制,可使光耦输出端呈现高阻状态。LMDl8200根据输入的PWM方向和大小,输出电压到引脚2、10直接驱动电机。直流电机安装了增量式光电编码器,输出IN、A、B三个

26、信号,检测电机的速度和位置并且接入LM629的13光电编码器反馈引脚,LM629根据反馈信号每隔一个采样时间进行动态的梯形速度图计算,并形成新的PWM信号输出提供给LMDl8200,构成一个闭环控制系统,对电机的位置和速度实行精确控制。4.2伺服运动控制板的软件设计主程序设计:主程序的功能是系统的初始化,包括处理器本身以及LM629的初始化;监测和维护系统运行;LM629参数传送;状态显示等。主程序设计的关键有以下几个部分:一、主处理器的初始化主处理器AT89S52的初始化包括:系统环境以及堆栈的设置、定时器的初始化、串行通讯的初始化等。1、堆栈设置堆栈是处理器运行时必需的资源,在系统发生函数

27、调用、中断处理以及需要保存中间变量时,堆栈是最常使用的。MCS51单片机的堆栈是向上增长的形式,指令系统中有专门设置堆栈的指针SP,初始化时需要设置堆栈指针并且空出一段内存作为堆栈使用,具体大小可以根据程序的大小、函数调用的层次以及中断处理中保护现场参数的多少来决定。2、定时器的初始化AT89S52片内含有三个定时器To、T1和T2以及一个Watchdog定时器。ToT2都有三种工作方式:方式0、方式l、方式2和方式3。此处的50ms定时使用定时器TO,定时器T1用来产生串行通讯波特率。定时器设置主要是对AT89S52的几个特殊功能寄存器进行操作,AT89S52的特殊功能寄存器与定时器有关的是

28、定时器计数器控制寄存器TCON、工作方式控制寄存器TMOD、中断允许寄存器IE和中断优先级寄存器IP。(1)TMOD设置TMOD在特殊功能寄存器中,字节地址为89H,无位地址。TMOD的高4位用于T1,低4位用于TO,4种符号的含义是:GATE:门控制位。GATE和软件控制位TR、外部引脚信号INT的状态,共同控制定时器,计数器的打开或关闭,GATE=0是用软件控制位TR控制定时器状态。(2)TCON设置TCON在特殊功能寄存器中,位地址(由低位到高位)为88H8FI-I,由于有位地址,十分便于进行位操作。TFl、TRl用于定时器T1;TF0、TR0用于定时器TO。两组符号有相同的含义;TF:

29、定时器计数器中断请求标志位。当定时器计满回零时,TF=1,并可申请中断;当CPU响应中断并进入中断服务程序后,TF自动清零。如对TF查询,定时器回零后,要用指令将TF清零。TR:定时器计数器开闭控制位。IEl,ITl用于外部中断1(1NTl);IE0,IT0用于外部中断0。两组符号的含义相同。IT:下降沿低电平引起外部中断请求的选择位。IT=1,由下降沿引起中断;IT=0,由低电平引起中断。IE:外部中断的中断申请标志。IE=0,表明无外部中断请求;IE=1,表明有外部中断请求。当有外部中断请求时,IE自动为l,单片机CPU响应此中断后,IE自动清零。这里用到定时器0的定时中断,先复位TCON

30、为0X00以清除设置,然后设置TCON=0X01(外部中断0设为下降沿触发),用于LM629的中断引脚HI输入。下面的初值设置完成后再对TCON进行位操作:置位TR0、TRl,启动定时器0和1(3)初值设置重要的是定时器初值的设置,需要设置两个特殊功能寄存器。TH和TL。定时器T0的初值设置:TH0和TL0,分别是定时器0初值的高字节和低字节:定时时间为50ms,晶振频为12MHz,根据定时时间的公式为:定时时间=(一定时器初值)晶振周期12结论本文的主要任务是利用Intel Xscale上位计算机和由AT89S52构建的运动控制板共同组成一个运动控制系统,并进行与开发相关内容的设计。一、首先

31、给出了嵌入式系统的定义,对嵌入式系统的结构、原理、现状及发展前景进行讨论。分析了Linux操作系统的由来、发展及其特点,讨论了Linux应用于嵌入式系统的优缺点。嵌入式Linux系统具有开放源代码、内核可裁减、开发费用低的优势,正在得到越来越多的应用。二、分析了Linux的向嵌入式操作系统的改造,介绍了如何从Linux生成适用于本文中Xscale架构CPU PXA255的ARM-Linux系统。建立了嵌入式Linux的交叉开发环境;介绍了ARM-Liniux内核的裁减和编译以ARM-Liniux文件系统的建立,完成了ARM -Linux内核向Xscale上位计算机的移植。三、讨论了Linux下

32、设备驱动程序的实现和开发过程,介绍了Linux模块编程技术的原理和实现,并编写了Xscale上位计算机与伺服运动控制板的串行通讯程序,通过串口来实现Intel Xscale上位机和伺服运动控制板构成的下位机之间的通讯。四、介绍了伺服控制板的硬件和软件的设计,分析了伺服控制板采用的硬件特性和软件实现的方法和流程,并对开发过程中的硬件和软件设计过程中的技术问题进行了讨论;随着计算机技术和网络技术的发展,Linux操作系统作为开放源代码软件的代表得到了越来越广泛的应用,在我国得到了政府和很多企业的支持正处于蓬勃发展的阶段。由于对运动控制系统的性能和使用条件的特殊要求,对基于Linux的嵌入式系统的研究和开发,特别是适应性和灵活性强的嵌入式运动控制系统的研究具有很好的理论和实践意义。参考文献1毛德操等,linux内核源代码情景分析(上、下),

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1