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