当前位置:首页 > 工业控制 > 工业控制
[导读]本设计中存储的图像数据所采用的像素位深为3 位,共可显示8种颜色。在实际应用中,可以使用更大的存储器,最终实现256 色图像,乃至真彩色图像的显示。在此设计基础上,通过使用SDRAM 等外部存储器,利用DMA 控制方式,并且配合Altera 的nios 嵌入式软核CPU ,可以在SOPC 开发平台上最终实现兼容SVGA ,TVGA 标准等的更复杂显示控制器。

引言

  VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。利用FPGA 芯片和EDA 设计方法,可以因地制宜,根据用户的特定需要,设计出针对性强的VGA 显示控制器,不仅能够大大降低成本,还可以满足生产实践中不断变化的用户需要,产品的升级换代方便迅速。

  在本设计中采用了Altera 公司的EDA 软件工具Quartus II ,并以ACEX系列FPGA 的器件为主实现硬件平台的设计。

  1 基于FPGA 的VGA 图形控制器系统框图

  根据自顶向下的程序设计思想,采用模块化设计,我们对VGA 图形控制器进行功能分离并按层次设计。利用VHDL 硬件描述语言逐一对每个功能模块进行描述,并逐个通过编译仿真,最后下载到硬件平台调试。本设计的VGA 控制器主要由以下模块组成:VGA 时序控制模块、分频模块、汉字显示模块、图像控制模块、ROM读取模块等,如图1 所示。

  图1  基于FPGA 的VGA 图形控制系统框图

  2  主要功能模块设计

  2. 1 VGA 时序控制模块

  VGA 时序控制模块是整个显示控制器的关键部分,最终的输出信号行、场同步信号必须严格按照VGA 时序标准产生相应的脉冲信号。对于普通的VGA 显示器, 其引出线共含5 个信号: G,R ,B (3 基色信号) ,HS(行同步信号) ,VS(场同步信号) 。在5个信号时序驱动时,VGA 显示器要严格遵循“VGA工业标准”, 即640 Hz ×480 Hz ×60Hz 模式。

  对于VGA 显示器,每个像素点的输出频率为25. 175MHz ,因此采用50MHz 的时钟信号,经过二分频模块,得到25MHz 的输入时钟脉冲。依据VGA 时序标准,行同步信号HS ,行周期为31. 78μs ,每显示行包括800 点,其中640 点为有效显示区,160 点为行消隐区,每行有一个脉冲,该脉冲的低电平宽度为3. 81μs (即96 个脉冲) ; 场同步信号VS ,场周期为16.683ms ,每场有525 行,其中480 行为有效显示行,45 行为场消隐区,每场有一个脉冲,该脉冲的低电平宽度为63μs (2 行)。

  图2 VGA 行扫描、场扫描的时序图

  依据这个标准,把输入的25MHz 时钟脉冲按照对应的像素点数和扫描行数进行分频处理,可以得到最后符合时序要求的行频率和刷新频率。

  利用Altera 公司的QuartusII 软件对VHDL 语言描述的VGA 时序控制模块进行编译、仿真,可得到行同步信号HS , 场同步信号VS 的时序仿真波形,如图3 所示。



