![[硕士论文精品]基于arm架构的μcosⅱ移植及其实时同步交流采样研究_第1页](http://file.renrendoc.com/FileRoot1/2017-12/8/d71148d5-7807-4810-8a41-c9b07ba60eb8/d71148d5-7807-4810-8a41-c9b07ba60eb81.gif)
![[硕士论文精品]基于arm架构的μcosⅱ移植及其实时同步交流采样研究_第2页](http://file.renrendoc.com/FileRoot1/2017-12/8/d71148d5-7807-4810-8a41-c9b07ba60eb8/d71148d5-7807-4810-8a41-c9b07ba60eb82.gif)
![[硕士论文精品]基于arm架构的μcosⅱ移植及其实时同步交流采样研究_第3页](http://file.renrendoc.com/FileRoot1/2017-12/8/d71148d5-7807-4810-8a41-c9b07ba60eb8/d71148d5-7807-4810-8a41-c9b07ba60eb83.gif)
![[硕士论文精品]基于arm架构的μcosⅱ移植及其实时同步交流采样研究_第4页](http://file.renrendoc.com/FileRoot1/2017-12/8/d71148d5-7807-4810-8a41-c9b07ba60eb8/d71148d5-7807-4810-8a41-c9b07ba60eb84.gif)
![[硕士论文精品]基于arm架构的μcosⅱ移植及其实时同步交流采样研究_第5页](http://file.renrendoc.com/FileRoot1/2017-12/8/d71148d5-7807-4810-8a41-c9b07ba60eb8/d71148d5-7807-4810-8a41-c9b07ba60eb85.gif)
已阅读5页,还剩52页未读, 继续免费阅读
[硕士论文精品]基于arm架构的μcosⅱ移植及其实时同步交流采样研究.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖北工业大学硕士学位论文摘要随着微处理器技术与信息技术的不断发展,嵌入式系统的应用也进入到国防、工业、能源、交通以及日常生活中的各个领域。嵌入式系统的软件核心是嵌入式操作系统。然而,国内在嵌入式系统软件开发上有很多困难,主要有国外成熟的RTOS大都价格昂贵并且不公开源代码,用好这些操作系统需对计算机体系结构有深刻理解。针对以上问题,免费公开源代码的嵌入式操作系统就倍受瞩目了,PCOSII就是其中之一。GCOSII是面向中小型应用的、基于优先级的可剥夺嵌入式实时内核,其特点是小巧、性能稳定、可免费获得源代码。本文在深入研究PCOSII内核基础上,将其运用于实际课题,完成了基于ARM架构的PCOSII移植及实时同步交流采样的误差补偿研究。本文主要工作内容和研究成果如下J1剖析了PCOSII操作系统内核,重点研究了ITCOSII内核的任务管理与调度算法机理,得出了PCOSII内核优点任务调度算法简洁、高效、实时性较好与LINUX相比1。2介绍了ARM9体系架构,重点讲叙了MMU存储管理单元功能。为了提高交流采样系统的取指令和读数据速度,成功将MMU功能应用于本嵌入式系统中。3完成了GCOSII操作系统在目标板上的移植,主要用汇编语言编写了启动代码、开关中断、任务切换和首次任务切换等函数。4针对国内外提出的同步交流采样误差补偿算法的局限性,本文从理论上对同步交流采样的准确误差进行了研究,并尝试根据被测信号周期的首尾过零点的三角形相似法,求出误差参数并对误差进行补偿。此外,考虑到采样周期丁不均匀,经多次采样后会产生累积误差,本文也给出了采样周期丁的优化算法。5完成了系统硬件设计,并根据补偿算法和丁优化法则,编写了相应采样驱动和串口驱动。最后对实验数据进行了分析和比较,得出重要结论该补偿算法实现简单,计算机工作量小,精度较高。关键词嵌入式系统,RTOS,PCOSII,ARM,同步交流采样湖北工业大学硕士学位论文ABSTRACTWIMTHEDEVELOPMENTOFMICROPROCESSORTECHNOLOGYANDINFORMATIONTECHNOLOGY,EMBEDDEDSYSTEMHASBEINGAPPLIEDTONATIONALDEFENSE,INDUSTRY,ENERGY,TRANSPORTATION,ASWELLASALLFIELDSOFDAILYLIFEEMBEDDEDSYSTEMSOFTWAREISTHECOREOFEMBEDDEDOPERATINGSYSTEMHOWEVER,THEREISSTILLMUCHDIFFICULTYINDEVELOPINGEMBEDDEDSYSTEMSOFAR,ANDITMAINLYINCLUDESMOSTOVERSEASSTABLEANDHIGHLYRELIABLEEMBEDDEDRTOSAREVERYEXPENSIVEANDNOTOPENSOURCE,ASWELLASAPPLYINGRTOSWELLNEEDSMASTERINGCOMPUTERSYSTEMSTRUCTUREINVIEWOFTHEABOVEPROBLEMS,FREEOPENSOURCEEMBEDDEDOPERATINGSYSTEMSCANBECONSIDEREDFIRST,ANDPCOSIIISONEOFTHEMASALLEMBEDDEDREALTIMEKERNELBASEDONTASKPRIORITY,PCOSIIHASBEINGMAINLYUSEDINTHEMINITYPEEMBEDDEDAPPLICATIONITHASLOTSOFSTRONGPOINTSUCHASSMALLSIZE,WITHOUTPAYING,HIGHSTABILITYANDRELIABILITYBASEDONDEEPSTUDYOFPCOSIIKERNEL,THISPAPERAPPLIESITTOACTUALPROJECT,ANDCOMPLETESTRANSPLANTINGITTOARMMICROPROCESSORASWELLASRESEARCHONREALTIMESYNCHRONOUSACSAMPLINGERRORCOMPENSATIONTHISPAPERMAINLYCONTAINSASPECTSOFWORKANDRESEARCHASFOLLOWS1LUCOSIIOPERATINGSYSTEMISANALYZEDINDETAILANDESPECIALLYPCOSIITASKMANAGEMENTANDSCHEDULINGALGORITHMMECHANISMISFOCUSED011THEN,ITCOMESTOACONCLUSIONTHATITCOSIICOREHASBETTERADVANTAGESSUCHASSIMPLE,EFFICIENTTASKSCHEDULINGALGORITHM,ANDHIGHREALTIMEQUALITYCOMPAREDWITHLINUXOPERATINGSYSTEM2ARM9ARCHITECTUREISWELLINTRODUCED,ANDAMONGITMMUFUNCTIONMEMORYMANAGEMENTUNITISPRESENTEDPARTICULARLYANDSPECIFICALLYINORDERTOIMPROVETHESPEEDOFINSTRUCTIONSFETCHANDDATAREAD,MMUISAPPLIEDTOTHISEMBEDDEDSYSTEMSUCCESSFULLY3PORTINGITCOSIIOPERATINGSYSTEMTOTARGETBOARDISSUCCESSFULLYCOMPLETEDTHEMAINWORKISTODESIGNBOOTCODE,CLOSEOPENINTERRUPTION,TASKSWITCHINGANDFIRSTTASKSWITCHINGFUNCTIONETCBYUSINGASSEMBLYLANGUAGE4AIMINGATTHELIMITATIONSOFTHESESYNCHRONOUSACSAMPLINGERRORCOMPENSATIONALGORITHMSWHICHHAVEBEENRAISEDATHOMEANDABROAD,THISPAPERCARRIESOUTDEEPRESEARCHONACCURATESYNCHRONOUSACSAMPLINGERRORINTHEORY,TRIESTOWORKOUTERRORPARAMETERSANDTHENCOMPENSATESERRORPRECISELYBASEDONTRIANGLESIMILARLAWWHICHCANBEUSEDINTHETRIANGLESSTANDINGATZEROCROSSINGPOINTNEARBYINAMEASUREDSIGNALCYCLEINADDITION,TAKINGINTOACCOUNTTHEUNEVENSAMPLINGPERIODAT,AFTERMANYTIMESREPEATEDSAMPLINGITWILLRESULTINACUMULATIVEERROR,ANDTHISPAPERALSOGIVESANOPTIMIZATIONALGORITHMTOSAMPLINGPERIODAT5THISPAPERHASCOMPLETEDTHESYSTEMHARDWARESTRUCTUREDESIGN,ANDHASFINISHEDCORRESPONDINGSAMPLEDRIVENANDSERIALPORTDRIVENPROGRAMINACCORDANCEWITHTHEERRORCOMPENSATIONALGORITHMANDATOPTIMIZATIONRULEFINALLYWITHEXPERIMENTALDATAII湖北工业大学硕士学位论文ANALYZEDANDCOMPARED,ALLIMPORTANTCONCLUSIONISDRAWNTHISKINDOFERRORCOMPENSATIONALGORITHMISEASYTOBEREALIZED,NEEDSLOWERCOMPUTERWORKLOAD,ANDHAS1I曲PRECISIONKEYWORDSEMBEDDEDOPERATINGSYSTEM,RTOS,PCOSII,ARM,SYNCHRONOUSACSAMPLING湖办二堂大謦学位论文原创性声明和使用授权说明原创性声明本人郑重声明所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均己在文中以明确方式标明。本声明的法律结果由本人承担。学位论文作者签名杨笔珲日期三的7年6月万日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。学位论文作者签名橱珥日期加C1年6月猡日湖北工业大学硕士学位论文11课题意义和目标第1章绪论随着嵌入式微处理器的发展,嵌入式操作系统日新月异,而且他们被广泛地应用于工业的各个领域。嵌入式实时操作系统的引入,使产品的实时性和可靠性得到显著提升。作为一名嵌入式开发者,很有必要掌握一种嵌入式实时操作系统。本课题的意义在于,以源代码开放的实时操作系统LACOSII为内核【1】,以基于3C2440微处理器进行嵌入式系统的开发和研究,这对于利用开源代码【2叫开发嵌入式实时操作系统具有极好参考价值。另外,本论文对同步交流采样误差进行了研究,这对提高交流采样精度有着重要意义。对于本课题,主要有两个目标一是掌握实时操作系统原理,以著名的嵌入式实时操作系统GCOSII为研究对象,彻底搞清其实现细节和运行方式,并实现在微处理器上移植和调通系统。二是搭建一个ARM9嵌入式同步交流采样系统包括系统的硬件设计,GCOSII的移植,采样和串口驱动的编写等,从理论和实践上对本文提出的同步交流采样误差补偿进行研究和验证。12嵌入式系统概述本文是基于嵌入式系统的开发和研究,所以对嵌入式系统、嵌入式操作系统、实时操作系统、嵌入式实时操作系统要有清楚地认识,以下是它们的定义和介绍。121嵌入式系统和嵌入式操作系统嵌入式系统15J定义为以应用为主体,软件和硬件均可裁减,适应对功能、可靠性、成本、以及功耗等要求较严格的专用计算机系统。嵌入式系统由硬件和软件两大部分组成,其中软件核心是嵌入式操作系统。嵌入式操作系统【61EMBEDDEDOPERATINGSYSTEM是一种支持嵌入式应用的专用软件。嵌入式操作系统与通用操作系统相比,具有更强的实时性和硬件依赖性。122实时操作系统实时操作系统是指能支持实时控制的专用操作系统软件。实时的含义并非指速度快,而是指有响应时间的限定,超过一定时间都认为是非法的,所以,实时湖北工业大学硕士学位论文操作系统具有可预测性和高可靠性。实时操作系统与普通操作系统的主要区别有任务处理的确定性、响应灵敏度、用户参与控制、可靠性以及故障保护措施【7儿引。所以在实时操作系统中,任务处理时间是确定的、可预测的,这一点非常关例9】ILOJ。实时操作系统分两种,一种是“硬实时“,另一种是“软实时。“硬实时指对任务处理和时间要求上,只能作出承诺或拒绝。“软实时”先对系统完成该任务的能力进行分析和估计,然后由计算出的概率决定任务的执行与否。目前对软实时操作系统的调度算法研究颇多,主要停留在采用经典反馈控制技术的常规控制算法上【。41。对硬实时方面的调度算法研究,包括速率单调调度法【151RAM、时限调度法DM【16】和最早时限优先调度算法EDF【17】。EDF调度总是比固定优先级调度取得更高的利用率。相对于速率单调调度法RM和时限调度法DM,EDF的时限是任意的,更适用于实际的实时系统。当前,使用较多的实时操作系统都属于“软实时。12,3嵌入式实时操作系统PCOSIL优点IACOSII嵌入式实时操作系统,已通过了美国航空航天管理局FAA的安全认证,它的稳定性和可靠性均已通过严格验证。LACOSII具有以下优点1源代码公开且免费。2代码量小,其核心代码只有8K字节左右,另外用户还可以根据自己的需要对它进行裁剪和修改,所以用户实际系统的代码量还可以减少。3内核对微处理器以及程序存储器,数据存储器的要求不高,能够适应各种不同的硬件系统。124嵌入式实时操作系统开发的发展动向目前,嵌入式实时操作系统及嵌入式开发环境的发展方向分别是1嵌入式实时操作系统正向实时超微内核NANOKEMEL方向发展。上世纪80年代末期,国外就提出了微内核【18201MICROKERNEL思,想,就是把传统操作系统的共性抽取出来,作为构成各种操作系统微内核的基础,而把具体功能放在微内核之外。本文的ITCOSII就是一种微内核。近几年,国外出现了超微内核211NANOKEMEL。实际上,超微内核是一种更基本的内核代码层,在它基础之上可以构造各种嵌入式实时操作系统。这种实时内核具有更好的可重用性,同时可伸缩性【221SCALABILITY也较强,所谓可伸缩性,就是指能支持和满足多种实时应用的需求。2嵌入式开发环境将更开放和更集成化。2湖北工业大学硕士学位论文在嵌入式开发中,应用软件的使用,需要开发者具有一定深度的操作系统知识。所以,要开发和设计高性能的操作系统应用软件,功能强大的交叉开发工具必不可少。目前,国外的操作系统集成开发环境正向高度集成、编译优化、仿真和验证等方向发展。13本文的主要工作和安排本文主要的工作内容是1研究和分析了PCOSII源代码,为GCOSII在目标板上的移植打下基础。2完成了本采样系统硬件电路的设计。3PCOSII基于ARM920TS3C2440系统的启动代码的设计实现。4编写ITCOSII到ARM的移植代码,总结TCOSII移植的关键技术等。5编写串口驱动和采样驱动代码,完成应用程序的开发。6在ADS开发环境下,采用ARMULATOR和HJTAG仿真器调试和测试内核及验证移植的正确性包括驱动程序。7本文从理论上推导出同步交流采样中误差的主要来源,提出了同步交流采样的优化算法,在移植了GCOSII的3C2440硬件平台上加以分析和验证。论文安排第一章绪论,主要介绍嵌入式实时系统相关的概念。第二章详细剖析ITCOSII的代码及工作机理。第三章介绍ARM9的体系结构,包括编程模型和内存管理单元MMU的工作原理。第四章分析移植GCOSII的方法和步骤,特别是针对不同的处理器必须要修改的几个函数,并把GCOSII移植到3C2440目标板上。第五章从理论上推导出软件同步交流采样F231误差的主要来源,提出同步交流采样的优化算法。第六章进行系统硬件电路设计,同时由误差补偿算法和采样周期优化法则,编写实时采样驱动程序和串口驱动程序,并从实验数据中分析和验证这种算法的可行性。第七章对本论文进行了总结和展望,说明了本文取得的成果以及不足之处。湖北工业大学硕士学位论文第2章嵌入式实时操作系统TCOSLI的剖析21引言ILCOSII操作系统的多任务内核,主要包括任务管理、时钟管理、任务间通信与同步、中断管理等功能。这些功能是通过内核函数的形式交给任务调用的,且功能函数全部用ANSIC语言编写。本章对PCOSII操作系统内核进行详细分析,是为后面ITCOSII在3C2440目标板上的移植打基础。文中首先简单介绍了任务的概念,而后围绕任务状态转换图说明相关函数的功能,详细讲叙了任务链表的原理和作用。任务调度分任务级调度和中断级调度两种,任务级调度函数为OSSCHED,中断级调度函数为OSINTEXT。任务的就绪组OSRDYGRP和就绪表数组OSRDYTBL非常关键,它们是判断任务是否处于就绪态的重要依据。信号量、消息邮箱、消息队列是任务间的通讯机制,其中事件控制块OSEVENT是一种数据结构,它是实现任务间通讯的基础。时钟节拍函数OSTIMETICK是俗称操作系统心跳函数,是用来判断任务的延时节拍是否结束,如果结束就将该任务设置成就绪态,为任务调度作准备。22PCOSII的任务管理与调度221任务、任务优先级和任务切换在PCOSII中,任务是一个无限的循环,其程序结构如下VOIDTASKVOID宰PDATAFO“;术用户代码球每个任务都赋予一定的优先级,数值越小优先级越高,每个任务都有它自己的一套CPU寄存器和堆栈空间。每个任务都处于以下5种状态中的一种睡眠态、就绪态、运行态、等待态和中断态。图21是PCOSII控制下的任务状态转换图,详细描叙了在调用相关内核函数后,任务从一种状态转换到另一种状态的过程。4湖北工业大学硕士学位论文OSTASKDCL图21任务状态转换图在初始化肛COSII时,所有的任务控制块OSTCB被链接成单向空任务链表,任务的总数可以根据实际需求选取,最多为64个。事先建立的任务控制块指针数组数组的每个元素是对应任务控制块的地址的大小就是任务的总数,各个任务控制块一种结构体是单向空任务链表的一个节点,图22是初始化PCOSII时的空任务链表。OSTCBTBIOSMAXTASKSOSNSYSTASKS1】0STCBFOSTCBPREVOSTCBPREVOSTCBPREV图22空任务链表下面分析建立任务后的情况,假设现在建立了两个任务,分别是空闲任务和统计任务,且先建立空闲任务,显然,OSTCBTBL0空任务控制块赋给空闲任务,OSTCBTBL1空任务控制块赋给统计任务,OSTCBFREELIST指向链表中的第三个空任务控制块也就是OSTCBTBL2任务控制块。同时,关键的是己建立任务的前向湖北工业大学硕士学位论文任务控制块指针OSTCBPREV发生了作用,指向上一个任务控制块,如图23所示。OSTCBTBLOS_MAX_TASKSOS_N_SYS_TASKSL】OSTCBFREELISTOSTCBNEXT。OSTCBNEXTROSTCBNEXTO统计任务OSTCBPREVNTRRPRPVPR芦、J、PCOSII是可剥夺型内核,优先级最高的任务一旦被时钟函数或信号量等置于就绪态,就会立即拥有CPU所有权并开始执行。PCOSII与LINUX调度法则不同,ITCOSII不支持时间片轮转调度【2引,另外每个任务的优先级不相同并且唯一。”COSII的任务调度包括任务级和中断级两种,分别由函数OSSCHED和OSINTEXT完成。下面仅分析任务级调度函数OSSCHED。如图24所示,任务调度都发生在临界段代码区中中断关闭,首先是判断是否在中断服务程序ISR或调度禁止时调用OSSCHED,如果不是,就从就绪表中找到最高优先级的就绪任务,另外还要判断这个就绪任务是否为当前任务,如果不是当前任务就需要调用函数OSTASKSW进行任务切换,如果这个就绪任务就是当前任务,就直接退出调度函数OSSCHED。肛COSII的任务调度是严格按照优先级PRIO进行的,肛COSII总是运行优先级最高的就绪任务,因此怎样确定优先级最高的就绪任务就非常关键了。在LINUX操作系统中,这一调度算法比较复杂,但在LCOSII中却相当简单,这主要取决于BCOSII的独特查表法。如图25所示,就绪表的每位对应了各个任务的标志,置1表示处于就绪态,清O表示该任务处于等待或者还没有建立。就绪表有2个变量OSRDYGRP和OSRDYTBL】,其中OSRDYGRP是任务组状态变量,每一比特位代表任务组中是否有任务进入就绪态。如果有任务进入就绪态,OSRDYGRP和OSRDYTBL的相应位6湖北工业大学硕士学位论文就置1。PCOSII有64个优先级,分别取值O“3,可以用图25左下角的6位二进制表示,高3位“YYY“决定了在OSRDYTBL数组中的第几个元素,同时也对圃否I退出零界代码段图24任务调度函数流程图应了在OSRDYGRP的第几位,低3位“XXX”确定了OSRDYTBL数组中对应元素的第几位。为了说明原理,以优先级40为例,优先级40用二进制表示为101000,高3位101决定了OSRDYTBL5,低3位000决定了OSRDYTBL5内0BIT的位置。现在要将OSRDYGRP和OSRDYTBL的相应位置位,用数学式表示如下OSRDYGRPIOX20OSRDYTBL5|_0X01由以上的数学式可以看出要想将第M位置1,就需与2M相或。为了方便,ITCOSII把2MMO7的8个值预先装在数组OSMAPTBL中,如表21所示。7湖北工业大学硕士学位论文OSRDYGRPOSRDYTBLIOS_LOWEST_PRIO1【0】【1】【2】【3】3【4】【5】【6】【7】最低优先级任务IDLETASK任务的优先级最高优先级任务X765432LO15141312LL109823222120191817163130292827262524Y39383736353433324746454443424140555453525L5049486362616059585756R图25任务就绪表利用OSMAPTBL,通过优先级PRIO来设置OSRDYGRP和OSRDYTBL的数学式如下OSRDYGRPIOSMAPTBLPRIO3OSRDYTBLPRIO3LOSMAPTBLPRIO0X07为了尽快找到优先级最高的就绪任务,PCOSII用查表法实现,这个表就是数组OSUNMAPTBFF,详见参考文献1。现在要获知最高优先级的就绪任务,可以用如下简短程序实现YOSUNMAPTBLOSRDYGRPXOSUNMAPTBLOSRDYTBLYOSPRIOHIGHRDYINT8UY20;NSECVADDREND20VADDRSTART20;FORIO;I20I0表示采样时间超前,S,05。对于SF一05,很显然,后一种情况不成立。所以只可能SFSHL且S“L05,则SI1SIL05一三,又因为005,根据四舍五入法,第一次采样时间的计数值改为Z1较合适,另取S,0681一O32,S2O68S,068032O3605,第三次采样时间的计数值为ZL,且S31041O04,再求S4,如此类推,直到S为止。第F次采样的理想时间与实际时间的差值,我们定义为同步误差AE,,则AE,S,痧,当然,这里选择前一个信号周期的最后采样点为参考点,这样被测信号周期的第一个采样点的同步误差正好为S,。显然,对于第I次采样的同步误差总有IS,纠O5妒。当待N时,“S矽,事实上这就是整个被测信号的同步误差,且L“峰050。如果不采用上面S的计算方法,则ACT让矽或F1一三弦,其中TIL矽为正同步误差,I1一三渺为负同步误差。当IN时,正好是NLK或N1一三切,而L脱I和IN1一泐I均远远大于O5矽,可见,丁优化算法显著减少了整个信号周期的同步误差。R优化后,采样周期就变得不是很均匀,也就是说每个丁间可能有一个矽的差距,但是采样的理想时间与实际时间就更接近了,特别在矽很小就几乎是同一点。在R优化条件下2万一善Z三一墨一渺等27C一ZL切等晶矽等,而理论周期误差妒2万一F2万一UZ三砌等,所以实际周期误差和理论周期误差的偏差矽7一矽S孥,且I氏妒簪IO5妒竽,可见,大大减小了信号周期误差。55小结本章从理论上推导出了交流采样正余弦信号的误差公式,得出误差C由初相位角口,采样周期丁,信号周期丁所决定。另外尝试根据被测信号周期的首尾过零点三角形相似,求出误差参数R和初相位角口,然后利用理论误差对被测信号有37湖北工业大学硕士学位论文效值进行补偿。此外,考虑到采样周期R不均匀,经多次采样后会产生累积误差,本文也给出了采样周期丁的优化算法。38湖北工业大学硕士学位论文61引言第6章系统设计和结果分析本章是系统硬件和系统软件的设计,以及最后测得结果的数据分析。在系统硬件设计中,主要是电源电路、复位电路、异步串口电路和AD采样电路的设计。在系统软件设计中,有采样驱动和串口驱动程序。最后,结合不同的采样间隔,运用补偿算法与否,得出不同的运算结果。这个结果值,制成表格形式,可直观地分析和对比,得出重要结论,为以后同步交流采样的实际工程给出补偿算法和实验依据。62系统硬件设计SAMSUNG公司推出的32位RISC处理器3C2440,是一款高性价比和高性能的嵌入式微处理器。3C2440提供了丰富的硬件资源,包括16KB的数据CACHE、16KB的指令CACHE、内部SRAM、LCD控制器、3通道UART、外部存储器控制器、具有PWM功能的5通道定时器、8通道10位ADC、60个中断源、4通道DMA和PLL倍频器等,这样可降低系统成本和减少外围器件。图61是3C2440的功能引脚。本系统硬件设计包括电源电路、复位电路、UART异步串行接口电路、AD采样电路。621电源电路设计图62为电源电路图。在整个系统中,使用33V直流稳压电源给3C2440供电,外接交流电经过变压器输出5V,而后通过LML11733三端稳压集成芯片,在靠近器件的电源引脚处以及各器件的电源和地之间加上了大量滤波电容,以滤除噪声和提高系统电源的质量。旁边的二极管是电源指示灯,开关按下接通外界电源时就发光。622复位电路设计3C2440和HJTAG的复位连在一起,都为NRESET端,这也为了调试方便。当开关按下时,MAX811输出低电平,系统复位。另外这种芯片也可上电复位,39湖北工业大学硕士学位论文且复位脉冲宽度大于140MS,是一种可靠性很高的专用复位芯片。如图63为复位电路。图61S3C2440的功能引脚图62电源电路POWERRED623异步串口电路设计RS232是嵌入式应用中较为常见的一种串行通讯协议。3C2440内部集成了三个独立的异步串行端121,并且都可以用于中断模式或DMA直接存储器存储模湖北工业大学硕士学位论文图63复位电路式。串13最高传输速率为1152KBPSKILOBITSPERSECOND,每个通用异步收发串13通道包含2个64位先进先出FIFO队列。3C2440的串口还支持波特率可编程,可红外收发,12个停止位,5位8位的数据宽度以及奇偶校验位。RS232串口通常采用9芯标准接口。RS232C标准所定义的高、低电平信号分别是逻辑“1”指5V15V电平,而逻辑“0”指5V斗15V电平。S3C2440的LVCMOS电路所定义的高、低电平信号分别是逻辑“1“指2V33V电平,而逻辑“0”指OV04V电平。显然,RS232C和LVCMOS的3C2440间要顺利进行通信,电平转换必不可少。常用的这两种电平转换芯片有MAX232、MAX3232等。本系统采用MAX3232芯片完成UART串行接口和3C2440的电平转换。MAX3232的应用电路如图64所示。1,D生主VC54图64异步串行接口电路LO62RSD0O7RCTSOV3RSM0O8RSRTSOOO95LO一624采样电路设计本系统采样电路如图65所示,与函数发生器的输出端相连,为交流采样的被测信号。DC是外加直流电压,起抬高VI作用,因为3C2440的AD采样范41湖北工业大学硕士学位论文围为033V,VO输出接3C2440的AIN0端,下面具体分析电路原理图65采样电路LM324为集成运算放大器,设LO节点的电压为V10,根据“虚断和“虚短概念,有LK。IF丽IVOCR。61丘兰匕二旦62一一R47R47尺48将R加R4LR47R481脚代入,解得ZOK在本设计中,DC端直流电压为2V,号为VO形263系统软件设计631采样驱动设计63所以最后输入到3C2440的采样电压信643C2440内部集成了8通道AD转换器,转换精度为10位,最大采样频率非常高,达500KSPSKILOSAMPLESPERSECOND。本驱动程序的思想是定时器定时时间到即采样间隔时间,就设置相关寄存器启动采样,在采样中断中,将采样数据存入缓冲区,并判断被测信号的一个周期的采样是否完成,如果完成了一个周期的采样就发送信号量通知任务已有采样结果,这时会发生中断级的任务切换,进入数据处理任务中。数据处理任务负责将采样的数据进行处理,将测得的最终结果存入新的缓冲区,以便串口发送。图66为采样的程序流程图。42湖北工业大学硕士学位论文,C回图66采样流程图另玳图67为采样时间的优化流程图,其中ZINT等,三等INT等,矽为定时器的计数周期,丁为采样周期采样间隔。是设置的最大采样点数,超过该值就结束采样。同时,当一个被测信号周期的采样点结束后,就发送信号量,这时会进行中断级的任务切换。切换到数据处理任务PROCESS中,数据处理任务的流程图TASK见图68所示。其中需要注意的是在信号量未到时,任务不是静止死循环的等待,而是去执行其它就绪态的任务,等待是形象的说法。另外,这里的N是单个被测信号周期的采样总点数。从以上结构流程图看,完成一次采样并没有立即发送信号量,而是等到一个被测信号周期全部采完后才发送信号量,转交给采样任务对所采数据进行处理。可以看出,采样驱动和采样时间优化实现较简单,计算机工作量不大。632串口驱动设计在串行通讯中,需要一个缓冲区来解决外部设备的处理速度和CPU速度不匹配问题。发送数据时,先把数据写到缓冲区中,然后程序会自动地把数据逐个取出并往外串口发送。接收数据时,先将这些预收的数据存于缓冲区,直到收到若干个满43当湖北工业大学硕士学位论文C麴D图67采样时间的优化流程图C回图68数据处理任务流程图湖北工业大学硕士学位论文足一定数量的字节后才交给CPU处理。在实际工程中,需要两个缓冲区发送缓冲区和接收缓冲区。当然,这里的缓冲区一般定义为数组。在GCOSII内核中,信号量是常用的通信与同步的机制,在串121通讯中,可引入信号量对缓冲区发送和缓冲区接收的操作进行同步。当然,这里用到了数据发送信号量和数据接收信号量。用信号量的串口操作过程如下用户任务想在缓冲区中写数据,但如果缓冲区满,任务就在等待信号量,但同时CPU可以不空等待而去运行别的任务,直到信号量到来,这样可以显著提高CPU的工作效率。待中断服务子程序ISR从缓冲区读走数据后就立即唤醒此睡H民的任务,然后操作系统就会进行任务切换,去执行刚才等待信号量的任务;用户任务读数据时,如果缓冲区为空,也可以等待信号量也叫在信号量上睡眠,待外部设备有数据存进缓冲区就唤醒信号量,同样操作系统也会进行任务切换,去执行等待信号量的任务,进行读操作。接收中断发生时,中断服务子程序ISR从串口UART的接收缓冲器中读出收到的字节,并存入接收缓冲区,待到接收的字节数满足要求,就发送信号量进行任务切换,执行用户读操作任务程序。在这个过程中,同时查询缓冲区是否已满,如果缓冲区已满,就放弃接收到的字符,即不进行接收。这里需要注意的是,无论是接收缓冲区还是发送缓冲区,其大小应该合理设置,一方面可以降低数据丢失的几率,另一方面又可以避免存储空间的不必要浪费。发送数据时,发送缓冲区的大小和发送信号量的初始值设成一样,其含义是表示发送缓冲区是空的,如果在发送过程中,发送缓冲区已满,用户任务就在信号量上睡眠等待信号量。如果发送缓冲区没有满,有发送空间,用户任务就可以向发送缓冲区中写入数据。如果写入的字节是发送缓冲区的首字节,那么就允许发送中断。这样,发送中断服务子程序ISR从发送缓冲区中取出最早写入的字节,并发送至UART,这个发送串口的操作将会触发下一次发送中断,如此循环下去,一直到发送缓冲区的最后一个字节被取走并成功发送,此时发送中断需要重新关闭。在中断服务子程序ISR向串口UART输出的同时,给任务发信号量,发送任务就会根据信号量计数值大小判断发送缓冲区是否可用。以下是相关的串口通讯函数有UARTINITINTBAUD,INTNUMBERSERIAL用于初始化指定的串行13,包括对指定的串行口设定串口通信的波特率及相关寄存器的设置。UARTSENDBYTEUNSIGNEDCHARDATA向己选定的串行121发送字节单位的数据。UARTGETBYTE接收已选串行口的数据,并设定超时时间,如果等待超时,返回FALSE。另外,使用前需先建立串行口的两个信号量,分别用于发送和接收。45湖北工业大学硕士学位论文图69为串口的发送程序流程图,同样在等待信号量的时间里去执行其它就绪态的任务。C圃64实验数据VQ困图69串口发送流程图在本实验中,我们用函数发生器产生标准的正弦电压“FSIN2万50T作为被测对象,显然信号频率厂为50HZ,幅度U。为1V,用移植了TCOSII的微处理器3C2440对标准信号进行实时采样,通过测得结果就可算出信号的有效值。然后把这个有效值与理想有效值进行比较,就可知道测量误差。表61是采样时间间隔采样周期丁为005MS,采用和没有采用以上减小误差的改进算法时,测出的有效值。表61AT005MS、优化和不优化下的测量结果MV第N周期传统方法不计误差改进方法误差补偿1687710268771136877094688709广71L0688668771076887118687711968771010687709湖北工业大学硕士学位论文表62是采样I日J隔时间丁为05MS,采用和没有采用以上减小误差的改进算法时,测出的有效值。表62AT05MS、优化和不优化下的测量结果MY第N周期传统方法不计误差改进方法误差补偿16676862667687366768746686875668686666768676686878667686966768710667687表63是采样间隔时间丁为3MS,采用和没有采用以上减小误差的改进算法时,测出的有效值。表63AT3MS、优化和不优化下的测量结果MY第N周期传统方法不计误差改进方法误差补偿1750743274974237497424750743574874367517437750742875074297497431074874365结果分析从以上测量结果可以看出,通过优化算法,以及减小采样时间间隔,能提高测量精度。标准信号的有效值为U占。0707V707聊V2丁为005MS时采用优化算法的测量误差为47湖北工业大学硕士学位论文CQ竺二业二QZX1000282905658707AT为005MS时没有采用优化算法的测量误差为AC68768870710028289一26874707丁为05MS时采用优化算法的测量误差为AC686687707100一28289一29703707丁为05MS时没有采用优化算法的测量误差为AC667668707100一55163一56577707丁为3MS时采用优化算法的测量误差为AC“7427437071004950550919707丁为3MS时没有采用优化算法的测量误差为ACZ兰Z12ZQ2X1005799262235707至此,可以得出如下重要结论1补偿算法能有效减小测量误差,提高测量精度。但是影响测量误差的主要因素是采样的时间间隔,补偿算法只能在合适的采样时间间隔条件下,更进一步地提高测量精度。2在采样时间间隔选取上,要尽可能地与被测信号周期成倍数关系,这样可以提高测量精度。66小结本章主要对系统硬件软件进行了设计,并对实验测得数据进行了分析和总结。在系统硬件设计中,AD采样电路是关键,2V直流电压要求非常稳定且纹波较小,否则很影响测量精度。在系统软件设计中,补偿算法和丁优化是编写采样驱动的依据。从实验结果看,在一定的采样周期下,补偿算法能有效地减小测量误差,提高测量精度。但采样周期过大,补偿算法效果不明显。另外,要尽可能地选取采样时间间隔与被测信号周期成倍数关系,这样可以提高测量精度。湖北工业大学硕士学位论文第7章总结与展望PCOSII虽然比较适合于嵌入式操作系统的应用开发,但PCOSII也有一些缺点和不足它仅仅是一个内核,只提供了操作系统的基本功能,没有用户接口、网络功能等,特别在互联网发达的今天没有网络功能是不能接受的,因此PCOSII内核离广泛应用还有一定距离;同时PCOSII不是针对特定的硬件,要实现在特定的硬件上运行还必须实现相应的移植程序,这也带来移植的难度。本文就基于TCOSII的交流采样研究方面所作的工作有1对实时内核PCOSII进行了详细的分析,特别对内核的关键函数如关中断函数OSENTERCRITICAL、开中断函数OSEXITCRITICAL、任务切换函数OSJASK_SW和运行优先级最高的就绪态任务的函数OSSTARTHIGHRDY等作了详细的分析,并结合目标板的资源对这些函数进行了编写,这是移植PCOSII最重要的工作,也是最容易出问题的地方。2介绍了ARM9的体系架构,特别对缓存CACHE和MMU的功能和原理进行了分析,编写了实现虚存和缓存的代码,提高了整个嵌入式系统快速和高效的性能。3本文从理论上探讨了电压同步交流采样有效值的误差公式,提出了一种误差补偿方法。另外,对采样周期误差也进行了分析,并给出了采样周期误差的优化算法。4在ADSL2的开发环境下,用ARMULATOR和HJTAG仿真调试和测试内核,编写了串口驱动和实时采样驱动程序。通过串口超级终端将最终测得结果显示在PC机上,分析数据并验证了误差补偿算法的正确性和可行性。由于初次接触嵌入式操作系统,操作系统的移植花了很多时间,最后在有经验的同学的指导下才得以调试通过。虽然本课题取得了较好结果,但仍有一些不足需要继续研究1在本实验中,我们用的是函数发生器产生的标准正弦信号作为被测信号,被测信号的频率都选用50HZ,对于不同频率的信号本文没有进行实验。2本文只对正余弦信号进行了测试和验证,对于不规则信号的有效值测量,没有作进一步探讨。49湖北工业大学硕士学位论文参考文献1JEANJLABROSSE著,邵贝贝译嵌入式实时操作系统此OSII第二版M,北京航空航天大学出版社,2003,1561582郑巍大型自由和开源软件进化研究J,计算机工程与设计,2008,291113WARRENSACK,FRAN90ISED6TIENNE,NICOLASDUCHENEAUT,JEANMARIEBURKHARDT,DI1ANMAHENDRANANDFLOREBARCELLINIAMETHODOLOGICALFRAMEWORKFORSOCIOCOGNITIVEANALYSESOFCOLLABORATIVEDESIGNOFOPENSOURCESOFTWAREJCOMPUTERSUPPORTEDCOOPERATIREWORKCSCW,SPRINGERNETHERLANDS,2006,152292504EHARUVY,APRASADANDSPSETHIHARVESTINGALTRUISMINOPENSOURCESOFTWAREDEVELOPMENTJ,JOURNALOFOPTIMIZATIONTHEORYANDAPPLICATIONS,SPRINGERNETHERLANDS,2003,1183814165DANIELPBOVETANDMARCOCESATI深入理解LINUX内核M,中国电力出版社,20016WRICHARDSTEVENS著,尤晋元译UNIX环境高级编程M,机械工业出版社,20027魏忠,蔡勇,雷红卫嵌入式开发详解M北京电子工业出版社,20038沈绪榜,何立民主编2001嵌入式系统及单片机国际学术交流会论文集,北京航空航天大学出版社,2001年10月9张腾嵌入式实时操作系统内核的研究与实现M,北京邮电大学,200110李仕勇等多任务操作系统在嵌入式系统开发中的应用J,北方交通大学报,2002,26798211LUC,STANKOVIEJA,TAOG,SONSH,MARLEYMPERFORMANCESPECIFICATIONSANDMERICSFORADAPTIVEREALTIMESYSTEMSIEEEREALTIMESYSTEMSSYMPOSIUM,ORLANDO,FL,DECEMBER2000,273012JCHENYANGLU,JOHNASTANKOVIC,SANGHSONANDGANGTAOFEEDBACKCONTROLREALTIMESCHEDULINGFRAMEWORK,MODELING,ANDALGORITHMSJ,SPRINGENETHERLANDS2002,2385126133ABDELZAHERTF,LUCMODELINGANDPERFORMANCECONTROLOFINTERNETSERVERS,39THIEEECONFERENCEONDECISIONANDCONTROL,SYDNEY,AUSTRALIA,DECEMBER2000,2234一一223914J魏立峰,于海斌一种基于自适应控制的软实时调度算法研究J,系统仿真学报,2004,16476076415罗玎玎,赵海,孙佩刚等RM算法的运行时开销研究与算法改进J,通信学报,2008,292798616涂刚,阳富民,卢炎生基于至少满足弱硬实时限制的调度算法J,华中科技大学学报自然科学版,2006,322676950湖北工业大学硕士学位论文17洪艳伟,赖娟一种硬实时调度算法的可行性判定及实现U,计算机与信息技术,2006,62118MARKRHECKMAN,CUIZHANG,BRIANRBECKERTOWARDSAPPLYINGTHECOMPOSITIONPRINCIPLETOVERIFYAMICROKERNELOPERATINGSYSTEM,LECTURENOTESINCOMPUTERSCIENCE,SPRINGERBERLINORHEIDELBERG,1996,1125235250193TIANZHOUCHEN,WEIHUANDYILIANPOWEREFFICIENTMICROKERNELOFEMBEDDEDOPERATINGSYSTEMONCHIP,LECTURENOTESINCOMPUTERSCIENCE,SPRINGERBERLINORHEIDELBERG,2006,418647347920KUNYUANHSIEH,YUNGCHIALIN,CHIENCHINHUANGANDJENQKUENLEEENHANCINGMICROKERNELPERFORMANCEONVLIWDSPPROCESSORSVIAMULTISETCONTEXTSWITCHJ,JOURNALOFSIGNALPROCESSINGSYSTEMS,SPRINGERNEWYORK,2008,51
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国超能活水素行业投资前景及策略咨询研究报告
- 2025年立式气动封口机项目可行性研究报告
- 2025年沙池项目可行性研究报告
- 2025年普通链条项目可行性研究报告
- 2025至2031年中国TV架行业投资前景及策略咨询研究报告
- 2025年PP挠性针头项目可行性研究报告
- 2025至2030年赶猪拍项目投资价值分析报告
- 2025至2030年垃圾篮项目投资价值分析报告
- 车辆处理协议书
- 印刷包装居间代理合同样本
- 麻风病防治知识培训课件
- SNT 1961.11-2013 出口食品过敏原成分检测 第11部分:实时荧光PCR方法检测麸质成分
- 员工安全健康手册
- 华为客服制度
- 2024年湖南高速铁路职业技术学院单招职业适应性测试题库及答案1套
- 医美面部抗衰老注射项目培训课件
- 2024-2029年中国限幅器芯片行业市场现状分析及竞争格局与投资发展研究报告
- 2024年3月山东省直监狱类面试题及参考答案全套
- 新产品研发工作总结汇报
- Optix-OSN3500智能化光传输设备业务配置手册范本
- swagelok管接头安装培训教程
评论
0/150
提交评论