APP下载

基于FPGA的数字和模拟信号合成的彩色液晶显示器

2021-02-09张书君周海力

电子产品世界 2021年4期

张书君 周海力

摘 要:本文介绍了一款智能型高速模拟与数字信号合成的液晶显示器。该显示器采用双FPGA作为主控芯片,利用视频解码芯片ADV7180将模拟信号解析为可供液晶屏显示的RGB信号。

关键词:FPGA;ADV7180;模拟与数字信号

0 引言

FPGA技术作为一种新兴的技术,具有静态可重复编程的特性,芯片上包含的资源丰富,能够将庞大的、满足各种需求的、复杂的数字电路以及高性能微处理器整合到一块芯片上实现片上系统(SoC),使得系统的开发周期更短、可靠性更高。

这款同时显示数字和模拟信号的彩色液晶显示器可以将多种字体的彩色中西文、直方图、自由曲线等数字信号和视频模拟信号以叠加的方式显示;将固定显示的内容预先在微机上进行编制,然后将其作为“预置画面”送入机内Flash(闪存)中。另外,开放了与BMP、JPEG等格式图像文件显示与操作相关的命令,极大地提高了二次开发的效率,使显示效果得到更完美的体现。

1 系统概述

1.1 液晶显示器概述

液晶显示器作为科技时代的智慧结晶,为生产生活提供了极大的便利。液晶显示器将各种信号及场景直观地显示在屏幕上,缩短了显示到现场的距离,更能体现信号的各种细节,方便直观地为设计人员的开发提供了更加详细的数据支撑。本文介绍一种新型的液晶显示器,可以根据功能需要显示不同的数字或视频信息,体现出细节信息,将远程的数字或视频信息近距离地显示在眼前,具有很大的实用性。

1.2 FPGA概述

FPGA全称现场可编程门阵列,是一种集成电路芯片,相当于把一个计算机系统集成在一个小的芯片上。本系统采用的FPGA芯片为京微齐力科技有限公司自主研发设计的CME-M5芯片。该芯片功能强大,既具备并行执行程序的特点,又集成了增强型8051 MCU,使得FPGA的硬件性能大幅提高。采用FPGA逻辑设计的外设可以确保电路系统稳定高速运行,嵌入式的8051 MCU又可以为编程开发人员的设计带来便利,非常适合用作液晶显示器的主控芯片[1-2]。

2 系统设计

智能型彩色液晶显示器主要组成部分包括:电源模块、液晶显示模块、RSM232隔离通信模块以及视频转换模块等。如图1所示,加电工作时,首先启动FPGA内的配置程序分配资源,明确两片FPGA(M5)的工作任务。由其中一片FPGA(1)担负解析数字信号指令,负责切换分配显示内存等工作任务。由另一片FPGA(2)处理视频(ADV7810)解码后的数据,根据指令送入FPGA(1)分配的显示内存中,实现视频在指定窗口的显示。

2.1 电源模块

電源系统设计如图2所示,显示器采用外部12 V或24 V电源供电,经过LT3995转换为DC 5 V,DC 5 V用来驱动7英寸液晶屏的背光模块,并经过LM1085转换为DC 3V3;DC 3V3通过TPS71711转换为DC 1V1,然后DC 3V3和DC 1V1共同驱动FPGA芯片。本系统用到两个同一型号的FPGA模块,FPGA_A用来处理视频信息,FPGA_D用来处理数字信息,两个芯片协同工作保证显示器稳定高效地运行;DC 3V3经过LM1117-1V8转换为DC 1V8,然后DC 3V3和DC 1V1共同驱动ADV7180进行模拟视频信号的转换工作[3]。

2.2 基于RSM232的隔离通信模块

数字信号的通信使用致远RSM232,如图3所示,其中C82、C94作为隔离电容使用。R6、R7是防止通信线路串入强干扰所加磁珠或电阻[4]。

2.3 基于ADV7180的模拟视频信号转换模块

