91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用FPGA實(shí)現(xiàn)字符顯示

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2022-02-09 10:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:ALINX

* 本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處。

適用于板卡型號:

AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

實(shí)驗(yàn)Vivado工程為“hdmi_char”。

在HDMI輸出實(shí)驗(yàn)中講解了HDMI顯示原理和顯示方式,本實(shí)驗(yàn)介紹如何使用FPGA實(shí)現(xiàn)字符顯示,通過這個實(shí)驗(yàn)更加深入的了解HDMI的顯示方式。

1. 實(shí)驗(yàn)原理

實(shí)驗(yàn)通過字符轉(zhuǎn)換工具將字符轉(zhuǎn)換為16進(jìn)制coe文件存放到單端口的ROM IP 核中,再從ROM 中把轉(zhuǎn)換后的數(shù)據(jù)讀取出來顯示到HDMI上。

2.程序設(shè)計

字符顯示例程是在HDMI顯示的基礎(chǔ)上增加了一個osd_display的模塊,“osd_display”模塊是用來讀取存儲在Rom ip核里轉(zhuǎn)換后的字符信息,并在指定區(qū)域顯示。程序框圖如下圖所示:

pIYBAGAJbwiABA5_AACDMYqn5qM256.png

2.1 在“timing_gen_xy”模塊是根據(jù)HDMI時序標(biāo)準(zhǔn)定義了“x_cnt”和“y_cnt”兩個計數(shù)器并由這兩個計數(shù)器產(chǎn)生了HDMI顯示的“x”坐標(biāo)和“y”坐標(biāo)。程序中用“vs_edge”和“de_falling”分別表示場同步開始信號和數(shù)據(jù)有效結(jié)束信號。其原理如下圖所示:

o4YBAGAJb4WAPkl1AAA_z3eNx_A049.png

timing_gen_xy模塊端口

2.2 下面介紹如何存儲文字信息的ROMIP,首先需要生成能夠被XILINX FPGA識別的.coe文件。

首先在工程文件夾下找到“FPGA字模提取”工具。

pIYBAGAJb82AGcrLAAACb-XdSDs808.png

雙擊.exe文件打開工具

在提取工具的“字符輸入”框中輸入需要顯示的字符,字體和字符高度可以自定義選擇。設(shè)置完成后點(diǎn)擊“轉(zhuǎn)換”按鈕,在界面左下角可以看到轉(zhuǎn)換后的字符點(diǎn)陣大小,點(diǎn)陣的寬和高在程序中是需要用到

點(diǎn)陣的寬和高這里位144x32,需要跟osd_display程序中定義的一致:

pIYBAGAJcJGALjJZAAACd2FyqGw689.png

點(diǎn)擊“保存”按鈕,將文件保存到本例程源文件目錄下,需要注意的是在保存類型下應(yīng)該選擇Xilinx(*.coe),點(diǎn)擊“保存”按鈕。

找到生成的.coe文件打開后可以看到如下:

o4YBAGAJcQ6AAHDyAAARYbJQeyc512.png

調(diào)用單端口Rom IP核的過程在前面ROM的使用中已經(jīng)介紹過,設(shè)置為Single Port ROM

在PortA Options欄中設(shè)置如下:

按如下圖添加osd.coe文件(找到前面生成的coe文件),完成后點(diǎn)擊“OK”按鈕:

2.3 osd_display模塊包含timing_gen_xy 模塊和osd_rom模塊。osd_rom里存儲的字符數(shù)據(jù),如果數(shù)據(jù)為1,OSD的區(qū)域顯示ROM中的前景紅色(顯示ALINX芯驛),如果數(shù)據(jù)是0,OSD的區(qū)域顯示數(shù)據(jù)為背景色(彩條)。

o4YBAGAJchGAOBWMAAAUSFeMZK4808.png

設(shè)置區(qū)域有效信號,也就是字符顯示在此區(qū)域中,起始坐標(biāo)設(shè)置成(9,9),區(qū)域大小可以根據(jù)字符生成工具設(shè)置的區(qū)域設(shè)置。

pIYBAGAJck-AHimWAAAaMQ9ftS8526.png

在ROM的讀地址部分可能很多人不理解,為什么是[15:3],也就是八個時鐘周期才讀出一個數(shù)據(jù),這是因?yàn)樽址囊粋€點(diǎn)只表示1bit,而ROM的存儲數(shù)據(jù)寬度是8位,因此需要八個周期取出一個數(shù)據(jù),并比較每個bit位的值,將字符一個點(diǎn)轉(zhuǎn)換成圖像上的一個像素。

