首页 > kyapp官方网站

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

时间: 2024-08-07 13:44:34 |   作者: kyapp官方网站

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

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

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

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

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

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

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

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

  系统上电后,FPGA 通过IIC 总线 进行初始化。初始化模块大致上可以分为IIC 控制模块,IIC 命令模块,ROM 模块。IIC 控制核心是完成数据的串并转换以及将命令转换为IIC 总线的SCL/SDA 信号线的启动、停止、写、应答等具体的时序关系;IIC 命令模块是指IIC 接口间状态的转换以及从ROM 模块中将配置好的数据输出给IIC 控制模块,ROM 模块存储的是FPGA 配置好的ADV7180 的数据。当启动IIC 开始配置时,从ROM 中读取配置的内容送出即可。初始化代码如下:UINT8 adv7180_init(void)

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

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

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

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

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

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

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

上一篇:51单片机实现多级液晶显示中文菜单

下一篇:液晶显示之殇(四)—信号篇