




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘用运动控制器中存在的问题,接着提出一种基于M摘用运动控制器中存在的问题,接着提出一种基于M设计方案,设计并实现一款精度高,通用性强,经济实用的运动控制器,给出了硬件设计方案、软件构架和部分关键源代码运动控制器的硬件选用LPC2478作为处理器,SDRAM运动控制器软件采用uc/sII了SB主机接口,G代码解释器,FT真彩色CD的显示,电阻式触摸屏JG测试阶段,在一台上位机中绘制测试图形并生成G代码,用UG代码拷贝到运动控制器并执行,执行过程中,运动控制器的X,Y道输出脉冲,在另一台上位机中安装数据采集卡,并采集X,Y通道的脉冲的个数并折算成X,Y方向上的位移量,将X,Y实时的绘制在出来,形成模拟雕刻图形。比较两台上位机中的测试图形和模拟雕刻图形,发现测试图形和模拟雕刻的图形精确一致;将测试图形的长度通过当量换算成脉冲个数,与实际采集到的脉冲个数相比误差关键词:ARM,ABMotioninnumeralSOon.ThistreatmentprintingacurrentstatusandbriefintroductionofofMontionafortheofmotiondevice,ahighwasdesignedandmotioncontrolThisthesisintroducehistory,thetheofmotionathomeandprecisionexistingInterpolationThehardwarearchitectureintroduced:NXPABMotioninnumeralSOon.ThistreatmentprintingacurrentstatusandbriefintroductionofofMontionafortheofmotiondevice,ahighwasdesignedandmotioncontrolThisthesisintroducehistory,thetheofmotionathomeandprecisionexistingInterpolationThehardwarearchitectureintroduced:NXPARⅣ【asasandFlashprogramasTouchPCL6045BLchip.andasmainpowerwasusedasofmotionUUSBHOSTinterface.GTFTT】nJecolorUofandhumanmachineinterfaceimplementedonthiswasdrawandrelativeGCodetestingstage,atestingtheGCodetoMotioninofMotionrunGcode,meanwhiletheonaotherPCandoutputtheofofchannel,thendrawthevalue aatesting graphics,foundbetweenhasagoodMotionⅣⅣ目摘要目录⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一V第1章绪⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..11.1目摘要目录⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一V第1章绪⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..11.11.512.3运动控制器方案设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..7第3章运动控制器3.2主控制器3.4非挥发性存储器USB控制电路3.5.1供电控制电1 1PCL6045BL⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一53.8编码器电路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1568武汉.f:程大学硕士学3.10.2与外部接触端口的处理1本章小武汉.f:程大学硕士学3.10.2与外部接触端口的处理1本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2gC/OS.II概j苤USB通信模块1USB设备描述符HOST在LPC2478上的配置4.3.5USB2478HOST结构及设计思想⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..364.3.4G代码解释器功能分析114.6人机界面模块gC/GUI图形用户接口4.6.3菜单的设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯69第5章测试与结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯735.1精度测试5.3总结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.76参考文⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.83附录IG代码初始化程序及部分数结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯83附录II武汉:武汉:』:程人学硕士学位1.1随着科学技术的进步和控制理论的发展,运动控制技术在国防建设过程中对机器人手臂的定位控制,机床的数字控制,自动焊接过程中对焊枪的控制,热轧厂中对金属板厚度的控制,都属于运动控制的研究范畴。在工业生产中,运动控制系统的使用既能提高产品的质量又能提高产品的产量。运动控制技术正在不断地深入到各个领域并迅速的向前推进,其应用范1.1随着科学技术的进步和控制理论的发展,运动控制技术在国防建设过程中对机器人手臂的定位控制,机床的数字控制,自动焊接过程中对焊枪的控制,热轧厂中对金属板厚度的控制,都属于运动控制的研究范畴。在工业生产中,运动控制系统的使用既能提高产品的质量又能提高产品的产量。运动控制技术正在不断地深入到各个领域并迅速的向前推进,其应用范围已经涵盖了很多工业领域目前,运动控制技术己经由传统的数控加工技术晗3,发展成放结构、能根据具体应用而快速重组的先进运动控制技术,并成为推新的产业革命的核心力量之一。运动控制器也从以PC机作为核心部件展到了以专用芯片(ASIC)和以ARM、FPGA作为核心部件的开放式运动制器。结合上位机的应用软件,运动控制器实现的功能越来越强大,格也越来越低廉,应用也越来越广泛运动控制器涉及到很多学科的知识∞1,如模拟电子技术、数字电子术、智能控制技术、检测技术和运动控制技术等诸多方面的知识。由使用不受地域限制、简单易用等优点,逐步成为自动化控制领域里的导产品。从当前国内外市场来看,运动控制器具有良好的发展前景和阔的应用空惊人业绩的运动控制器,在一些工业发达国家己经形成了一种新兴的亟灵活、功能完备且使用方便的控制平台。从而使得应用工程师可以利用工业控制计算机或嵌入式系统的现有资源,快速构筑各种各样专业化的控制器。目前已经有许多公司(如深圳雷赛公司,美国中宝伦)开始采用数字运动控制芯片生产基于工业控制计算机的控制卡或者独立型的控制卡。独立型的运动控制器是指不基于工业C机,而采用嵌入式微处理器构成的运动控制器接外部驱动器。该驱动器则用来驱动外部直流伺服电亟灵活、功能完备且使用方便的控制平台。从而使得应用工程师可以利用工业控制计算机或嵌入式系统的现有资源,快速构筑各种各样专业化的控制器。目前已经有许多公司(如深圳雷赛公司,美国中宝伦)开始采用数字运动控制芯片生产基于工业控制计算机的控制卡或者独立型的控制卡。独立型的运动控制器是指不基于工业C机,而采用嵌入式微处理器构成的运动控制器接外部驱动器。该驱动器则用来驱动外部直流伺服电6我国落后生产力制约,政治经济等方面的原因,没有取得较大的发展,的中华I型采用工业PC机作为主控板(IPC486DX/33),CPU为Intel运动控制技术是现代化制造业的核心技术旧1,是衡量一个国家制造业水平高低的重要标志之一。我国是一个制造业的大国,但数控技术的水平还不是很高,与欧美、日本相比还有一定的距离,一些高精度的零件还完全依赖进口,严重的制约着我国制造业水平的提高。最近几年,以C机作为基础的C,由于硬件的成本降低及应用软件的大量出现,为其发展带来了新的机遇,同时也提供了我国数控系统有了赶上世界一流水平的机会。然而,国内的运动控制的核心技术还停留在比较落后的阶2CC些功能简单应用,就大材小用,成本过高。而嵌入式系统的蓬勃发展,本设计通过对数控市场全面深入的研究,并走访了一些数控机床的操作员了解工艺和一些正在使用数控设备的客户,了解市场需求的基础,设计了一套基于AM的嵌入式运动控制器的设计方案。引进了嵌入式实uCOI1uC/U的基础,这必将为其它运动控制系统的研究与开发提供有价值借鉴,对我国开放式数控系统的发展与应用起一定推动作用,为祖国的繁荣昌盛添砖加瓦,为工业运动控制产业的发展起到一定的推动作用口3。本论文主要内容如下走访一些正在使用数控设备的客户,了解他们的需求,比较种常用的运动控制方案,最终确定了基于ARM运动控制的设计方案,总体规划了控制器的总体设计结构武汉工程大学武汉工程大学硕士学位论(,4第2章运动控制第2章运动控制器系统构成与方案殴电气运动控制是由电力拖动发展而来的随1,电力拖动或电气传动是对以电动机为对象的控制系统的通称。从电力拖动开始,经历四十多年的发展历程。现代运动控制己成为一个以控制理论为基础,涵盖电机技术、电力电子技术(电力电子线路、电力电子器件)、微电子技术、传感器检测技术、自动控制技术、信息处理技术、微计算机技术和计算机仿真和辅助制造(CAM)技术等多学科交叉应用的控制技术。典型的现代运动控制系统的硬件主要由上位计算机、运动控制器、功率驱动装置、电动机、图2.1现代运动控制系其中,运动控制器是整个系统的核心,一般以CPU武汉。【程大武汉。【程大学硕七学位论其n|。闭环和半闭伺高苦卓绝的深入研究,对运动控制技术有了深刻的把握,研制出许多优良,PCMA8行500n。NI(美国国家仪器)开发出PCI一3212/PXI一6342、PXI一2323、PXI一568PDW-2312、PDW-4578等以工业PC德国MOVPC机开发运动控制卡,是专用控制步进电机和数字伺服电机的运动控制器,最多可控制4轴联动,进行直线和圆弧插补等运动,也可以采用多个控制器链接级联的方式控制更多的运动轴,10深圳市摩信科技有限公司的运动控制卡MTON构的2到8轴运动控制器系列产品。该控制器的处理器采用美国德州仪器公司的S32C1数字处理器,软件实现的输出方式有:有梯形,双S,双抛物线插补,并且数字输出接口为可编程类型,输出频率范围-9Hz深圳市雷赛科技公司生产的DMC6第2章运动控制第2章运动控制器系统构成与方案设南京顺康数码科技有限公司开发的A使用了运动控制芯片MCX314,该芯片带插补功能、可以控制4个马达,适用于C/AT总线的线路板,而C10运动控制卡则可以同时控制4个步进/脉冲型伺服电机,是基于PCI总线的运动控制卡n别Boch精密测控有限公司生产的oinntol系列运动控制卡,是一款基于A总线的运动控制卡,该卡采用专用运动控制芯片X04,此芯片内部可完成S形、梯形速度曲线规划来实现自动加减速功能,最高脉冲输出频率可达2.MHz,具有差动或单端编码器反馈信号接口,能利用零位开关、减速开关及编码器Z相信号实现高速高精度原点返回操作n引。由于IA总线逐渐被I总线取代,这种接口的运动控制卡也逐渐4入的伺服马达、步进马达。可以进行各轴独立的定位控制、速度控制,式插补n运动控制器是指以中央处理器的算法为核心,以传感器输出信号为反馈输入,以电机或其它执行机构为控制对象的一种控制装置n¨目中将运动控制器的概念进行延伸,增加人机交互功能。它的主要功能7本项目中设计了一款3轴运动控制器,采用LPC2478ARM本项目中设计了一款3轴运动控制器,采用LPC2478ARM作为处器,通过读取U盘或SD卡中的G代码文件,解析后控制3协调运动,带动刀头,从而雕刻出用户需要的图案,并在雕刻的过程中实时的显示雕刻信息,如绝对坐标,正在执行的G代码,所使用刀具的成G代码文件的软件有很多,本项目中采用法国Type3软件生成G第3章运动控制器硬第3章运动控制器硬件设运动控制器硬件设计实现方案主要由U盘读取电路,脉冲输出电路,编码器信号采集电路,触摸屏控制电路以及电源电路组成。其功能与硬件组成原理如图3.1所示。AM通过B接口读取G代码文件,解析G代码文件的内容,发运动控制指令给运动控制芯片PCL6045BL,将运动过程图3.13.2主控制器设计的一款具有高集成度并且以ARM7TDMI-S为内核的微控制器。9的8位宽度的存储器接口和加速器架构,可使U以高达Mz的系统时钟速度来按顺序执行F的8位宽度的存储器接口和加速器架构,可使U以高达Mz的系统时钟速度来按顺序执行Fh存储器的指令。LC478还带有实时调试接口,包括AG和嵌入式跟踪在内,可以执行2位的M指令和6的THUMB78微控制器包括1个CD控制器、1个O/E的以太网媒体访问控制器(MC)、1个带4B终端RM的B全速e/t/控制器、4路串口,其中有一路全功能的串口,2路控制器局域网通道、1个SPI接口、2个同步串行端口(P)、3个1C接口和1个S及1个外部存储器控制器(EM)来支持上述的各种串行通信接口。它还带有4个32位定时器、每个定时器都可以用作捕获功能,1个0位的C、0位的C、2个M单元和多达0个的高速O的众多的串行通信控制器,灵活的时钟能力。P48中有64个PO管脚被连接到了以硬件为基础的向量中断控制器(v)上,意味着这些外HY57V561620n刚是一个容量为16MX16Bit的同步DRAM存储器。在动控制器中使用了一个7英寸800X480的16位颜色的TFT液晶屏而就需要为其分配一块 2BYTE的内存作为显存,由于ARMX部提供的RAM为96K,显然不能满足显存的需要,所以外面扩展RAMDRAM是DynamicRandomAccessMemory的缩写,与行列地址复用的,许多都有页模式,速度不如SRM快。但是它集成度高,容量大,价格低廉,早期PC机就是使用此内存,其速度可以达到133M,LPC2478上已经集成了DRAM的控制器,所以选用了DRAM作为外扩存储器第3章运动控制器硬件设第3章运动控制器硬件设在系统的设计中,需要显示从U盘读出的文件名,因此需要存GB2312标准收录的6500多个汉字的2种字型码,大约需要2M的存储间,分别为16.16和48,48点阵的字型码,还需要存储公司的LogoLPC2478自带的52KFlash1用了总线型的SST36VF6401¨刚非挥发性存储器扩展了4M×16位Flash储空SST36VF6401是一片4MX16位的总线型NorFlash(16相连接,它的读写周期分别为70ns和90ns,ARM3.5.1USB供电控制电路如图3.2所示,控制芯片M55乜们是一款SB过流保护芯片,具备使能端,当使能端无效时,停止对外供电,当使能端有效是才会对外供电,这就十分方便处理器控制UB设备,通过这款芯片给外部SB设备提供稳定的电流,当外部的UB设备需求电流大于5mA时,等效电阻小于0欧姆的时候,M5停止对外供电,并通知L28M处理器外部设备电流过大,因此即使在外部B供电电源的正负极短接的情况下系统也能够工稳健地工作。为在外部UB设备出现武汉工程人学硕十学位论武汉工程人学硕十学位论D图3.2USB模块电路众所周知,UB设备是可以热插拔的,但这样的特性需要硬件的支持,热插拔会导致静电问题,所以引进了ESD芯片。ESD芯片能快速释放电荷,由于USB数据线上传输的是高频信号,普通的ESD芯片的极间电容会影响USB数据的传输,所以这里选用超低电容的PRTR5VOU2X心¨,可以防止6瞳列采用S工艺制成,如图3.3所示,可工作在2.5.V电压下,内建一个4路低导通电阻模拟开关组成的供电一测量电路,2位逐次逼近类型A/D转换器和异步串行数据输入输出接口用于和处理器通信。内部结构如图3.3所示,6根据微控制器发来的不同测量命令控制相应的模拟开关导通和断开,以便向触摸屏电极对提供电源,并把相应电极上的触点坐标位置所对应的电压模拟量引入A/D第3章运动第3章运动控制器硬件设模拟电压输入,CS为A76的片选输入信号,低电平有效,CK接外部时钟输入,为芯片进行A/D转换和异步串行数据输入和输出提供时钟;DIN串行数据输入端,当CS低电平时,输入数据在时钟的上升沿将串行数据锁存;DUT串行数据输出端,在时钟下降沿数据由此移位输出,当CS为高电平时;DOUT呈高阻态。BUSY为系统忙标志端,自带精准的2.5V参考电压源。当S为低电平且SY为高电平时,表示86正在进;PNIQIN3、IN4为辅助ADC转换输入通道,+VCC两雨薅图3.3ADS7846AD746是DS83的升级芯片,除了具备D783D的所有功能外,还提供了触摸屏压力大小检测,提供内部参考电压源和温度测量的功能。其中压力大小检测功能是一个非常实用的功能,因为电阻式触摸屏的原理是通过判断电阻值的大小来判断用户在触摸屏上触摸的坐标,而在测到最终触摸稳定的过程中其压力大小是从0力比较小的时候,经实验测得电阻值比接触稳定的时候要偏大很多,这就造成较大的测量误差。图3.4是用示波器捕捉到一次触摸过程中,触摸屏电压的变化图,在以前的实践中(使用S43的应用),没法进行压力测量,不能判断用户按下去的力度,必须使用软件去抖动,浪费处理器时间,特别是在没有引进操作系统的时候,即在检测到用户按下后,延时一段时间再读,这无疑加重了软件的负担,而且延时的长度不好把握,在实践中一般设置约0s,在用户从稳定按下到松开的过程中也存在同样问题,压力从最大变为0,接触电阻从最小变成最大,也给测量造成很大误差,且不能用延时等方法来规避这类问题,在实践中,采用将力比较小的时候,经实验测得电阻值比接触稳定的时候要偏大很多,这就造成较大的测量误差。图3.4是用示波器捕捉到一次触摸过程中,触摸屏电压的变化图,在以前的实践中(使用S43的应用),没法进行压力测量,不能判断用户按下去的力度,必须使用软件去抖动,浪费处理器时间,特别是在没有引进操作系统的时候,即在检测到用户按下后,延时一段时间再读,这无疑加重了软件的负担,而且延时的长度不好把握,在实践中一般设置约0s,在用户从稳定按下到松开的过程中也存在同样问题,压力从最大变为0,接触电阻从最小变成最大,也给测量造成很大误差,且不能用延时等方法来规避这类问题,在实践中,采用将当前点和前一点作比较的方法,因为在检测到触摸后扫描程序会延时lOms再查询一次触摸屏,如果当前点和前一点差值过大,就将当前点抛弃。此方法勉强能用,但也有一些缺陷,比如当前点和前一点的差值门限不好把握,差值门限与每秒查询触摸屏的次数和用户划过触摸屏的速度有关,如果用户划过触摸屏速度很快,这个值要设置得小些,如果每秒查询触摸屏次数减少,这个值也要设置得小些,所以在实际应用不容易设定出满意的值。’:。。:’。’《:’0‘;l二1.二二二二三二三二二。00-00≯{00第3章运动控制器第3章运动控制器硬件设在采用了D86作为触摸屏控制芯片之后,能够对压力大小进行测量,在检测到有触摸之后,接着对压力大小进行测量,在压力值太小PC64B啦(NM芯片,通过传统的数据总线,控制总线和地址总线接收命令,因此与通信速度非常快,当接收到指令后产生脉冲控制步进电机或伺服电机。3.8编码器电光电编码器∞们是一种集光、机、电为一体的数字化检测装置,它具有分辨率高、精度高、结构简单、体积小、使用可靠等优点。近几年来,发展为一种成熟的、多规格的工业化产品,广泛应用在数控机床、机器人、雷达、高精度闭环调速系统、伺服系统等诸多领域中。光电编码器定义为:一种通过光电转换,将旋转轴上的机械、几何位移量转换成脉所以在实际工业生产中得到广泛的应用增量式光电编码器口妇的特点是每产生一对输出脉冲信号就对应于一个增量位移,但是不能通过输出脉冲区别出在哪个位置上的增量。它能够产生与位移增量等值的脉冲信号,其作用是提供一种对连续位移量离散化或增量化以及位移变化(速度)的传感方法。它是相对于某个基准点的相对位置增量,不能够直接检测出轴的绝对位置信息。增量式光电编码器输出A、B两相互差0。的脉冲信号,从而可方便地判断出旋转方向。同时还有用作参考零位的Z相标志(指示)脉冲信号,码盘每旋转一周,只发出一个标志信号。标志脉冲通常用来指示机械位置或对积累量清零。增量式光电编码器主要由光源、码盘、检测光栅、光电检测器件和转换电路组成。码盘上刻有节距相等的辐射状透光缝隙,相邻两个透光缝隙之间代表一个增量周期;检测光栅上刻有A、B应的透光缝隙,用以通过或阻挡光源和光电检测器件之间的光线。它们的节距和码盘上的节距相等,并且两组透光缝隙错开1/4节距,使得光电检测器件输出的信号在相位上相差90。角。当码盘随着被测转轴转动时,检测光栅不动,光线透过码盘和检测光栅上的透过缝隙照射到光电检测器件上,光电检测器件就输出两组相位相差电度角的近似于正弦波的电信号,电信号经过转换电路的信号处理,可以得到被测轴的转角或速度信息。90lDXP下的原理图,而是给出了Quartus90lDXP下的原理图,而是给出了Quartus3.7可以分析出,在图3.7中,输出为低电盈AB图3.6A相超前B相90。时量蛳^翻B翻移图3.7A相落后B相90。时武汉一L程大学硕武汉一L程大学硕士学位3.9步进电机运动控步进电机⋯当每当得度使的典型的步进电机控制系统主要由步进电机运动控制器n3l、功率图3.8雕刻,就会形成不同的等效负载,而这些负载时设计者预先不可知的,10图3.9步进电机控制系统是运动控制系统的核心部分n引,但不能直接接在运动控制器上面,所以在步进电机前面有功率放大电路,即步进电机驱动电路。控制器可以直接控制步进电机驱动电路,给步进电机驱动电路提供的控制信号包括:脉冲信号、方向信号(高电平,低电平分别控制电机的正转和反转)。脉冲信号用以控制步进的速度,方向信号用以控制电机的转向n即。运动控制器为电机驱动器提供这些控制信号都是标准的驱步进电机控制系统是运动控制系统的核心部分n引,但不能直接接在运动控制器上面,所以在步进电机前面有功率放大电路,即步进电机驱动电路。控制器可以直接控制步进电机驱动电路,给步进电机驱动电路提供的控制信号包括:脉冲信号、方向信号(高电平,低电平分别控制电机的正转和反转)。脉冲信号用以控制步进的速度,方向信号用以控制电机的转向n即。运动控制器为电机驱动器提供这些控制信号都是标准的驱采3对于所有与外部接触的端口均采用了光电隔离。B接口除外,但USB端口采用了L355芯片供电,消除UB接口短路对系统的影响,并且在B的电源线上接上了D芯片,在SB差分数据线上接上了超低武汉工程人学硕十学位论武汉工程人学硕十学位论B及核心控制板电源旁边同时放置F-pu1本章小像上像上◆读取走刀的路径文上J图4.1武汉iI:程大学武汉iI:程大学硕士学位论在图4.1所示的完整的雕刻过程中,第一步和第二步是借助上位机完成的。能生成走刀路径的计算机辅助软件很多,比较出名的有北京精雕,北京文泰,uG,Type3等软件。雕刻路径是否最优化,与这些软件有密切关系。北京精雕在木工雕刻行业应用得比较多,北京文泰能生成多种艺术字,在广告业应用比较多。本设计中使用的是简单易用的Te3软件,yp3具有较好的浮雕处理能力,能通过一些简TeeACAM模块也可以调用其它AutoCAD以方便的对接,也可用通以方便的对接,也可用通过扫描仪输入扫描文件,或者对普通图形件进行矢量化,都可以生成走刀路径文件。从简单的字符到复杂的在运动过程中实时显示运动的信息,如当前使用的刀具,运动速度,机交互任务和Gc/os—II武汉一l:程武汉一l:程人学硕十学早期的系统中,因为早期的系统控制比较简单,在通常的应用中将插补计算(直线插补和圆弧插补)、运动控制方式(梯形曲线加速、S曲线加速等)和失步控制都放在中断服务程序中完成,在单任务下可以保证运动控制器的高实时性要求,但造成系统的可靠性差,可维护嵌入式实时操作系统是为适应嵌入式应用的实时性和多样性而设计的,其目的在于提供良好可扩展性和稳定性同时,缩短应用软件核,占用处理器资源少,要求软件系统与硬件紧密结合,需针对硬件性。采用嵌入式实时操作系统,可将程序分解成多个任务,程序开发变得更加容易,便于维护,易读易懂,提高了开发效率,缩短了开发周期,保证了系统的实时性、稳定性和可靠性。嵌入式实时操作系统个功能更为强大的运行环境,用户的应用程序都建立在RTOS之上,T并根据各个任务的优先级,在不同任务之间合理地分配CPU从该意义上而言,TS更像一个资源管理器。近几年来,由于嵌入式系统的飞速发展,嵌入式操作系统也得到了飞速的发展。市场上的S常见的实时操作系统有s,s,x,S,Ecos从该意义上而言,TS更像一个资源管理器。近几年来,由于嵌入式系统的飞速发展,嵌入式操作系统也得到了飞速的发展。市场上的S常见的实时操作系统有s,s,x,S,Ecos,Smx实时、多任务应用环境,而且还具有相应的功能齐全的交叉开发环境,廉价的、开源的嵌入式实时操作系统uc/os-II作为软件开发平4.2.2C/OS.II1c/os—II是美国的嵌入式专家u在网上自由下载,作为教学和研究使用时可以不必申请授权,只有作为商业用处时才需要购买许可证。这是一个完整的,开源的,可裁剪uc/s-ANSIC语言编写的,所以可以用于任意的标准AI编译器。uc/os-II包含一小段汇编语言代码,使之可用于不同架构的微处理器使用,并提高处理器响应速度。uc/sII对共享资源提供了保护机制,由于它是一个支持多任务的实时操作系统,一个完整的程序可以划分成几个任务,不同的任务完成不同的功能。这样一个任务就相当于模块化设计中的一个子模块,在任务中添加程序代码时,不必担心互相之间有影响,多任务运行使PU的利用率达到最高,并使应用程序模块化,方便扩展和重复利用。2u根据不同任务的优先级,合理分配CPU时间片。因此其任务管理三方面讨论uc/os—IIC/OS.II的任务管3c/os武汉T骤图4.3u武汉T骤图4.3uCOS/IIc/os-II最多可以管理64u任务优先级不能重复,pc/os—IIc/os-内核调度,对于操作系统而言,看不见该任务。就绪态:一般是高优处理器资源,一旦获得CPU控制权即可运行。挂起态:任务正在等待某一事件(如外设I/O的状态,信号的到来等)而暂停运行。运行态:任务获得CU控制权,正在运行。被中断态:当任务运行态时,发生中断,CPU将当前任务中断以提供相应的中断服务。多任务是指后台任务有多个,从而使得CPU第4章运控控制器软什设块化,任务一旦建立,任务控制块将被第4章运控控制器软什设块化,任务一旦建立,任务控制块将被初始化Control任务控制块是一种c/os-II内核数据结构,当任务的CPU得到CPU图4.4KB_OSSched0函数的结u高的任务一旦就绪就能剥夺优先级正在运行的较低任务的CPU使用权,这无疑提高了系统的实时响应能力,将实时操作系统实时性体现得淋漓尽致。对于任务调度可以分为两种情况:任务级的调度和中断级的调度,其原理稍有不同b4J。在没有中断情况下,任务间的切换一般会调用K—OSSched武汉jr程大学硕士学位论武汉jr程大学硕士学位论()在就绪队列中查找优先级最高的就绪任务,将最高优先级任务的环境从堆栈中恢复出来(恢复Uu在启动|lc/os—II前,初始化好任务定时器0,并在定时器0任务切换函数,即KOS—ASSW()函数,并调用KOSCtSw(),这个函数用汇编语言写成,在移植到不同系统的时候必须重新编写,这文件的主要内容包括,定义堆栈的增长方式,(比如向上增长,还是向下增长,SP指向的是最后压入的数据还是空地址等),它将有关的CPU寄存器压入堆栈,并保存当前堆栈指针寄存器SPu操作如下{中断返)这里KB_OSIntNesting是uc/os—II中定义的一个全局变量,用C/OS.II任务之间的通5会严重的破坏程序的结构型,如果开发这段程序的人员离职,后面接手的人在阅读程序的时候将变得异常的困难,这是前后台程序难以继承的具体表现,但在uC/OS.II任务之间的通5会严重的破坏程序的结构型,如果开发这段程序的人员离职,后面接手的人在阅读程序的时候将变得异常的困难,这是前后台程序难以继承的具体表现,但在uc/I号量、邮箱和消息队列等机制实现,这样做将使得程序的开发变得十分有条理,结构清晰,易于阅读。本设计实现将用到消息邮箱以及消u信,在USB2.0中,提出了一个新概念,即B为USB提供基本的协议栈,执行各种通用的USB1这4武汉jr程大学硕士学位论输。这4武汉jr程大学硕士学位论输。这4表4.1USB的传输类传输控制IN和传输容要求不严IN或者IN或者批量同步传1断传输可以保证在不大于80ms的时间间隔内查询一次鼠标的状态。4USUSB7l,RO当设备插入主机时,主机就会检测到数据线上有一个从低到高的跳变,在+或者D一的数据线被拉至VC以上2.5微秒当设备插入主机时,主机就会检测到数据线上有一个从低到高的跳变,在+或者D一的数据线被拉至VC以上2.5微秒(30个全速数据比特周期),主机就开始进行总线复位,如图4.5所示,UB主机的数据线上接2个K的下拉电阻,而B设备上面有一个0欧姆的上拉电阻,在没有设备插入时,主机的D一,D+由于下拉电阻的作用,均处于低电平状态,当SB设备插入后,330欧姆电阻与15K欧姆电阻组成一个分压电路,在3.V系统中约得到一个V的电平,此时UB主机会将V电平判断为高电平,SB主机的数据线就会有一个电平从低电平变成高电平,因此产出一个UB中断,主机就通过这种机制检测到一个SB设备。SB设备上30欧姆的电阻既可以接在D一上,也可以接在+上,但接在不同的数据线上面,会表示不同意思,SB协议规定,上拉电阻接在D一上面,标示该设备是一个低速或USB—Host(UgB主机USB—Device(USBl_●■■图4.5USB主机和设备连V武汉jr程大学硕士武汉jr程大学硕士学位论UU图4.6描述符树状结构如图图4.6所示,从图中可以看出,一个USB图4.6描述符树状结构如图图4.6所示,从图中可以看出,一个USB一4.3.4BOG功能,BUSB专用的RAM,因此可以获得很 LPC2478ARMLPC2478ARM1、遵循OHCI规范的复位信号Frame)使能;USBResume: LPC2478ARMLPC2478ARM1、遵循OHCI规范的复位信号Frame)使能;USBResume:强制总线恢复信号;USBSuspend:监控USB的唤醒活动主机控制器眙妇具有4个SW驱动程序可见的USB状态;HCCA图4.7所示为USB主机控制器结构框图,从图中可以看出,整个USB主机控制器都挂接往LP78ARM的B总线上,内核与UB主f存器U1端寄存B《DMA接主总线啪楸一啪X一杯OSB主机控制器结该UB3主机控制器无论硬件设计还是软件设计均较为复杂。一般只在PC上使用,嵌入式设备上不常Microsoft等提出,与UHCI一样,它适用于全速与低速USB但与HI相比,符合OI控制器的硬件要求与系统性能、软件复杂的要求相对较低,也能满足大部分的具有USB接口嵌入式系统的应用,OI把较多的功能定义在硬件中,软件需要处理的内容就相对比较容易,对系统的处理能力和系统资源的要求就低,而UCI对硬(PC机就较多地采用了UHCI)。因此,在嵌入式的USBHOST功能中,较多地选用了遵循OHCI的规范的硬件,从而简化了系统的设计。OHCI规范HOST软件模块基于uC/OSiiLPC2478息,也就不会产生多余的代码武汉:【:程大学硕十武汉:【:程大学硕十学位论由于同步传输(多用于音视频等设备,对实时性要求很高,可以8HOST暂HOST驱动(如大容量类软件)只需调用LPC2478HOST4.3.58HOSTC表4.2USB2478HOST文件及说文件作所走文KB表4.2USB2478HOST文件及说文件作所走文KBKBⅣ【KB定义了所有错误KBC0删USB如内存拷贝等杂项函数,KB—usbcommon.C的头文接口及调试的配置(是否该部分与目标板有关,偶来过操作ISPI301的函——KB_usb——KBKBKB目标层武汉.J:程人学硕士学位论在整个HOST软件的设计中武汉.J:程人学硕士学位论在整个HOST软件的设计中,PDD层(platform-的是与硬件平台相关的功能,DD层实现的是与硬件平台无关,与B协议相关的功能。在这两层之外还有一个公共部分用于实现整个软件中共享的杂项代码。以及一些调试接口,USB2478HOST软件可以通图4.8是整个HOSTISPl301部分与OTG图4.8USBHOST配1HOSTTD数1KB—USB—HOST—KBUSBMAX KB—USB—MAX—CTRL—KB.——USB——MAX.——BULKOUT.——HOST配1HOSTTD数1KB—USB—HOST—KBUSBMAX KB—USB—MAX—CTRL—KB.——USB——MAX.——BULKOUT.——#defi#defi2PDD层设化代码KB—{KB_GpsOhciReg一/KB_GpsOhciReg术/木清除中断标志清除所有中断)8ARUB对该中断进行处理{USBINT32UUSB— USB— /木SOF )if(uiUSB— USB— /木SOF )if(uiUSBDEBUG_SENDSTR(”\r\nResume)USBDEBUG_SENDSTR(∥\r\nOwnership))好了HCD,则相当于构建好了整个Host里依次介绍HCD的这几部分内容以及对USBRAM的管理。其中的管理在OHCI规范中是没有的,但是TD以及要传输的数据均存放在芯片指定的门的RAM。专门指定一片USBRAM的好处是可以更方便DMA图在USB规范中,一般有控制输入端点、控制输出端点、批量输入端点、批量输出端点、中断输入端点、中断输出端点、同步输入端点、同步输出端点,不同的端点对应着不同的传输类型,为了方便协议栈的设计,现将数据传输类型重新划分为控制传输、批量输入传输、批量输出传输、中断输入传输、中断输出传输和同步传输,不同的传输类型对应着不同的端点,也就有不用的端点描述符D类型以不同的宏定义名来区分,这些宏定义如程序下面程序清单所文件中找到图在USB规范中,一般有控制输入端点、控制输出端点、批量输入端点、批量输出端点、中断输入端点、中断输出端点、同步输入端点、同步输出端点,不同的端点对应着不同的传输类型,为了方便协议栈的设计,现将数据传输类型重新划分为控制传输、批量输入传输、批量输出传输、中断输入传输、中断输出传输和同步传输,不同的传输类型对应着不同的端点,也就有不用的端点描述符D类型以不同的宏定义名来区分,这些宏定义如程序下面程序清单所文件中找到#defiUSB.——TRAN——TYPE.——BULK——USB.——TRAN.——TYPE——INTR——USB.——TRAN.——TYPE——INTR——USB.——TRAN.——TYPE——HC管理是HCD的一个重要职责,该部分主要完成USB器HC的相关操作,如HC控制器初始化等。由于对OCI控制器的相一下OI寄存器的定义。在讨论了HI寄存器的定义后,在讨论OHI初始化的实现。UB248HOST软件包设计了两个HCI初始化函数,一个用于ARM上电是的初始化,另一个用于检测到有设备插入时HC不会发送SOF武汉jI:程大学硕十学位论设备。第二个初始化函数在检测到设备插入时调用,将HCOperational),在该模式下HC每lms发送一个武汉jI:程大学硕十学位论设备。第二个初始化函数在检测到设备插入时调用,将HCOperational),在该模式下HC每lms发送一个在LPC2478ARM上电时调用此初始化函数,该函数复位HC,并USB_BOOLKB—ohci{USB— uiKB_GpsOhciRegKB_GpsOhciReg)由于在某些情况下上电前就有设备插入,如在上电之前就有U盘插在USB口上,为了保证能检测到上电前插入的设备,该函数会判断各个端口的状态,以确定有无设备插入。如果有设备插入则发送信号在检测到设备插入后调用第二个OCI初始化函数,与第一个OHI初始化函数不同,该函数初始化了存放各传输链表表头的寄存USB—BOOLKB—ohciInit2(USB—{USB—INT32U*pupuiTmp=(USB_INT32U木)KB—OHCI—HCCA—BASE—水)KB_GpsOhciReg一>uiHcControl=0:/)USB—BOOLKB—hcEnableSchedule(USB—INT8U{水)KB_GpsOhciReg一>uiHcControl=0:/)USB—BOOLKB—hcEnableSchedule(USB—INT8U{KB—GpsOhciReg一i)els i ))启动HC调度指的是置位HcomanStts寄存器的CLFF位,主要是针对控制传输和批量传输,因为对中断传输和同步传输,只要使能了HC的调度就可以了,不需要进行此步的操作。下面的程序清单是启动HC KB—hcStartSchedul{iKB—GpsOhciReg一)eliKB_GpsOhciReg一)elIf((ucType==USB—TRAN—TYPE—i(ucType---.=USB—TRAN—TYPE—))4根集线器管在符合OI规范的B制器内作为主机控制器的一个功能集合。从)elIf((ucType==USB—TRAN—TYPE—i(ucType---.=USB—TRAN—TYPE—))4根集线器管在符合OI规范的B制器内作为主机控制器的一个功能集合。从USB主机协议栈设计的角度看,根集线器的管理也是HCD的重要职责。根集线器管理主要包括调用,并判断插入的是全速设备还是低速设备,函数最后配置了根集线器的描述符USB—BOOLKB—ohc{USB—INT32Uui)KB_GpsOhciReg=一)KB—GpsOhciReg一i J(2)总线复口函数一样以端口号作为输入参数该宏J(2)总线复口函数一样以端口号作为输入参数该宏{USBDEBUG—)(3)总线挂{USBDEBUG—)(4)总线唤所{14.3.6枚举过就是就是SB主机获取SB设备各种描述符的过程,通过描述符判断设备的信息,比如设备的类型,所具有的端点数,每个端点的最大数据包长度等,在获取设备的各项信息时也需要配置设备,只有配置好设备枚举过程b朝如图4.10错误!未找到引用源。所示,在每次枚举前USB主机应该先复位总线,然后开始读取描述符。此时SB于缺省状态,采用默认的端点0和主机通信。最先获取的是设备描述符,以获取设备的USB规范版本号和类型代码、以便于主机加载相应的驱动程序和设备通信,在本项目中,只能和UB大容量存取设备通信,如果UB设备返回其它类型的设备号,主机将会提示错误,在刚开始通信时SB主机并不知道SB设备的端点O的最大数据包长度,主机总是假定设备端点O最大包长度为8Byte,因为USB规范中规定,控制端点的最大包长度只能为8、16、因而,读了8在成功读取8Byte设备描述符后,主机为设备分配一个唯一的地址,将设备从缺省状态转入地址设置状态。在此之后,主机就通过这转为配置状态图USB在枚举成功后,就可以进行读取U盘的操作了,在文件系统方面,本项目中没有进行自主开发,而是采用ZLGFS图USB在枚举成功后,就可以进行读取U盘的操作了,在文件系统方面,本项目中没有进行自主开发,而是采用ZLGFS,支持T2,A6,FATl2格式,但不能支持长文件名的显示,本项目中对其进行了改进,加入了e编码的汉字字库,使其能支持s长文件名的显不在USB了,其中打开文件的函数原型是HANDLEOSFichar*Type),武汉』:程人学硕士学何论件的句柄,如果打开文件不成功,则饭后OxFF, Handle)第一武汉』:程人学硕士学何论件的句柄,如果打开文件不成功,则饭后OxFF, Handle)第一个数是读取到的字符存放的缓冲区指针,第二个参数是要读取的字节备的文件了G代码是由数控程序命令组成的文件。不同的雕刻任务,即雕刻不同的图形,运动控制器的走刀路径不同,就对应有不同的G件,简单的G代码可以用记事本自己编写出来。复杂的要用设计软件(比如Tp3,文泰雕刻)设计好,导出G代码。本项目中采用yp3G90⋯~绝对尺寸G91⋯⋯相对尺寸例如:下面是一小段G代码实例,以此来说明GN1G90G17GOOG41D07X250.0N2G01Y900.0F1R650.0从P5运动到P6加取消偏置方X500.0Y1R一XllX700.0N10X250.0N1lG00G40X0表示下面的坐标值均为绝对坐标,G90为模态量,在遇到G91之前,N1X表示逆时针方向走圆弧(半径R为正数表示劣弧),以当前点为圆心,l150)为起的G武汉jr:程大学硕士学武汉jr:程大学硕士学位论l5D,图4.11G代码走刀示意NPm句的主要时间取决于步进电机的执行时间,而不是ARM即解释一条G代码,便执行一条G在本系统中,解释器作为一个功能模块,将US即解释一条G代码,便执行一条G在本系统中,解释器作为一个功能模块,将USB缓存区中代码程序进行识别,检测相应参数,如果无误写入G代码结构体参数。它需要实现语法检查和词法检查,语法检查主要任务包括对数控代码进行组词规则、程序格式、是否关键字、字符是否合法等规则的检查。词法检查主要是检查代码中每一指令字中的地址符,及其后面的数字类型,数字范围是否符合代码中的规则,如在程序中不能出现未定义的地址符号,地址符后的坐标值不能超过机床本身最大的工作行程等。数据格式转换读入程序行,提取运动信息,并调用相应函数以执行此行G代码通过上述检查后,将代码存入G代码结构体参数,调用G武汉【:程武汉【:程大学硕十学位论图4.12G1对G代码程序进行语法、词法检查时,程序会根据设定的规则对G代码进行处理。首先要去除其中无效字符,如程序段中空格,N指令等。然后再按代码的组词规则对其进行逐个检查,包括代码中的字符是否合法,代码的参数是否合法等,检查时是通过逐行读取的方式进行的,若某行中含有不符合规则的代码,则将其行号以及出错的信 2Y6.0⋯⋯G02X3,第n+1次读取的内容为R一3.8⋯⋯那Gn1Ge再复制这部分G代码,然后和第n+1次的G{static的数据,除了上述的数据结构以外还需要下面2个函数的配合。{g_run(int8·USBdat,int32memcpy(USBdat—back=len—CharNum一/木更新{static的数据,除了上述的数据结构以外还需要下面2个函数的配合。{g_run(int8·USBdat,int32memcpy(USBdat—back=len—CharNum一/木更新数据)函数二int8木P字符串指针,cont字符串长度,字符串最后一个’\nP[=’n’\n函数进行G代码的衔接stat int8木{ return-}G3数据结构stat 这是G代码函数指针的数组,存储了GG编译器的关键,首先[]的优先级比木的优先级高,所以这是一个数组,数组名字为Gdeoner,数组里面每个元素都是一个函数指tpGParam类型,返回参stat址值。 定义了一个局部数组,用于存放要执行G代码代号,比如GO的0,G90return-}G3数据结构stat 这是G代码函数指针的数组,存储了GG编译器的关键,首先[]的优先级比木的优先级高,所以这是一个数组,数组名字为Gdeoner,数组里面每个元素都是一个函数指tpGParam类型,返回参stat址值。 定义了一个局部数组,用于存放要执行G代码代号,比如GO的0,G90中的函数原型voidInitialGPnt0,函数功能:用于初始化pGParampara)中定义的数组G—Func—G00:G—Func—G01:G—Func—G02:等都是static{GcodePointer[0]=G—Func—inter[2]=G-Func—I43G43l54 J4函数三自定义字符拷贝函函数原型:int32{J4函数三自定义字符拷贝函函数原型:int32{while(术{) src—src)WordProcess(constint8术static{fp64{swi{gdat+=i 天fp64{swi{gdat+=i 天//如果有G{G—武汉.【程大学硕士学位论数ini武汉.【程大学硕士学位论数init))))对于程序段中的X,首先在碰到X认为此段代码中包含G代码了,因为在很多G代码程序段中,由于模态的关系,省略了00,G1,G2,G3等字眼,所以必须要靠数据参数,比如X的坐标来判断,此行是否包含G代码。如果遇到X字符,解析器就将变量Git设置为1,接着调用数字扫描函数,将X后面跟的字符串扫描出来,然后调用字符串转换成数字的函数,将此字g一点,要分析G行的G代码中,将G4.5插补模块行的G代码中,将G4.5插补模块的实市面上有很多关于插补的书籍,也有很多关于插补的算法,从最原始的逐点比较法到高档的DDA作出了深入的研究,各种新的算法出现,插补精度也越来越高,但是插补的复杂度也越来越高,处理器的计算量也越来越大。在这些插补算法中,最早采用的插补算法:逐点比较法算法最为简单,插补精度近些年来,出现了成熟的细分技术,所谓n细分,就是指发n个脉冲步进电机走一步,没有细分的时候,发一个脉冲步进电机走一步,现在rl可以做到256,也就是说发26个脉冲,步进电机走一步,如果使用1.8。步距角的步进电机(200步对应一圈),5mm的导轨(步进转一圈导轨运动5mm),一个脉冲对应的直线距离为5/00/60.7m,这点距离比起导轨的误差都小,所以再提高插补精度已经没有太大意义了,随着细分技术的逐渐成熟,对插补精度的高的算法相比插补精度低的算法的优势,就显得微不足道了,插补精度的提高可以忽略不计,人们纷纷回到最原始的插补算法,逐点比较法,这就类似与内燃机的出现,各种对蒸汽机的改进都显得没有太大意义由于本项目采用了PCL6045BL插补控制芯片,所以插补的工作就武汉一J:程大学硕士学位论将用浮点数表示的距离根据当前的当量换算成等价的脉冲个数,然后写B的XY轴的数据寄存器,最后发开始名命令,在开始命令后,PCL6045BL便开始发脉冲了,当脉冲个数达到指定个数后,便停止发武汉一J:程大学硕士学位论将用浮点数表示的距离根据当前的当量换算成等价的脉冲个数,然后写B的XY轴的数据寄存器,最后发开始名命令,在开始命令后,PCL6045BL便开始发脉冲了,当脉冲个数达到指定个数后,便停止发脉冲下面是2轴插补完成函数,输入参数为轴1,运动距离1,轴2,运动距离2。可以实现任意两轴的直线插补,这里只是将插补的距离通过一些参数(如当量,指令中的位置是绝对坐标还是相对坐标)换算成脉冲个数,真正的插补的动作时运动控制芯片PCL645BL的staticint32distancel,uint32fp64di{fp64axiaxistmp2=fabs(diif(speed—}el ))dF*=prop水p645_wreg(Addlel ))dF*=prop水p645_wreg(Addlf 圆弧插补函数与直线插补函数类似,如果需要在X,Y插补,就可以通过写L圆弧终点寄存器(X,Y值),圆弧圆心寄存器(X,Y值)的寄存器,然后告知CL6045BL所绘制的圆弧时优弧还是劣弧,是顺时针还是逆时针,再配置好速度寄存器,有了在其它任意两轴上执行圆弧插补的过程与在XY武汉-rL程人学硕士学位4.6人机界面模LPC2478微控制器支持大多数静态LCD显示器,最高像素和每像素24位真彩色FT武汉-rL程人学硕士学位4.6人机界面模LPC2478微控制器支持大多数静态LCD显示器,最高像素和每像素24位真彩色FT液晶,能够产生液晶屏需要的各种控xG总缘TFT、一HSYNCf平同步信号、、VSYNCf盲同步信号三种颜色各6位,一共可以显示26万种颜色。采用4跟控制线与P2.9据时钟线、HSYNC水平同步信号、VSYNC垂直同步信号和DE示屏时钟可由HCLK提供,也可以由LCD的外部输入即管脚时序控制器:时序控制器是LCD模块,其作用是产生水平和垂直的时序信号,并用此信号控制RGB示屏时钟可由HCLK提供,也可以由LCD的外部输入即管脚时序控制器:时序控制器是LCD模块,其作用是产生水平和垂直的时序信号,并用此信号控制RGB口的显示器的时序,即产生并控制液晶屏的时序控制器中通过配置O口为输出,并将ISL寄存器为时序输出的功能,来充当时序控制器,它也为显示屏提供偏置信号和使能信号,这些时序都可以通过编程寄存器来改变,包括水平时序,水平前沿,后沿的长度,脉冲的宽度,脉冲的极性,同样也可以配置垂直脉冲的前水平同步信号(HSYNC):在RGB接口的LCD行显示的结束,把移位寄存器的行数据送到显示器中,并且将行指针的值增加1,使行指针指向下一行。在LC7ARM的D控制器中,由P2.9充当水平同步信号,必须在F102DIR寄存器中将P2.9配置为输出,在ISE2中将,P2.9配置为水平时钟功能。水平同步信号它决定了在屏幕上从左到右扫描一行所需的时间。由图0图4.4是FT屏水平扫描时序图乜9|,该图由“像素时钟”、“水平同步信号”、“数据使能”和“显示屏数据"组成。像素时钟,从LCD初始化完成后就一致存在,并且时钟频率最快,是D控制器的基准时钟。水平同步信号:除了传输显示数据所需要的时间外,水平同步信号还包括一个水平同步脉冲、BP和HFP,水平同步脉冲的出图4.14水平时序P4图4.14水平时序P48F2P在PINSEL2中将,P2.10镰jo==二i二二五0f1r.1f1F[二二二:.jf1f1f1f1『1几f1一『1根据上面描述的时序,结合LPC2478{lcd—/,lc使台邑LCD控锘0位LCD— iLCD/木配置LCD扫描时/术设置水平时钟寄存水LCD—LCD— iLCD/木配置LCD扫描时/术设置水平时钟寄存水LCD—LC吐(VSW<<1lLCD—I/木配置VSYNCLCD鬈SelectTFT鼍器enabl絮幕}LCDl=(1<<11):/术Power武汉。T:程大学硕十学)hardwarecursorj下面是LCD写一个像素点颜色的函数,这个函数实现起来非常方便,写一个点,就往液晶的缓冲区里面直接写数据就行了,由于缓冲LCD缓冲区中的数据,其中刷新频率与LCD-CFGlcd—武汉。T:程大学硕十学)hardwarecursorj下面是LCD写一个像素点颜色的函数,这个函数实现起来非常方便,写一个点,就往液晶的缓冲区里面直接写数据就行了,由于缓冲LCD缓冲区中的数据,其中刷新频率与LCD-CFGlcd—{)C/GIJI图形用户接u有的图形CD的应用提供一个易于使用的I界面,并且不依赖于处理器和LCD控制器的图形用户接口。经过市场的调查,这个目标已经达成,uC/I|l成。一个层,称作LCD驱动程序,包含了对LCD的全部访问。p颜色管理器,允许处理灰阶。laC/GUI还提供了一个可扩展的2D形库和一个视窗管理器u足够了。C/GUI提供的2DC/GUl支持多种字体,6*8,8*8,24*32,32*48等等ASCIIu抗锯齿功能,1.tC/GUI会根据当前抗锯齿功能,1.tC/GUI会根据当前的前景色和背景色计算出中间色,1vC/GUI共包含3个配置文件GUIConf.h,GUITouchConf.h,LCDConLh(1)/术是否支持UnicdoeGUI—OS12500/*动态内存最大可以获取的空间木GUI—DEFAULT—GUI—ALLOC—0GUI—SUPPORT—第一行是定义uC/GUI义为1,1.1务操作系统的要求。第二行的宏开关定义是否支持触摸屏,第三行宏行用于定义栈的大小GUI—WINSUPPORT要动态分配内存,uC/GUI/水LCD的垂直分辨率木#defineLCDLCD—对于一个LCD液晶屏,定义3个重要参数,并将uC/GUI函数(宏),定义好正确,1.t率,垂直分辨率和颜色的位数。比如6位,就是指用2个字节来表示一位颜色,这样就可以显示最多16M的差异了GUI——TOUCH——AD——的差异了GUI——TOUCH——AD——#defi由于触摸屏的值来自于一个经过滤波后的D转换器,这几个值就是分别告诉pC/GUI当用户触摸到最左边,最右边时X通道AD值和触摸到最上面和最下面时Y通道的值,这4个值要经过实际的测量,才能得到比较正确的值。如果此4准了。最后一个定义是,是否要对X,Y通道的值进行交换。(2)告知uC/GUIu在uC/GUI中有一个LCDWin.C文件,里面是uC/GUI默认如何显示一llinkOrderll影兰·臼}圈}瞳秽00·00够锣196K··190K··0··0翳·臼黟口AntiklillinkOrderll影兰·臼}圈}瞳秽00·00够锣196K··190K··0··0翳·臼黟口Antikli晕笺·口锣0··0172X··0··i·0圈圆00渺口麓口00····图uC/GUIKB—{1cd—))在移植好 C/GUI后,接下来的工作就是菜单的设计。图是总体的菜单规划,开机后致欢迎词,并显示公司的o始自检,自检的内容包括限位端子是否断开,机械是否故障。接下来根据用户的选择进入手轮模式,该模式通常用于手动校准和点动武汉.I:程大学武汉.I:程大学硕十学式,也是手动模式的一种,按一下键,动一个固定的距离,该距离软件中可以设定,方便用户调试和参数设置,可以设定运动控制器当量,速度模式,按一下方向键,被控物体运动的距离值等参数。程序模式是根据G代码,自动控制机器运动,是一种自动模式,也是用在进入程序模式后,自动扫描插入U盘中是否存在G代码文件,在雕刻的过程中还会显示现在执行的G图4.17总体图4.17总体的菜单规武汉.1:武汉.1:程人学硕七学位论第5章测试与结第5章测试与结1所PCl运行Type3PC机2采集脉冲个数,绘图5.1测试流程在PC机1上用Type3绘制一个图形,并生成G代码,用U盘拷贝G代码,将U盘插入控制器B接口,通过运动控制器中菜单选择执行G代码,在C机2上面,通过数据采集卡的上位机程序,实时的读取数据采集卡上X,Y通道的脉冲个数,并将X,Y通道上的脉冲个数折合成距离,将这些距离值实时的绘制在C机2上,最后观察到这些点组成了图第一步,在Type3软件下面绘制一匹马的图案,然后生成G绘制的图形如图5.2,并生成G代码,拷贝到U武汉工程大学武汉工程大学硕士图5.2Type3生成的测试PCI-1780U∞5|。PCI-1780U是一款PCI总线的多通道计数器/定时器,该卡使用先进的工艺,能够通过CPLD等逻辑器件实现硬件的计数器/定时器,此外,该卡还提供8个6位计数器通道,8路数字量输出和8路数字量输入,提供较为丰厚的API接口,非常便于上位机编程。采集程序,并将采集到的数据折算成位移量,绘制在PC机2上,绘制武汉.I:程大学硕士武汉.I:程大学硕士论5.3津大学27(3):140-津大学27(3):140-室.嵌入式开发圣经[M].北京:中国铁道出版社,2003:113.142.[9】[10】王铁勇,侯明善,吴盘龙.嵌入式操作系统IaC/OS.II的特点及应[J].控制工程,2003.7(3):318—社压04—1[15]许良 DDA法圆弧插补软件的设计研究 与自动化[1(2008—1-310-4-2】【Datasheet[EB/OL],(2005—4)【2010-4-12[20]NationalDatasheet[EB/OL【21]NXPCORPO凡盯[20与自动化[1(2008—1-310-4-2】【Datasheet[EB/OL],(2005—4)【2010-4-12[20]NationalDatasheet[EB/OL【21]NXPCORPO凡盯[2010—4—1Inc,ADS7846 2009.8[EB/OL],(2008—4)【2010-4—10)[2010—4-1Datasheet[EB/OL】,(2007-[24】Datasheet[EB/OL],(2009-10)[2010-4—12[26]邵贝贝[27】陈明计,周立功.嵌入式实时操作系统京航空航天大学出版社,2004:1RTOS51原理及应用[M].社,2009:100—津大学M.Huh.High—参考文PROCEEDINGS,1989,136(3):243— lYamada,YasuyukiFunahashiandShin—withaDesiredGainErrorInternationalConferenceHi曲-PositioningSystems【J】 996,69:65—『ControlofMachine参考文PROCEEDINGS,1989,136(3):243— lYamada,YasuyukiFunahashiandShin—withaDesiredGai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光缆悬垂线夹更换施工方案
- 淄博立柱标识牌施工方案
- 沉管灌注桩施工方案
- 大学教学新策略
- 卫生间吊顶施工方案
- 餐饮业新动态
- 重阳节的数字化传播
- 鼓楼小学英语面试题及答案
- 龙华中学面试题及答案
- 英美概况面试题型及答案
- 河北省房屋建筑和市政基础设施工程监理招标文件示范文本(2025版)
- 2025年安徽卫生健康职业学院单招职业适应性考试题库审定版
- 2025年兴安职业技术学院单招职业技能测试题库新版
- 高考语文复习:观点思辨类高考作文写法指导 课件
- 城区道路环卫作业整体市场化投标文件(技术方案)
- 《中华人民共和国学前教育法》专题培训
- 中医适宜技术-中药热奄包
- 2024年湖南大众传媒职业技术学院单招职业技能测试题库及答案解析
- 2024年中国科学技术大学创新班物理试题答案详解
- 行车检测报告
- 测量管理体系内部审核检查表
评论
0/150
提交评论