




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南大学2009届本科毕业论文,题目:基于嵌入式系统的远程监控系统的设计,论文作者姓名:张晓亮,导师姓名职称:袁泉(助教),第一章绪论,1.1开发背景与意义(1)随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。在后PC时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动计算机设备、网络设备和工控仿真等领域。嵌入式系统的开发也成为近年IT行业的技术热点。完成简单功能的嵌入式系统一般不需要操作系统,但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。(2)现代的大规模LED显示屏电源是一多路大功耗电源,由于有的户外显示屏安装的比较远,在远程监控方面显得较为麻烦,也十分不便。因此开发一套远程电源控制系统尤为显得重要,而且现在Internet网络大范围内普及的情况下,在任何放置显示屏的地方就可以通过Internet的资源来开发应用程序来实现电源的控制和监测。,(3)由于控制电源时需独立运行操作系统,且开发应用程序,单片机的功能显得弱小且传统的单片机对网络支持不足。现在随着ARM地不断发展壮大,新一代的arm芯片内嵌了除了支持TCP/IP协议外,还支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口的一种或几种,同时也提供相应的通信组网协议软件和物理层驱动软件。这使嵌入式系统实现网络化提供了保证。将嵌入式操作系统移植到嵌入式处理器中,这样不但系统有了智能性,而且将实时操作系统应用在网络通信中可以大大提高系统的实时性。且使应用程序的开发变得很简单,可以直接在开发板上运行目标程序,实现电源的控制和管理功能。系统选用三星公司生产的S3C44B0X芯片来实现。,1.2课题的实现,此课题是基于嵌入式系统的远程监控系统的设计方案。网络被称为第二次信息技术革命,网络互联成为必然趋势。嵌入式TCP/IP己经成为网络应用的热点,通过Internet使所有连接网络的设备彼此互通互联,从计算机、PDA、通讯设备到仪器仪表、工作设备等。这样就使电子设备具有了智能化。随着各种功能强大的微处理器的推出,嵌入式系统也处在前所未有的发展时期,将嵌入式系统和网络结合是必然发展趋势。利用嵌入式实时操作系统C/OS-II对系统进行多任务处理,提高系统的实时性能。S3C44B0X连接10M以太网卡RTL8019AS,提供网络功能的硬件接口;C/OS-II移植到S3C44B0X上,提供操作系统的支持,方便了应用程序的开发和对整个系统的管理;嵌入式TCP/IP协议栈LwIP移植到C/OS-II平台上,实现对网络数据的软件处理,从而为嵌入式系统提供网络通信功能;远程PC机客户端登录到嵌入式系统服务器上,通过以太网实现两端数据的实时交互。,1.3嵌入式系统简介,根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。不过上述定义并不能充分体现出嵌入式系统的精髓,目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。实际上嵌入式系统是计算机的一种应用形式,是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,具有软件代码小、高度自动化、响应速度快等特点。因此它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。,嵌入式系统结构图,1.4嵌入式系统的应用,嵌入式系统在办公自动化、建筑设计、机械设计与制造、医疗、监视、卫生设备、交通运输、通信、信息家电、工业控制和金融等系统中都有着广泛的应用。如今嵌入式系统已经成为IT界的又一新焦点,它正处在一个飞速发展和激烈竞争的时代,它被广泛应用到金融、航天、电信、网络、信息家电、医疗、工业控制、军事等各个领域。,1.5嵌入式系统的开发过程,2.1系统总体框图,2.2嵌入式系统硬件平台选择,S3C44B0X是三星公司采用ARM公司16/32位ARM7TDMIRISC结构的CPU核,主频为66MHz,通过扩展一系列通用外围部件,提供丰富的外设功能。它的存储系统具有8个存储体,每个有32MB的存储空间。S3C44B0X微控制器包含了下列特性,S3C44B0X硬件及其扩展组成,2.2.2电源控制面板模块,将显示屏的电源分为五组,分别用五路继电器模块来控制电源的通断。五路继电器分别接S3C44BOX的GPE和GPF口,这样只要GPE03和GPF0输出1就可以使电路连通,而输出0则使电路断开。并且在打开电源的时候,要对电源的接通分组延时处理,就是进行延时接通五路电源,使得电路有较大的电压承受能力,而不使电路因电源突然启动造成损坏。控制电路继电器模块共有五路输出。,2.3嵌入式系统软件设计选择,根据嵌入式操作系统的选取原则并基于C/OS-II的许多特点,此课题采用的是由JeanJ.Labrosse编写的开放式实时操作系统C/OS-II,C/OS-II是一种简单高效、源代码公开的实时嵌入式操作系统,具有良好的扩展性和可移植性,被广泛应用到各种嵌入式处理器上,2.3.2C/OS-II的特点,C/OS-II提供了对64个任务的管理,除了系统内核本身所保留了8个任务外,用户的应用程序最多可以有56个任务。由于C/OS-II是一个基于优先级的(不支持时间片轮转调度)实时操作系统,因此每个任务的优先级必须不相同。系统中的每个任务都处于以下5种状态之一的状态中,这5种状态是休眠态、就绪态、运行态、等待态(等待某一事件发生)和被中断态,任务状态的切换,2.4网络接口的电路设计,图2-5是针对S3C44B0X,用RTL8019AS、74LS138(3-8译码器)、FB2022(网卡变压器)设计的以太网接口电路。该电路数据宽度为16位,使用外部中断EXINT3。处理器的片选信号nGCS1和A16、A17、A18通过74LS138输出为网卡的使能控制端。nOE和nWE控制网卡的读写,nRESET控制网卡的复位,FB2022起变压滤波的作用。,以太网接口电路图,第三章基于S3c44BOX的软件设计,3.1基于S3c44BOX的C/OS-II系统移植分析3.1.1实现OS_CPU.H文件3.1.2实现OS_CPU_C.C文件3.1.3实现OS_CPU_A.ASM文件3.1.4移植测试3.2LwIP在C/OS-II下的实现3.2.1LwIP介绍3.2.2LwIP协议栈移植到C/OS-II操作系统的具体实现3.2.3LwIP和操作系统C/OS-II相关的函数3.2.4lib_arch中库函数的实现3.2.5网络设备的驱动3.2.6移植测试,3.1基于S3c44BOX的C/OS-II系统移植分析,本移植在如下环境中完成:编译工具采用IARFORARM,目标板采用三星公司的S3c44BOX微控制器开发板。主机通过LMLINKJTAG连接目标板以建立交叉开发调试环境。移植过程中,C/OS-II的核心源代码不用修改,可以直接放在C/OS-II的Source文件夹中。C/OS-IIPorts目录存放C/OSII基于S3c44单片机的移植代码,包括OS_CPU_C.C、OS_CPU_A.ASM、OS_CPU.H三个必要的文件。,3.1.1实现OS_CPU.H文件,a)宏定义b)OS_CPU.H定义的数据类型。在这次移植中C/OS-II重新定义了数据类型c)定义允许和禁止中断宏d)修改与ARM处理器相关的内容。不同处理器的堆栈增长方向是不一样的,ARM7TDMI的堆栈是从高地址往低地址增长的,OS_STK_GROWTH设为1e)定义OS_TASK_SW()宏,3.1.2实现OS_CPU_C.C文件,a)OSTaskStkInit()在OS_CPU_C.C定义的C函数中,OSTaskStkInit()函数与CPU相关,所以移植代码需要修改该函数b)后面几个函数是钩子函数,可以不加代码:voidOSTaskCreateHook(OS_TCB*ptcb)voidOSTaksDelHool(OS_TCB*ptcb)voidOSTaskSwHook(void)voidOSTaskStatHook(void),3.1.3实现OS_CPU_A.ASM文件,用汇编语言编写4个与处理器相关的函数(OS_CPU.ASM)OSStartHighRdy();运行优先级最高的就绪任务OSCtxsw()任务级的任务切换函数OSIntCtxSw();中断级的任务切换函数OSTickISR();中断服务函数,3.1.4移植测试,在EmbestIDE编译器上编译基于S3c44BOX的C/OS-II操作系统代码。编译结果表明,剪切后的C/OS-II操作系统的代码占用的空间少,代码通过了编译。为了验证基于S3c44BOX的C/OS-II操作系统移植的是否成功,本文创建了2个测试任务来测试,3.2LwIP在C/OS-II下的实现,LwIP(lightweightIP)是瑞士计算机科学院的AdamDunkels等开发的一套使用于嵌入式系统的开放源代码的TCP/IP协议栈。LwIP既可以移植到操作系统上,又可以在无操作系统的情况下独立运行。LwIP实现的重点是在保持TCP/IP协议主要功能的基础上减少对RAM的占用,它一般只需要几十K的RAM和40K左右的ROM就可以运行,这使LwIP适合在低高端嵌入式系统中使用。,3.2.2LwIP协议栈移植到C/OS-II操作系统的具体实现,(1)嵌入式系统结构和LwIP接口(2)和CPU以及编译器相关的一些头文件,3.2.3LwIP和操作系统C/OS-II相关的函数,LwIP为了适应不同的操作系统,在代码中并没有使用和某一个操作系统相关的系统调用和数据结构,而是在LwIP和操作系统之间增加了一个操作系统封装层。操作系统封装层为操作系统服务提供了一个统一的接口。LwIP向C/OS-II移植的过程中,在LwIP中进程同步使用了C/OS-II的信号量Semaphone,消息传递采用C/OS-II的消息队列MessageQueue。移植中要做的不是重新编写这些函数,而是要把这些函数封装成LwIP所能认识的结构,使得这些函数在C/OS-II和LwIP中都能被识别。,(1)LwIP信号量的实现LwIP使用信号量实现进程间的通信,由于C/OS-II中已经实现了信号量OS_EVENT的各种操作,并且可以满足LwIP通信的要求,所以只需要在下面函数中封装相应C/OS-II关于信号量的操作函数,即实现实现信号量结构体和处理函数就可以了。,(2)LwIP消息的实现LwIP使用消息队列来缓冲、传递数据报文。C/OS-II实现了消息队列结构OSQ及其操作,但是C/OS-II没有对消息队列中的消息进行管理,因此不能象信号量那样直接使用,而需要在C/OS-II基础上重新实现,(3)定时器函数sys_arch_timeouts()LwIP的每个线程都有自己的超时等待属性,为每一个线程都分配了一个超时等待的数据结构sys_timeout,并把这个数据结构存放于链表sys_timeouts中。通过C/OS-II的任务查询机制来获得一个指向当前线程使用的sys_timeouts结构的指针。如若某一个sys_timeout结构为空,说明对应的线程作永久的等待。超时等待的数据结构sys_timeout包括,指向链表中下个sys_timeout结构的指针、线程超时等待的长度和定时时间到后用以处理的函数等内容。而sys_timeouts结构只包含指向sys_timeout结构的指针。这两个数据结构都已经在LwIP源代码的sys.h头文件中给予定义,我们要做的是,实现找到当前线程使用的sys_timeouts结构指针的函数sys_arch_timeouts()。,(4)创建新线程函数sys_thread_new()LwIP可以是单线程运行,即只有一个tcpip线程,负责处理所有的tcp/ucp连接,各种网络程序都通过tcpip线程与网络交互。但LwIP也可以多线程运行,以提高效率,降低编程复杂度,这时候就需要用户实现创建新线程的函数了。在C/OS-II中,没有线程(thread)的概念,只有任务(task)的概念,创建一个新的线程就是创建一个新的任务。又由于,在C/OS-II中已经提供了创建新任务的函数OSTaskCreste(),因此把函数OSTaskCreste()进行封装,就可以实现创建新线程函数sys_thread_new()。但由于LwIP中的线程没有C/OS-II中优先级的概念,实现时需要有用户事先为LwIP中创建的线程分配好优先级。,3.2.4lib_arch中库函数的实现,LwIP协议栈中用到了8个外部函数,这些函数通常与用户使用的系统或编译器有关,因此留给用户自己实现的具体内容如下:U16_thtons(u16_tn);/16位数据高低字节交换U16_tntohs(u16_tn);U32_thtonl(u32_tn);/32位数据大小头对调U32_tntohl(u16_tn);Intstrlen(constchar*str);/返回字符串长度Intstrncmp(constchar*str1,constchar*str2,intlen);/字符串比较voidbcopy(constvod*src,void*dest,intlen);/内存数据块之间的相互拷贝voidbzero(void*data,intn);/内存中指定长度的数据块清零,3.2.5网络设备的驱动,在ISO参考模型中,数据链路层的逻辑链路控制子层的部分工作有网络接口芯片驱动程序完成的,其他部分则集成在网络接口芯片中由硬件实现。本文所用开发板上的网络接口芯片为RTL8019AS,它是8/16位ISA总线的网卡,遵循IEEE802.3协议。,3.2.6移植测试,在完成上述的移植工作后,在C/OS-II操作系统中初始化LwIP,创建TCP和UDP的任务。LwIP的初始化必须在C/OS-II完全启动之后,因为它初始化用到了信号量等和操作系统相关的操作。C/OS-II的主函数如下:main()OSInit();OSTaskCreate(lwip_init_task,(void*)在主程序中创建了任务lwip_ini
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 附着升降脚手架安装拆卸工岗位操作规程考核试卷及答案
- 锯材定长切割工艺考核试卷及答案
- 稀土金属热处理精炼沉积工艺考核试卷及答案
- 2024新版2025秋青岛版科学六三制三年级上册教学课件:第三单元 第10课 哪杯水热
- 职业适应性测试(带答案)
- 高职课程思政教学评价的价值意蕴、实践痛点与行动路向
- 许昌职业技术考试试题及答案
- 安全生产与特种设备相关法规知识试卷含答案
- 银行主任面试题目及答案
- 银行营销技术试题及答案
- 2025年学法减分试题及答案
- 财政专题分析报告:财政数据背后的宏观线索-国金证券
- 2025年中小学教师师德师风考试题库及答案
- 110kV~750kV架空输电线路施工及验收规范
- DGTJ08-2090-2020 绿色建筑评价标准
- 2025年商业店铺出租合同(标准版)(可修改可打印)
- 1.1 探究共享电单车的运行过程-系统特征 课件 六年级上册《信息科技》(安徽版2024)
- 设备采购质保金管理制度
- 互助友爱班级大家庭主题班会课件
- 中国目前各行业的现状
- 小学生情绪调适心理课件
评论
0/150
提交评论