基于STR71X的城市空气质量
自动监测通用平台
设计报告
——组号:A555
目 录
1… 作品简介. 4
1.1作品背景. 4
1.2作品应用. 4
1.3小组简介. 6
1.3.1.小组研发环境. 6
1.3.2.成员介绍. 6
1.3.3.指导老师介绍. 7
2… 作品说明. 7
2.1基于STR71X的城市空气质量监测平台功能概述. 7
2.1.1.遥测功能. 8
2.1.2.遥信功能. 8
2.1.3.遥控功能. 9
2.1.4.遥调功能. 9
2.1.5.通讯功能. 9
2.2系统规格. 10
2.2.1.监测平台对各分析仪器的控制. 10
2.2.2.监测平台对数据、信息的处理. 10
2.2.3.监测平台对本地数据的存储. 11
2.2.4.监测平台对数据的传输. 11
2.3系统创新. 12
2.4实现规划. 12
3… 作品设计. 12
3.1系统整体构架与模块简介. 12
3.1.1.工作体制. 13
3.1.2.通信信道. 14
3.1.3.供电方式. 14
3.2监测平台子站硬件模块. 14
3.2.1.处理器. 14
3.2.2.串口扩展. 16
3.2.3.SRAM扩展. 19
3.2.4.FLASH扩展. 21
3.2.5.CF卡的扩展. 22
3.2.6.实时时钟. 23
3.2.7.以太网接口. 25
3.2.8.GPRS26
3.2.9.触摸屏模块. 27
3.2.10.自动监测子站采样装置及监测仪器说明. 28
3.3监测平台软件体系结构. 29
3.3.1.监测平台软件整体流程结构. 29
3.3.2.监控子站软件模块. 30
3.3.3.监测子站应用程序及功能. 32
3.3.4.系统驱动程序. 34
4… 电路原理图. 37
4.1核心部分. 38
4.1.1.核心部分ARM电路. 38
4.1.2.Flash39
4.1.3.SRAM 40
4.2外围部分. 40
4.2.1.Compact Card41
4.2.2.以太网控制芯片. 41
4.2.3.时钟控制器. 42
4.2.4.串口数据传输模块. 42
5… PCB说明. 43
5.1简要说明. 43
5.2布局说明. 44
5.3布线说明. 44
6… 总结. 45
6.1前景价值. 45
6.2执行计划. 46
6.3结束语. 47
7… 参考文献. 48
1 作品简介
1.1 作品背景
随着环境污染的日益加重,环境保护已经成为整个社会的重要问题,人们越来越认识到环境保护的重要性。通过监测空气中二氧化硫(SO2),氮氧化物等有害性气体以及烟尘等悬浮颗粒物(TSP)的含量,有效地监测并清除污染源,是保护环境的有力措施之一。
环境空气质量自动监测系统,是一套以自动监测仪器为核心的自动“测-控”系统。主要用于大气污染和噪声的在线监控、远程登陆、污染预警和设备可视监控等。自动监测系统通过有线或无线传输网络,实时反映城市的空气质量情况。当空气质量达到重污染情况时自动发出预警信息并提示相应的防护措施。
环境空气质量自动监测系统为环境管理提供了重要的技术手段。环境空气质量监控中心能有效地利用监测设施,改进在线监控系统、污染预警,做到及时、有效、快速地响应污染现状,准确、高效地提供环境空气数据,为管理部门提供第一手资料,促进环境监测工作的自动化、信息化发展。因此合理高效的利用环境信息服务于我们的环保工作,是解决问题的关键,这就对我们环境信息的管理提出了较高的要求。
而本设计是基于嵌入式系统的城市空气质量自动监测通用平台,嵌入式系统是以实际应用为核心,对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统,由于嵌入式系统是面向应用的特点,能实现专门的控制并节省软硬件资源。
1.2 作品应用
基于嵌入式的城市空气质量自动监测通用平台作为大气自动监测系统的监控子站(中心站须完成大量数据的接收与复杂处理,由服务器来承担),子站主要实现以下系统功能:
(1)对环境空气质量和气象状况进行连续自动监测,采集、处理和存储监测数据。
(2)子站按监测中心计算机指令定时或随时向中心计算机传输监测数据和设备工作状态信息。
(3)响应中心站对监测子站的监测仪器进行远程诊断和校准。对系统所用监测设备的标定、校准和审核;对检修后的仪器设备进行校准和主要技术指标的运行考核。
(4)能及时响应、处理子站事故及紧急事件,使分布在市区大范围内的子站设备处于监测中心的远程监控之中,能迅速处置设备事故等紧急事件。
(5)当空气质量达到重污染情况时响应中心站预警信息并执行相应的防护措施。
系统组成图如图1.1所示:
图1.1
整个环境空气质量自动监测系统涉及大气自动监测系统(包括水质自动监测)1个中心站(中心控制室),和分布在城市内多个子站,以武汉为例,将中心站服务器设在武汉气象局,在武汉三镇的汉阳月湖、汉口江滩、武昌紫阳、武汉神龙、东湖梨园、汉口花桥、青山厂前、木兰湖、武汉高新、吴家山、武汉宗关等监测地区设置11个子站,实时监测这些分散点的大气质量。
监测通用平台在市区的分布如图1.2所示。
图1.2 武汉市区子站分布图(●为监测平台分布地)
该子站作为通用平台也可用在国内外其它大中小型城市,不光用在武汉,像西安,兰州,长沙等城市都可以应用这样的通用环境监测平台。
1.3 小组简介
1.3.1. 小组研发环境
(1)硬件平台:ARM7 (STR710FZ2T6)
(2)软件环境:EmBestIDE,ADS,LINUX
(3)通讯机制:ADSL,GPRS
(4)通讯协议: TCP/IP,UART,AT
1.3.2. 成员介绍
田世坤:华中科技大学控制系,本科,主要负责ARM芯片的基本功能、操作系统移植,整体硬件电路设计。
苏谢祖:华中科技大学控制系,本科,主要负责各个外围电路硬件模块。
周勇: 华中科技大学电气系,本科,主要负责ARM芯片及其存储扩展电路硬件模块。
桂赟: 华中科技大学电子系,本科,主要负责应用软件设计编写
黄欣然:华中科技大学控制系,本科,主要负责文档编写、GPRS、ADSL原理与文档
1.3.3. 指导老师介绍
盛翊智,教授,华中科技大学控制科学与工程系,主要研究领域:决策支持系统,计算机控制与管理,嵌入式系统应用。
2 作品说明
2.1 基于STR71X的城市空气质量监测平台功能概述
各空气质量自动监测通用平台的主要功能是将分布式的大气检测设备进行统一的操作与管理。将设备所产生的数据进行集中、处理、传输,并对各种大气检测设备进行远程控制。
图2.1为遥测、摇信、遥控结构框图。空气质量自动监测平台与分布式大气监测装置相配合,对下进行信息汇总,对上进行信息交换,以及实现对大气检测设备进行遥测、遥信和遥控功能。
图2.1 遥测、摇信、遥控结构框图
2.1.1. 遥测功能
遥测的定义是指远程测量,被动获得远程信号,测量其数值。对于监测平台系统遥测的数据是各种大气检测数据。对所要检测的数据在数据格式、数据采样频率上均有一定的要求。而且由于各监测平台配置的差异性,遥测数据可能也因监测平台的配置不同而有所差异。这就要求系统在遥测方面应具有足够的灵活性,将不同设备所采集的同一物理意义的数据进行规范化,并且能够灵活地改变所要报送地数据量。
2.1.2. 遥信功能
遥信功能主要反映的是设备的状态量。这些状态量包括各种检测设备的实时运行状态、历史开关机记录、以及设备出错告警等信息。遥信也是通过监测平台系统定时和各检测设备进行交换数据所获得的。监测平台在获得各种设备的状态信息后,对数据进行集中,识别,存档,判定设备运行是否正常。当设备出现异常时,应及时向监控中心发出告警,并采取一定的保护措施(如断电、关闭电磁阀等)。
2.1.3. 遥控功能
遥控也称远程控制。是远程主机主动发出信号,控制远端操作。在这里,遥控是指监测平台接收中心服务器的各种操作请求(如设定设备时间、开关数字IO等),并完成规定操作。监测平台在接收中心服务器的操作请求后,查找本地功能表,找到所要操作命令,并通过串口向大气检测设备发出。
2.1.4. 遥调功能
遥调功能实际是遥控与遥信或遥控与遥测的组合。这里的遥调主要的操作是对设备的定零定标。这需要对设备实时的数据采集、实时的远程控制,而且还要有一个稳定可行的专家系统对设备进行重新的校准。操作复杂,涉及的检测设备较多,这是监测平台系统设计的一个难点。
2.1.5. 通讯功能
除此以外,监测平台另外一个重要的方面是通讯。不论是遥测、遥信还是遥控、遥调,都需要一个稳定、可靠、快速的通讯方案。在本设计中,采用ADSL +GPRS的方案。ASDL带宽充足,可满足简单视频以及大量数据的传输。GPRS为辅,可在ADSL出现故障时,作为辅助通信通道,保证系统传输的稳定可靠。而且在那些不易于安装ADSL的地区可以通过GPRS进行无线的数据传输,这使得系统的通信方案更加灵活。
2.2 系统规格
2.2.1. 监测平台对各分析仪器的控制
(1)对各大气监测设备串口输出状况进行破译,实现对各大气监测设备的通信。
(2)扩展其他设备连接入网。
2.2.2. 监测平台对数据、信息的处理
(1)数据采集频率:1次/5s
平均值时间: 1 minute(分钟)—1 hours(小时)可选
(2)一次值的定义及处理时间
(3)零值、标值的定义与处理,建立登记表。
仪器在零(标)标定时监测值不计入采样记录数据表,进入零/标登记。
登记表以时间,每分钟平均值为字段形成记录,最后1分钟平均值为最终
零/标值。
(4)异常值定义与处理,建立登记表。
异常值包括停电、走零、走标、上下限报警值、有效值小于75%的平均值等,要有相应的错误标记。
(5)保存SO2状况,建立真值表。
(6)保存NO状况,建立真值表。(同5类同)
(7)保存CO状况,建立真值表。(同5类同)
(8)保存O3状况,建立真值表。(同5类同)
(9)保存PM10(可吸入颗粒物)状况,建立真值表。(同5类同)
(10)建立校准器工作状况表。(同5类同)
(11)设立“报警信号”登记表。
报警信号包括:监测值超过上下限、仪器内部参数超过上下限、室温超过上下限、停电报警等。
(12)设立系统历史记录登记表
系统启动、关机记录,远程用户登录与退出记录。
(13)建立“气象数据库”。
2.2.3. 监测平台对本地数据的存储
本地数据库是设备数据往中心站发送的一个缓冲和备份。通过对处理器扩展存储设备(CF卡,Flash,以CF卡存储为主)以实现对数据的存储。
2.2.4. 监测平台对数据的传输
系统主要采用ADSL有线或GPRS无线通信信道,连接中心站和各个子站。中心站采用2M固定IP的ADSL接入,同时接入GPRS VPN;子站采用1M动态IP的ADSL接入,同时也接入GPRS VPN。
ADSL和GPRS VPN互为备用通信方式,都满足环境监测数据传输的需要,并适应不同的接入条件,实现自动切换。
(1)通信工作体制
每个子站的主工作体制为自报方式,普通工况下遥测站点IPC每分钟从前端仪表采集一次数据,存入本地控制器,上传频率从1分钟~1天可自选,将数据传送到监控中心。
辅助工作体制为应答式,即当监测中心站需要监控子站时,通过监控软件对相应遥测站点发出招测指令,利用此方式,可灵活地对远程监测设备进行跨零、跨标的校准,以图形界面动态显示仪器内部运行参数。
中心站对省气象科研所、省监测站和国家环境监测总站的通信方式仍使用MODEM通讯。
(2) 通信软件基本功能
(1) 每分钟将PM10,SO2,NO,NO2,NOX,CO,O3,气象参数(气温、气压、风向、风速、湿度)和各仪器状态真值表上传给中心控制室。
(2)每天定时将零/标记录值,若现场有新的零/标记录生成,立即上传与中心控制室保持同步。
(3) PM10,SO2,NO2,CO,O3的小时平均值,上传给中心控制室。
(4) “报警”登记表若有“新值”,立即与每分钟数据一起向中心室上传。
(5)接收中心站对指定仪器进行“走零”,“走标”的命令。
(6)接收中心站“暂停报警”命令。
(7)接收中心站“传送视频或图像”的命令。
(8)智能化检测通信状况,在ADSL通信出现故障后自动切换到GPRS。
2.3 系统创新
(1)基于STR71X的城市空气质量自动监测通用平台取代原来的采用PC作为控制系统,极大地节省了软硬件资源。
(2)信息传输的方式扩展为ADSL+GPRS的方案,在不易于安装ADSL的地区可以通过GPRS进行无线的数据传输,这使得系统的通信稳定可靠灵活。
(3)在简单数据传输的基础上扩展为传送图像和声音,这对于实时监测与控制提供了更为直观高效的方式。
2.4 实现规划
(1)12月24日~12月31日:查阅资料,了解、熟悉项目细节。
(2)1月1日~1月14日:项目分析,概要设计(系统架构,硬件,软件)
(3)1月15日~1月25日:项目设计报告,竞赛报告
(4)2月4日~3月3日: 细化任务,查阅相关资料,准备进一步详细设计
(5)3月4日~3月17日:项目详细设计及报告
(6)3月18日~4月7日:硬件软件搭建及调试
(7)4月8日~4月30日:系统整体调试,测试
(8)5月1日~完成:系统验收报告,项目总结
3 作品设计
3.1 系统整体构架与模块简介
系统的整体构架如图3.1所示。图中五个测量仪是TELEDYNE ADVANCED POLLUTION INSTRUMENTATION (T-API)公司生产的环境气体检测设备,
子站
(ST_ARM)
STR710FZ2T6
SO2测量仪
中心站
CO测量仪
粉尘测量仪
O3测量仪
NOx测量仪
其它量(模拟)
触摸屏
RS232
ADSL
GPRS
(备用)
ADC
CF卡
图3.1 监控平台构架图
应用广泛,能够将粉尘,气体如SO2,CO,O3,NOX等模拟量直接转换成数字量,通过串口直接传送到子站。增加其他测量设备,还可以监测别的物理量。另一种方法就是通过A/D转换,直接向自站发送采集数据量。触摸屏用于控制和显示,直接观察ARM芯片的工作状态,方便用户调试。大容量CF卡能存储大量数据,保留备份,提高数据的准确率,在接到中心站数据传输指令后,及时的数据发送出去,并保留备份,防止因传输中断或数据丢失造成不必要的损失。子站和中心站之间可以通过ADSL网络通讯,GPRS为备用通讯线路,当ADSL网络传输发生错误时,报告错误,自动切换到GPRS传输。
3.1.1. 工作体制
每个监测平台的主要工作体制为自报方式,普通工况下遥测站点监测平台每分钟从前端仪表采集一次数据,存入本地储存介质中,上传频率从1分钟~1天可自选,将数据传送到中心站。若数据未发送成功,系统自动检测网络状况,待网络通畅后再次按时间顺序将数据补发,并且保证数据一定送达。当传感器采集到特殊报警值,监测平台在2秒内将当前报警值发送到中心站。
辅助工作体制为应答式,即当中心站需要监控子站时,通过监控软件对相应遥测站点发出招测指令,子站收到指令后,立刻将所需数据发送到控制中心。利用此方式,可灵活地对远程监测设备进行跨零和跨标的校准,还可以图形界面动态显示仪器内部运行参数。
3.1.2. 通信信道
本系统选ADSL 1M 宽带作为通讯方式,并以GPRS无线通信作为备用信道,当ADSL出现故障或一些恶劣环境下不得不用无线时采用GPRS进行无线传输数据。
3.1.3. 供电方式
遥测站的供电系统全部采用220v市电供电,每个遥测站点可以同时配有UPS作为备用电源,停电时供中心站、子站、ADSL、GPRS使用,保证通信畅通,克服停电造成的网络盲区,使中心站及时了解子站的运行状况。
3.2 监测平台子站硬件模块
3.2.1. 处理器
处理器采用的是意法半导体(ST)的STR71X系列微控制器基于16/32位 ARM7TDMI RISC CPU。STR71x系列是片上集成Flash和RAM的微控制器系列。它基于高性能的ARM7TDMI内核,拥有丰富的外设和增强的I/O功能。该系列中的所有器件都包含片上高速单电压Flash存储器和高速RAM存储器。由于内嵌ARM内核,所以STR71x与所有的ARM工具和软件兼容。其内部框图如下图3.2所示,内部总线和两条APB总线将片上系统和外设资源紧密的连接起来,其中内部总线是主系统总线,连接了CPU、存储器和系统时钟等,APB1总线(APB1桥连接的APB总线)连接高速外设,APB2总线(APB2桥连接的APB总线)连接系统通用外设和中断控制。I/O端口包括P0,P1,P2三个16位的端口,其它的外设接口引脚都与I/O端口的引脚功能复用,图上的AF即表示功能复用引脚。另外,外部存储器接口(EMI)提供了16条数据线接口和24条地址线接口,可扩展4组16M空间的外部存储器。
本系统中,我们用到的部分有:
UART0、UART1、UART2、UART3
SPI0、SPI1
INT2,INT3,INT4,INT5
4路ADC、
EMI BANK0、1、2、3,以及几个其它通用IO口。
图3.2 STR710FZ2T6的结构框图
3.2.2. 串口扩展
(1) 方案比较
目前比较通用的串口扩展方案有以下三种:
(1)用硬件实现,使用多串口单片机或专用串口扩展芯片,可供选择的串口扩展芯片有TI等公司开发的16C554系列串口扩展芯片,该系列芯片实现的功能是通过并行口扩展串行口,功能比较强大、通讯速度高,但控制复杂,同时价格较高,主要的应用场合是PC机串口扩展产品。而在嵌入式设计中,使用ARM芯片,波特率要求不高,使用16C554系列芯片不仅成本高而且还造成了资源的浪费。
(2)用软件实现,软件模拟串口存在的缺点有:一是采样次数低,一般只能做到2次/BIT,这样数据的正确性就难以保证;二是不能实现高波特率通讯,软件模拟串口一般不能实现高于4800 bps的波特率。不过,这种方法,价格便宜,成本低。易于实现。
(3)并行口扩展串口方法的功能比较强大,能提供MODEM控制信号、通讯速度高,但控制复杂,占用MCU的端口资源较多,同时价格也较高。
成都微电子有限公司推出的GM8125系列串口扩展芯片全硬件实现串口扩展,保证了芯片工作的稳定性,设计的最高波特率完全能满足一般系统需求,同时占用系统资源少,使用方法简单,通讯格式可设置,与标准串口通讯格式兼容,利用该系列芯片实现串口扩展是性价比较高的串口扩展方案。
(2) GM8125特性
GM8125 可以将一个全双工的标准串口扩展成5 个标准串口,并能通过外部引脚控制串口扩展模式:单通道工作模式和多通道工作模式,即可以指定一个子串口和母串口以相同的波特率单一的工作,也可以让所有子串口在母串口波特率基础上分频同时工作。
该芯片工作在多通道模式下时,子串口能主动响应从机发送的数据,并由母串口发送给主机,同时返回子串口地址。该模式使每个从机的发送要求都能被及时地响应,即使所有从机同时有发送要求,数据也不会丢失,基本实现了主控单元和外设通讯的实时性。
该芯片母串口和子串口的工作波特率可由软件调节,而不需要修改外部电路和晶振频率。该芯片的外部控制少,应用灵活,编程使用简单,适用于大多数有串口扩展需求的系统。
GM8125特性如下:
(1)采用写控制字的方式对芯片进行控制
(2)各子串口波特率可调(统一调节)
(3)数据格式10 位或11 位可选
(4)单通道模式下,最高波特率支持20Mbps;多通道模式下,子串口最高波特率38400bps
(5)子串口数:5 个
(6)由一个引脚选择芯片的工作方式是单通道工作模式还是多通道工作模式。在单通道工作模式下,芯片工作无需初始化设置,工作串口由地址线控制选择。在多通道工作模式下,各子串口的波特率等于母串口波特率的6 分频,接收时地址线SRADD2~0
(7)向MCU返回接收子通道的地址,MCU接收到母串口送来的数据后就可根据SRADD2~0状态判断数据是从哪一个子串口送来的;发送时先由MCU 选择子串口再向母串口发送数据
(8)与标准串口通讯格式兼容,TTL 电平输出
(9)宽工作电压:2.3~6.7V
(10)输出波特率误差小于0.2%,输入波特率误差要求小于2.8%
(11)每bit 采样16 次,提高数据正确性
(12)输入地址引脚有50~80KΩ Pull-Down 电阻,其它输入引脚有50~80KΩ Pull-Up 电阻(OSCI 除外)
(3) GM8125工作模式
通过对控制引脚MS的设置来选择工作模式。当模式控制引脚MS = 1 时,芯片工作在单通道工作模式下。当模式控制引脚MS = 0 时,芯片工作在多通道工作模式下,多通道模式允许5 个子串口同时全双工地工作。
(1) 单通道工作模式
单通道模式在一个时刻只允许一组RXD 和TXD 与母串口进行通讯。芯片的地址线用于选择希望和母串口相连接的子串口,外部MCU 通过三根输入地址线和三根输出地址线选择指定和母串口连接的子串口。输入/输出地址线可以不相同,则连接到母串口上的RXD 和TXD 可以属于不同的子串口(注意:通讯时不能将STADD 置为‘000’)。
单通道工作模式下地址线定义如图3.3所示。
表3.3 单通道工作模式下地址线定义
(2) 多通道工作模式
在多通道工作模式下,芯片的地址线STADD2~0 是输入口,由MCU控制选择希望发送数据的子串口,地址线SRADD2~0 是输出口,用于向MCU返回接收到数据的子串口地址。
多通道工作模式下,在进行数据通讯前要对芯片进行工作方式设置,对帧格式和通讯波特率进行设置。在该模式下,各子串口波特率相同,母串口的波特率等于子串口波特率的6 倍。比如设置了子串口和外围设备的通讯波特率为1200bps,则母串口波特率为1200×6=7200bps。
各地址线定义如表3.4 和表3.5所示:
表3.4 多通道工作模式下子串口发送地址线定义
表3.5 多通道工作模式下子串口接收地址线状态
(4) GM8125电路连接
电路连接如图3.6所示。
STR710FZ2T6
P[12:17]
UART1
STA[0:2]
SRA[0:2]
UART0
电平驱动
GM8125
图3.6 系统扩展GM8125
由图可知,MCU通过通用IO口对GM8125的子串口的收发信号口选址,由于GM8125的高电平要求在3.5V以上,故须加上电平驱动电路以保证线路驱动,实际电路加入的是74HC04非门。MCU的UART1输出到GM8125的主串口,由GM8125通过MCU的选址来管理数据的IO。
根据本系统实际运行情况,GM8125应该工作在单通道模式。
3.2.3. SRAM扩展
在系统中一般SDRAM是用做数据存储器,系统启动配置完成后,SRAM便开始工作。在STR71X 中有4个Bank用于扩展数据存储器。因为SRAM的读写速度比FLASH快得多,所以在有实时操作系统的情况下,一般是将FLASH的代码解压搬到SRAM,然后从SRAM中运行代码。这样可以大大提高程序运行的速度。图3.2是SRAM的扩展电路。本系统选用ISSC公司的IS61LV25616AL10T,2片。
(1) IS61LV25616AL10T特性
工作频率可以达到100MHz,半片存储容量为256K×16bits——512KByte,采用2片使总存储量达到1MByte,达到移植uClinux的要求;工作电压为3.3V,16位数据宽度。
(2)电路连接
电路连接如图3.8所示。
STR71X
ADDR[21:0]
XDATA[7:0]
nCS[0]
nRD
nWR[1:0]
地址总线
数据总线
片选
写I写
宽度选择
SDRAM
DQ[15:0]
nCS
nRD
LB
UB
&
图3.8 SRAM的扩展电路
由图可见,扩展SRAM需要注意以下几点:
(1)数据和地址总线,由于是两片构成32位数据宽度,所以数据总线的高16位和低16位分接在两片SDRAM上。地址总线则根据SDRAM的具体容量来确定,(2)nCS[3:0]片选信号,nCS[3:0]片选信号决定了所接的SRAM属于哪一个Bank,STR71X提供了4个Bank的数据存储器扩展。SRAM分配为STR71X的BANK0,其nCS接STR71X的nCS[3:0]
(3)STR71X的nRD直接接IS61LV25616AL10T 的nRD,对其写使能。
(4)nWR[1:0] 与nRD信号相与后分别接到IS61LV25616AL10T 的UB和LB端,同时选中高字节和低字节,对16位数据同时进行操作。
3.2.4. FLASH扩展
在系统中一般FLASH是用做程序存储器,系统启动之后从FLASH中开始执行程序。在STR71X 中有4个Bank用于扩展程序存储器,其中Bank0用于存放启动代码。本系统采用Silicon Storage Technology公司的SST39VF1601。
1 SST39VF1601特性
(1)容量为1M×16bit。
(2)速度为70ns。
(3)通过16位数据总线与CPU交换数据。
(4)稳定可靠,擦写次数典型值为10万次。
2电路连接
电路连接如图3.7所示。
STR71X
A [19:0]
D [15:0]
nCS[1]
nRD
nWR[1:0]
SST39VF1601
A [19:0]
D [15:0]
nCS
nRD
nWR
地址总线
数据总线
片选
读
写
图3.7 FLASH扩展电路
扩展FLASH时要进行以下几个工作:
(1)根据所接的FLASH的特性,确定所接的数据总线和地址总线的宽度。SST39VF1601是16M位容量16位的数据宽度的FLASH,其内部以16位为一个单元,所以总共有1M各单元(2M字节)。其地址线有20根,扩展SST39VF1601时将A [19:0]接到其地址线上,D [15:0]接到其数据线上。若是由几片FLASH组成较宽的数据宽度(如2片16位的FLASH组成32位的程序存储器),则将地址线并联,数据分成高低两组分别接在2片FLASH的数据线上。
(2)nCS[3:0]片选信号决定了所接的FLASH属于哪一个Bank,nCS[1]对应FLASH,所以用于启动的FLASH应接nRCS0即Bank0。如上所说做位数扩展时应将几片FLASH的片选CE接同一个片选信号。
(3)nRD输出使能,当处理器对FLASH进行读操作的输出此信号。把它与FLASH的nRD相接即可。
(4)nWR写字节使能,STR71X的系统中nWBE [1:0]用于在进行写操作时指定写入的哪几位,4个信号分别对应32位中的4个字节。在用一片16位的FLASH时,用nWR0做写信号接到FLASH的WE上。若是多片扩展,则根据FLASH的特性决定接哪几根nWBE。
3.2.5. CF卡的扩展
为便于功能扩展,系统扩展大容量存贮设备COMPACT FLASH(CF卡)来存贮滞留数据和静态图像。系统采用的CF卡是SST公司生产的SST48CF096。
1 SST48CF096特性:
(1)多容量选择,最大可到12G
(2)封装小:为36.4 mm x 42.8 mm x 3.3 mm
(3)支持5V和3.3V读写模式
(4)PC模式ATA接口和True IDE接口
每个扇区512字节
兼容ATA指令
(5)低耗电量
唤醒模式:35/55 mA(3.3/5.0V)(典型)
睡眠模式:100/150uA(3.3/5V)(典型)
(6)数据传输率
5V供电时为20MB/S突发
3.3V供电时为6.6MB/S突发
2 工作模式
(1) Memeroy Card模式
在该模式下,CF卡被配置成主存贮空间的一个地址范围,CF卡为缺省工作模式。该模式能够通过配置选项寄存器来设置。
(2) I/O Card模式
该模式和PC-AT信号兼容,允许设计者将闪存地址合并到系统总线空间,使得CF卡似乎有明确的输入/输出地址线。
(3) True IDE模式
该模式兼容大多数的磁盘驱动,可通过编程内建文件系统。
本系统采用Memory Card模式。
3 电路连接
电路连接如图3.9所示。
STR71X
ADDR[3:0]
XDATA[7:0]
nSDCE
nRD
nWR
COMPACT FLASH
A[3:0]
DQ[7:0]
CE1
OE
WE
地址总线
数据总线
图3.9 CF卡Memory模式扩展电路
CF卡的接口电路为50Pin。CF卡在Memory模式下外部数据位宽度可为8位或者16位,在本系统设计中采用8位。
3.2.6. 实时时钟
在系统中为中心站与子站间时间同步,生成子站向中心站发送数据的时间戳,并防止程序进入异常状态或死机必须增加看门狗电路,在发生异常时复位系统。本设计采用DALLS的DS1286实时时钟带看门狗芯片完成上述工作。这款芯片内部还带有50个字节的存储器,由于有芯片内部电池供电,可以利用此存储器存储与系统相关的一些数据,如系统的IP地址,CPU的工作模式。
看门狗的工作原理是,处理器定时的访问看门狗电路,并清除看门狗的计数器。若程序出现异常或死机,则无法访问看门狗电路,当看门狗计数器到某一数值没有被清零时则发出复位信号将系统复位。在系统复位之后,可以从实时时钟的存储器中读出相关的配置信息重新配置本系统。
1 DS1286特性
(1)最小时间单位是1/100秒,可产生秒、分、小时、天、月、年等时间单位,已经调整好的运行时间直到2100年。
(2) 能在处理器“跑飞”的情况下重启处理器。
(3) 能产生实时报警信号。
(4) 嵌入了锂电池,不外接电源时,十年内数据保存有效,时钟正常运行。
(5) 可编程的中断,方波输出。
(6) 内部寄存器可通过地址线和数据线分开操作,内含50B的用户RAM。
(7) 计时误差不超过1分/月。
2 电路连接
实时时钟和看门狗电路作为系统的扩展设备,如图3.10所示是系统扩展DS1286的电路。
在电路中将STR71X的地址ADDR[5:0]接DS1286的A[5:0];数据XDATA[7:0]接DS1286的DQ[7:0];用扩展I/O接DS1286所以用nECS1做片选信号接DS1286的CE;读信号nOE接DS1286的OE;写信号nWBE0接DS1286的WE;用DS1286的看门狗中断信号INTA使系统复位。
STR71X
ADDR[5:0]
XDATA[7:0]
nECS1
nOE
nWBE0
nRESET
DS1286
A[5:0]
DQ[7:0]
CE
OE
WE
INTA
地址总线
数据总线
图 3.10 系统扩展DS1286
3.2.7. 以太网接口
系统采用uClinux作为嵌入式操作系统,ARM内部已经集成MAC控制,所缺少的只是物理接口。本系统采用MICROCHIP公司的ENC28J60作为以太网控制器
1 ENC28J60特性
本设计采用ENC28J60作为以太网控制器,这款芯片管脚数量少,与以前为个人计算机系统设计的,如RTL8019、AX88796L、DM9008、CS8900A、LAN91C111相比,电路原理简单,连接方便,非常适合与嵌入式设计.
采用业界标准串行外设接口(SPI)的以太网控制器ENC28J60具有以下主要特征:
◆ 符合IEEE 802.3协议。内置10 Mbps以太网物理层器件(PHY)及媒体访问控制器(MAC),可按业界标准的以太网协议可靠地收发信息包数据。
◆ 具有可编程过滤功能。特殊的过滤器,包括Microchip的可编程模式匹配过滤器,可自动评价、接收或拒收Magic Packet,单播(Unicast)、多播(Multicast)或广播(Broadcast)信息包,以减轻主控单片机的处理负荷。
◆ 10 Mbps SPI接口。业界标准的串行通信端口,使得低至18引脚的8位单片机也具有网络连接功能。
◆ 可编程8 KB双端口SRAM缓冲器。以高效的方式进行信息包的存储、检索和修改,以减轻主控单片机的内存负荷。该缓冲存储器提供了灵活可靠的数据管理机制。
2 电路连接
以太网接口为RJ45,通过变压器与控制器芯片ENC28J60相连:
图3.12 以太网接口芯片扩展电路
3.2.8. GPRS
GPRS(General Packet Radio Service)为通用无线分组业务,是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接。相对原来GSM的拨号方式的电路交换数据传送方式,GPRS是分组交换技术,具有“实时在线”、“按量计费”、“快捷登录”、“高速传输”、“自如切换”的优点。
作为一个辅助模块,在有线网络暂时不可用、或者环境恶劣必须采用无线、需要传送的数据量不大时可切换为GPRS通信。GPRS目前流行的接入方式是串行口,对串行口进行相关的配置,并安装驱动后,便可将GPRS模块当作普通的modem一样进行操作了。
本系统我们使用Wavecom公司的Fastrack M1203A GPRS模块来实现与中心站的通信,如图3.13所示。通过UART与cpu连接,工作电压5-12v。但是由于此模块推出的时间较早,故没有内置TCP/IP协议,所以需要操作系统uclinux内部集成。Cpu在不同的时间读取不同的监测设备,并将数据储存。当中心站需要子站上传数据或者采集的数据达到一定要求时启动数据传送程序由M1203接入GPRS网络发送数据。
AT指令是模块唯一能接收的语言,通过AT指令可以对模块的各个状态和行为进行控制。本系统常用的AT命令主要有:AT+CGACT(激活模块GPRS功能)、AT+CGREG(GPRS网络注册状态)、AT+CSQ (信号强度)、ATE(指令回显)、AT+CGCLASS(设置模块的工作模式)、AT+CGDCONT(设置分组数据交换的环境参数)等。
图3.13 Wavecom公司的Fastrack M1203A GPRS模块
3.2.9. 触摸屏模块
考虑到要显示的数据较多,为了获得较好的显示效果,液晶屏采用元太的PD064VT5 6.4英寸LCD模组,分辨率为640*480,6bit面板。LCD控制器采用世龙电子公司的WLTI04V模块,8位数据线[D70],位控制线:CS、RD、WR,三位地址线:[A2:A0]。STR710与LCD控制器的电路连接图如下:
触摸屏采用TouchKit-0650-W4R-B,触摸屏控制器采用ADS7843,ADS7843芯片是4线电阻式触摸屏,它通过标准SPI协议和CPU通信,操作简单,精度高。为了提高操作性能,消除抖动,在CPU接到请求后,应延时一下再响应其请求,同时采用2次采样取第二次结果为准,可以消除抖动,使采样更准确。
3.2.10. 自动监测子站采样装置及监测仪器说明
五个测量仪是TELEDYNE ADVANCED POLLUTION INSTRUMENTATION (T-API)公司生产的环境气体检测设备, 应用广泛,能够将粉尘,气体如SO2,CO,O3,NOX等模拟量直接转换成数字量,通过串口直接传送到子站。增加其他测量设备,还可以监测别的物理量。
(1)采样系统可采用集中采样和单机分别采样两种方式。集中采样是在每一子站设一总采气管,由引风机将大气样品吸入,各仪器的采样管均从这一采样管中分别采样,但总悬浮颗粒物或可吸入尘应单独采样。单独采样系指各监测仪器分别用采样泵采集大气样品。实际工作中,多将这两种方式结合使用。
(2)大气污染自动监测仪器
SO2自动分析仪:基于SO2分子接收紫外线(214 nm)能量成为激发态分子,在返回基态时,发出特征荧光,由光电倍增管将荧光强度信号转换成电信号,通过电压/频率转换成数字信号送给CPU进行数据处理。当SO2浓度较低,激发光程较短且背景为空气时,荧光强度与SO2浓度成正比。采用空气除烃器可消除多环芳烃(PAHs)对测量的干扰。
NOx自动分析仪:NO与O3发生反应生成激发态的NO2*,在返回基态时发射特征光,发光强度与NO浓度成正比。NO2不与O3发生反应,可通过钼催化还原反应(315℃)将NO2转换成NO后进行测量。如果样气通过钼转换器进入反应管,则测量的是NOx,NOx与NO浓度之差即为NO2。
O3自动分析仪:利用O3分子吸收射入中空玻璃管的254 nm的紫外光,测量样气的出射光强。通过电磁阀的切换,测量涤除O3后的标气的出射光强。二者之比遵循比尔-朗伯公式,据此可得到O3浓度值。
PM10自动分析仪(β射线法):仪器利用恒流抽气泵进行采样,大气中的悬浮颗粒被吸附在β源和盖革计数器之间的滤纸表面,抽气前后盖革计数器计数值的改变反映了滤纸上吸附灰尘的质量,由此可以得到单位体积空气中悬浮颗粒的浓度。
一氧化碳(CO):非色散红外CO分析仪(0-30ppm)、色谱法等。
总碳氢化合物(HC):气相色谱仪(FID)。
对自动分析仪的自动校准通过动态自动校准系统完成,该系统包括动态自动校准仪、零气发生器、标准气源等。
3.3 监测平台软件体系结构
3.3.1. 监测平台软件整体流程结构
整个子站软件运行流程如下:
(1)进行子站配置。包括现场设备、工控机、网络(ADSL、GPRS)、数据库配置。
(2)软件初始化。根据配置生成配置文件。以及组态系统软件。生成后保存组态信息。
(3)系统开始运行。
(4)若发生故障则进行故障处理。
整个系统软件结构流程如图3.14所示:
图3.14 子站系统流程结构图
3.3.2. 监控子站软件模块
监控子站软件模块从总体上可以划分为数据采集模块;本地数据存储模块;远程数据存储模块(网络传输);故障处理模块。对于子站来说其中的重点是数据采集模块。
1 数据采集模块
数据采集模块包括:
(1)参数配置模块:包括串口配置模块,设备参数配置模块
(2) 数据采集模块:包括历史记录采集模块,实时监测数据采集模块,实时视频采集模块,工控机状态参数采集模块
2 本地数据存储模块
本地数据采集模块包括:
(1) 数据表生成模块:包括表项获取模块,数据表构造模块
(2) 数据存储模块:包括记录生成模块,记录存储模块
3 远程数据存储模块
远程数据存储模块包括:
(1) 服务器端网络配置模块:包括服务器端网络地址信息,与服务器端连接协
(2) 子站网络配置模块:包括ADSL网络配置模块,GPRS网络配置模块
(3) 网络通讯模块:包括服务器端数据库连接,服务器端命令接收,网络切换(ADSL与GPRS)
(4)远程数据存储模块:包括远程存储数据项的组织,数据存储,网络故障处理
4 故障处理模块
故障处理模块上述三个模块联系紧密。
故障处理模块包括:
(1) 故障捕获模块
(2) 故障记录模块
(3) 故障上报模块
整个子站软件系统模块可由图3.15表示。
图3.15 子站系统软件模块图
3.3.3. 监测子站应用程序及功能
1 子站软件管理
考虑到数据的安全性问题,在监控中心建立远程登陆管理,密码管理以及出错管理,以保证信息的安全性。
2子站设备通讯程序
目前大气监测所采用的主流设备均通可以通过串口来与上位机进行通讯,在工业控制中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。
在几种串口通信方式中查询方式是一种最直接的读串口方式,但容易发生数据的丢失,虽然定时间隔越小,数据的实时性越高,但系统的资源也被占去越多。
异步方式,可以提高系统的整体性能,在对系统强壮性要求较高的场合,采用这种方式。事件驱动方式是一种高效的串口读方式,在实时性要求较高的场合采用这种方式。
3 子站网络通讯程序
(1) ADSL有线通讯
ADSL有线通信的拨号过程是通过操作系统自动完成的,对于用户编程来说,就是一个拥有IP地址的网络连接设备。
(2) GPRS无线通讯
通过串口与GPRS模块相连,无论是发送AT指令控制模块,还是通过模块发送或者接收信息,首先要对串口进行操作。由于硬件厂商提供了良好的接口,使得我们只需对模块进行简单的操作,而把主要精力放在操作和读写串口上。
(3) 网络通道自动检测与切换
当检测到主通信信道无法连接时,子站系统应该能够自动切换网络连接。程序设计三次检测网络连接,若三次检测均失败,则切换至辅助通信信道进行通信。并且程序每隔一定的时间间隔检查主通信通道的连接,当主通道连接恢复时,程序立即切换至主通道进行通信,以降低网络费用和提高网络带宽。
4 子站数据采集程序
数据采集包括零/标数据采集,历史数据采集,瞬时数据采集。零标数据是子站监测中十分重要的数据,是对判断系统是否正常准确监测以及日常校正的重要依据。
5 子站数据库
子站数据库是中心数据库的备份,同时也是子站网络通信的缓冲。子站采集各种检测仪器的数据。对各种数据归一化处理,存入本地数据库中,再将这些数据通过网络发送回监控中心。当网络出现问题时,数据库中的内容也可人为拷贝回监控中心。因此设立子站数据库,进一步提高了系统的鲁棒性。
6 子站初始化程序
系统开始启动运行时,子站需要同时登录到子站现场大气监测设备和监控中心。各个设备登录各不相同,因设备而异.
7 子站数据处理程序
子站数据处理包括以下数据的处理:一次值处理,零值、标值处理,异常值处理,校准器工作状况表,报警信号登记表,系统历史记录登记表等。
8 子站数据浏览程序
本系统具有简单的子站数据库数据显示功能,对于子站的数据能够根据需求按不同的方式进行浏览显示。浏览程序对用户提供以下功能:
(1)时间选择
(2)原始数据查看
(3)小时平均值:对原始数据经过加权后得到的平均数据
(4)小时均值图:以曲线的方式更直观的显示出每小时的均值数据
9 子站系统维护软件
子站是一个无人值守的封闭式计算机系统。因此,需要能够软件自身的鲁棒性高。系统应该能够在各种恶劣条件自诊断、自恢复。当系统出现紧急故障时,能够发出警告信息,并且能够采取合理方法保护子站安全。出错可能归于两种原因。一种是监测设备的报错,这要求软件的编写能够做更详细的考虑,各种设备的报错均有其所对应的处理方案。另一种出错是子站软件本身的出错。由于程序设计的不小心,可能会使程序进入死循环状态。这要求我们在编写程序的同时,就应该注意编码风格,减少出错的概率。
3.3.4. 系统驱动程序
设备驱动程序是操作系统内核和硬件之间的接口,属内核的一部分,主要功能如下:
(1)对设备初始化或释放。
(2)把数据从内核传送到硬件和从硬件读取数据。
(3)读取应用程序传送给设备的数据和回送应用程序请求的数据。
(4)监测和处理设备出现的异常。
设备驱动程序为应用程序屏蔽了硬件的细节,这在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。
uClinux支持三类的硬件设备:字符设备,块设备和网络设备。每一类设备驱动程序都提供了通用的接口供内核在需要请求它们服务的时候使用。这些通用的接口意味着内核可以完全相同的看待通常是非常不同的设备和它们的设备驱动程序。
在本系统中,主要添加的驱动程序包括:串口驱动,以太网络驱动,DS1286驱动等。
1.串口驱动
嵌入式Linux内核一般不含有串口控制模块,因此,在对其进行串口编程控制前要重新编译内核,加入串口控制模块。具体方法步骤如下:
(1)配置内核
#make config
在配置文字处理设备中选用申口选项;
(2)建造内核
#make dep
#make clean
#make zImage
(3)安装嵌人式系统新内核
把建造的内核zImag。装入嵌入式系统的启动Flash中,重新启动嵌人式系统.新建的内核就可以支持串口控制接口。
2.以太网卡
以太网卡按照网络设备加入。网络驱动程序的体系结构被划分为4层。由上至下依次为协议接口层、网络设备接口层、提供实际功能的设备驱动功能层,以及网络设备和网络媒介层。在设计网络驱动程序时,最主要的工作是完成设备驱动功能层,使其满足特定的功能。
3.存储设备CF卡
CF卡在linux下属于块设备。系统用一个50针的简单插槽,将CF卡的地址线和数据线与CPU直接相连,从而省去了PCMCIA控制器。CF卡的驱动程序主要是改造Linux中原有的IDE程序,不使用中断事务处理方式,让CF卡在Memory模式下进行8位寻址。同时,该系统用一个后台程序来管理CF卡的热插拔事务。
图 3.16 给出了系统中CF卡的驱动程序结构。
文 件 系 统
CF卡 驱 动
I/O控制
设备层:控制器/总线接口
低级驱动
应 用 程 序
诊断程序
图 3.16 CF卡驱动程序结构图
CF卡读写以扇区为单位,每扇区为512字节,每次可读写1个或多个连续的扇区。设计时使用逻辑块寻址方式LBA访问CF卡数据。读写操作时首先指定读写的扇区数和LBA地址,然后往命令寄存器发出读命令(20H)或写命令(30H)等待CF卡就绪后即可通过数据寄存器连续读写数据。
3实时时钟
DS1286 可以认为是一种字符型设备。
D81286包含了64个8位宽的寄存器,其中50个可供用户存储一些需要掉电保护的数据,所有这些寄存器都可以通过外部总线直接访问。通过访问寄存器可以得到时钟、日历等信息,还可以设置定时报警和看门狗定时功能。所有这些寄存器的数据都以BCD码方式保存和读取。它共有64个寄存器分为实时时钟设置寄存器、命令寄存器、看门狗寄存器和用户使用寄存器。
(1) 寄存器0、1、2、4、6、8、9、A,是时间和日期的数据信息。其中的数据用的是BCD码的格式。
(2) 寄存器3、5、7,是时间和日期报警信息。其中的数据用的是BCD码的格式。
(3) 寄存器B,是命令寄存器。其中每位的定义是:TDF日期报警标志位;WAF看门狗报警标志位;TDM日期报警禁止;WDM看门狗报警禁止;PU/LVL是设置中断信号是脉冲还是电平有效;IBH/LO是设定INTB的脉冲是正相还是反相;IPSW是设置INTA用于看门狗中断还是日期报警中断。
(4) 寄存器0、1、2、4、6、8、9、A,是时间和日期的数据信息。其中的数据用的是BCD码的格式。
(5) 寄存器3、5、7,是时间和日期报警信息。其中的数据用的是BCD码的格式。
(6) 寄存器B,是命令寄存器。其中每位的定义是:TDF日期报警标志位;WAF看门狗报警标志位;TDM日期报警禁止;WDM看门狗报警禁止;PU/LVL是设置中断信号是脉冲还是电平有效;IBH/LO是设定INTB的脉冲是正相还是反相;IPSW是设置INTA用于看门狗中断还是日期报警中断。
(7) 寄存器C、D是看门狗寄存器,其中的数据用的是BCD码的格式。
(8) 寄存器E~3F是用户可使用的存储器空间。
DS1286 可以认为是一种字符型设备,在uClinux 系统里通过调用下面这个函数向系统注册字符型设备。
Int register_chrdev(unsigned int major, const char *name,struct
file_operations*fops)
为防止看门狗电路意外复位,系统需要在固定的时间间隔内重置看门狗计数器的值,因此在DS1286系统中就需要用到定时器。在uClinux系统中,时钟是由系统接管的。如果设备驱动程序中需要使用时钟,就需要向系统申请定时器资源。
D81284的加入不但从硬件上保证了系统的可自恢复性,而且扩展了系统的使用背景,可以作为一些无人看管设备且有时间记录要求的嵌入式系统平台。
4 电路原理图
整个系统的电路部分分为核心板和外围板部分,核心板部分主要是ARM7芯片工作的最小系统,ARM MCU与存储器组成,其电路绘制在一块4层板PCB上。外围板部分由实现本系统的相关芯片电路组成,以实现具体功能,有CF卡,GM8125串口扩展芯片,以太网控制器(ENC28J60)、LCD触摸屏接口电路等组成,外围板绘制在一块2层板PCB上。采用这样的设计方法以利于系统扩展其它功能,并提高其通用性。
4.1 核心部分
核心部分具体包括以下部分:
ARM芯片(STR710FZ2T6)及最简外围(供电、时钟,复位等),
外扩SRAM(IS61LV25616AL 256K*16)
外扩FLASH存储器(SST39VF1601 1M*16),
稳压(LM1585),
JTAG调试电路;
3.3V供电采用LM1585稳压,5V输入3.3V输出,并用LED指示供电状态;
系统时钟采用16MHz有源晶振和32768Hz无源晶振;
4.1.1. 核心部分ARM电路
核心部分主要是ARM芯片即简单的外围电路功能,包括3.3伏电源供电,50M时钟电路,芯片掉电复位等功能。STR710FZ2T6的EMI选择控制端即/CS0~/CS3、/WR、/RD,EMI地址线(A1~A24)、EMI数据线(D0~D15)以及40个GPIO引脚都引出来作为与外围器件连接的接口。
ARM芯片有4个bank,控制端为/CS0~/CS3,由于一片SRAM是256×16位,其容量只有512Byte, 而uClinux操作系统大于一片SRAM的容量,故采用两片SRAM,公用一个bank,用逻辑电路实现此功能。/CS0反向后与扩展的一根地址线A19相与,分别接到片SRAM的控制使能端CE上,从而实现SRAM的分时控制,电路如图4.1:
图4.1SRAM地址扩展
说明:/CS0为ARM芯片bank0控制端,/CS0_0接到SRAM0的/CE上,/CS0_1接到SRAM1的/CE上,具体功能见下表:
A19
/CS0
0
1
0
选择SRAM0
0
选择SRAM1
1
高阻
高阻
另外,/CS1选择Flash模块,低电平有效。Flash和两片SRAM的数据总线和地址总线共用,芯片工作与否由相应的控制使能端来实现。Flash和两片SRAM的写使能端口/WR共用,/UB和/LB均连接到SRAM的相应端口上,通过分配/RD、/WR1、/WR2的时序来实现Flash和SRAM的分时读写,具体分配方式如图42:
图4.2
另外,当/CS2为低电平时,控制使能液晶控制模块,/CS2为高电平时,实现CF卡的控制使能,/CS3选择时钟控制芯片DS1286,低电平有效,实现适时显示时钟,将数据和时钟联系起来,在每一时刻采集到的数据后门带上时间戳,作为数据的时间标志,简化了数据管理过程,使实际操作变得比较简单。ARM外围器件均可以独立控制,某一时刻能独占该设备,实现对该设备的读和写。
4.1.2. Flash
Flash 采用SST39VF1601, 20位地址总线和16位数据总线ARM交换数据,FLASH接到EMI的BANK1,通过/CS1片选,16位操作,地址范围为0×6200 0000~0×6210
0000;三位控制使能端,/WD写操作使能端,低电平有效,当为高电平时,禁止写操作,连接ARM 的/WD1 和/WD2相与输出端;/RD读使能控制端,低电平有效,与SRAM共用,当该位为高电平时,禁止读操作,连到ARM的/RD;/CS片选控制端,,接到ARM的/CS1 上,低电平有效,当该位为高电平时,Flash不工作。地址线A[1:20]和数据线D[0:15]接到ARM 的ARM的地址线A[1:20]和数据线D[0:15]上。
Flash容量大,但读写速度慢,用于存储uClinux 操作系统。
4.1.3. SRAM
数据存储器SRAM采用两片的IS61LV25616AL10T,容量为256K×16bits,18根地址总线,16位数据总线,五个控制使能端。SRAM接到EMI的BANK0,通过/CS0片选,16位操作,地址范围为0×6000 0000~0×6008 0000。两片SRAM的片选信号/CS0反向后与扩展地址A19相与共同控制,得到的信号相反,分别控制两片SRAM,读写控制信号/UB、/LB、/WE由ARM芯片读写控制信号经图1所示电路的到。地址总线A[0:17]接到ARM芯片的A[1:18 ]上,I/O[0:15]接到ARM的D[0:15]上,与Flash共用数据总线和地址总线。
4.2 外围部分
核心部分具体包括以下部分:
CF卡(SST48CF096),
以太网控制(ENC28J60)
时钟控制器(DS1286)
串口扩展芯片(GM8125)和电平转换芯片(MAX3232CSE)
JTAG调试电路;
3.3V供电采用LM1585稳压,5V输入3.3V输出,并用LED指示供电状态;
系统时钟采用16MHz有源晶振和32768Hz无源晶振;
4.2.1. Compact Card
CF卡采用SST48CF096,当/CS1为高电平时,CF卡被选中。CF卡工作在Memory方式下,连线较少,只需4位地址线A00~A03,接到ARM的A3~A6,高七位地址线接地A04~A10直接接地,八位数据线D00~D07按顺序连接到ARM的D8~D15,,其它数据线悬空。三位控制端口,片选/CS2、读使能/RD接到ARM的/RD上、写使能/WE接到ARM的/WE1上,均为低电平有效。
4.2.2. 以太网控制芯片
以太网控制芯片采用ENC28J60。ENC28J60工作时需要几个标准的外部器件如脉冲变压器、偏置电阻、储能电容和去耦电容,其中脉冲变压器采用中山汉仁公司的集成以太网隔离变压器RJ45插座HR901170A,连接电路如图:
4.2.3. 时钟控制器
时钟控制器采用DALLS公司的DS1286,它内部集成锂电池和晶振,它有六位地址线和八位数据线,STR71FZ2T6的地址A [6:1]接DS1286的A[5:0];数据D [7:0]接DS1286的DQ[7:0];用bank2接DS1286所以用/CS3做片选信号接DS1286的CE;读信号/RD接DS1286的OE;写信号/WR0接DS1284的/WE;用DS1286的看门狗中断信号INTA使系统复位。中断。INTA、INTB接到ARM的中断控制端口 INT2和INT3 。CLKOUT为时钟输出。
4.2.4. 串口数据传输模块
本系统的核心就是串口数据传输模块,通过串口将采集到的数据传送到子站,由ARM接收数据,并且对数据进行分析和处理,比如加上时间戳,数据分类存储。数据传输流程由串口扩展芯片GM8125,串口电平转换芯片、Max3232CSE以及9针标准串口完成,可见下图:GM8125的 发送子串口选择地址线STAD[0:2]接到ARM的I2ClSCL,I2ClSCL、T1ICAPA,接收子串口选择地址线SRAD[0 :2 ]接到ARM的T1ICAPB、T1OCMPA、T1OCMPB,模式控制端MS连到GPIO1.9上,低电平复位信号/RST接到按键复位键K_RST 上。TXD0、RXD0为母串口,直接与ARM板的TXD0、RXD0相连,另外五个子串口分别接到MAX3232CSE U12、U13、U14的引脚上,扩展五个串口,OSCI和OSCO接25MHz时钟晶振。
5 PCB说明
5.1 简要说明
PCB尺寸:20cm*12cm
PCB板层数:4层
整板供电:5V DC
VCC,GND尽可能采用20mil线宽,整个PCB板的安全间距为6mil
电源部分敷铜
5.2 布局说明
为使布局更加均匀,将5个接大气检测设备的串口布局在PCB的下边沿;另外三个串口布局在PCB左边沿;以太网接口,CF卡,BOOT设置跳线,液晶,触摸屏接口均放在PCB上边沿;晶振,JTAG,5V电源插口放在左边沿;ARM,SRAM,FLASH放置在中间,且尽量使这四块芯片分开,加大布线空间;复位键、三个功能键置于右下方。布局如下图所示:
5.3 布线说明
在布局合理的前提下,可使布线更加得心应手,布线采用自动内布线加手工布线的方法,以使整个PCB布线更为合理,减少错误的发生,不同的层使用不同的走线主向,水平垂直交错。布线结果如下图:
6 总结
6.1 前景价值
我国重点城市已在利用建立的环境空气质量自动监测系统开展环境空气质量日报或预报工作。该系统可以自动监测大气中二氧化硫、氮氧化物和大气中的可吸入颗粒物含量;可以实行全天24小时实时监测,系统所有监测仪器全年昼夜连续自动运行,监测子站无人值守。监测数据用有线或无线方式调回中心控制室,操作人员可在中心控制室对子站监测仪器进行远程设置、远程诊断和远程校准;并能及时调集一天的监测数据传输到新闻媒体,发布空气质量日报。
该系统具有以下优势:
(1)稳定可靠性,系统采用成熟技术降低不稳定性,采用容错技术提高系统的可靠性;
(2)对系统硬件、操作系统、网络、数据库的设计有详尽的故障处理和快速恢复方案。系统适应高温、潮湿、酸雨、多尘等环境和具备防雷击、鼠害和人为破坏的功能;开放易扩展性,系统具有良好的互联、互控及升级能力,遵循国际标准、国家标准和行业标准,遵循开放的原则。提供相关系统设备的技术标准、术语。系统网络结构易于扩充,适应今后的较大任务负载。硬件平台可升级,当需要时可以通过新的计算机设备同原有计算机设备一起工作以提高系统的处理能力,从而保护原有投资。
(3)可维护性,系统维护、系统软件配置、应用软件安装应简单、易于操作,应用软件应可下载使用。操作界面友好,使数据处理工作简单、方便、快捷。业务流程清晰,符合环境监测业务的处理习惯。系统数据备份及数据恢复快速简单。
(4)安全性,有整体的系统安全解决方案,包括用户管理、病毒防范、入侵检测、信息安全、加密等。
(5)数据实时性,无论通过有线或者无线通讯,监测中心和各监测子站总是处于实时在线连接状态,各子站数据在规定的时间内自动传送到达监测中心。
(6) 信息共享,各子站数据在监测中心集中,进行各区域大气质量的比较、汇总,以及向省气象科研所、省监测站和国家环境监测总站快速输出数据,实现信息共享。
6.2 执行计划
十月底看到贵公司举办的2006年首届“ST-EMBEST杯”嵌入式电子设计大赛通知。十一月报名后,我们小组五人决定组队参赛,搜索相关资料,寻找技术新有发展潜力的课题。最终,在十二月上旬,小组成员一致决定做“基于STR710的嵌入式大气质量监测系统”,即在人口比较密集的地区安装环境污染气体检测装备,采集污染气体的含量,通过串口传送到ARM芯片,STR710 ARM芯片担当控制采集和数据处理任务,最后通过ADSL或GPRS(备用)直接将采集到的分类数据发送到中心站,中心站集中存储数据,便于用户分析。
课题选定后,我们小组便分阶段实施,合理安排时间,任务细致具体,每周汇报个人任务完成情况,集中处理遇到的问题,以便及时调整任务进度。任务安排大致如下:
12月4日~12月11日
查阅资料,了解、熟悉项目细节
12月12日~12月19日
明确项目开发流程,确定系统架构,几个环节的实现方法
12月20日12月27日
项目分析,概要设计,包括芯片选型,成本估算
12月28日~1月8日
硬件电路图,PCB图。四层PCB板和二层PCB母板
1月9日~1月16日
开始写第一阶段项目设计报告,以及竞赛报告
1月17日~1月22日
完善第一阶段任务,查缺补漏
1月23日~1月26日
第一阶段总结,第二阶段计划表,
1月27日~2月28日
寒假,查阅相关资料,准备进一步详细设计
3月1日~3月13日
电路仿真分析和搭建硬件电路,软件结构模式
3月7日~3月27日
编写软件,逐个模块调试,建立友好的液晶屏显示界面
3月28日~4月12日
综合程序编写,系统整体调试
4月3日~4月20日
写项目设计报告 ,竞赛报告
4月12日~4月23日
实地验证,记录试验数据,进一步分析和调试,分析可能出现的问题
确定解决方案
4月20日~4月26日
报告鉴定,集中评估,完善内容
4月24日~4月29日
总结阶段成果,报告验收
6.3 结束语
随着社会的发展,环境污染日趋严重,环境污染所带来的负面效应不仅影响动植物生存和繁殖,而且环境污染造成的无形损失对社会经济发展制约将体现得越来越明显,人们的身体健康也受到威胁,环保意识逐渐加强。加大环保力度,实时监测环境质量,切实保护人类赖以生存环境,已经成为社会发展的必然趋势。以武汉为例,环境污染比较严重,主要以粉尘,SO2等污染气体为主,应用这个系统后,能随时采集污染物含量,及时预报环境质量指标,继为环保部门工作质量评估提供了标准,又使人们自动调整外出时间,趋利避害。
基于STR71X的城市空气质量自动监测通用平台实现了对大气的自动监测与控制,该监测平台能及时调集监测数据传输到控制中心,发布空气质量日报,响应中心站的控制命令,且成本较低,易于升级,便于推广应用,在污染比较严重的大中城市应用前景好,能为环保部门采取有效措施保护环境提供依据,对环境质量的改善大有好处。
7 参考文献
[1]李国刚.环境自动监测技术与设备的发展动态(上),中国环境监测,2001.3
[2]王建民,魏红明编写.自动化监测室数据报告管理办法
[3]欧隆利.关于建立大气自动监测系统的几点建议,环境与开发,1999.4
[4]杨天媛,魏红明.武汉市2005年三季度空气质量分析,武汉建设,2005.4
[5]李肇庆,《串行端口技术》,北京 : 国防工业出版社, 2004
[6]张凤琴等.《数据库原理及应用》,北京 : 清华大学出版社, 2005
[7]文志成.《GPRS网络技术》,北京 : 电子工业出版社, 2005
[8]张瀚峰.《ADSL与宽带网络技术》,北京 : 北京航空航天大学出版社, 2002
[9]程臻,邱华,盛翊智.uClinux下的DS1286设备驱动程序发.Microcontrollers & Embedded Systems.2004.3
[10]王三武,张红涛.CF卡在大容量数据采集中的应用.微机与应用,2004
北京玉笛信息技术有限责任公司
地址:北京海淀区知春路23号量子银座903(863软件园)
淘网址:http://shop35321900.taobao.com