陈相德,谭哲文,陈观寿
(广东顺畅科技有限公司,广东 江门 529000)
针对传统无线数据终端,多采用单片机配合无线收发模块的结构,不仅数据处理能力较为薄弱,同时通信能力及协议通用性也相对较差。数据处理终端是集数据采集、传输、存储、显示、控制为一体的综合性处理技术,其由以ARM为代表的嵌入式Linux平台支撑,能够使数据处理系统表现出较强的兼容性、稳定性、实时性特性,且降低了通信系统的开发成本,能够最大化满足用户的个性化数据处理需求。
ARM集成开发环境由ARM公司开发,该公司是32位嵌入式RISC技术的领导者,其借助RISC架构搭建ARM处理器,能够使处理器呈现出体积小、成本低等优势,且大量使用寄存器,显著提高了指令的执行速度。同时,系统支持Thumb或ARM指令集,能够兼容C、C++、ARM汇编语言等多种编译程序代码,可在配合第三方工具及软件支持的基础上提高产品的竞争力,从而满足嵌入式开发的具体需求。
对于硬件角度,嵌入式系统以嵌入式处理器作为系统设计基础,而根据嵌入式处理器的功能与用途,常见嵌入式处理器包括嵌入式微控制器、嵌入式微处理器、嵌入式数字信号处理器以及片上系统等,目前,多核心处理器是嵌入式处理器的主要发展趋势,针对外围硬件设备,其主要涉及各类传感器、电子构件和机械部件,依托GPIO接口、LCD接口或总线接口与嵌入式处理器进行连接,从而达到对于数据的存储管理与通信,满足用户的数据控制要求;另外,对于软件角度,嵌入式系统的核心在于嵌入式操作系统,其涉及多个硬件接口、应用程序及文件系统,能够运行于不同类型的微处理器上,具有较强的兼容性、移植性和通用性,同时,在嵌入式操作系统支持下,可实现文件管理、任务管理、网络控制等功能,且包含大量的应用程序接口,能够在支持应用程序开发的基础上给予用户足够的技术支撑[1]。
触摸屏具有反应速度快、便于交流等优势,能够根据用户的触点接收触摸信息,并将其转换为触点坐标,提供给CPU处理,从而实现人机交互,对此,以七寸LCD四线电阻式触摸屏和LCD显示屏为依托进行本系统开发;对于图形用户交互引擎,其相较于传统CUI系统具有更强的稳定性、可靠性和可移植性,能够满足嵌入式系统硬件资源有限的需求。
以SD卡作为硬件支撑,其具有价格便宜、存储性能高、使用方便、开发设计简单等优势。而在软件层面,借助SQLite数据库进行数据存储、检索和管理,其利用C语言编写,主要服务于嵌入式设备,具有ACID操作、API、符合SQL92标准、存储性能好、存储速度快、独立性、兼容性等特性,是最为优秀的嵌入式数据库之一。
构建基于GPRS的无线透明传输,其通过于GSM数字移动通信网络中引用分组交换功能实体,能够实现对于传输数据的分组管理,具有水资源利用有效、覆盖面广、接入时间短、传输速率高等优势。同时,对于本系统开发过程,借助RS232接口就嵌入式硬件平台与GPRS模块进行连接,依托AI命令管理GPRS模块,从而实现数据在TCP/TP通道上的传输[2]。
采用Micro2440核心板作为本系统的系统板,涉及S3C2440 芯片、2MNOR Flash 存储器单元、32 位64MSDRAM内存单元以及12Mhz无源晶振,能够提高内核配置及相关驱动的开发效率,缩短开发周期。同时,核心板依托PA、PB、PC三组排针接口实现与底板的接口通信,而在监控终端底板设计过程中,需就UART、USB、网卡等部分引脚与电路进行对接,从而支撑核心板的正常运行。
采用LM2576作为电源芯片进行电源设计,其作为一种3A电流输出降压开关型稳压集成芯片,具有完善的保护电路,能够确保稳压电源的运行稳定性和高效性。需注意的是,电源电路中涉及对于电感电容的使用,其能够有效确保电路稳定,并规避电磁干扰问题[3]。同时,本系统涉及两种运行电压,即3.3v和1.8v,其均借助LM1117降压芯片获取,能够满足电源电路的运行需求。本系统电源电路设计如图1。
图1 电源电路设计示意图
采用UART通用异步接收/发送装置实现串行数据传输。针对数据发送过程,由CPU就并行数据进行处理,写入UART,通过格式处理后于TxD线上串行发出;此外,针对数据接收过程,由UART监测信号,收集串行数据,存储至缓冲区内,通过CPU读取UART采集并行数据。其中,UART使用标准TTL/COMS逻辑电平,且为提高数据采集稳定性、提升数据传输效率,一般可将TTL/CMOS逻辑电平转化为RS-232逻辑电平,即将3V至12V表示为0,–3V至–12V表示为1。
主要设计网卡芯片与S3C2440核心板、以太网水晶接头RJ-45的连接问题,采用DM9000 10/100M以太网卡控制芯片作为网卡芯片,其借助数据线、地址线、控制线实现与S3C2440的通信连接。同时,作为16位芯片,DM9000应用16位数据总线LDATA实现数据控制,可在DM9000读写过程中,通常需使用AEN引脚、CMD引脚和25MHz的晶振。涉及对于隔离芯片的使用,其能够连接以太网水晶接头RJ-45和网卡芯片,具备波形修复、信号传输等功能,能够保障系统的运行安全性,控制系统的共模干扰问题,提升系统的数据传输性能[4]。
嵌入式设备的USB接口包含USB Slave和USB host两种,前者将嵌入式设备作为USB从设备,后者将嵌入式设备作为USB主设备。其中,考虑到本设计的功能需求,需借助USB host接口实现接口设计,其能够支持U盘、USB鼠标、USB摄像头等USB设备的连接,有助于确保系统的兼容性。
SD卡接口电路包含数据线、时钟线、命令/数据选择线、片监测引脚以及写保护引脚,而由于Linux平台自带支持S3C2440芯片的SD卡驱动,使得只需要在初始化代码中加入SD平台设备结构即可。
在LCD驱动方面,其设计关键在于时钟频率的设置,而当设置出现问题时,一般会导致频闪、色调失真或无显示现象,因此,本设计采用33.3Mhz作为LCD频率。考虑到电磁噪声对于触摸屏性能的影响,在触摸屏设计完成后,对触摸屏存在的不准确、有抖动问题进行校准。其中,通常采用Tslib程序实现滤波、去抖、校准等功能。
应以电路原理图为依据,在充分考虑外部连接布局及内部电子元件构造的基础上进行印制电路板的版图设计。同时,在设计过程中,应重点考量电磁保护、热耗散、通孔布局等因素。
首先,对于基本开发环境,采用Ubuntu10.04LTS桌面版进行嵌入式开发,并配置Wubi安装方式,能够在不破坏Windows分区的前提下将Ubuntu操作系统安装至Windows操作系统中,而由于Ubuntu操作系统缺乏专业的软件开发工具,需在嵌入式软件开发之前安装语法、词法分析器及函数库等工具;其次,对于嵌入式软件的开发模式,由于嵌入式硬件平台资源相对有限,故不能直接在嵌入式平台上开发嵌入式软件,因此采用交叉开发模式对嵌入式软件进行开发,即先在通用计算机上编写程序再利用交叉编译工具进行交叉编译,从而形成二进制代码格式,满足嵌入式平台的软件运行需求;最后, 在ARM嵌入式系统开发过程中,采用ARM调试器作为代码调试工具,涉及集成开发环境、交叉编译工具链、守护进程和JTAG接口板。
Linux内核移植具有较强的综合性和复杂性,一般包括进程管理、内存管理、文件系统、设备控制、网络接口等内容。而在内核修改中,考虑到本设计所用核心板Micro 2440的硬件电路与S3C2440芯片的硬件电路完全一致,因此只需要根据具体应用调整平台与SMDK 2440间的差距即可。
在ARM嵌入式Linux系统及相关应用程序运行过程中,根文件系统是最基础的运行环境,而在以往系统设计中,需采用不同版本的根文件系统以满足系统设计要求,设计流程相对繁杂。对此,可借助Shell脚本简化根文件系统设计过程。首先,对于根文件系统目录结构的搭建,为提高用户文件搜索效率,按照FHS标准搭建根文件系统目录结构,其不仅规定了文件系统中目录、文件的分类储存标准,同时也定义了最小文件和目录集合;其次,系统搭配不同的Busybox版本,能够满足不同根文件系统的设计需求,而在具体根文件系统搭建时,Busybox的命令集合并非全部使用,而是可通过配置命令选择功能以满足具体的系统需求[5]。
通信系统由IEC61850协议支持,即所述IEC61850协议设备与所述通信电源监控终端的以太网接口电性连接,从而构成集通信电源、通信电源监控终端为一体的通信体系,实现系统的数据通信功能。
综上,提出一种基于ARM的嵌入式Linux数据处理监控终端,通过总体设计、硬件设计、软件设计和通信设计,达成预期设计目标,能够为用户提供交互式的数据支持,满足用户的个性化数据需求。