《基于嵌入式技术的烟气检测监控系统的设计》由会员分享,可在线阅读,更多相关《基于嵌入式技术的烟气检测监控系统的设计(16页珍藏版)》请在金锄头文库上搜索。
1、设计报告课程名称: 嵌入式课程设计 学 院: 电气与信息工程学院 专业班级: 通信工程XX班XX号 学生姓名: XXX 指导教师: XXXX 完成时间: 2013 年 06月 23日 报告成绩: 评阅意见: 评阅教师 日期 第 16 页 共 16 页基于嵌入式技术的烟气检测监控系统的设计(谢康20130623)目录摘要31、芯片及操作系统简介41.1、微处理器(STM32F107)简介41.2、以太网芯片资料41.3、ucosII简介51.4、系统结构框图62、部分电路原理图及其原理62.1、STM32F107最小系统电路图62.2、以太网部分原理及电路原理图72.3、以太网的RMll模式描述
2、82.4、烟气浓度检测模块原理113、系统软件设计12总结16参考文献16基于嵌入式技术的烟气检测监控系统的设计摘要随着工业现代化的飞速发展,给人们带来的便利和健康,同时也给环境带来了重大的威胁,工业生产过程中排放的大量的废气,严重污染了环境和影响的人们的健康,为了减少废气排放对人们造成的影响,即需要对烟气进行监控。本设计研制了以嵌入式技术ucos II为核心的烟气检测监控系统,着重阐述了系统的总体结构、工作原理和基于STM32F107微处理器芯片的嵌入式技术,给出了系统硬件设计和软件控制的设计方法成功实现了嵌入式技术和以太网互联,该设计在用于检测监控烟气排放是否符合烟气排放标准中,达到预期效
3、果,在实际应用中具有广阔的前景。关键字:嵌入式技术;ucosII;STM32F107;烟气检测监控1、芯片及操作系统简介 1.1、微处理器(STM32F107)简介STM32F107是意法半导体推出全新STM32互连型(Connectivity)系列微控制器中的一款性能较强产品,此芯片集成了各种高性能工业标准接口,且STM32不同型号产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用。新STM32的标准外设包括10个定时器、两个12位1-Msample/s AD(模数转换器) (快速交替模式下2M sample/s)、两个12位DA(数模转换器)、两个I2C接口、五个USART接口和三
4、个SPI端口和高质量数字音频接口IIS,另外STM32F107拥有全速USB(OTG)接口,两路CAN2.0B接口,以及以太网10/100 MAC模块。此芯片可以满足工业、医疗、楼宇自动化、家庭音响和家电市场多种产品需求。STM32F107VX(32位RISC性能处理器)1、32位ARM Cortex-M3结构优化2、72MHz运行频率,1.25DMIPS/MHz3、硬件除法和单周期乘法4、快速可嵌套中断,612个时钟周期5、具有MPU保护设定访问规则6、64K256KB Flash, 高达64KB的SRAM1.2、以太网芯片资料DP83848C由美国国家半导体(NS)公司生产的集成以太网控制
5、芯片,芯片是一种10/100Mbit/s单路物理层以太网收发器器件,支持10/100M的以太网通信,同时也支持MII和RMI接口模式,集成度高,具有全功能、低功耗等性能。由于远超过IEEE规格的电缆长度性能,以及为10BASE-T和100BASE-TX以太网协议的应用提供低成本解决方案的特性,该器件在基于高端外围设备、工业控制、工厂自动化、通用的嵌入式应用等领域中广泛采用,并确保与基于其他标准的以太网产品相互兼容及实现互操作。该芯片的主要特性如下:1、低功率3.3V、0.18& 微米 CMOS 技术2、低功耗 270mW (典型值)3、3.3V MAC 接口4、对 10/100 Mb/s 速度
6、的 Auto-MDIX5、能量检测模式25 MHz 时钟输出SNI 接口 (可配置)RMII 版本1.26、接口 (可配置)MII 串行管理接口 (MDC 和 MDIO)IEEE 802.3u MII7、IEEE 802.3u 自动-谈判及并行检测8、IEEE 802.3u ENDEC、10BASE-T 收发器及滤波器9、综合式 ANSI X3.263 标准 TP-PMD 物理子层,具备自适应均衡和基线漂移补偿长达137米的无故障工作10、可编程 LED 支持链路、10 /100 Mb/s 模式、主动和冲突检测11、完全PHY状态的单一寄存器存取12、10/100 Mb/s 信息包 BIST
7、(内部自检)1.3、ucosII简介C/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。C/OS-II 的前身是C/OS,最早出自于1992 年美国嵌入式系统专家Jean J.Labrosse 在嵌入式系统编程杂志的5 月和6 月刊上刊登的文章连载,并把C/OS 的源码发布在该杂志的B B S 上。C/OS 和C/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的C
8、PU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将C/OS-II嵌入到开发的产品中。C/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至 2KB 。C/OS-II 已经移植到了几乎所有知名的CPU 上。严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。uC/OS-II目标是实现一个基于优
9、先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。uC/OS-II以源代码的形式发布,是开源软件, 但并不意味着它是免费软件。你可以将其用于教学和私下研究(peaceful research);但是如果你将其用于商业用途,那么你必须通过Micrium获得商用许可。1.4、系统结构框图 系统机构框图如图1.1所示。 STM32F107(ucosII)烟气浓度检测模块以太网传输模块液晶显示模块图1.1 系统结构框图2、部分电路原理图及其原理2.1、STM32F107最小系统电路图如图2.1所示,为STM32F107单片机的最小系统原理
10、图。图2.1 最小系统图2.2、以太网部分原理及电路原理图如图2.2所示,为以太网传输部分电路原理图。图2.2 以太网部分电路原理图DP83848C配合RMII标准接口提供了一种连接方案,可以减少MAC至PHY接口所需要的引脚数目。该方案使得设计工程师在保持IEEE802.3规范中所有特性的同时,降低系统设计成本。正因为如此,DP83848C能够更好地适应工业控制和工厂自动化,以及通用嵌入式系统等应用场合。硬件配置DP83848C的X1(34)脚上提供50 MHzCMOS电平的振荡信号。在上电和复位时,强制DP83848C进入RMII模式。方法是通过在RX_DV/MII_MODE(39脚)接入
11、一个上拉电阻。2.3、以太网的RMll模式描述RMII模式在保持物理层器件现有特性的前提下减少了PHY的连接引脚。RMII由参考时钟REF_CLK、发送使能TX_EN、发送数据TXD1:0、接收数据RXD1:0、载波侦听/接收数据有效CRS_DV和接收错误RX_ER(可选信号)组成。在此基础上,DP83848C还增加了RX_DV接收数据有效信号。1、REF_CLK参考时钟REF_CLK是一个连续时钟,可以为CRS_DV、RXD1:O、TX_EN、TXD1:O、RX_DV和RX_ER提供时序参考。 REF_CLK由MAC层或外部时钟源源提供。REF_CLK频率应为50 MHz5010-6,占空比
12、介于35%和65%之间。在RMII模式下,数据以50 MHz的时钟频率一次传送2位。因此,RMII模式需要一个50 MHz有源振荡器(而不是晶振)连接到器件的X1脚。2、 TX_EN发送使能TX_EN表示MAC层正在将要传输的双位数据放到TXD1:O上。TX_EN应被前导符的首个半字节同步确认,且在所有待传双位信号载入过程中都保持确认。跟随一帧数据的末2位之后的首个REF_CLK上升沿之前,MAC需对TX_EN取反。TX_EN的变化相对于REF_CLK是同步的。3、 TXD1:0发送数据TXD1:O的变换相对于REF_CLK是同步的。TX_EN有效后,PHY以TXD1:0作为发送端。在10 M
13、bps模式下,由于REF_CLK的频率是在10Mbps模式中数据速率的10倍。因此TXD1:0上的值必须在10个脉冲期间保持稳定,确保DP83848C能够每隔10个周期进行采样。发送时序如图5所示,发送延时情况如表l所列。其中,PMD为物理介质关联层(physical media depen-dent)接口。4、 RXD1:0接收数据RXD1:0转换是与REF_CLK同步的。在CRS_DV有效后的每个时钟周期里,RXD1:O接收DP83848C的两位恢复数据。在某些情况下(如数据恢复前或发生错误),则接收到的是RXD1:O的预确定值而不是恢复数据。CRS_DV解除确认后,RXD1:O为“00”
14、,表示进入空闲状态。CRS_DV确认后,在产生正确的接收解码之前,DP83848C将保证RXD1:0=“00”。DP83848C提供的恢复数据总是半字节或成对双位信号的形式,这对于由前导符开始的所有数据值都成立。因为CRS_DV是异步确认的,不能假设先于前导符的“00”数据会是双位信号形式。100 Mbps模式下,在CRS_DV确认之后的正常接收过程中,RXD1:O将会保持“00”,直到接收器检测到正确的起始串分界符(STart St-ream Delimiter,SSD)。一旦检测到SSD,DP83848C将会驱动前导符(“01”),后面紧跟着起始帧分界符(Start of Frame. Delimiter,SFD)(“01”“01”“01”“11”)。MAC应该开始SFD之后的数据。如果检测到接收错误,在载波活动结束前,RXD1:0将会替换为接收字符串“01”。而由于帧中剩余数据被替换,MAC的奇偶校验将会拒绝错误的信息包。如果检测到错误的载波(坏的 SSD),RXD1:O将会替换为“10”,直到接收事件结束。这种情况下,RXD1:O将会从“00”变为“10”,而无需标明前导符 (“01”)。10 Mbps模式下,CRS_DV确认后,RXD1: