针对当前物流行业高成本的纸质签名,本文分析数字签名的优点,以液晶显示控制芯片SED1335和触摸屏控制芯片ADS7846为例,提出一种在手持式设备上实现数字签名采集的方法,给出硬件和软件的实现过程。
电子签名技术是通过电子设备来采集和验证个人签名,并将信息捆绑在一起,达到与纸上签名同样的效果,从而实现无纸化办公的一种技术。在物品配送市场中,减少纸张作为投递证据所采用的首选技术就是签名采集技术。当业务交换中发生问题时,数字签名将是强有力的证据。为此,希望有一种体积小、简便易操作的手持式签名信息采集器能够替代现在普遍使用的纸质签名。
1 硬件电路及其工作原理
在很多应用领域中,触摸屏作为基本的输入设备,而显示屏作为输出设备。要完成对签名等图像的采集,需要在触摸屏上输入信息,显示屏上显示输入信息。本文采用SED1335液晶显示控制器对液晶屏读写数据,用ADS7846对四线式电阻触摸屏采集数据。下面介绍一下硬件的实现过程。
1.1 液晶显示控制器
SED1335是日本SEIKO EPSON公司生产的液晶显示控制器,它在同类产品中是功能最强的。其结构如图1所示。SED1335硬件结构可分成接口部分、内部控制部和驱动液晶模块LCM的驱动部分。接口部分由指令输入缓冲器、数据输入缓冲器、数据输出缓冲器和标志寄存器组成。这些缓冲器通道的选择是由引脚A0和读、写操作信号联合控制。控制部SED1335的核心,它由振荡器、功能逻辑电路、显示RAM管理电路、字符库及其管理电路以及产生驱动时序的时序发生器组成,振荡器工作频率可在1~10MHz范围内选择。SED1335能在很高的工作频率下迅速解译MPU发来的指令代码,将参数置入相应的寄存器内,并触发相应的逻辑功能电路运行。控制部分可以管理64KB显示RAM,显示内藏的字符发生器及外扩的字符发生器CGRAM或EXCGROM。驱动部分具有各显示区的合成显示能力,传输数据的组织功能及产生液晶显示模块所需要的时序脉冲信号。
1.2 ADS7846触摸屏控制器
ADS7846是美国Burr-Brown公司推出的与ADS7846是美国Burr-Brown公司推出的与ADS7843兼容的新一代4线制电阻式触摸屏控制器,通过机械式触摸,可以迅速得到触摸点的位置信号。它是一种典型的带有连续逼近型寄存器的A/D转换器,内部自带+2.5V参考电压,微处理器的串行接口,可测量温度和触摸压力,有可编程的8位或12位的分辨率(最大精度可分辨4096×4096个点),自动进入低功耗模式。在2.7V电压下和125kHz的转换速率下,功耗为750μW;关闭模式下,功耗仅为0.5μW。提供TSSOP-16和SSOP-16两种封装。引脚功能如表1所示。
为了完成一次A/D转换,在触摸屏有触摸事件发生时,PENIRQ为低电平。控制器监测到PENIRQ为低电平时,通过串行口往ADS7846发控制字。在片选CS为低是电平时,DIN在DCLK上升沿输入8位方式控制字后,DOUT在DCLK下降沿得到控制字相对应的输出。图2为ADS7846在每次转换为16个时钟周期下的时序图。
1.3 触控显示电路
终端触控显示部分硬件电路如图3所示。该电路主由微控制器、液晶屏和液晶显示控制器、触摸屏和触摸屏控制器、存储器以及供电电路等其它部分组成。其中微处理器采用了Winbond公司的W78E58,此单片机与工业标准MCS-51系列单片机兼容,它具有3个16位定时器,12个中断源,2个中断优先级,2个增强型串口,32KB Flash EPROM,可编程Watchdog,双DPTR指针。2片62256分别作液晶屏的显存和签名数据存储器,液晶显示触摸屏控制器采用前两节介绍的控制器。
设计中采用的显示屏是由北京蓬远公司生产的液晶显示屏PDA320240A。PDA320240液晶显示屏是一种精度高的点阵型显示器,具有体积小,重量轻,显示灵活等优点。它具有两种显示方式:文本显示和图形显示。为了向用户提供更为简单的操作界面,许多显示屏的辅助功能模块都已经集成化,对于PDA320240A只需要对18根信号线进行操作(引脚定义如表2所列),就可以完成相应的显示功能。
由图3可以看出,触摸屏上的4个模拟信号X+、X-、Y+、Y-,通过ADS7846转化成量化的数字坐标,坐标转换后由SED1335控制显示在液晶屏上。签名完毕后,图像信息通过SED1335上的XD0~XD3读取签名信息采集存入RAM62256(1)中,W78E58上的串口可将签名数据通过RS-232-C传到打印机,或用蓝牙接口无线传输至其它设备上。
2 软件设计
数字签名的软件实现是将触摸坐标即时地转换为显示坐标,直接在屏幕上打点显示,然后交给液晶显示控制器处理,将其按显示的格式存储签名等图像信息。实际证明,该方法可操作性强,处理速度快。
流程如图4所示。MCU上电后一直处于等待触摸状态,一旦检测INT0为低电平,在延时10ms后INT0仍为低电平,即有触摸发生。执行触摸控制程序touch(),得到触摸位置的12位精度坐标TOUC_XY,计算出屏上的显示坐标SIGN_XY。通过坐标判断是否为签名区域,如果是则在屏上显示出触摸点。签名结束后,同样通过坐标判断跳出触摸控制程序,读出签名框内的所有信息并保存。
数据保存的方法有多种,其一是每次有效触摸事件发生时,记录下当前点的坐标,存储于存储中;其二是在签名完成后,按行扫描液晶屏上显示的签名框,读取签名框内的数据,然后存于存储器中。比较上面两种方法,第一种由于每个点对应两个签名坐标,对于160×50点阵的签名框,在全部涂黑的情况下,存储量多达160×50×2=16000字节,因此该方法比较适合少量数据的采集;第二种方法相对比灵活,无论签名量的多少,对于同样的签名框,存储量最多为160×50/8=1000字节,因此我们采用此方法。
3 应用实例
目前无论是我国邮政还是物品投递公司,其物品投递确认信息都是以纸质介质形式进行存储的,其信息采集和使用都很不方便。比如包裹投递的操作是邮政投递人员验证收件人的证件后,由包裹收件人在包裹单上填写相应的接收信息并签收,签收后的包裹单由投递人员交给邮局保存。现在使用我们开发物品投递确认手持式设备,代替原有的纸质签名,其中签名数据经过压缩编码处理后。数据量小、保密性强;数据存入非易失性存储器中,能在掉电情况下恢复数据;签名数据可以通过设备上的蓝牙模块,向上位机发送签名数据,数据经过触密后可以还原为签名时的状态。
4 结论
利用SED1335和ADS7846组成的用51系列单片机控制数字签名手持式设备,具有成本低、签名效果清晰等优点。在嵌入式领域中,随着新器件的不断涌现,一些微控制器(比如EPSON系列单片机、Motorola的龙珠芯片)可以直接驱动液晶屏显示,这样可以大大降低硬件电路的设计。