图3 时钟信号仿真图

  由仿真结果波形可以看到,行同步信号的时钟周期约为31. 9μs ,场同步信号的时钟周期约为16。

  6ms ,达到了VGA 标准时序的要求,可以为CRT 显示器提供准确的行场同步信号。

  在硬件系统上,通过彩条图案的生成验证了时序生成的正确性,可产生竖彩条、横彩条、棋盘格等多种彩条模式。

  2. 2 汉字显示模块

  汉字生成模块可实现在显示器上显示汉字、字符等。字模信息可以利用字模提取软件来获得,得到了汉字的字模信息后,可以通过屏幕上的横坐标和纵坐标按照字模信息定义像素的颜色,这样就可以显示任何字体、任何点阵的汉字,并根据需要决定汉字在屏幕上的位置。至于英文以及其他任何符号的显示原理与汉字显示的原理一样。

  显示器上显示的汉字精细度取决于显示屏所分网格的数目多少。设计者可以根据不同要求设定不同的网格数目。Altera 公司的FPGA 器件内均内置— 26 —了嵌入式阵列块EAB ,通过调用其中的LPM ROM模块,可任意设置参数,构成内置的ROM存储器,存放所必要的字模信息,能与汉字显示模块配合,显示出任意汉字。

  2. 3 图形显示模块

  2. 3. 1 ROM读取控制模块

  当VGA 显示器要显示一帧图像,需要比较大的数据量,FPGA 芯片内置的ROM 存储器难以满足这么大的数据存储要求,必须把图像数据存入外部的存储器中。

  外部存储器可以有多种选择, 如ROM,、双口RAM、甚至SDRAM 等,采用何种存储器将最终决定读取控制模块的数据读取方式。如ROM 可用直接产生地址信号的方式对芯片进行访问,而SDRAM常常利用DMA 控制方式配合CPU 进行读写操作。

  这里采用型号为28C040 的4M EEPROM 外部存储器,可以在单片内存储整屏图像,同时考虑到存储空间的大小,本设计采用每个像素的颜色位深为3 位,共可显示8 种颜色。此模块最终仿真结果如图4所示。



图4 地址信号仿真图

  由图中的仿真结果可以看到,地址信号每两个时钟脉冲加1 ,而每两个时钟脉冲代表扫描过一个像素点,由此可验证以上设计的正确性。

  2. 3. 2 BMP 图像数据存入ROM

  要把一幅图像的数据写入ROM,首先必须解决的就是写入文件的格式问题。一般的方法是通过编程器把Intel Hex ,或者二进制文件。 bin 逐字节写入ROM。而图像都具有固定的格式,如BMP , JPEG,GIF 等,其中的BMP 格式图像是一种很常见的图像格式,没有经过压缩处理,且文件结构相对简单,易于处理,在本设计中采用了BMP 图像作为研究对象。将BMP 文件直接转化为Intel Hex 文件比较困难,因此可先将BMP 格式文件转化为mif 格式文件,再由Quartus II 直接将mif 文件转化为Intel Hex 文件,最后再将图像数据烧写入ROM中。由于没有现成的转换程序,选择Visual C ++ 自行编写转换程序。

  Memory Initialization File ( . mif) 格式是Quartus II中ROM的初始化数据文件格式,它记录方式比较简单,其中地址和数据都可为十进制或十六进制,冒号左边是地址值,右边是对应的数据,并以分号结尾。

  相对mif 文件,BMP 格式的位图文件稍显复杂,它包括位图文件头结构、位图信息头结构、位图颜色表和位图像素数据四部分。位图文件的保存顺序如下:位图文件头→位图信息头→位图颜色表→位图像素数据。处理位图时要根据文件的这些结构得到位图文件大小、位图的宽、高、实现调色板、得到位图像素值等等。以目前应用较为广泛的24 位真彩色图像为例,其特点是:24 位真彩色图像存储文件中不带有图像颜色表;图像中每一像素由RGB 三个分量组成,每个分量各8 位,每个像素需24 位;颜色分量值f red , f green , f blue 的取值范围都为0 ~ 255。

  对于用到颜色表的位图,图像数据就是该像素颜色在调色板中的索引值。对于真彩色图像,图像数据就是实际的R , G ,B 值,一个像素是由3 个字节24位组成, 前8 位表示B , 中间8 位表示G , 后8 位表示R 。

  由于硬件存储资源的限制,取图像像素的位深为3 ,总共可显示8 种颜色。首先把BMP 图像数据的RGB 分量分别读出,并且各取1 位,即颜色分量值只能取值‘0’或‘1’。针对24 位真彩色图像的特点,可对颜色分量值进行粗略取样,当颜色分量值f red >127 ,取f red = 1 ;反之取f red = 0。同理,颜色分量值f green , f blue 可取得相应的0 ,1二值。

  最后在利用Visual C ++ 编写转换程序时应注意,BMP 文件是从左至右,从下至上排列的,即读文件时,最先读到的是图像最下面一行的左边第一个像素,最后读到的是最上面一行的最右边一个像素,这与VGA 显示器的扫描顺序恰好相反。

  3 结论

  经过硬件平台的验证,基于FPGA 的VGA 图形显示器已达到设计要求,可实现彩条、汉字、小图像和大图像的显示,并可实现FPGA 器件对显示器的单片控制。

  由于受到存储器件容量的限制,本设计中存储的图像数据所采用的像素位深为3 位,共可显示8种颜色。在实际应用中,可以使用更大的存储器,最终实现256 色图像,乃至真彩色图像的显示。在此设计基础上,通过使用SDRAM 等外部存储器,利用DMA 控制方式,并且配合Altera 的nios 嵌入式软核CPU ,可以在SOPC 开发平台上最终实现兼容SVGA ,TVGA 标准等的更复杂显示控制器。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年8月21日,深圳将迎来一场聚焦FPGA技术与产业应用的盛会——2025安路科技FPGA技术沙龙。本次沙龙以“定制未来 共建生态”为主题,汇聚行业...

