独立扫描模块的功能是以双口RAM为中介将单片机送来的数据在LED点阵显示屏上显示出来,其电路原理图如图3所示。单片机总线将处理好的待显示数据存放在U5(双口RAM IDT7132SA35JS)中,然后U6(CPLD芯片ATF1508AS15JC84,用Verilog HDL语言编写其总线读逻辑)读取存放在U5中的待显示数据并驱动显示屏。整个显示屏为128×32点阵,一次扫描一个字节即8位,为此全屏显示需要128×32÷8=512字节。将地址线A9R、A10R接地,这样只允许访问U5中的低512K字节。CA0~CA8是CPLD输出到U5中的地址总线,CD0~CD7是从U5读出数据的数据总线。J1是行扫描信号接口,CH0~CH4为行扫描计数器输出信号,时钟信号可从CLK输出给行扫描计数器。J2为列扫描控制信号V0~V7输出接口。DR0~DR15为一色的列选通控制信号输出,由于I/O端口引脚不够,所以另一色的列选通信号采用译码电路译码输出,用J3的四线输出。CON1为JTAG接口,J6为时钟源选择接口,可接单片机的ALE信号,也可接有源晶振CR2的输出。有源晶振CR2相当于一信号产生电路,只要其2脚接地,4脚接电源,3脚就有额定的输出波形。
本系统采用ATMEL公司的8位单片机AT89C52,主要完成数据处理、存储和通信功能,其原理图如图4所示
U4是AT89C51单片机;U3是地址锁存器,用来锁存单片机的低8位地址信号。因为要显示的数据量很大,特别是当设计复杂的显示效果时需要处理的数据量更大,而AT89C51内部缓存容量不足,所以扩展外部RAM,采用容量为8K字节的HM6264,即U7。U2是容量为8K字节的EEPROM 28C64,用来存储字模数据,而不用作程序存储器。U5是双口RAM,U1是将RS232电平转换为TTL电平的电平转换器。
PC机将欲显示的字或图形的点阵数据通过串口送到单片机,单片机将其存储在EEPROM(U2)中,然后再根据显示要求对这些数据进行特定的处理,处理完后存储在双口RAM(U5)的特定地址,供扫描模块扫描取数进行显示。为了便于编写串行通信程序,使用振荡频率为11.0592MHz的晶振CR1和C5、R1及SW1组成的复位电路。