一种工业显示屏的设计
扫描二维码
随时随地手机看文章
在炼焦生产过程中,多台作业机车按照给定的生产计划,相互配合进行工作,笔者设计了炼焦生产作业机车自动化控制系统。
为了帮助车上操作人员正确、准时进行操作,防止误操作或各机车相互配合不当造成事故,炼焦控制系统中设计了一种工业显示屏。显示屏用数码管和指示灯显示:当前本车的生产任务,执行任务的时间以及实际时间,当前其它相关作业机车的位置、工作状态以及允许工作条件;显示屏用语音进行作业提示、工作状态通报、报警。图1为工作中的显示屏,数码管用L表示,指示灯用D表示。
1 总体电路结构
显示屏总体电路框图如图2。单片机AT89C51作为电路核心,AT89C51串行口接收中央控制室主控计算机发来串行数据,由此控制显示的内容和发出相应的语音。AT89C51内部定时器Tl作为波特率发生器,TO用作定时。为了和车上PLC通信接口一致,显示屏采用RS一485串行通信标准,用MAX485作为通信接口。
为了防止系统出现死机现象,采用MAX813芯片实现“看门狗”功能。MAX813第6脚WDI接至AT89C51的P2.4,程序中每隔一定的时间执行一条CPL,P2.4指令,即不断地向MAX8l3的WDI脚发出脉冲信号进行“喂食”,一旦AT89C51出现“死锁”时,不可能再执行CPL P2.4,MAX813的计数器溢出,控制RESET引脚向AT89C51输出一个复位信号,使AT89C51复位。
2 显示电路设计
显示电路设计采用SPI接口的显示驱动电路芯片MCl4489。SPI总线是一个同步串行外设接口,只需3~4根数据线和控制线即可实现与具有SPI总线接口功能的I/O器件进行接口,因此,可以简化电路设计,节省器件。
2.1 MCl4489介绍
MCl4489是Motorola公司生产的一种高集成度的显示驱动器,集锁存、译码、驱动、扫描、时钟于一体,采用动态扫描方式驱动共阴极LED数码管或独立的LED指示灯,且亮度可程控为全亮或半亮。一片MCl4489可直接驱动5个显示单元,1个显示单元可以是1个数码管或4个独立的LED指示灯。
(1)MCl4489引脚功能
MCl4489其引脚排列如图3,引脚功能如下。
Bl~B5(BANKl~5):显示位驱动端,低电平有效。MCl4489采用B1~B5依次有效的动态扫描方式驱动5个显示单元,B5为最高位驱动端。
a~h:数码管显示段驱动端。驱动数码管时,a~g分别驱动数码管的a~g字段,h驱动小数点。驱动指示灯时,a、b、c、d直接控制4个指示灯,e、f、g处于低电平。一片MCl4489最多可控制5个数码管或20个独立的指示灯。
EN:串行输入使能端,为低电平有效。
DI(DATA IN):串行数据输入端。EN有效期间,串行数据在CLOCX上升沿由DI端移入内部移位寄存器,高位在前。
D0(DATA OUT):串行数据输出端。在时钟脉冲CLOCK下降沿移出数据,可用于芯片间级联,前级D0接后级DI。
CLOCK:串行数据时钟输入端。
Rx:外部电流设置电阻,要求Rx≥700Ω,其值决定驱动电流大小,选择Rx阻值调节显示亮度。
VDD、VSS:电源端、地线。
(2)MCl4489显示控制[!--empirenews.page--]
①显示译码方式
MCl4489有3种显示译码方式,如表1。
②“配置字”和“显示字”
输入到MCl4489的数据分为两类:“配置字”和“显示字”,一片MCl4489需要1字节的“配置字”,3字节的“显示字”。MCl4489的“配置字”、“显示字”分别在不同的有效期间输入。
“配置字”确定显示代码的译码方式,见表2。
“显示字”是各显示单元的显示代码,并控制小数点位置和显示亮度。3字节共有24位D23~DO。D23~D20是控制用高半字节,D23是控制显示亮度,D23=0,控制显示为半亮状态,D23=1,控制显示为全亮状态;D22~D20是控制小数点的位置,见表3。D19~D16、D15~D12、D11~D8、D7~D4、D3~DO分别是B5、B4、B3、B2、B1的显示代码。
[!--empirenews.page--]
图l下面的数码管、指示灯L13~L24、D11~D35显示由4片MCl4489驱动,级联构成第二串显示电路。第二串显示电路每一片MCl4489的B1~B3驱动3个数码管,B4驱动驱动4个LED指示灯,B5驱动2个LED指示灯。4片MCl4489的配置字都是00110001B,即Bl~B3采取16进制译码,B4、B5不译码。根据MCl4489输入规定,4片级联需要输入12字节的配置字,输入14字节的显示字,输入格式见表4。
AT89C5l采用软件模拟MCl4489串行接口时序进行接口,P2.0、P2.1、P2.2作为第一串显示电路的EN、CLOCK、DI,P2.5、P2.6、P2.7作为第二串显示电路的丽、CLOCK、DI。
[!--empirenews.page--]
第一串显示电路输入程序如下。
3 语音电路设计
显示屏中需要讲的话在VP880系统下进行录音、并分割成语音段存放在存储器中。语音的采样频率较高能产生更好的音质,但造成容量增大,一般采样频率取32kps速率。显示屏应用VPl606语音处理芯片设计语音电路。
3.1 语音处理芯片V1606
VPl606是可用于多段语音再生的语音处理芯片。当与外围语音存储器相连后,可根据相应的控制信号再生多达64段的语音信息。64段语音数字信号分别存储在存储器中4个堆,在每个堆能存放16段语音。在外部控制信号作用下,VPl606从存储器中取出相应的语音信号,经解调译码后,输出模拟语音信号。
VPl606为48脚DIP封装,其各引脚的有关功能及说明如下。
AO~A19:地址总线,输出。
DO~D7:数据总线,输入。
ANG、ANG:模拟语音信号差分输出端,与放大器连接。
ANGD:模拟语音信号反馈输入端。
EVN:包络信号输入端。此引脚连接一个反馈电阻到INT引脚。
INT:综合输出端,连接一个外部RC电路。
INA~IND:二进制段代码输入端,INA为低位。
INE、INF:二进制堆代码输入端,INE为低位。
SE、SF:二进制堆代码输出端,与EPROMi奎接,将
INE、INF输入的堆代码输出到存储器,选择相应的堆。
I/O:控制输入/忙输出端,低电平有效,作为输入是控制信号,当段代码、堆代码输入到INA~INF后,在此引脚输入一个低电平脉冲才能触发相应语音段;作为输出是“忙”信号,在语音播放时,此引脚变为低电平输出,表示正在播放。
OSC1、OSC2:内部振荡器连接外部RC元件引脚,如果采用外部时钟脉冲,则外部时钟脉冲从OSC2引脚输入。
RESET:复位输入端,低电平有效。
VDD、VDS、VAS:电源端、数字地、模拟地。
3.2 语音电路及工作原理
设计的语音电路如图6所示。电路中,R1、R2、R3分别为3KΩ、630KΩ、240Ω;VRl为200KΩ;Cl、C2均为1uF。VPl606的A18~A19悬空未用。从LM324输出的模拟语音信号,还要经过低通滤波电路进行滤波,再经功率放大电路后送扬声器输出。调节VRl,可以调节语速。
[!--empirenews.page--]
电路中采用14Mbit E2PROM一29C040作为存储器件。需要讲的24句话分割成24个语音段,按2个堆存放在29C020中。AT89C5l的P1用于控制语音,当需要控制讲话时,先从P1.7侦测是否有“忙”信号,正在播放时,试图控制发出另一段语音是徒劳的;当无“忙”信号时,P1.0~P1.3输出段代码,P1.4输出堆代码,P1.6输出低电平脉冲控制讲话开始。如果存储器件改为8Mbit的29F080,则VP606的SF连接29F080的A19,可控制4个堆64段语音。
4 显示屏相关软件设计思想
4.1 自检程序
为了检查显示屏硬件电路是否正常,设计了自检程序。每次上电复位后先运行自检程序,各位数码管按顺序显示全O、全1、……全9各1秒钟;各指示灯在数码管显示奇数时灭,显示偶数时亮。并按语音编号顺序发出所有的语音。
4.2 显示、语音处理
显示屏是根据接收的串行数据,控制显示的内容和发出相应的语音。中央控制室主控计算机在通信报文中给出了:①数码管显示的二进制数据;②28位“l”/“0”表示28个LED指示灯亮灭,D5~D10的亮灭不由通信报文给出;③语音编号。
显示屏接收到正确报文后,根据接收报文更新显示数据区,并设置某段语音标志。软件中每一次循环显示,将显示数据区数码管显示数据化为BCD码,连同指示灯数据,按MCl4489显示字格式更新第一串、第二串显示缓冲区。
作业机车在检修期间常开出工作区域,显示屏与主控计算机通信中断。利用AT89C51内部定时器,可以解决实际时间保持不变的问题。在显示数据区的实际时间的时字节、分字节基础上,增设秒字节、0.1秒字节,AT89C51内部定时器T0每隔100mS中断一次,在中断程序中,0.1秒字节数据+1,根据0.1秒字节数据更新秒字节数据,并依次更新分字节数据、时字节数据,保证通信中断时仍显示正确的实际时间。正常通信时,每正确接收一次通信报文,改写时字节、分字节数据的同时,对秒字节清0。根据0.1秒字节数据,AT89C51控制D5~D10每隔一秒钟闪烁一次。
约定语音编号为0表示不讲话,若接收通信报文中语音编号发生了变化,且不为0,则设置该编号语音标志,显然,重复相同的语音,必须中间插入0编号。软件中,按照优先级别查询语音标志,在出现多个语音标志时,优先发出重要的语音。
包括工业显示屏的炼焦生产机车自动化控制系统已经多个工业现场使用,实现了计算机对炼焦生产过程作业机车集中管理控制,达到了作业机车全程自动定位。