序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:全自动恒压供水监控系统的设计
1 嵌入式系统简介
1.1 主流嵌入式操作系统的比较
嵌入式操作系统以其微小内核、可移植、可裁剪、源码开放的特性在嵌入式领域得到广泛的应用。对于不同的产品,不同的应用场合,可以选择合适的嵌入式操作系统。到目前为此,全世界范围内出现的嵌入式操作系统高达200多种,它们专为嵌入式应用而开发,使得嵌入式产品的开发越来越方便,价格也变得越来越低廉,在航空、通信、娱乐等领域已经得到了很好的应用。
较为流行的嵌入式操作系统有:Linux,Windows CE,VxWorks,μC/OS等等
1.1.1Windows CE
Windows CE是微软公司的产品,它是以Windows操作系统核心作为基础,为有限资源的平台进行简化,并保留了多线程、优先权、多任务、可移植等特性。Windows CE和PC机使用的Windows 操作系统的最大区别是采用了模块化设计,从而使得Windows CE可以安装到存储空间并不大的嵌入式设备,通常Windows CE的内核映像文件最小可以达到200KB,对于现有嵌入式设备的存储空间有限的情况下,Windows CE仍然可以得到非常好的应用。
目前,全球范围内已经有上千家公司采用Windows CE进行各种各样的嵌入式产品开发。典型的新产品有手机、POS终端、ATM终端、工业控制系统等等。当然,Windows CE属于商业产品,当使用Windows CE进行产品开发时,需要支付3美元~20美元的授权费。
1.1.2Linux
Linux是嵌入式领域中发展最快、应用最广的一个操作系统。Linux是在GPL下发行的操作系统,与其他现有的操作系统相比有以下特点:
(1)完全源码开放
(2)可以免费获得
(3)支持数十种不同的处理器
(4)可移植
(5)可裁剪
其中,“免费”和“开源”是Linux最有竞争力的特点。在全球范围内,已经有不计其数的个人、企业正在使用Linux。随着Linux的进一步成熟,它以更小代码尺寸和更多不同平台的支持,大大的减少了新产品的成本和研发时间,吸引了越来越多的设备生产商,到现在,Linux已经成为世界主流的嵌入式操作系统。
根据IDC报告指出,Linux已经成为世界第二大操作系统。并且每年以高于25%的速度增长,再加上基于Linux的变种体,如实时性能较强的RTLinux、RTAI,Kurt和Linux/RK,能在没有MMU处理器上运行的μCLinux,更是把Linux的应用领域扩展到了工业控制和军事工业以及航空工业。
1.1.3VxWorks
VxWorks是WindRiver公司专门为实时系统而设计的一款优秀的实时操作系统。VxWorks以其超微小的内核提供了实时任务调度、中断管理、任务间通信等功能。由于WindRiver已经为VxWorks作了大量的优化工作,其优异的性能和稳定的特点使得程序员只要专心编写应用程序,根本不需要去关心系统内核的管理。除此之外,VxWorks具备完善的网络通信,文件系统等模块,可以应用到各种不同的场合。下面罗列了VxWorks的一些主要特点:
(1)任务间通信机制
(2)网络协议
(3)文件系统
(4)I/O管理
(5)超微小内核
(6)POSIX标准实时扩展
(7)支持C++语言
1.1.4μC/OS
μC/OS是由美国的Jean J.Labrosse编写的一个小型实时操作系统。该系统从1992年开始至今,已经发展到了第二个版本μC/OS II。μC/OS的特点是:公开源码,内核简洁,可移植性好,可裁剪,可固化,抢占式内核,可以管理60多个任务。该系统主要用于教育研究,和一些简单的控制系统应用。
1.2 常用的嵌入式处理器
1.2.1ARM
ARM(Advanced RISC Machines)公司是英国一家CPU核设计商,它本身并不生产CPU,而是设计出CPU以IP核的方式授权给其他公司生产。ARM处理器目前主要包括ARM7,ARM9,ARM10,ARM11以及Cortex 和SecurCore系列。ARM公司推出的嵌入式处理器几乎含盖了所有层次的处理器,主频也从50MHz到1GHz不等。到目前为此,ARM处理器已经成为嵌入式领域的神话,其市场份额高达80%以上,应用范围涉及手机,端终,控制,家电等等。
1.2.2MIPS
MIPS(Microprocessor whithout Interlocked Pipeline Stages)是一种处理器内核标准,它由MIPS技术公司开发拟定的。MIPS技术公司是一家设计制造高性能、高档次的嵌入式32位和64位处理器开发商,在RISC处理器领域占有很重要的地位。2000年,MIPS公司发布了针对MIPS 32 4 Kc的新版本以及未来64位MIPS 64 20 Kc处理器内核。
MIPS技术公司既开发MIPS处理器构架,又自己生产基于MIPS的32/64位处理器芯片。为了使用户更加方便地应用MIPS处理器,MIPS公司推出了一套集成开发工具,称为MIPS IDF(Integrated Development Framework),大大的降低了开发的难度。
1.2.3PowerPC
Power PC构架的主要特点是可伸缩性好,方便灵活。Power PC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到个人PC,从消费类电子产品到大型通信设备等各个方面。
目前Power PC独立微处理器与嵌入式处理器的主频从25MHz~700MHz之间,它们的功耗,尺寸,价格相差比较大,主要的产品模块有Power PC 750 CX和 750 CXe,以及Power PC 440GP,用于嵌入式系统的有Power PC405和Power PC 440。Power PC的嵌入式处理器常用于通信,金融和其他终端设备。
2 ARM处理器
2.1 ARM构架特点
2.1.1ARM的特点
ARM主要特点:体积小、低功耗、低成本、高性能。
支持16位Thumb和32位ARM指令,Thumb指令可以减少大约30%~40%的代码大小,具有更高的代码密度,大量使用寄存器,指令运行速度更快,ARM共有37个32位寄存器,被分为若干组,其中:
-31个通用寄存器,包括程序计数器(PC)
-6个状态寄存器,用以标志CPU的工作状态和运行状态等
大多数的数据操作都在寄存器中完成,寻址方式灵活简单,执行效率高指令长度固定Load/Store加载/存储指令实批量数据传输,大大的提高了执行效率。
2.1.2ARM的模式
为了加强系统的安全性和对时间的响应,ARM设计了7种系统模式,以适应于不同的场合。
例如,在时间要求比较严格的时候,可以进入fiq模式对事件进行响应,可以减少响应时间。而在多任务操作系统下,可以使用用户模式和系统模式来加强系统的安全。
ARM七种模式如下:
(1)用户模式(usr)
(2)快速中断(fiq)
(3)外部中断(irq)
(4)管理模式(svc)
(5)数据访问中止模式(obt)
(6)系统模式(sys)
(7)未定义指令中止模式(und)
2.1.3ARM的状态
ARM具有两种不同的工作状态:ARM状态和THUMB状态,通常,ARM在上电默认是ARM状态,如要切换到THUMB状态,常用的方法是使用BX跳转指令。特别注意的是,在所有的异常模式中,都必须是在ARM状态下实现的,这是ARM固有的特点,不需要用户的干涉。
2.1.4ARM寄存器映射
ARM拥有多达37个寄存器,这些寄存器在不同的模式下不尽相同。对于一些时间要求比较严谨的场合,需要系统作出相当快的响应以确保安全,这时候,往往要立即执行紧急事件,通常的解决方法是使用Fiq(快中断),以保证响应时间。怎么让事件更快速的响应呢?方法就是减少现场保护的时间,ARM的Fiq设计不需要进行现场保护,因为在Fiq模式下,它拥有独立的寄存器,不会影响中断前的任何寄存器状态,从而大大的加快了响应速度。这也是ARM寄存器多的原因之一。同样的道理,在其他相应的模式下,它们对应的寄存数目也是有其特殊意义的。
ARM寄存器映射如图 2.1 ARM寄存器映射所示:
图 2.1 ARM寄存器映射
2.1.5ARM寻址方式
为了提高代码的执行效率,ARM提供了多种寻址方式,一方面,可以减少代码的编写量,另一方面提高了代码密度。尤其是ARM的多寄存器寻址和条件执行的特点,使得程序变得更加优化。
ARM支持的寻址方式如下:
(1)立即数寻址
(2)寄存器寻址
(3)寄存器间接寻址
(4)基址变址寻址
(5)多寄存器寻址
(6)相对寻址
(7)堆栈寻址
2.2 现有主流ARM处理器
2.2.1Samsung S3C2410
S3C2410是著名的半导体公司Samsung推出的一款32位ARM处理器,为手持式设备、终端设备等提供了高性价张的解决方案。S3C2410的内核是ARM920T,内置MMU(Memory Management Unit)功能,采用AMBA新型总线结构,实现了MMU、AMBA BUS、Hardvard的高速缓冲体系结构,同时支持16位Thumb 指令集,从而能以较小的存储空间需求,获得32位的系统性能。
S3C2410的主要特点:
(1)内核工作电压1.8~2.0V、存储器和外部I/O设备的供电电压3.3V
(2)16KB指令Cache和16KB的数据Cache
(3)LCD控制器,最大支持6.5K色的TFT液晶屏
(4)4个通道DMAd
(5)3路UART(IrDA1.0、16B TxFIFO、16B RxFIFO),2通道的SPI接口;
(6)2通道USB(Host/Slave)
(7)4路PWM和1个内部时钟控制器
(8)117个通用I/O,24路外部中断
(9)272PinFBGA封装
(10)16位看门狗定时器
(11)IIC/IIS控制器
(12)带PLL片上时钟发生器
S3C2410 ARM处理器支持大小端模式存储字数据,其寻址空间可达1GB,每个Bank最大支持128MB的存储器,对于外部I/O设备的数据宽度,可以是8,16,32位,所有的存储器Bank(共有8个)都具有可编程的操作周期,而且支持各种ROM引导方式(Nor/Nand)Flash,EEPROM)。其S3C2410内部结构如图 2.2 S3C2410内部结构框图所示
图 2.2 S3C2410内部结构框图
2.2.2Atmel AT91RM9200
AT91RM9200是Atmel公司的32位RISC ARM9处理器,它是基于ARM920T核的,主频达180MHz,运算速度为200MIPS。内置全功能MMU,支持SDRAM、SRAM、BurstFlash、CF卡、SmartMedia以及NAND Flash,具有高性能、低功耗、低成本、小体积等优点。AT91RM9200微处理器是一个多用途的通用芯片,它内部集成了微处理器和常用的外围组件,具有更高性价比的特点,可以为工控等领域提供优秀的解决方案。
AT91RM9200具有以下的丰富片上资源:
(1)16KB数据Cache、16KB指令Cache
(2)虚拟内存管理单元MMU
(3)带有Debug调试功能
(4)内置16KB的SRAM和128KB的ROM
(5)带有外部总线接口(EBI),方便用户进行扩展升级
(6)支持SDRAM、SRAM、Burst Flash、CF、SM和NAND Flash
(7)增强型时钟发生器和电源管理单元
(8)带有2个PLL的2个在片振荡器
(9)慢速时钟操作模式和软件电源优化能力
(10)4个可编程外部时钟信号
(11)周期中断、看门狗和第二计数器
(12)带有报警功能的实时时钟
(13)带有8个优先级别、可单独屏蔽中断源、Spurious中断保护的先进中断控制器
(14)7个外部中断源和1个快速中断源
(15)4个32位GPIO控制器,可以达到122个可编程I/O引脚
(16)20通道的DMA
(17)10/100M以太网接口
(18)2个USB2.0 HOST和一个USB Device
(19)4个UART
(20)3通道16位定时器/计数器
(21)两线接口
(22)IEEE1149.1 JTAG标准扫描接口
2.2.3TI OMAP
OMAP可扩展的开放式处理器平台是TI公司于1998年推出的全新多媒体应用概念,OMAP平台提供了语音、数据和多媒体所需的带宽和功能,可以在非常低的功耗下为高端的2.5G和3G无线设备提供较高的性能。TI的 OMAP处理器支持所有嵌入式操作系统,无需任何新的编程技能就可以进行无缝访问DSP。TI还提供了OMAP解决方案,将无线调制解调器与专用应用处理器完美地组合在单个芯片上。TI在提供全球范围的技术支持的同时,还提供了可降低系统成本的高度集成的解决方案。
TI OMAP处理器分类如表 2.1 TI OMAP处理器分类所示:
类别 | 型号 | 描述 |
单纯应用处理器 | OMAP310 | 175MHz,具有基本的多媒体功能 |
OMAP1510 | 175MHz,与310相比增加了DSP和ARM926内核,192KB片内RAM | |
OMAP1610 | 204MHz,功耗、尺寸较1510更小,多媒体处理能力有较大的提高,增加了JAVA加速器,采用硬件方法加速应用程序的执行,集成了更多运动控制和接口器件 | |
单纯应用处理器 | OMAP1611 | 204MHz,增加了内部RAM和54Mbit/s的WLAN接口 |
OMAP1612 | 204MHz,比1611增加了堆叠式整合的DDR存储器,与外接存储器方式相比减少了空间和功耗 | |
整合了数字基带功能的应用处理器 | OMAP710 | 132MHz,性能和1510对应 |
OMAP730 | 200MHz,性能较710提高一倍,待机时间也增加了一倍 | |
OMAP732 | 200MHz,类似于730,但SRAM以堆叠式整合,减少了体积 |
2.2.4Intel Xscale
Intel Xscale构架的处理器有PXA2xx系列,它属于ARM处理器的一种衍生,不过它在构架扩展的基础上保留了对以往软件的向下兼容性。
Intel 目前开发的基于ARM核 的处理器有2个系列:
(1)StrongARM-StrongARM SA1100
(2)基于XScale构架的PXA系列
较为突出的是PXA系列,它是一款功耗低、可伸缩度高的产品,并且其最大的优势就是核心频率可以高速的提升。此外,Xscale整合了以往其他ARM处理器所不支持的MMX指令,这种指令集类似桌面处理器的多媒体指令集,是一种64bit的精简指令,这种指令集可以大大地优化视频播放、3D图像显示、音频处理等应用,同时这种指令也会降低产品的开发难度。PXA采用较先进的0.18um工艺制程、内含32KB指令缓存和32KB数据缓存以及多媒体流数据专用的2KB缓存,最高支持256MB内存、包含双通道PCMCIA、CF卡、MMC/SD卡,LCD控制器、AC‘97音频、USB接口,红外接口、蓝牙接口,芯片采用PBGA封装。
PXA270内部结构如图 2.3 PXA270 内部结构所示:
图 2.3 PXA270 内部结构
2.3 S3C2410硬件设计要点
S3C2410是一款高速嵌入式处理器,由于它内置了很多外设模块,需要用到的模块可能要在外围电路中增加一些芯片。这样一来,加上电源、CPU最小系统以及各个模块,系统变得非常复杂。所以在绘制原理图的时候,要注意模块化的设计,可以避免出错。
2.3.1S3C2410电源设计
电源是系统的心脏,系统的稳定性很大程度上取决于电源的设计,对于S3C2410处理器,合理的电源设计如图 2.4 S3C2410系统电源设计所示:
图 2.4 S3C2410系统电源设计
2.3.2S3C2410 USB接口设计
本系统的摄像头使用的是USB接口,S3C2410的USB接口属于USB1.1版本,最高支持12Mbit/s,在设计的过程尽量保持信号线的等长关系,以防止时间上有延迟。下图使用了AU9254芯片进行HUB,扩展为4个USB HOST接口,可以供更多的USB设备使用,其电路原理图如图 2.5 USB 接口原理所示。
图 2.5 USB 接口原理
2.3.3S3C2410 网络接口电路设计
在本系统中,S3C2410核心是以网络服务器的形式接入网络的,系统采用了10M网卡芯片CS8900,以提供更高的网络带宽供传输图像。网络接口电路原理图如图 2.6所示:
图 2.6 CS8900网络接口原理图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!