(二)系统工作原理
系统框图如图1所示。主要包括四部分:主控制电路(主CPU、汉卡等),显示控制电路(辅CPU等),列驱动显示电路,开关电源。
1. 主控制电路基本工作原理
主控制电路首先从遥控器或键盘接收数据和指令,然后根据显示内容和显示指令的要求在软件控制下完成下述工作:如果要显示汉字,就从扩展卡27020中提取汉字点阵信息,然后存放在共享RAM 6264中。如果要显示的是8×8点阵的ASCII码或数字,以及16×8点阵的控制字符,就从程序存储器27256的高端提取有关的点阵信息,然后存放于共享RAM中。最后,主CPU通过地址切换电路①与②及时序控制电路,与辅CPU以应答方式进行联络,对共享RAM进行分时操作,完成显示。
图1 系统框图
由专用的日历时钟芯片MC146818,可产生年、月、日、时、分、秒、星期共7个时标信号。我们可通过软件来获得和修改这些时标,并使之在屏幕上显示出来。
2. 扫描板基本工作原理
首先由辅CPU将欲显示的数据由串行口送出,然后经并行/串行转换芯片CD4094转换成并行数据,输出的数据经过MC1413驱动产生列信号;由P1口输出的行数据经CD4515译码生成行信号,再经达林顿管BD682产生行驱动信号。最后输出行、列选通信号,点亮某一行。如此循环往复,完成扫描过程。
(三)共享RAM电路的工作原理
为了大大减轻主CPU的负担,合理地分配资源,以及便于实现显示电路的高速扫描,该系统设计成双CPU结构,共享一片RAM。电路如图2所示。
6
共享RAM电路主要是通过六片74LS245来完成的,74LS245是三态八总线双向收发器。其中G是控制端,低电平时有效,允许传输;高电平时禁止。DIR是方向控制端,为低电平时数据由B传到A,呈高电平时,数据由A传到B。由原理图可以看到:IC1~IC3的G端不仅接主CPU的T0端,还接74LS74的Q端。IC4~IC6的G端不仅接显示CPU的INT0端,还接74LS74的Q端;这样当主CPU控制公共RAM时,Q端为低,IC1~IC3开启,IC4~IC6关闭。主CPU对RAM可进行读写操作,而辅CPU则不能。当主CPU放弃对共享RAM的操作时,通过GAL对74LS74置位,因而Q变低,Q变高。封锁IC1~IC3,从而辅CPU取得控制权,对共享RAM进行操作;当辅CPU放弃对共享RAM的操作时,通过74LS00发出清零信号,使得74LS74的Q端输出低电平,当主CPU检测到T0为低时,可恢复对共享RAM的控制权。这样就通过数据、地址切换的反复动作,完成了对共享RAM的分时操作。
图2 共享RAM电路
(四)汉卡电路工作原理
汉卡电路工作原理图见图3。在扩展电路中,用了373、374、27020和6264各一片。 373和374的区别是:373为八D锁存器,当控制端G为低电平时锁存;374则是八D触发器,在系统时钟下降沿时可以对数据锁存。
本系统所用的字库芯片是27020,它是256Kbit的CMOS超大规模集成电路只读存储器,共有18根地址线,而8031只有16根地址线。为读取27020内的数据,使用一片374,利用其下降沿锁存的特点来对27020进行分页处理,因为374的时钟端接片选信号CS1,而CS1平时为高电平,有效时为低电平,所以其有效的过程对374来说相当于是一个下降沿,当向4000H单元送数(即片选信号CS1有效)时,由GAL地址分配所决定的写入4000H单元中的数据的高5位,同时被锁入374中,形成27020的页面地址。因而从27020中读数时只需加片选信号CS2即可。
需要指出,6264和27020的OE端选通信号不同,前者接PSEN信号,后者接读信号。因此把27020作为一个数据存储器,而把6264当作一个程序存储器,充当本系统的仿真RAM。
7
这样可避免27020和6264的地址发生冲突。
(五)地址分配
地址分配实际上是由GAL来完成的。它是一种电擦写、可反复编程、随时修改并且能加密的可编程逻辑器件(PLD)。它既不同于PAL,也不同于EPROM。目前常用的有GAL16V8和GAL20V8。它们具有以下特点:(1)由于GAL采用的是一种高速的电可擦写(E2CMOS)工艺制造,因而比TTL构造的PAL功耗低,速度快;(2)GAL有8个逻辑宏单元(OLMC),使输出任意变化,又很强的带负载能力,驱动电流可达24mA;(3)采用高速编程算法,按行进行编程,整个芯片的写入可在1秒钟内完成。此外,还采取了加密措施。
图3 汉卡电路
各芯片的地址分配详见附表。
附 表
名 称 程序存储器 数据存储器 IC型号 27256 62256 片 选 信 号 地 址 0000H-7FFFH 8000H-FFFFH 备 注 CE=A15=0 CE=A15=0 8
共享RAM 辅CPU 数据存储器 汉卡ROM 仿真RAM 6264 2764 6264 27020 6264 CS=A15+A14+A13=0 CS=A15+PSEN CE=A15=0 A15=1,A14=0 CS2=A15+A14+A13+RD 0000H-1FFFH 8000H-9FFFH 0000H-1FFFH 8000H-9FFFH 2000H-3FFFH 8000H-9FFFH 2000H-3FFFH 主CPU读RAM 辅CPU读RAM 读操作 写操作 CS2=A15+A14+A13+PSEN CS2=A15+A14+A13+WR 对于主CPU,其程序存储器27256的片选信号为CE=A15,仅当A15=0时选通,其地址分配为0000H~7FFFH。数据存储器62256采用A15做片选信号,CE=A15,仅当A15=1时选通,其地址分配为8000H~FFFFH。对于公共RAM 6264而言,当CPU取得控制权时用A15+A14+A13做片选信号,其地址分配为0000H~1FFFH。
对于辅CPU,其程序存储器2764的片选信号为CE=A15,仅当A15=0时选通,其地址分配为0000H~1FFFH,数据存储器6264采用A15和A14做片选信号,仅当A15=1且A14=0时选通,其地址分配为8000H~9FFFH。对于共享RAM的选通比较复杂,它取决于数据传输转换器IC9的允许端G,而G=(Y1.A15)=PSEN+A15所以仅当辅CPU的PSEN为低,且A15为高时,选通共享RAM,这表明共享RAM对辅CPU而言,相当于是一个程序存储器,其地址分配为8000H~9FFFH。
汉卡上的27020先由CS1选通页面地址,再由片选信号CS2决定页内地址。而CS2=A15+A14+A13+RD,因而其地址分配为2000H到3FFFH。6264在读、写操作时,地址分配是不同的。当进行读操作时,用CS2做片选信号,而CS2=A15+A14+A13+PSEN,因而地址分配为8000H~9FFFH。进行写操作时,CS2=A15+A14+A13+WR,因而地址分配为2000H~3FFFH。
(六)显示控制电路的工作原理
电路如图4所示。显示控制电路主要完成扫描显示功能。它采用逐行扫描、列驱动方式。其主控制器为CPU2,简称辅CPU。当主CPU接收到从遥控器或者从键盘传来的数据和指令后,就将显示内容从汉卡的汉字库中取出并转化成点阵信息,存放在共享RAM中。主CPU根据显示指令,对共享RAM中的数据进行操作。操作完毕后,即向辅CPU发出应答信号。辅CPU接到应答信号后,就从共享RAM中取出显示数据,从串行口输出的数据经级联的八位串入/并出移位寄存器CD4094,转换成并行数据,再经过七达林顿驱动器MC1413获得列驱动信号。行码则由P1口输出,经4线/16线译码器CD4515译码后,产生16路行输出信号。通过达林顿功率管BD682,获得列驱动信号。行信号送至显示行驱动端,经显示后消隐,然后输出下一行数据并显示下一行内容。
(七)键盘
键盘布置如图5所示,共有30个键。其中,9个双功能键被定义为:在BAS状态下为上挡键,在PRG状态下为下挡键。
数字键(0~F)。0区表示前128个ASCII码;1区表示后128个ASCII码。 HOM/连
9
续:光标移到文件头/连续执行程序。END/单步:光标移到文件尾/单步执行程序。ASC/调出:当前输入状态切换为ASCII码输入/将程序从备份RAM调到仿真 RAM中。汉字/存入:
将当前输入状态切换为汉字输入/将程序从仿真 RAM中存储到备份RAM。PUP/XRA:向上翻页/检查或修改外部数据存储器。PDN/MEM:向下翻页/检查或修改程序存储器内容。DEL/REG:删除/检查或修改寄存器的内容。HLP/SCR:提示帮助信息/用户屏幕。ESC:退出。INS/回车:输入状态(插入和替换)的切换/回车。↑:向上移动光标。↓:向下移动光标。
图5 键盘布置图
八、 课程设计内容
(一)系统的熟悉使用
程序流程图如图6所示。上电后,屏上出现主菜单光标在B上闪烁,按↑、↓键移动光标,可选择不同的菜单项。
图6 程序流程图
BAS PRG SET OTH
例如:当光标在S上闪烁时,按回车键便会进入系统设置(SET)菜单项。 1.BAS功能
进入BAS功能后,屏上出现BAS菜单: RUN NEW EDI ESC
10