应用背景
随着我国经济社会的发展,对水文信息不断提出新要求,水文观测项目和内容不断增加。在水文监测系统中,常常需要对众多的水位点进行监测,大部分监测数据需要实时存储,后端服务器进行处理。由于监测点分散,分布范围广,而且大多设置在环境较恶劣的地区。通过便携式RS232/485数据存储系统进行数据存储,成为水文部门选择的通信手段之一。污染源监测设备可将采集到的污染数据实时存储在SD/TF卡中,方便随时提取送到水文监测部门,实现对排污单位或个人的及时管理,可以大大提高水文部门的工作效率。
方案介绍
系统构成及基本工作原理
随着高性能嵌入式微处理器价格的逐渐降低以及SD/TF卡存储容量的不断提高,采用以高性能32位工业级ARM微处理器为系统核心结合CPLD时序控制,嵌入FAT32文件系统,通过大容量存储卡以及USB数据拷贝功能,实现高性能、低功耗、低成本、小体积的海量数据存储及拷贝,具有无可比拟的优势。
图1为便携式RS232/485数据存储系统的基本结构:
在该系统中,高性能32位工业级ARM微处理器和大容量内存卡为系统核心,随着科技技术的不断发展,目前已经很容易在市场上买到几十G的SD/TF卡,可以实现大容量的存储系统。
为实现系统高可靠性、高效率的工作,必须采用基于ARM架构的高性能32位嵌入式微处理器作为系统的管理核心,通过与高效的嵌入式操作系统相结合,采用独特的动态内存分配算法,以此管理文件系统对内存的消耗和释放,提高数据的传输效率,避免数据丢失,实现实时数据的可靠存储。
SD/TF卡与ARM接口软件设计:
a首先初始化SD/TF卡、检查状态、扇区读写等基本操作。文件系统层按照PC文件系统要求设计,如FAT表、文件目录表等兼容PC机的文件管理系统,从而能够大大简化后端数据的分析和处理。文件操作层包括文件的建立、读写、删除等。
b 当检测到有串口数据,系统自动在SD/TF卡上创建一个事先定义好的文件夹,目录下生成一个存储数据文件,进行实时数据存储。文件夹名称可通过配置软件自定义命名,例如2011年的数据,文件夹名称可以定义为20111001;数据存储文件为.TXT文件,系统自动创建,自动编号,不重复覆盖,便于文件管理。
c由于数据采集系统的限制和具体环境的要求,便携式RS232/485数据存储必需适合长期无人值守、速度快、通用性好。为了能够长期进行数据存储除了采用更大容量的SD/TF卡外,如果几G甚至几十G的数据同时存储在同一个文件中,这样大量的数据后端分析和处理必定会给我们造成巨大的麻烦,因此要求便携式数据存储的FAT32文件系统的处理更加完善、更加智能化。这就需要探索一种更好的文件管理方式,经过多次的实验与尝试,采用定时创建数据存储文件进行存储,有利于对数据进行更有效的管理,更好的分析处理。例如:假定用户通过配置软件设置间隔24个小时即一天(根据用户设备具体的存储数据量大小情况决定时间)创建一个数据储存文件,那么N天后,文件夹20111001下将自动创建有N个TXT文件分别为0001.TXT、0002.TXT……N.TXT,各个时段的数据将完整的保存在相对应的文件中,不丢失任何字节。
d在一些特定应用场合,并不需要对数据进行实时处理和显示,只是记录下原始数据,将其作为一个“黑匣子”,为后端处理做准备。这就需要SD/TF卡可以循环使用,当数据量达到已设定的存储卡容量后,自动覆盖原有的存储文件。
f以往的大容量数据储存系统只具有被动的接收数据进行保存功能,然而随着技术的不断更新,已经远远不能满足现有数据采集设备的需求;更多的用户设备,需要由数据储存系统处于主机状态,主动发送握手信号,用户设备接收到信号后被动反馈信息,然后由数据储存系统存储数据。串行通信接口由用户来控制,用户可以设置10多条不同的“轮询”指令,和间隔时间。系统在主程序中初始化,采用串行口工作方式由系统主机向数据设备进行呼叫,定期读取数据或者写入数据,其程序流程图如下:
硬件接口设计:
a 提供RS232/485接口,支持2400~115200宽范围波特率。串口全透明数据传输,无需传输协议,透明保存用户的数据,100%可靠存储,支持高达14K 字节/秒的数据储存能力。
b具有USB拷贝数据功能,U盘式管理,高速USB2.0接口; USB自动识别,无需安装驱动.
耐震动设计:
无论是在存储管道在线检测数据,还是无人航载信息黑匣子都需要数据存储设备具有一定强度的耐震动能力,对此硬件设计上采用自锁式卡座,内嵌存储卡,具有防震功能;避免由于意外使存储卡与卡座接触不良,而造成数据无法储存。
蜂鸣器报警功能:
对于重要数据,丢失数据给我们带来的损失是惨痛的,系统软件设计了系统出错报警。系统上电后,首先对SD/TF卡进行初始化,初始化成功蜂鸣器响一下,说明系统运行正常;蜂鸣器长响为出错报警。
典型应用
总结:
嵌入式操作系统在系统中具有至关重要的作用,依托高性能嵌入式操作系统的强大功能,该方案实现了各种常用文件系统的支持,便于数据的迁移,同时,嵌入式操作系统还实现了存储介质的自动管理、自动纠错、疲劳算法等,保证了存储数据的高可靠性。