超声波是一种弹性机械波,其传播时能量相对集中,衰减小,不受光线和周围物体颜色的影响,广泛应用于工业检测之中。电子笔系统要精确完成笔迹形成和存储的功能,首先是要利用超声波检测出各个采样时刻笔触所在位置。为此,需要一个超声波发生器安装于笔触位置,两个超声波传感器固定在一个主设备上。它们的几何位置关系可以由图1表示,其中R(L)和R(R)是两个固定的超声波传感器,TX是笔触上的超声波发生器,a为R(L)与R(R)之间的距离,是一个已知常量。
在有红外信号同步的情况下,b和c的大小可以通过渡越时间法实时测量得到。然后,以R(L)所在位置为原点,以R(L)和R(R)的连线为x轴建立平面坐标系,由简单的几何知识得到此时笔触的位置坐标为
通过反复测量,以75 Hz频率采样形成点迹,多个时刻的点迹最终形成连续笔迹。为了避免环境噪声干扰和多套系统同时使用时产生的相互干扰,采用文献叙述的两步检测和时隙跳变检测方法。
2 系统硬件设计
超声波电子笔系统由一个主机设备和一只电子笔组成。其中主机设备包含两个位置固定的超声波传感器、超声接收电路、信号采集和用于笔触位置计算的DSP处理器。为了功能完善,DSP外接有SD卡存储器、液晶显示器(LCD),温度传感器和红外发生器,其整体架构如图2所示。
接收电路分前级放大,带通滤波,后级放大,整形电路几部分。因为直接由超声波传感器接收到的信号十分微弱,需要进行前级放大,此处选用高精度单片运算放大器OP07实现。带通滤波采用压控电压源二阶带通滤波器,其电路原理如图3所示,它通过改变RF和R4的比例就可改变频宽而不影响中心频率,电路参数由下面的公式计算得到,中心频率
核心处理器选用TI公司的16位低功耗DSP芯片TMS320VC5509A。VC55-09A主频最高达200 MHz,内部有双乘法器,支持DMA操作,集成有USBl.1控制器、多路A/D转化器,并且它自带MMC控制器,可以扩展MMC卡和SD卡作为存储设备。SD卡主要用于存储形成的笔迹信息,用于事后通过片上集成的USB接口上传至电脑作进一步处理,比如通过文字识别软件生成标准字体;液晶显示器实时显示笔迹信息,并且调整系统参数使有利于人机交互;温度传感器用于监控环境温度,由于超声波在空气中的传播速度是一个与温度有关的量,需要对检测的笔迹结果作修正;红外发生器配合电子笔中的红外接收器工作,作为超声波测距时的同步信号。
在与SD卡连接时,直接利用TMS320VC5509A自带的MMC控制器,通过对EBSR(外部总线选择寄存器)的设置,来选择工作于MMC/SD模式或MCBSP(多通道缓冲串口)模式,对SD卡的操作其接口方式,如图4所示。
显示部分,为了使编程方便,选用了日本SEIKOEPSON公司的SEDl335控制器,它可以直接与DSP相连,有较强功能的I/O缓冲器,在其内部时钟全周期内,可全速响应DSP的访问,使DSP的数据总线直接与控制器的数据接口连接。
电子笔部分,主要是在MCU的控制下产生超声波信号,出于小体积和低功耗的考虑,选择了微芯公司8位闪存PIC单片机PICl0F。PICl0F是6引脚的SOT-23封装,指令执行速度可达2 MI/S,它具备8 MHz内置振荡器,具有波形生成功能。为了提高系统的抗干扰能力,借鉴雷达波形设计方法,波形设计为伪随机的M序列,频率设置为40 kHz。电子笔中的压力传感器安装于笔触顶端,用于检测电子笔是否与书写平面接触,只有与书写平面接触时,才启动其它电路,以节省功耗。
3 系统软件设计
主设备的软件系统采用μC/OS多任务系统,其中点迹计算和笔迹形成部分利用VC5509A有双乘法器的特点,用汇编语言高效实现,整体软件功能,如图5所示。
系统初始化时完成主程序的入口设置,将寄存器清零,设置中断矢量,对ROM区和RAM区进行初始化。
参数设置是对采样时间,检测方式等参数进行配置。
来波检测部分,首先由检测电路引起的中断计算出时间差,以此作为点迹计算的依据,然后由坐标转换关系计算出当前点迹位置。计算过程中包含开方运算,采用牛顿迭代法完成。
SD卡的操作包括初始化和读写两项操作。初始化时要分别对SD卡控制器和SD卡初始化。SD卡控制器的初始化主要是完成各种参数的配置,包括控制器与DSP数据传输的DMA方式、传输速率、读写超时设置和读写数据块长度等;SD卡的初始化主要是检测卡的电压状态,分配相对地址。
DSP访问液晶控制器时,首先将指令代码写入指令缓冲器,随后将该指令所需参数按顺序通过数据输入缓冲器写入相应的功能寄存器中。其中SEDl335指令代码既可设置功能位,又是参数寄存器的选通码。
手写笔内部MCU部分的程序既要通过压力传感的信号判断笔触是否已经与纸张接触,又要判断主设备的红外同步信号,当检测就绪时,才产生设定频率的超声波信号。