基于OLED的多电子图文广告屏设计
4单片机存储器设计
OLED电子屏以汉字显示为主,而存储一个汉字需32x32=1024b=128B的空间。而AT89C51内部存储空间有限,扩展数据存储器,采用62256SRAM,每片可存储256个汉字,用8片能显示常见的2000多个汉字。另外,由于系统需调用的程序和数据较多,所以在外部扩展1片程序存储器,使除堆栈、队列等频繁使用的结构外,其他类似初始化状态字等不占用片内存储器,避免片内数据阻塞。
5USB接口的硬件设计
上位机向下位机的数据传输通过专用USB通信控制器件PDIUSBD12实现。该器件支持3个USB端点,采用多种中断方式方便于块传输(Bulk)和同步传输(Isochronous),块传输和同步传输的数据传输速率均可达1Mb/s,其与AT89C51单片机的棒口电路如图5所示。
6软件设计
软件系统包括USB驱动固件和图文资料处理两部分。设备固件是设备运行的核心,采用C语言编写。其主要功能是通过PDIUSBD12实时下传数据至单片机。程序主要分初始化、数据处理、控制和USB通信4个模块。设备与微机相连后,初始化模块对设备进行初始化配置;数据处理模块预处理前端数据;控制模块则用于控制前端硬件;而USB通信模块负责主机与前端硬件的通信,是同件设计的关键。USB通信同件设计的目标是使PDIUSBD12在USB上达到最大的传输速率。在程序中需定义USB设备的GUID,通过USB驱动程序与USB设备连通,且需利用Windows的API函数取得USB设备的Handle。根据USB协议,任何传输都由主机(Host)开始。单片机进行其前台工作,等待中断。主机首先发令牌包给PDIUSBD12,PDIUSBD12接收到令牌包后就给单片机发中断。单片机进入中断服务程序,首先读PDIUSBD12的中断寄存器,判断USB令牌包的类型,然后执行相应操作。PDIUSBD12采用SIE管理USB通信。当主机与器件进行USB通信时,会产生外部中断0,通过中断矢量寄存器判断。Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int这3个中断主要用于与主机建立连接、进行控制传输或中断传输;Input_endpoint1_Int、Output_endpoint1_Int这两个中断主要在批量传输时使用。在同件中分别执行不同的中断程序实现USB的数据传输。外部中断0程序如下:
7 结论
OLED显示技术有着广泛的应用前景,其能在-40℃正常显示并可在180°范围内观看,能够做成任何形状,放到任意物体的表面,特别适于户外大屏幕电子屏广告显示领域,而USB接口适用于高速数据传输,可用作便携式系统的接口,二者的完美结合使大屏幕电子公告同步发布系统性能更加优越。
评论