关键字: FPGA 核心板 开发板

在现代电子系统中,现场可编程门阵列(FPGA)凭借其开发时间短、成本效益高以及灵活的现场重配置与升级等诸多优点,被广泛应用于各种产品领域。从通信设备到工业控制,从汽车电子到航空航天,FPGA 的身影无处不在。为了充分发挥...

关键字: 可编程门阵列 FPGA 数字电源

2025年8月4日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Altera®的Agilex™ 3 FPGA C系列开发套件。此开...

关键字: FPGA 边缘计算 嵌入式应用

内窥镜泛指经自然腔道或人工孔道进入体内,并对体内器官或结构进行直接观察和对疾病进行诊断的医疗设备,一般由光学镜头、冷光源、光导纤维、图像传感器以及机械装置等构成。文章介绍了一款基于两片图像传感器和FPGA组成的微型3D内...

关键字: 微创 3D内窥镜 OV6946 FPGA

运用单片机和FPGA芯片作为主控制器件 , 单片机接收从PC机上传过来的显示内容和显示控制命令 , 通过命令解释和数据转换 , 生成LED显示屏所需要的数据信号和同步的控制信号— 数据、时钟、行同步和面同步 。FPGA芯...

关键字: 单片机 FPGA LED显示屏

在异构计算系统中,ARM与FPGA的协同工作已成为高性能计算的关键架构。本文基于FSPI(Fast Serial Peripheral Interface)四线模式,在150MHz时钟频率下实现10.5MB/s的可靠数据...

关键字: ARM FPGA FSPI

在全球FPGA市场被Xilinx(AMD)与Intel垄断的格局下,国产FPGA厂商高云半导体通过构建自主IP核生态与智能时序约束引擎,走出差异化高端化路径。本文深入解析高云半导体FPGA工具链的两大核心技术——全栈IP...

关键字: FPGA 高云半导体

2025年6月12日,由安路科技主办的2025 FPGA技术沙龙在南京正式召开,深圳市米尔电子有限公司(简称:米尔电子)作为国产FPGA的代表企业出席此次活动。米尔电子发表演讲,并展出米尔基于安路飞龙派的核心板和解决方案...

关键字: FPGA 核心板 开发板

高 I/O、低功耗及先进的安全功能,适用于成本敏感型边缘应用

关键字: FPGA I/O 机器视觉

本文讨论如何为特定应用选择合适的温度传感器。我们将介绍不同类型的温度传感器及其优缺点。最后,我们将探讨远程和本地检测技术的最新进展如何推动科技进步,从而创造出更多更先进的温度传感器。

关键字: 温度传感器 CPU FPGA
关闭