一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲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è)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 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)字符顯示,通過這個(gè)實(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è)計(jì)

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

pIYBAGAJbwiABA5_AACDMYqn5qM256.png

2.1 在“timing_gen_xy”模塊是根據(jù)HDMI時(shí)序標(biāo)準(zhǔn)定義了“x_cnt”和“y_cnt”兩個(gè)計(jì)數(shù)器并由這兩個(gè)計(jì)數(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],也就是八個(gè)時(shí)鐘周期才讀出一個(gè)數(shù)據(jù),這是因?yàn)樽址囊粋€(gè)點(diǎn)只表示1bit,而ROM的存儲數(shù)據(jù)寬度是8位,因此需要八個(gè)周期取出一個(gè)數(shù)據(jù),并比較每個(gè)bit位的值,將字符一個(gè)點(diǎn)轉(zhuǎn)換成圖像上的一個(gè)像素。

pIYBAGAJco-Aa47nAAAMJLGS_rE191.png

pIYBAGAJcs2AYy0WAAA3dOkFW5Y690.png

osd_display模塊端口

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

連接好開發(fā)板和顯示器,連接方式參考《HDMI輸出實(shí)驗(yàn)》教程,需要注意,開發(fā)板的各個(gè)連接器不要帶電熱插拔,下載好實(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)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1644

    文章

    22007

    瀏覽量

    616397
  • HDMI
    +關(guān)注

    關(guān)注

    33

    文章

    1823

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    基于易靈思國產(chǎn)FPGA Ti60F225 實(shí)現(xiàn)6目同步1080P實(shí)時(shí)成像系統(tǒng)

    基于FPGA實(shí)現(xiàn)單目的采集,并沒有什么難的。 但基于FPGA,實(shí)現(xiàn)多目的同步采集→存儲→顯示,就不是那么好做了。
    的頭像 發(fā)表于 03-04 12:00 ?1257次閱讀
    基于易靈思國產(chǎn)<b class='flag-5'>FPGA</b> Ti60F225 <b class='flag-5'>實(shí)現(xiàn)</b>6目同步1080P實(shí)時(shí)成像系統(tǒng)

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

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

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

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

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

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

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

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

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

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

    FPGA驅(qū)動AD芯片之實(shí)現(xiàn)與芯片通信

    概述:?利用FPGA實(shí)現(xiàn)AD芯片的時(shí)序,進(jìn)一步實(shí)現(xiàn)與AD芯片數(shù)據(jù)的交互,主要熟悉FPGA對時(shí)序圖的實(shí)現(xiàn),掌握時(shí)序圖轉(zhuǎn)換Verilog硬件描述
    的頭像 發(fā)表于 12-17 15:27 ?1017次閱讀
    <b class='flag-5'>FPGA</b>驅(qū)動AD芯片之<b class='flag-5'>實(shí)現(xiàn)</b>與芯片通信

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

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

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

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

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

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

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

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

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

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

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

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

    labview字符串的四種表示各有什么特點(diǎn)

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

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

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