数字签名技术在手持式设备上的应用
摘要:针对当前物流行业高成本的纸质签名,本文分析数字签名的优点,以液晶显示控制芯片SED1335和触摸屏控制芯片ADS7846为例,提出一种在手持式设备上实现数字签名采集的方法,给出硬件和软件的实现过程。
关键词:数字签名 液晶显示 触摸屏 SED1335 ADS7846
电子签名技术是通过电子设备来采集和验证个人签名,并将信息捆绑在一起,达到与纸上签名同样的效果,从而实现无纸化办公的一种技术。在物品配送市场中,减少纸张作为投递证据所采用的首选技术就是签名采集技术。当业务交换中发生问题时,数字签名将是强有力的证据。为此,希望有一种体积小、简便易操作的手持式签名信息采集器能够替代现在普遍使用的纸质签名。
1 硬件电路及其工作原理
在很多应用领域中,触摸屏作为基本的输入设备,而显示屏作为输出设备。要完成对签名等图像的采集,需要在触摸屏上输入信息,显示屏上显示输入信息。本文采用SED1335液晶显示控制器对液晶屏读写数据,用ADS7846对四线式电阻触摸屏采集数据。下面介绍一下硬件的实现过程。
图1
1.1 液晶显示控制器
SED1335是日本SEIKO EPSON公司生产的液晶显示控制器,它在同类产品中是功能最强的。其结构如图1所示。SED1335硬件结构可分成接口部分、内部控制部和驱动液晶模块LCM的驱动部分。接口部分由指令输入缓冲器、数据输入缓冲器、数据输出缓冲器和标志寄存器组成。这些缓冲器通道的选择是由引脚A0和读、写操作信号联合控制。控制部SED1335的核心,它由振荡器、功能逻辑电路、显示RAM管理电路、字符库及其管理电路以及产生驱动时序的时序发生器组成,振荡器工作频率可在1~10MHz范围内选择。SED1335能在很高的工作频率下迅速解译MPU发来的指令代码,将参数置入相应的寄存器内,并触发相应的逻辑功能电路运行。控制部分可以管理64KB显示RAM,显示内藏的字符发生器及外扩的字符发生器CGRAM或EXCGROM。驱动部分具有各显示区的合成显示能力,传输数据的组织功能及产生液晶显示模块所需要的时序脉冲信号。
图2
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所示。
表1
引脚名 | 功能描述 |
+Vcc | 逻辑正电源 |
X+,Y+ | 接触摸屏正电极 |
X-,Y- | 接触摸屏负电极 |
GND | 接地 |
VBAT | 电源监控输入端 |
PENIRQ | 中断输出端 |
VREF | 参考电压输入输出端 |
DOUT | 串行数据输出端 |
DCLK | 外部时钟输入端 |
DIN | 串行数据输入端 |
BUSY | 忙信号输出端(低电平有效) |
CS | 片选 |
为了完成一次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所列),就可以完成相应的显示功能。
表2
引脚名 | 功能描述 |
EL1、EL2 | 显示屏背光输入线 |
X+,Y+ | 接触摸屏正电极 |
X-,Y- | 接触摸屏负电极 |
CL1 | 显示数据锁存脉冲信号 |
CL2 | 显示使能信号输入 |
PENIRQ | 中断输出端 |
D0~D3 | 显示数据输入线 |
VDD | +5V电源 |
VSS | 接地输入线 |
VLCD | 显示屏驱动电源(+18) |
FLM | 帧扫描信号输入线 |
RESET | 液晶屏复位 |
DISP | 显示屏的驱动输出(接地) |
由图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。通过坐标判断是否为签名区域,如果是则在屏上显示出触摸点。签名结束后,同样通过坐标判断跳出触摸控制程序,读出签名框内的所有信息并保存。
图3