基于uClinux的嵌入式多功能信息交互终端
扫描二维码
随时随地手机看文章
信息交互终端是一种以信息交流为主要目的,为个性化用户提供信息处理、存储和查询等功能的嵌入式设备。与个人电脑机相比,该设备结构简单、功能专一、操作简单。目前,信息交互终端主要应用于银行、移动通信和视频会议等领域。
1) 银行金融终端。银行金融终端是一种以通过网络进行金融交易为主要功能的低端设备,能24 小时为客户提供服务,即客户能够随时通过该终端实现存取款、转帐、查询等操作。目前该类型终端已经走入我国的大中型城市,但其应用功能较少。
2) 移动通信终端。移动通信终端主要以手机和掌上电脑( PDA) 为主要代表。其中手机以语音传输为主,兼有收发短消息、WAP (无线应用协议) 上网的功能;PDA 具有个人数据管理、网络通讯等功能,并且携带方便,但价格较高。
3) 视频会议终端。视频会议终端以视频通讯作为一种有效的多媒体通讯方式,已经成为个人内容服务和企业内容服务的主要信息交流工具,但目前还处于初级阶段。
总之,信息交互终端正在全球蓬勃发展,并成为人们生活和工作中不可缺少的信息交流工具,但由于它们应用功能少、性价比低,造成其在信息家电等领域得不到广泛应用。目前,多种功能一体化和应用于不同领域已成为信息交互终端的研究重点。其一,具有单一功能的信息交互只能满足客户的部分需求,不能满足客户对产品多功能合一的需求,因此在信息交互终端具备专一性的基础上,多功能一体化已成为信息交互终端产品的一个主要发展方向。其二,为了满足不同的功能需求,还要求信息交互终端具有很强的可定制性,便于用户或开发人员对其个性化定制,使其能在银行金融等之外的领域得到应用。因此很有必要研究具有多种功能、信息交流强和可靠性高的信息交互终端。
多功能信息交互终端
作者针对传统信息交互终端的不足,提出了MIIT ( multifunctional information - interactive terminalbased on uClinux) ,基于uClinux (micro cont rol linux 微控制操作系统) 的嵌入式多功能信息交互终端的产品概念。MIIT 是一种能够以多种方式进行信息交流,并具有满足多种应用需求的多种功能(如串口通讯、有线/ 无线网络通讯、语音传输等) ,应用于信息家电、移动通讯、工业控制、甚至军事等领域的嵌入式设备。它具有:可靠的嵌入式uClinux 操作系统;多种功能一体化;可个性化定制,信息交流强等优点。
MIIT 的软硬件结构
MIIT 的硬件结构
MIIT 的硬件系统主要包括微处理器、存储器、外部设备,其硬件结构如图1 所示。
EMPU (嵌入式微处理器) 是整个终端系统的核心,它主要由运算器和控制逻辑构成,通过控制总线、地址总线控制外部设备和存储器之间、存储器和存储器之间、外部设备和外部设备之间的信息传输。选择时装配EMPU 的电路板上必须包括SDRAM(同步动态随机存储器) 、总线接口、各种外设接口等器件。存储器主要是用来存储数据,选择时要考虑存储数据大小,这里选用4M 的FLASH ROM (闪存) 和16M 的SDRAM。外部设备(输入设备和输出设备) 是MIIT与用户及其它设备之间通讯的桥梁。其中输入设备(如键盘) 将外来的数据传输给MIIT ,输出设备(如微型打印机) 将MIIT 处理结果显示或传递给其它设备。
MIIT 软件系统结构
嵌入式软件系统主要包括嵌入式操作系统、驱动程序、应用程序3 部分,其结构如图2 所示。嵌入式操作系统是将MPU 时间、中断、I/ O、定时器等资源包装起来,留给用户一个API 接口的系统。它主要负责进程管理;系统时钟管理;进程间通信管理和系统中断管理。MIIT 的操作系统采用嵌入式uClinux ,它是一个以Linux 为内核的嵌入式操作系统,具有Linux 大部分优点,适用于工控领域。驱动程序作为操作系统内核与机器硬件之间的接口,对上层来说它只是调用HAL (硬件抽象层) 提供的功能,对下层来说负责对外围设备的控制、管理和读写操作。
应用程序由C 语言编写的多种功能的程序构成,它是系统应用功能的具体体现,其内部各函数之间采用函数调用的方式进行连接。嵌入式操作系统、驱动程序、应用程序这三者之间,嵌入式uClinux 是整个软件系统的枢纽,它采用系统调用的工作模式,通过文件系统、进程管理等与各种硬件驱动程序(如图形驱动、FLASH(闪存) 驱动、串口驱动以及打印驱动等) 进行数据交换,通过API (application interface) 与应用程序进行数据交换。
MIIT 的关键实现技
[!--empirenews.page--]
键盘的实现
键盘的实现有两种方案—采用I/ O (输入/ 输出)口或SPI(serial peripheral interface) 口。使用I/ O 口传输速度较快,但占用引脚较多,实现16 个按键的矩阵式键盘需要9 个引脚(4 个输入、4 个输出和1 个中断请求) ; 用SPI 接口传输速度较慢,但只需要IN、OU T、CL K、CS0 、CLR 五个引脚。在主频为66MHz的MCF5272 (Motorola 摩托罗拉) 之上,采用SPI 口基本满足键盘传输速度的要求。
MIIT 键盘硬件电路通过两片74LS164 级联实现16 个按键。其中,164 的输入引脚A 要与B 相连,再接QSPI 的引脚。另外,键盘电路工作时必须将164的CLR 引脚设置为低电平(低电平有效) 。
实现MIIT 键盘的SPI 口工作在主模式下。SPI口数据发送操作是通过向command RAM(命令) 中写数据触发的,经过8 位时钟周期完成1 个字节的发送。键盘扫描码作为输入数据保留在transmit RAM (传输) 中,数据发送完毕后QIR(interrupt register) 自动置位,产生中断。键盘扫描程序检测到该中断信息后,读取Receive RAM(接收) 中的数据,而该数据就是t ransmit RAM 中的键盘扫描码通过键盘电路处理后得到的键盘检测值,软件系统对该检测值进行处理后得到键盘相应按键值。
基于uCLinux 的串口数据采集
基于uCLinux 的和停止位的设置) 、串口write 和read (读写) 、串口close (关闭) 等内容。数据采集程序实现上与windows操作系统下的串口通讯不一样,其中有三点值得特别注意:
1) MIIT 只是通过串口传输数据,不需通过串口模拟终端通信,所以MIIT 串口采用了Raw Mode (原始模式) 方式。设置方式如下:
options. c-lflag & = ~ ( ICANON | ECHO | ECHOE | ISIG) ( Input) ;
options. c-oflag & = ~OPOST(Output) ;
2) 在设置串口时,发送方和接收方的波特率、效验位和停止位要相同,否则双方将不能通讯;
3) 为了防止所采集的数据出现乱码,需要把串口控制字符集control characters 中的VTIME 和VMIN设置为0 和1 。0 表示打开串口后随时接收数据;1 被当做逾时设定值为一字元。
特定应用程序的实现
应用程序主要包括系统设置、基础数据、采集数据、网络通讯和打印等。应用程序采用单任务的控制方式,软件系统接到按键事件后执行相关操作,如网络通讯、打印等。例如,MIIT 在接到自动数据采集的按键命令后,执行采集任务,然后将采集的数据交与数据库处理,完成后等待新的按键事件。
结 论
采用性能可靠嵌入式uClinux 操作系统作为MIIT 的操作系统,无疑确保了程序的可靠性、简化了多功能信息交互软件实现的复杂程度。在MIIT 系统上关键技术的实现,解决了MIIT 中的键盘输入、基于Linux 串口数据采集、特定应用程序等问题,为MIIT能够在信息家电、工业控制等领域得到应用和发展奠定了一定的理论和实践基础。