HDMI字符显示 —— 基于Genesys2

  • FPGA开发板:Genesys2
  • HDMI显示屏:1280×720
  • 实现功能:按键切换图像显示

字符取模参考:8. vga显示器字符显示 --- 野火FPGA Verilog开发实战指南------基于Altera EP4CE10 征途Pro开发板 文档

功能实现部分参考:

HDMI字符显示实验 --- ZYNQ 7000开发平台FPGA教程 1.0 文档


HDMI时序:

工程结构:

关键代码说明:

①像素坐标计算。检测到video_valid的下降沿时将y_pos加1,检测到场同步上升沿时将y_pos置0:

② 确定显示区域。这里显示区域大小为240x24,共5760个像素点,在ram中为720个字节。点阵大小需要和区域大小一致,假设单个字符点阵大小设置为40*24(英文字符为20*24),则总点阵大小为240x24可以显示12个英文字符:

③ 使用三个ram存储三个不同的字符图像,并将ram_addr除8作为字节地址:

通过状态机实现按键控制字符显示功能:

④ 有效区域内ram地址递增,并将x_pos的低三位(0~7)作为像素/比特地址:

⑤ 从ram_data7到0判断像素数值:


使用ILA观察波形,观察到ram_addr在有效区域内自增,一次持续时间内增加240,共增加24次,在5760处停止:

如图,ram_addr计数到688时(字节地址为86),读出数据为0x60,持续8个时钟周期,osd_x从0递增到7,分别在计数到1和2时检测到ram_data6和ram_data5为1,pixel_R/G/B在下一个周期更新输出:


效果展示:

  1. 按下KEY0显示 Hello,World!:
  1. 按下KEY1显示 HDMI DISPLAY:
  1. 按下KEY2显示 GENESYS2开发 :
相关推荐
星夜离尘5610 小时前
流水线 valid 对齐自检:输入气泡和中途复位怎么测
fpga·systemverilog·流水线·vivado·testbench
星夜离尘561 天前
FPGA实现CRC-8/SMBUS:从参数和位序核对到1041次自检
fpga开发·verilog·fpga·crc
星夜离尘562 天前
FPGA正交编码器非法跳变检测:把16种状态转移和采样边界测清楚
verilog·fpga·编码器
FPGA工程笔记3 天前
从1024点滑动平均到EMA:双路5GS/s ADC Offset校准的FPGA工程实现
fpga·adc·ema·rfsoc·tiadc·offset校准·滑动平均
ACP广源盛139246256733 天前
HDMI2.0 转 DP1.4 桥接方案评估:国产 GSV2125C@ACP 芯片选型笔记
笔记·硬件架构·hdmi·type-c·国产芯片
NamoAmitabha1284 天前
xilinx/MMCM/DRP/使用
fpga·xilinx·mmcm
ACP广源盛139246256735 天前
Type-C 扩展坞方案选型笔记|国产 DP1.2 转 HDMI2.0 桥接芯片 GSV2201D@ACP 评估
开发语言·笔记·硬件架构·硬件工程·hdmi·国产芯片
北城笑笑6 天前
FPGA 55 ,FPGA 行业 2026 发展分析与报告
fpga开发·fpga
FPGA小徐10 天前
通信系统核心技术概念解析
fpga
神电测控12 天前
神电新型PG-RFSOC-27DR/47DR/67DR sbRIO板卡(内置8路上GS/s AD/DA模块,兼容LabVIEW FPGA开发)
labview·fpga·usrp·sdr·神电测控·王电令·rfsoc