吴忠躺衫网络科技有限公司

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

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

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

如何使用FPGA實現(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

實驗Vivado工程為“hdmi_char”。

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

1. 實驗原理

實驗通過字符轉(zhuǎn)換工具將字符轉(zhuǎn)換為16進制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時序標準定義了“x_cnt”和“y_cnt”兩個計數(shù)器并由這兩個計數(shù)器產(chǎn)生了HDMI顯示的“x”坐標和“y”坐標。程序中用“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è)置完成后點擊“轉(zhuǎn)換”按鈕,在界面左下角可以看到轉(zhuǎn)換后的字符點陣大小,點陣的寬和高在程序中是需要用到

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

pIYBAGAJcJGALjJZAAACd2FyqGw689.png

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

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

o4YBAGAJcQ6AAHDyAAARYbJQeyc512.png

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

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

按如下圖添加osd.coe文件(找到前面生成的coe文件),完成后點擊“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ū)域中,起始坐標設(shè)置成(9,9),區(qū)域大小可以根據(jù)字符生成工具設(shè)置的區(qū)域設(shè)置。

pIYBAGAJck-AHimWAAAaMQ9ftS8526.png

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

pIYBAGAJco-Aa47nAAAMJLGS_rE191.png

pIYBAGAJcs2AYy0WAAA3dOkFW5Y690.png

osd_display模塊端口

3.實驗現(xiàn)象

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

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

o4YBAGAJc0qAbiR9AAAKp6OGA3E495.png

審核編輯:何安

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

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    606012
  • HDMI
    +關(guān)注

    關(guān)注

    32

    文章

    1734

    瀏覽量

    152394
