引言
2009年电子设计竞赛有一道关于LED点阵书写屏的题目,这道题目要求在LED点阵显示屏上实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。初见此题想到的是,按题目的提示,采用光电三极管作为感光元件,记录坐标。事实上,很多成功的参赛队也是按照此方案获得了竞赛大奖。
本题为LED点阵新应用的开发提供了很好的方向,但对点阵感光屏来说,能否有更好的实现方法呢?根据光电效应,PN结在光的激励下可以改变其电阻率,而LED也是PN结,那么能否利用LED的PN结特性完成点阵感光屏呢?经过简单的实验探讨,我们发现LED本身就具有很好的感光能力,这样一来,感光屏就可以完全利用LED的感光特性来实现。本文就利用一块8×8的点阵屏,结合C8051F020单片机实现了一块具有感光功能的点阵屏,如图1所示。
1 LED的感光原理
作为光电探测器的LED能够工作在两种检测模式下:光伏模式(在外界光的作用下器件有产生电压的能力)和光导模式(器件的导电性受外界光的控制)。在两种检测模式下产生的光电压或者光电流通常大约是普通光电二极管的1/100~1/10,一般需要借助于运放和ADC。而在没有运放和ADC的情况下,能否获取LED的光电流呢?事实上利用二极管本身的内电容(通常为pF级),带有高阻态的三态双向I/O口及内部数字计数器的单片机也可以用来对其所产生的光电信号进行很好的测量。
最简单的实现的方法如图2所示,通过单个LED的光延时来实现。它由一个LED连接两个单片机的引脚构成,LED发光的同时也测量入射光强并且表明是否超过预先已定义的阈值。
工作在感光模式下的LED被快速充电到+5 V(100~200μs)。第一步如图3所示,电荷被二极管的内电容(通常为10~15 pF)所维持,然后,P1脚切换到高阻输入模式(大约1015Ω的阻抗)。第二步,在反向偏置条件下,LED的可以等效为一个电容与一个电流源iR(φ)的并连,电流源中的电流为光电流,它随光强φ而变化,如图4所示,P1脚的漏电流iL(很小,通常为0.002 pA)与通过二极管的在正常的环境光下产生的50 pA典型光电流iR(φ)相比,可以忽略不计。
经过分析后,可知Cr的放电过程可以用以下公式来表达:
式(2)表明vp1(t)随时间t线性的减少到0,利用单片机的16位定时/计数器计时,每隔一段时间轮询P1引脚输入的逻辑电平vp1(t),直到变为逻辑“0”的门限电压VTR(约2.2 V)为止。衰减时间Td(通常测得为μs级)与检测到的光量成反比,由此,能够计算出二极管的光电流iR(φ)。经分析,TD可以表示如下:
式中,NTCNT代表计数器计数的整数值,ftclk为计数器时钟频率,N。为缩放因子,fclk为主时钟频率。当接收到的光量增加的时候,Td减小,二极管放电加快;而当接收到的光量减少时,Td增加,二极管放电减慢。通过测量发光二极管的开和关的时间Td,能够发现并补偿环境光所导致的误差。由ftclk即可测量Td,且可以通过选择合适的Np来匹配单片机时钟。
如果延迟时间长于或短于指定的门限值Tdc(关键时间),LED接通并发光。比如通过闪烁来警告,第三步如图3所示,单片机另外的一些引脚能被用来作为延时输出或者光线控制PWM输出。当然,测出时间大小,是为了得到P1脚的电压大小vp1(t),而事实上,对于实现感光点阵屏的来讲,并不需要知道vp1(t)的具体大小,仅利用它来作为LED内电容充放电时间的参考。根据以上分析可知,不管光强大小如何,衰减时间Td都很小,于是通过Td时间后的信号衰减,即可获得高低电平信号。
2 感光屏系统的实现
2.1 器件选择
根据以上原理,LED接收的入射光的波长与其发射光波长相等的时候,系统有最好的灵敏度,所以为了增强系统的灵敏度,采用发射光波长和点阵屏差不多的LED制作成发光笔。
对于点阵屏,选用了TOP-23088DU与SZ420788K两种不同大小的点阵模块做对比测试。其中,TOP23088DU模块的像素点LED直径为5 mm,像素间距7.62×7 mm,模组尺寸60.2×60.2 mm,像素点透明;SZ420788K模块的像素点LED直径为2mm,像素间距2.5×7mm,模组尺寸20.2 mm×20.2 mm,像素点半透明。两种模块通电测试均为共阴发红色光的点阵模块。
C8051F020 MCU是高集成度的混合信号片上系统,有按8位端口组织的64个数字I/O引脚(C8051F020)。低端口(P0、P1、P2和P3)既可以按位寻址也可以按字节寻址。高端口(P4、P5、P6和P7)只能按字节寻址。所有引脚都耐5 V电压,都可以被配置为漏极开路或推挽输出方式和弱上拉。端口I/O单元的原理框图如图5所示。
由图5中I/O口结构可知,C8051F020具有漏极开路状态,完全可以满足测量所要求。
2.2 系统构成
考虑到实验的方便,用8×8点阵,并采用常见的行列式扫描结构,所以共需要16个I/O口,这里考虑使用P0、P1口。系统结构如图6和图7所示。
2.3 系统实现
根据上述原理,结合具体的LED点阵屏,程序流程如图8所示。
由图6中的矩阵所示,先将P0口全部置高电平,然后轮流对每一列进行置低电平、高阻态、延时、检测是否为低电平、反转点亮LED的操作,完成对8×8=64像素点阵的操作。由于单片机操作速度很快,而且LED的滚降时间很快,所以每完成一次操作,可以很快在点阵屏上形成一幅文字画面。
3 测试结果
①两种模块的对比,通过对TOP-23088DU与SZ420788K两种不同大小的点阵模块做对比测试发现,由于TOP-23088DU屏的像素点是全透明的像素点,而SZ4 20 788K虽小,但像素点为半透明像素点,TOP23088DU屏明显对入射的红光更为敏感,实现效果更好。
②功能实现:可用光笔在点阵屏上连续扫描,观察到点阵被点亮;可在点阵屏上写入汉字笔画擦除,逐个显示及其移动;可以在屏上全部点亮后,通过扫描熄灭。用示波器观察,可以明显检测到在充放电的一瞬间出现的脉冲电压。
结语
本文所述的LED感光屏的具有操作简单、成本低、稳定性较好的优点。利用PN结光电效应的原理发掘了普通LED的更多功能,既可以作为发光元件,也可以作为感光元件,从而为开发低成本的多功能显示屏提供了很好的参考。当然,该感光屏也有些许不足,如点阵像素点较多时延时明显,感光灵敏度、抗干扰性等也有待进一步提高。