机载视频记录系统用于记录飞行中人员、装备的各种信息,在训练、实战中发挥重要作用。为使飞行员及地面指挥人员能够更直观、确切地了解飞行各时刻的状态信息及便于判读,我们为其加装了标识卡系统。记录时可根据需要叠加适当标识,如汉字、图形、实时时钟等信息。
在实际系统设计中,我们选择了富士通(FUJITSU)公司生产的专用字符叠加芯片MB90092,采用AT89C51单片机对其控制;考虑到机载系统的特殊性,我们利用RS-232串行接口通过计算机进行标识卡预先标识的写入、控制设置。整个系统适应性较强,地勤人员可根据不同的任务很方便的进行预先修改,可以显示中文及任意图形。
图1 MB90092的功能框图
图2 系统原理图
图3 主程序流程图
图4 命令帧和数据帧的结构
MB90092芯片简介
MB90092利用外部字库,可以为一路视频(PAL或NTSC)信号叠加文本和图形标识。它提供两种屏幕叠加方法,即主屏和副屏,二者可单独或相互重叠出现在监视器上。由三个引脚(CS 、SCLK、SIN)来进行对外通信。图1为MB90092的功能框图。
本系统中,我们只利用MB90092的主屏显示功能,MB90092主屏显示支持的字符显示点阵为24×32;每个字符可以有不同的颜色,显示容量为12行,每行24个字符或汉字。字体大小控制方式有:标准(24×32点阵)、双倍宽、双倍高、双倍宽×双倍高、四倍宽×四倍高。显示位置控制:可任易设置水平方向和垂直方向的位置,同时可设定行距。有内部视频信号发生器支持NTSC或PAL制式,可选择逐行或隔行扫描方式。
系统工作原理
本系统原理如图2。整个电路的设计以MB90092芯片为核心。需要更改显示标识及显示模式时,由计算机设置好后,通过RS-232接口传给AT89C51;单片机通过系统总线把字符及控制信息写入到FLASH存储器MBM29F040C中。FLASH存储器掉电后信息可以保持,故只在任务改变时重新设置内容;字符写入及单片机设置完成后,受外部信号触发,单片机发出命令,控制MB90092从存储器的相应地址读出标识,叠加到视频信号上。
硬件实现
系统设计分为控制设置、字符存储、字符叠加和实时时钟接口四个相关联的部分。
控制设置部分
包括计算机、AT89C51单片机,它们通过RS-232接口进行通信。主要完成两项任务:
·飞行前需要修改视频标志信息时,计算机通过RS-232接口可以把按给定格式组织的显示命令和修改的字符信息传输给AT89C51,由单片机完成闪存的信息写入。
·飞行时由单片机完成系统的控制,包括90092的配置,闪存中控制命令和字符信息的组织,实时时钟信息的采样,以及控制面板的响应。
字符存储部分
包括FLASH存储器MBM29F040C,存储容量512K×8bit。单片机和90092共用数据总线和地址总线,单片机在进行闪存读写操作时可能干扰90092内部寄存器的初始配置,因此在AT89C51与MBM29F040C、MBM29F040C与MB90092总线间加入隔离器,对地址总线和数据总线进行隔离,其中包括MBM29F040C片选信号CE、读信号RE、写信号WE。单片机控制隔离器使能EN和数据流向DIR。
字符叠加部分
主要为字符叠加芯片MB90092。MB90092支持的字符点阵为24×32,地址线ADR12、ADR13 =00,01,10时分别对应汉字的左、中、右三部分,ADR12ADR13 ="11"时不用;ADR0~ADR4对应每一部分的32个字节。这些地址在MB90092工作时自动寻找,为此, MB90092的地址线ADR0~ADR4,ADR12~ADR13,ADR5~ ADR11,ADR14~ADR18分别与MBM29F040C的地址线A0~A18相连。单片机控制信号包括MB90092片选信号CS、串行数据传输时钟SCLK、串行数据输入SIN、状态控制信号TSC。
实时时钟接口设计
实时时钟选用美国Xicor公司推出的串行时钟芯片X1203,该芯片体积小、功耗低、使用简单、接口容易,双端口时钟和报警寄存器使时钟即使在读写操作期间也能精确工作。X1203采用I2C总线接口,在与AT89C51的接口中我们用P3.2 ,P3.3虚拟I2C总线接口,实现方法简洁。
软件实现
软件设计主要包括两部分:一是对寄存器设置以实现特定的功能;另一个是图像显示控制和字库、寄存器设置命令的实时修改。
寄存器设置
MB90092通过对内部寄存器的设置实现90092复位、字符显示模式、字符寻址、字符叠加的设定。系统设计为可更改模式,故这部分程序放在外部闪存中,在程序运行中可由单片机进行引导和实时修改。
图象显示主流程
标志卡一个很重要的功能就是控制命令和字符数据能实时修改,因此在程序开始就打开串行口,允许接收,程序循环运行过程中,串口有传输请求马上响应,调用修改子程序。由于是机载设备,因此抗干扰必须考虑,在子程序中设定了传输请求标志和校验措施。
90092驱动的一个显著特点是对命令传输次序没有苛刻要求,任一条命令的传输都能及时映射到内部的VRAM区域,并在视频信号的场同步间隔期间完成刷新。因此在主程序流程中扫描功能管脚,调用闪存中的控制命令可以迅速完成标志信息和显示模式的更改。
由于90092刷新较快,因此在每一个程序循环中采样X1023,送到单片机内部设定的寄存器,调用0~9数字完成实时时钟的显示,误差小于0.1秒。
该程序流程(见图3)需要不停的循环对外部信号进行响应和及时的显示,同时完成90092的内部刷新请求。
修改子程序说明
新的寄存器设置命令与字符信息由PC机编制,并按照设定好的协议格式通过RS-232接口传输给单片机,由单片机串行口接收、完成闪存的写入,RS-232电平到TTL电平的转换由MAX232L实现。寄存器设置命令和字符信息总的字节数不是很大,为保证单片机接收信息的准确性,PC机和单片机之间都采用查询方式进行。其传输方式设定如下:
波特率:1200波特/秒
串口模式:2:1位起始位,8位数据位,1位停止位
握手协议:(PC)传输请求标志,5Ah
设定命令帧和数据帧(见图4)结束标志位,传输前标志位都清零,当标志位都为结束标志时,标志命令帧、数据帧传输完毕,单片机完成寄存器的新设置和字符信息的修改。PC机的传输程序也采用查询方式,每传输一个字节就等待单片机操作结束并回传RRDY标志,直到传输结束。
可靠性设计
软硬件看门狗电路设计
为防止程序受干扰而跑飞,电路中设定了硬件看门狗电路,一旦进入非正常程序而不能回到正常状态,则强制硬件复位。在程序设计中也加入了抗干扰措施,主程序每个功能模块设定入口标志,程序在每个功能模块入口处先执行写标志操作,为防止程序失控后破坏相应RAM单元,采用数据冗余和纠错方法,程序复位后首先检查恢复RAM数据,然后根据入口标志确定重新进入对应的程序模块。
命令错误处理
主要针对控制命令和字符数据的修改过程,PC有修改请求时首先必须通过单片机的权限检测。在数据传输过程中,为保证传输有效性,设定单字节数据传输时间上限为3ms,从单片机回传RRDY标志开始,一旦时间超时则终止等待,重新回传RRDY标志。PC机在发送过程中连续收到两次RRDY标志,必须转到传输错误子程序,对传输进行校验。由于控制命令和字符数据总的字节数都为偶数,因此传输结束时,单片机对所接收的字节总数进行校验,如有错误,则作废整个命令和数据信息。
结语
经试用,该标志卡工作可靠,叠加字符图形清晰,时钟显示准确,提高了视频记录系统判读效率。同时MB90092有丰富的显示模式可供选择,具有很好的应用前景和使用价值。
参考文献
1 胡汉才. 单片机原理及系统设计. 北京,清华大学出版社.2002
2 FUJITSU公司.MB90092 DataSheet.2001
3 FUJITSU公司.MBMF29C04 DataSheet. 2002
4 Xicor公司.X1203 DataSheet.2002