基于ARM处理器S3C2440的无纸记录仪的设计

2012-07-12 07:05江苏省淮安生物工程高等职业学校陈友明
电子世界 2012年10期
关键词:记录仪内核串口

江苏省淮安生物工程高等职业学校 陈友明

1.概述

随着电子技术及工业自动化的快速发展,无纸记录仪的发展也应运而生,对于以往的操作单一、存储容量小、实时性差及精度不高的记录仪,已不能满足当今企业的发展需求。嵌入式ARM处理器具有强大的硬件接口,大容量存储以及处理速度快等特点,为无纸记录仪的发展带来了无限的发展空间。

无纸记录仪摒弃了传统有纸记录仪中使用的记录笔和记录纸,提高了记录仪本身的质量,增强了记录仪的稳定性和可靠性,更重要的是降低了记录仪的运行成本。无纸记录仪是将工业现场的各种需要监视记录的输入信号,比如流量计的流量信号、压力变送器的压力信号、热电阻和热电偶的温度信号等,通过高性能32位ARM微处理器进行数据处理,一方面在大屏幕液晶显示屏幕上以多种形式的画面显示出来,另一方面把这些监察信号的数据存放在本机内的大容量存储芯片内,以便在记录仪上直接进行数据和图形查询、翻阅和打印。无纸记录仪主要应用场合为:冶金、石油、化工、建材、造纸、食品、制药、热处理和水处理等各种工业现场。

2.无纸记录仪的系统结构

目前ARM嵌入式芯片以它的功能强大,处理速度快及可移植操作系统统等功能特点受到了广泛关注。以ARM作为记录仪的核心控制器,将为无纸记录仪的发展提供了一个更高的平台。

Samsung S3C2440是一款轻量级微处理器,价格便宜、内部资源丰富。基本参数:ARM920T内核,400M主频,最高可达到533M,支持NAND FLASH、NORFLASH、SDRAM、支持STN/TFT LCD、4通道DMA、3通道UART、2通道SPI、IIC总线、IIS/AC97音频控制器、SD/MMC控制器、2通道USB HOST 1通道USB DEVICE、4通道PWM、8通道A/D转换、触摸屏控制器、RTC、CMOS摄像头、多功能I/O及多种电源管理。

系统框图如图1所示。

3.嵌入式Linux系统及用户界面设计

在众多嵌入式操作系统中,Linux目前发展最快、应用最为广泛。性能优良、源码开放的Linux具有体积小、内核可裁减、网络功能完善、可移植性强等诸多优点,非常适合作为嵌入式操作系统。一个最基本的Linux操作系统应该包括:引导程序、内核与根文件系统三部分。

图1 系统结构框图

图2 RS-485总线通讯结构图

Linux对S3C2440处理器支持得相当好,操作系统内核和应用程序都是开放源码的。因此,Linux可以完全按照自己的需要裁减配置系统,使得尺寸更小,而且Linux操作系统性能比Windows操作系统性能更优越。另外,可以避免支付Windows产品的版税。S3C2440在Linux社区有庞大的用户群,可以获取丰富的开发调试信息。我们选择Linux作为记录仪的操作系统。

由于图形界面要求并不复杂,可以选择Qt/Embeded图形系统。Qt/Embeded是面向嵌入式系统的Qt版本,是Qt的嵌入式Linux窗口,是完整的自包含C++ GUI和基于Linux的嵌入式品台开发工具。Qt/Embeded API可用于多种开发项目。许多基于Qt的X Window程序可以非常方便地移植到嵌入式版本。

Qt/Embedded的底层图形引擎基于framebuffer。framebuffer是一种驱动程序接口,它将显示设备抽象为帧缓冲区。该驱动程序的设备文件一般是/dev/fb0、/dev/fb1等。对用户而言,它和/dev下的其他设备没有什么区别,用户可以把framebuffer看成一块内存,既可以从这块内存中读取数据,也可以向其中写入数据,而写操作立即反应在屏幕上。为运行Qt/Embedded,嵌入式Linux内核要支持framebuffer。

Qt/Embedded是Qt的面向嵌入式应用的简化版本,它包括一组完备的GUI类、操作系统封装、数据结构类、功能类和组合类。大部分Qt的应用程序可以经过简单的编译与重设窗口大小移植到Qt/Embedded。

4.Linux环境下RS485通讯设计

RS485总线通讯结构如图2所示,主站是一台主机,从站是多台智能仪表。从站通讯端口为RS-485物理协议,每台仪表分配唯一的地址,通讯总线接至控制室后经232/485适配器转换为RS-232物理接口接入主。

在Linux环境下,串口等终端设备都被当做文件来看待,串口文件名为ttys0,后面是ttys1、ttys2等,在Linux中,打开串口设备和打开普通文件一样,使用的是open()系统调用;fd=open(“/dev/ttys0”,O_RDWR | O_NOCTTY | O_NONBLOCK);该函数打开串口COM1,并返回一个整型值的串口文件描述符fd。函数的第二个参数用来说明此函数的多个选型,它是定义在<fcntl.H>头文件中的一个或多个常量的或运算:O_RDONLY只读打开、O_WRONLY只写打开、O_RDWR读写打开,这三个常量必须指定一个且只能指定一个。

5.Linux环境下Qt串口通信编程

6.结束语

本文较全面地描述了基于ARM的无纸记录仪的设计思路,系统地阐述了无纸记录仪的硬件和软件设计。随着嵌入式系统的发展和嵌入式ARM芯片在工业现场仪表上的不断应用,功能更强大的新型工业智能仪表将不断涌现。

[1]周立功.ARM嵌入式系统基础教程(第二版)[M].北京:北京航空航天大学出版社,2008.

[2]孙琼.嵌入式Linux应用程序开发详解[M].

[3]杨兆光.基于ARM的无纸记录仪系统设计[J].微型计算机信息,2005.

猜你喜欢
记录仪内核串口
强化『高新』内核 打造农业『硅谷』
浅谈AB PLC串口跟RFID传感器的通讯应用
做梦记录仪
基于GPS的便携式汽车行驶记录仪的研制
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
汽车记录仪保险丝搭接转换装置及其模具设计
微生物内核 生态型农资
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索