收藏 人收藏

    評論

    相關(guān)推薦

    字符串在編程中的應(yīng)用實例

    常以字符串的形式出現(xiàn)。例如,在命令行程序中,用戶輸入的命令和參數(shù)都是字符串。 輸出信息 :程序也經(jīng)常需要向用戶顯示信息,這些信息同樣可以以字符串的形式呈現(xiàn)。例如,打印歡迎消息、錯誤提示
    的頭像 發(fā)表于 01-07 15:33 ?150次閱讀

    字符串與字符數(shù)組的區(qū)別

    在編程語言中,字符串和字符數(shù)組是兩種基本的數(shù)據(jù)結(jié)構(gòu),它們都用于存儲和處理文本數(shù)據(jù)。盡管它們在功能上有一定的重疊,但在內(nèi)部表示、操作方式和使用場景上存在顯著差異。 1. 內(nèi)部表示 字符字符
    的頭像 發(fā)表于 01-07 15:29 ?293次閱讀

    字符串反轉(zhuǎn)的實現(xiàn)方式

    在編程中,字符串反轉(zhuǎn)是一個基礎(chǔ)而重要的操作,它涉及到將一個字符串中的字符順序顛倒過來。這個操作在多種編程語言中都有不同的實現(xiàn)方式,本文將探討幾種常見的
    的頭像 發(fā)表于 01-07 15:27 ?205次閱讀

    字符串處理方法 字符串轉(zhuǎn)數(shù)字的實現(xiàn)

    在編程中,將字符串轉(zhuǎn)換為數(shù)字是一個常見的需求。不同的編程語言有不同的方法來實現(xiàn)這一功能。以下是一些常見編程語言中的字符串轉(zhuǎn)數(shù)字的實現(xiàn)方法: Python 在Python中,可以使用內(nèi)置
    的頭像 發(fā)表于 01-07 15:26 ?187次閱讀

    基于FPGA實現(xiàn)圖像直方圖設(shè)計

    簡單,單采用FPGA實現(xiàn)直方圖的統(tǒng)計就稍顯麻煩。若使用Xilinx和Altera的FPGA芯片,可以使用HLS來進行圖像的加速處理。但這暫時不是我的重點。 用C語言實現(xiàn)直方圖統(tǒng)計:u
    的頭像 發(fā)表于 12-24 10:24 ?224次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>圖像直方圖設(shè)計

    基于FPGA實現(xiàn)數(shù)碼管顯示

    本文介紹數(shù)碼管顯示譯碼基本工作原理及Verilog HDL驅(qū)動代碼編寫,進一步熟練掌握FPGA入門基礎(chǔ)知識。
    的頭像 發(fā)表于 10-24 14:44 ?1108次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>數(shù)碼管<b class='flag-5'>顯示</b>

    基于FPGA的LCD1602液晶顯示模塊驅(qū)動設(shè)計

    本文通過以LCD1602液晶顯示模塊為基礎(chǔ),介紹FPGA驅(qū)動LCD1602原理,詳細介紹硬件原理圖設(shè)計及FPGA驅(qū)動LCD1602軟件設(shè)計,通過萬年歷功能綜合實現(xiàn)時鐘功能、LCD160
    的頭像 發(fā)表于 10-24 14:42 ?1711次閱讀
    基于<b class='flag-5'>FPGA</b>的LCD1602液晶<b class='flag-5'>顯示</b>模塊驅(qū)動設(shè)計

    Labview 字符串 不常用功能:快捷才當將字符串設(shè)置為反斜杠(\'\\\')代碼顯示,用于儀器通信

    右鍵單擊字符串常量、顯示控件或輸入控件,從快捷菜單中選擇 **\'\'代碼顯示** ,則LabVIEW將反斜杠()后緊接的字符視作不可顯示
    發(fā)表于 09-06 14:01

    labview字符串如何轉(zhuǎn)換為16進制字符

    在LabVIEW中,將字符串轉(zhuǎn)換為16進制字符串是一個常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時。LabVIEW提供了多種方法來實現(xiàn)這一轉(zhuǎn)換,包括使用內(nèi)置函數(shù)、編寫VI(Virtual
    的頭像 發(fā)表于 09-04 15:54 ?3002次閱讀

    labview中如何實現(xiàn)字符串換行

    1. 字符串換行的基本概念 在LabVIEW中,字符串換行通常指的是在字符串中插入換行符,使得字符串在顯示或輸出時能夠自動換行。這在創(chuàng)建用戶
    的頭像 發(fā)表于 09-04 15:47 ?2026次閱讀

    labview中如何實現(xiàn)字符串選擇輸出

    在LabVIEW中實現(xiàn)字符串選擇輸出是一項常見的任務(wù),它涉及到字符串處理、條件判斷和用戶界面設(shè)計等多個方面。由于LabVIEW是一種圖形化編程語言,其編程方式與傳統(tǒng)的文本編程語言有所不同,因此
    的頭像 發(fā)表于 09-04 15:44 ?1085次閱讀

    labview字符串的四種表示各有什么特點

    字符串控件(String Control) 字符串控件是LabVIEW中用于顯示和編輯字符串的圖形界面元素。它允許用戶在前面板(Front Panel)上輸入
    的頭像 發(fā)表于 09-04 15:40 ?706次閱讀

    基于FPGA的圖像采集與顯示系統(tǒng)設(shè)計

    源和固有的并行處理能力,在數(shù)字信號處理、硬件加速、汽車電子等領(lǐng)域得到了廣泛應(yīng)用。在圖像采集與顯示系統(tǒng)中,FPGA能夠實現(xiàn)高速、并行的數(shù)據(jù)處理,顯著提高系統(tǒng)的實時性和性能。本文設(shè)計了一個基于FP
    的頭像 發(fā)表于 07-17 10:58 ?2075次閱讀

    執(zhí)行menuconfig后顯示的全是字符頁面,怎么解決?

    請問一下,為什么我執(zhí)行完idf.py menuconfig后,顯示的頁面上全都是字符呢? 我的Windows11操作系統(tǒng),在ESP-IDF 5.2 PowerShell頁面下。
    發(fā)表于 06-11 08:47

    FPGA實現(xiàn)的“俄羅斯方塊”游戲系統(tǒng)設(shè)計

    本項目主要在FPGA實現(xiàn)了一個經(jīng)典小游戲“俄羅斯方塊”。本項目基本解決方案是,使用Xilinx Zynq系列開發(fā)板 ZedBoard 作為平臺,實現(xiàn)主控模塊,通過VGA接口來控制屏幕進行顯示
    發(fā)表于 03-28 10:41 ?2078次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>的“俄羅斯方塊”游戲系統(tǒng)設(shè)計
    百家乐庄家出千内幕| 六合彩资料大全| 百家乐官网赌场群| 联众百家乐的玩法技巧和规则| 温州百家乐官网真人网| 百家乐对冲套红利| 百家乐官网破解的办法| 百家乐威尼斯人| 宾阳县| 百家乐输钱的原因| 百家乐官网三多注码法| 百家乐外套| 太阳城百家乐官网的分数| 伯爵百家乐赌场娱乐网规则| 信誉好百家乐官网平台| 威尼斯人娱乐场wnsrdcylcbywz| 赌博百家乐官网的乐趣| 全讯网信息| 红桃K百家乐官网的玩法技巧和规则 | 网上百家乐追杀| 杨公24山分金兼向吉凶| bet365投注| 博E百百家乐的玩法技巧和规则 | 新民市| 水果机破解器多少钱| 属羊的和属猪的做生意| 百家乐官网投注秘笈| 博彩通排名| 丽星百家乐的玩法技巧和规则| 基础百家乐官网的玩法技巧和规则 | 百家乐官网娱乐真人娱乐| 巴马| 大发888扑克合营商| 最新百家乐双面数字筹码| 星河百家乐官网的玩法技巧和规则 | 百家乐看图赢钱| 太阳城百家乐168| 自贡百家乐官网娱乐场开户注册| 宜兰市| 大发888娱乐游戏下载 官方网| 极速百家乐真人视讯|