视频转换模块如图4所示,IN1、IN2和IN3为模拟视频信号的输入端,通过sma外接模拟摄像头;BF_PPIx、BF_TMRx和LLC_CLK为ADV7180的输出信号,连接到FPGA_A做进一步的信号处理;BF_PFx为IIC总线,连接至FPGA_D用来配置ADV7180[5]。

2.4 显示模块

系统采用群创7英寸液晶屏作为显示终端,分辨率为800×480,采用RGB565信号驱动液晶屏显示。

3 系统软件设计

系统软件的主要任务是实现数字信号以及视频模拟信号在显示屏上的正常显示。上电之后首先进行设备初始化工作,包括液晶显示屏模块、串口模块以及ADV7180视频转换模块的初始化设置;随后进入串口处理数据模块,根据指定通信协议判断串口是否接收到有效数据,如果未接收到有效数据则返回串口数据处理模块,如果接收到有效数据则判断显示模式;根据显示模式来切换液晶显示屏的视频或数字界面,并将串口接收的数据进行必要的处理后显示在界面上的指定位置,到此本次处理结束,开启下一次处理以保证显示信息的实时性[6]。

3.1 ADV7180的初始化

3.2 数据的处理

采用中断方式进行串口接收处理,接收到的数据存放在一个256 B的数据缓冲区中。在处理缓冲区数据时采用状态机的原理,只有当前一个状态完成时才进入下一个状态。缓冲区内经过判断正确的数据放入一个数组中,显示模块调用该数组的内容,这样做可以保证界面信息的实时性,也有效降低了不同模块之间的关联性,增加了程序的稳定性。串口接收,中断处理的流程如图6。

3.3 数字信号和模拟信号叠加处理

模拟信号通过ADV7180芯片和FPGA芯片的协同工作,将其转换为RGB信号保存到SDRAM中,过程如下:首先ADV7180将摄像头输出的视频信号解码后转换为RBT656信号发送给FPGA芯片,进入芯片后首先将RBT656信号解码,同时为了减少视频信号中的干扰,将RBT656信号中的Y信号滤波,滤波后将Cb、Cr和Y信号转换为RGB信号,最后根据解码后的行信号和奇偶场信号将RGB信号通过存储器调度模块写入SDRAM保存起来,完成视频信号的解码过程。根据输入的数字显示信号中的行、场和时钟信号生成地址和读取信号,从SDRAM中读取保存的视频数据,通过叠加模块同数字显示数据叠加后输出,实现显示。按彩色液晶屏像素的排列格式处理完成后的整屏RGB像素数据,可以直接送入液晶屏,实现显示。这一部分在FPGA中完成[1],部分源代码如下:

4 实验及结果分析

对本系统的硬件和软件模块调试成功后,对系统进行整体功能性测试。本文设计的液晶显示器需要实现的功能是:上电后即按照通信协议将接收到的数据包进行解析后按照帧定义进行显示,并可以根据通信协议自动进行数据刷新或者画面切换。实验测试包含数字界面能否正常刷新,数字和视频界面能否正常切换,视频和数字的叠加是否正常和系统运行是否稳定等。表1的数据是系统测试200次的结果以及运行24 h的稳定性结果[1-4,6]。

5 結语

本文提出了一种采用双FPGA处理器、通信模块加ADV7810视频转换的能同时实时显示数字和模拟信号的彩色液晶显示器。该显示器能够实现画面的高速更新,且互不干扰,可以直接使用摄像头,真实还原摄像头的信号,在很多空间狭小不方便进去人员的场合都可以使用。

参考文献:

[1] 魏丽玲,朱平,石永亮.基于FPGA的图像采集与存储系统设计[J].电子技术应用,2015,41(10): 67-69.

[2] 曾声奎.可靠性设计与分析[M].北京:国防工业出版社,2011.

[3] 王兆安,黄俊.电力电子技术[M].北京:机械工业出版社,2003.

[4] 罗映红,张博.传输线端接阻抗对线间串扰的影响研究[J].郑州大学学报(工学版),2009,30(4):120-122.

[5] 朱珍民,沈燕飞,何哲.视频信号处理技术及应用[J].电子技术应用,2008,34(10).

[6] 陆民燕.软件可靠性工程[M].北京:国防工业出版社,2015.