基于嵌入式系统的银行评价器设计方案
扫描二维码
随时随地手机看文章
早期出现的银行评价器多以简单的数码管显示数字兼伴随简单的几个语句来实现一次客户的评价过程,方式过于简单,而且每个评价器之间相互独立,无法实现资源共享,这就给整个银行窗口服务系统带来了很多不便。后面又逐渐引入了单片机这样的微处理器,仍会有些功能单一,直到嵌入式系统的出现,采用以嵌入式系统为基础来开发的银行评价器,大大改观了它以前单一的功能。
这里提出一种基于S3C2440A和XL95144XL开发的银行评价器的设计方案。
1 ARM9简介
ARM微处理器是一款高性能、低功耗的32位微处器,它被广泛应用于嵌入式系统中。ARM9代表了ARM公司的主流处理器,已经在电子、电气、通信、国防等行业有了广泛的应用。其中,以三星ARM9嵌入式处理器S3C2410、S3C2440为基础所研发的嵌入式开发平台表现极为出色,而且 S3C2410、S3C2440嵌入式系统提供很多开放型软件,不做任何技术保留,可以说这两款是国内目前开放嵌入式产品中用得非常广泛的嵌入式微处理。
2 银行评价器硬件设计
一个银行评价器最基本的功能就是:客户前来办理业务——柜员按“开始”按钮——语音问候“欢迎光临”——客户办理业务完毕——柜员按“结束”按钮——语音提示“您好,请对我的服务进行评价”——客户按键进行评价。当然伴随着嵌入式的发展,一个银行评价器不仅仅在声音上给客户留下好感觉,同样也开始讲究视觉效果,同时还可以根据每个银行各自的需要增加其他的功能。下面就是本文设计的一款ARM9银行评价器,硬件部分的结构框图如图1所示。
2.1 嵌入式最小系统
该部分的电路是以ARM9微处理器为核心,外围增加相应的存储器,能够实现嵌入式操作系统的基本运行。选用S3C2440A微处理器作为CPU处理器,K9F1208 NAND flash芯片为扩展EPROM存储器,2片HY57V561620作为扩展的SDRAM,1片XL95144XL型号的CPLD与CPU配合使用。另外再设置2路晶振电路,一路晶振为16.934 4 MHz,并在CPU里经过分频,用来给CPU提供工作频率;另外一路为32.768 kHz,给S3C2440的REAL TIME CLOCK提供工作频率。
嵌入式最小系统电路这部分最核心的元件就是S3C2440A和XL95144XL。
S3C2440A是三星公司推出的16/32位RISC微处理器,最高可以工作在400 MHz的工作频率下。它采用了ARM920T的内核,功耗低,使用简单,内部具有系统管理器、NAND启动引导、CACHE存储器等,提供了60个中断源,154个通用I/O端口、液晶屏/触摸屏接口以及其他相关的数据通信口等。
其次比较重要的元件就是XILINX公司的XL95144XL。XL95144XL是一款高性能低功耗的3.3 V工作型CPLD。在很多的嵌入式系统中,CRLD是必不可少的一部分,它可以起到一些协调控制和分配处理的作用。CPLD硬件电路是由很多不同功能块组成,软件部分通常用VHDL或Verilog HDL编程语言实现。
2.2 电源电路
电源电路主要给各部分硬件电路提供各自所需的工作电压。S3C2440A微处理有2个工作电压3.3V和1.3V,而液晶屏的工作电压为13.6V左右,如果不提供一个可靠的工作电压,就无法保证产品的工作性能。所以在这部分,采用两套电压供电的方式,一个是直接通过1个5V直流电源直接提供工作电压,第 2个是采用了网络供电方式,这个方式就是通过互联网方式,由直流输出的MODEM通过互联网口插头供电给电路,这个电压通常是48 V直流信号,因此要通过1个电源模块进行转换成为5 V直流电压,同时采用了,TI公司的一款电源处理器TPS6515 0转换得到13.6 V的液晶屏工作电压。
图2是5 V直流电压转换为3.3 V的电路,图3是3.3 V转换为1.3 V的电路。
2.3 液晶显示电路和触摸屏电路
本文中介绍的银行评价器采用了液晶屏动态显示数据信息和画面,相比于以往的数码管单一显示数字的方式而言,大大提高了视觉效果。
液晶屏选用TRULY公司的一款两路背光13.6 V供电的TFT液晶屏,该液晶屏融合了图像显示和触摸屏的功能。液晶屏显示电路主要是要提供给液晶屏合适的工作电压,该液晶屏需要多路电压共同供电,其中就要提供VGH、VGL、VCOM电压实现背光以及液晶屏显示电源等。
触摸屏电路部分较为简单,只有1个4针接口,通过该接口把触摸位置的X、Y坐标值通过电信号的方式传输给S3C2440A进行处理,然后在显示屏上把该触摸点位置显示出来,或执行相应的功能。图4为触摸屏接口电路。
银行评价器中,音频电路是必不可少的一部分。声音音质的好坏也是判断评价器质量优劣的一个指标。设计一个音频电路要主要考虑的一点就是该音频电路的功率问题。根据客户的要求,设定该电路的最大功放功率为0.7 W。选用UDA1341这款音频功放,它的驱动能力比较强,在持续供电的情况下,可以不加其他的功放直接驱动耳机,音质较好,没有杂音现象。除此之外,音频电路还提供了喇叭外放功能。音频电路部分的电路图如图5所示。
3 银行评价器软件设计
银行评价器的软件开发,主要涉及两大部分的软件编程:一是嵌入式操作系统的开发和移植;二是部分应用软件的开发和测试。
3.1 嵌入式操作系统Linux开发
嵌入式操作系统一直就是嵌入式系统的标志,而且它本身具有体积小、实时性强、开发环境好等特点,因此在很多的电子产品中越来越受到大家的青睐。目前市场上常见的嵌入式操作系统有很多种,μCOS-II、Linux、μClinux、WinCE这些都是广泛应用的嵌入式系统。本文采用常见的Linux系统。
Linux是个与生俱来的网络操作系统,成熟而且稳定。Linux是源代码开放软件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核目前已经可以做得很小。
Linux嵌入式操作系统的开发离不开C语言,很多的C程序是在linux系统下通过GCC编译器进行调试检测的。本文结合硬件电路,根据S3C- 2440A微处理器与外围电路的连接方式,把S3C2440A中各部分的功能块进行单独的编程调试,测试电路是否正确,程序是否无误。另外,Lin-ux 操作系统的移植是软件开发的一个重要环节。在移植操作系统中,采用MIZI公司的系统引导程序VIVI,这个程序专门针对S3C2410、S3C24 40系列的微处理而开发,使用非常方便。所移植的内核是Linux2.6.12版本,然后再构建根文件系统,来确定应用程序或其他软件的挂接。
以上都是针对微处理器S3C2440A要做的一些软件开发,但嵌入式系统是一个实时操作性很强的东西,尤其是在某些具体产品设计上,容易出现一些问题。而这些问题的根源,往往出现在时序问题上。基于这样的考虑,嵌入式系统往往就要引入CPLD来协调微处理器与其他外围电路或设备的时序问题。
3.2 XL95144XL的软件开发
XL95144XL是一款使用非常广泛的CPLD。CPLD的编程语言主要有两种:VHDL和Verilog HDL语言。在这里,采用VHDL语言来实现对XL9514 4XL编程。VHDL语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,具有很强的移植能力,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。
在这个银行评价器软件中,CPLD实现的功能主要有两个:一个是外围设备的地址分配功能,实现外围设备与S3C2440A之间的正确地址连接;第二个就是协调时序或同步信号,使得相关的外围设备能够正常工作。XL95144XL实现这两个功能非常容易方便,程序量虽然不大,但起到的作用很大。
例如,选用一款TFT型LCD液晶屏进行图像显示,该款屏对于行扫描信号与帧扫描的时序要求很严格,如图6所示。如果出现一定时序偏差的话,就容易出现局部“花屏”现象,而微处理器S3C2440A工作后给出的扫描信号的时序并不十分满足液晶屏的指标参数,如图7所示。所以,就需要把扫描信号通过CPLD 编程进行协调控制。
从图6、图7可以看出,扫描信号时序不能保证一致性,势必会带来产品设计上的一些缺陷,有的问题甚至会很直观地反映出来,这也就是在嵌入式系统中要加上CPLD的一个重要原因之一了。
3.3 下载和调试
软件编写完成后,就要实现下载。ARM和CPLD都有各自的JTAG下载端口,通过不同的下载线与PC机的通信口进行连接,然后在PC机上使用超级终端分别下载相应的软件包到目标板上运行调试。
4 结论
本文中的银行评价器是基于嵌入式系统开发设计的,它相比于以往的数码管采用数字显示模式的评价器而言,视觉效果有了一个质的飞跃;再者,它也取消了数字按键式的评价方式,采用了触摸屏进行客服评价,起到了更好的效果。与此同时,在不需要进行客服操作的时候,还可以运行其他的一些辅助软件,在一定程度上起到了一个宣传机的作用。由此可见,这样一款基于ARM所设计的银行评价器,功能强大且易扩展,性能也更好,而且随着电子产业的发展,嵌入式系统的应用越来越广,采用ARM开发设计的评价器来代替传统的数码管式评价器也成为了必然的趋势。