pIYBAGAJco-Aa47nAAAMJLGS_rE191.png

pIYBAGAJcs2AYy0WAAA3dOkFW5Y690.png

osd_display模塊端口

3.實(shí)驗(yàn)現(xiàn)象

連接好開發(fā)板和顯示器,連接方式參考《HDMI輸出實(shí)驗(yàn)》教程,需要注意,開發(fā)板的各個連接器不要帶電熱插拔,下載好實(shí)驗(yàn)程序,可以看到顯示器顯示以彩條為背景的字符。開發(fā)板作為HDMI輸出設(shè)備,只能通過HDMI顯示設(shè)備來顯示,不要試圖通過筆記本電腦的HDMI接口來顯示,因?yàn)楣P記本也是輸出設(shè)備。

默認(rèn)字符顯示的位置在坐標(biāo)為(9,9),另外用戶可以修改下面的pos_y和pos_x的判斷條件將字符顯示在顯示屏的任意位置:

o4YBAGAJc0qAbiR9AAAKp6OGA3E495.png

審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22412

    瀏覽量

    636418
  • HDMI
    +關(guān)注

    關(guān)注

    34

    文章

    1899

    瀏覽量

    160579
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    打開工程后工程中的字體沒有顯示,如字符串,數(shù)字等控件不能預(yù)覽顯示字體?

    打開工程后工程中的字體沒有顯示,如字符串,數(shù)字等控件不能預(yù)覽顯示字體?
    發(fā)表于 02-25 17:39

    基于AMD FPGA的HDMI2.1接口實(shí)現(xiàn)

    隨著超高清視頻與高幀率顯示需求的提升,大帶寬視頻接口被廣泛應(yīng)用,其中HDMI是使用最廣泛的音視頻傳輸接口。AMD?FPGA憑借其高性能的邏輯資源和穩(wěn)定的高速串行接口,可以幫助用戶輕松實(shí)現(xiàn)
    的頭像 發(fā)表于 02-12 17:18 ?6317次閱讀
    基于AMD <b class='flag-5'>FPGA</b>的HDMI2.1接口<b class='flag-5'>實(shí)現(xiàn)</b>

    字符串控件與靜態(tài)字符串控件中預(yù)覽字符顯示亂碼,如何修改顯示正常?

    字符串控件與靜態(tài)字符串控件中預(yù)覽字符顯示亂碼,如何修改顯示正常?
    發(fā)表于 01-20 17:17

    字符串關(guān)聯(lián)數(shù)字變量如何使用?我們的地址都是16位數(shù)據(jù),可以使用16位數(shù)字變量顯示字符串嗎?

    字符串關(guān)聯(lián)數(shù)字變量如何使用?我們的地址都是16位數(shù)據(jù),可以使用16位數(shù)字變量顯示字符串嗎?
    發(fā)表于 12-15 08:24

    如何用FPGA控制ADV7513實(shí)現(xiàn)HDMI畫面顯示和音頻播放

    HDMI接口顯示使用DMT時序+TMDS編碼來實(shí)現(xiàn)。當(dāng)用FPGA控制HDMI的數(shù)據(jù)傳輸時,通??梢圆捎眉僐TL實(shí)現(xiàn)TMDS算法或者使用專門的HDMI芯片(如ADV7513)這兩種方案來
    的頭像 發(fā)表于 12-02 11:05 ?6814次閱讀
    如何用<b class='flag-5'>FPGA</b>控制ADV7513<b class='flag-5'>實(shí)現(xiàn)</b>HDMI畫面<b class='flag-5'>顯示</b>和音頻播放

    MS6460國產(chǎn)OSD字符疊加芯片

    OSD是一種用于監(jiān)控系統(tǒng)中在視頻畫面疊加字符信息的電子設(shè)備,主要應(yīng)用于銀行、電梯、交通、收費(fèi)站等場所,實(shí)現(xiàn)位置、時間、狀態(tài)等信息的可視化記錄。MS6460是國產(chǎn)品牌:杭州瑞盟科技產(chǎn)品簡述MS6460
    發(fā)表于 11-28 11:05

    如何使用FPGA實(shí)現(xiàn)SRIO通信協(xié)議

    本例程詳細(xì)介紹了如何在FPGA實(shí)現(xiàn)Serial RapidIO(SRIO)通信協(xié)議,并通過Verilog語言進(jìn)行編程設(shè)計。SRIO作為一種高速、低延遲的串行互連技術(shù),在高性能計算和嵌入式系統(tǒng)中廣
    的頭像 發(fā)表于 11-12 14:38 ?5771次閱讀
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>SRIO通信協(xié)議

    如何利用Verilog HDL在FPGA實(shí)現(xiàn)SRAM的讀寫測試

    本篇將詳細(xì)介紹如何利用Verilog HDL在FPGA實(shí)現(xiàn)SRAM的讀寫測試。SRAM是一種非易失性存儲器,具有高速讀取和寫入的特點(diǎn)。在FPGA實(shí)現(xiàn)SRAM讀寫測試,包括設(shè)計SRA
    的頭像 發(fā)表于 10-22 17:21 ?4349次閱讀
    如何利用Verilog HDL在<b class='flag-5'>FPGA</b>上<b class='flag-5'>實(shí)現(xiàn)</b>SRAM的讀寫測試

    如何用FPGA實(shí)現(xiàn)4K視頻的輸入輸出與處理

    在游戲、影視和顯示領(lǐng)域,4K 已經(jīng)成為標(biāo)配。而今天,我們就來聊聊——如何用 FPGA 實(shí)現(xiàn) 4K 視頻的輸入輸出與處理。
    的頭像 發(fā)表于 10-15 10:47 ?2131次閱讀
    如何用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>4K視頻的輸入輸出與處理

    基于FPGA實(shí)現(xiàn)FOC算法之PWM模塊設(shè)計

    哈嘍,大家好,從今天開始正式帶領(lǐng)大家從零到一,在FPGA平臺上實(shí)現(xiàn)FOC算法,整個算法的框架如下圖所示,如果大家對算法的原理不是特別清楚的話,可以先去百度上學(xué)習(xí)一下,本教程著重介紹實(shí)現(xiàn)過程,弱化原理的介紹。那么本文將從PWM模塊
    的頭像 發(fā)表于 07-17 15:21 ?3501次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>FOC算法之PWM模塊設(shè)計

    基于Matlab與FPGA的雙邊濾波算法實(shí)現(xiàn)

    前面發(fā)過中值、均值、高斯濾波的文章,這些只考慮了位置,并沒有考慮相似度。那么雙邊濾波來了,既考慮了位置,有考慮了相似度,對邊緣的保持比前幾個好很多,當(dāng)然實(shí)現(xiàn)上也是復(fù)雜很多。本文將從原理入手,采用Matlab與FPGA設(shè)計實(shí)現(xiàn)雙邊
    的頭像 發(fā)表于 07-10 11:28 ?4561次閱讀
    基于Matlab與<b class='flag-5'>FPGA</b>的雙邊濾波算法<b class='flag-5'>實(shí)現(xiàn)</b>

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計中,計劃實(shí)現(xiàn)對文件的壓縮及解壓,同時優(yōu)化壓縮中所涉及的信號處理和計算密集型功能,實(shí)現(xiàn)對其的加速處理。本設(shè)計的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA實(shí)現(xiàn)該算法時,可
    的頭像 發(fā)表于 07-10 11:09 ?2398次閱讀
    基于<b class='flag-5'>FPGA</b>的壓縮算法加速<b class='flag-5'>實(shí)現(xiàn)</b>

    凡億Allegro Skill字符功能-添加中文字符

    、產(chǎn)品型號、或者是PCB設(shè)計文件的版本號等信息。由于無法直接使用Allegro軟件內(nèi)“Add”菜單欄中的放置“Text”功能來實(shí)現(xiàn)這一需求,因此,我們不得不尋找其他的解決方案。凡億開發(fā)的FanySkill腳本提供了一個非常實(shí)用的功能,即“添加中文字符”功能。通過這
    的頭像 發(fā)表于 07-01 11:52 ?2566次閱讀
    凡億Allegro Skill<b class='flag-5'>字符</b>功能-添加中文<b class='flag-5'>字符</b>

    飛凌嵌入式ElfBoard ELF 1板卡-字符驅(qū)動之字符驅(qū)動描述

    字符驅(qū)動是一種在Linux內(nèi)核中實(shí)現(xiàn)的設(shè)備驅(qū)動程序,用于管理和操作字符設(shè)備。字符設(shè)備是以字符為單位進(jìn)行輸入和輸出的設(shè)備,如終端、串口、打印機(jī)
    發(fā)表于 03-14 09:51

    飛凌嵌入式ElfBoard ELF 1板卡-字符驅(qū)動之字符驅(qū)動描述

    字符驅(qū)動是一種在Linux內(nèi)核中實(shí)現(xiàn)的設(shè)備驅(qū)動程序,用于管理和操作字符設(shè)備。字符設(shè)備是以字符為單位進(jìn)行輸入和輸出的設(shè)備,如終端、串口、打印機(jī)
    發(fā)表于 03-13 09:49