• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于FreeRTOS的嵌入式視頻矩陣系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    2023-03-15 08:47:04李佳翔范文兵張真真
    關(guān)鍵詞:下位字節(jié)上位

    李佳翔 范文兵 張真真

    (鄭州大學(xué)信息工程學(xué)院 河南 鄭州 450001)

    0 引 言

    隨著電子技術(shù)的發(fā)展,顯示屏的分辨率越來越高,高分辨顯示屏越來越普及。同時,人民生活水平的提高使得高清視頻普及,同時對高清視頻切換的需求量就增大,視頻切換速度要求提高。

    國外視頻矩陣技術(shù)發(fā)展較早,現(xiàn)在已有4K超高清的視頻矩陣,如Kramer公司的VP- 427UHD,已經(jīng)可以實(shí)現(xiàn)量產(chǎn),另外8K視頻矩陣已經(jīng)在研發(fā)階段。國內(nèi)視頻矩陣起步較晚,但由于需求量大而發(fā)展迅速。國內(nèi)研究視頻矩陣的公司,如北京翌特視訊科技有限公司,也研發(fā)出了4K視頻矩陣HD8168SE,可以實(shí)現(xiàn)4K超高清視頻切換。但是,目前市面上存在的視頻矩陣魚龍混雜,且價格普遍比較昂貴[1]。同時,當(dāng)今社會還是1 920×1 080分辨率的HDMI視頻普及率最高。綜合以上因素,開發(fā)一種經(jīng)濟(jì)實(shí)用的HDMI(High Definition Multimedia Interface,高清晰度多媒體接口)矩陣是非常有必要的。HDMI矩陣[2]完成的功能是接收端接收信號源信號,經(jīng)過芯片的通道選擇,從發(fā)送端將信號送給顯示設(shè)備[3]。本系統(tǒng)采用的切換芯片為國產(chǎn)芯片,故生產(chǎn)成本相對較低,同時又能滿足需求。

    1 視頻矩陣系統(tǒng)總體設(shè)計(jì)方案

    視頻矩陣系統(tǒng)分為上位機(jī)和下位機(jī)兩部分。下位機(jī)部分主要由電源模塊、STM32控制模塊、切換模塊、存儲模塊以及HDMI接口模塊構(gòu)成,上位機(jī)部分主要實(shí)現(xiàn)對下位機(jī)的控制。電源模塊為整個系統(tǒng)供電,上位機(jī)為一個客戶端軟件,通過點(diǎn)擊界面操作向下位機(jī)發(fā)送命令,STM32接收上位機(jī)命令,然后向切換模塊發(fā)送對應(yīng)的數(shù)據(jù),切換模塊根據(jù)命令內(nèi)容做出相應(yīng)操作。系統(tǒng)設(shè)計(jì)框圖如圖1所示。

    圖1 視頻矩陣系統(tǒng)總體模塊圖

    2 視頻矩陣系統(tǒng)硬件模塊設(shè)計(jì)與實(shí)現(xiàn)

    2.1 HDMI接口模塊

    HDMI接口[4]有5種類型,其中Type A類型使用最為廣泛,本系統(tǒng)采用的是Type A類型,目的是讓大多數(shù)設(shè)備直接使用。

    2.1.1HDMI傳輸原理

    HDMI是目前應(yīng)用廣泛的音視頻傳輸協(xié)議[5-6],傳輸基于TMDS(Transition Minimized Differential Signal,最小化傳輸差分信號)協(xié)議。TMDS具有抗干擾性強(qiáng)等優(yōu)點(diǎn)。19針HDMI Type A的各引腳含義如表1所示。

    表1 HDMI Type A引腳含義表

    續(xù)表1

    HDMI工作原理如圖2所示,HDMI包含了四路TMDS差分信號對,其中,前三路TMDS信號傳輸?shù)氖且曨l像素?cái)?shù)據(jù),第四路TMDS傳輸?shù)氖窍袼貢r鐘信號,一個時鐘信號分別在三個TMDS數(shù)據(jù)通道傳輸一個像素的R、G、B(8 bit)信號。19引腳為HPD,用于監(jiān)測有沒有HDMI設(shè)備存在。如果HPD引腳為高電平則代表有設(shè)備接入,為低則代表沒有設(shè)備接入。

    圖2 HDMI工作原理圖

    2.1.2HDMI接口電路設(shè)計(jì)

    HDMI接口電路分為接收端和發(fā)送端兩部分。接收端從信號源接收信號,經(jīng)過切換芯片轉(zhuǎn)換,從發(fā)送端發(fā)送給顯示設(shè)備。

    接收端需要模擬顯示器,將信號源的信號“騙取”過來,傳送給切換芯片。這就用到了EDID技術(shù),在接收端放置一個EDID存儲芯片,模仿顯示器與信號源之間的IIC通信。芯片采用AT24C02,最多可以存儲256個字節(jié)的數(shù)據(jù),EDID最多為256個字節(jié),保證夠用。

    另外,為了防止靜電,以防瞬間電壓過高擊穿電路板,在HDMI端口處增加了ESD(Electro-Static discharge)器件。將每一路TMDS信號的正負(fù)極分別接在ULC0524P引腳上,一個ESD器件可以接兩路TMDS,一路HDMI有4路TMDS,故每個端口處都有兩個ULC0524P,能有效防止靜電擊穿芯片管腳[7]。接收端HDMI電路圖如圖3所示。

    圖3 接收端HDMI電路設(shè)計(jì)圖

    發(fā)送端HDMI電路連接如圖4所示,信號送到顯示屏完成顯示功能。雖然發(fā)送端不需要存儲EDID,但是發(fā)送端需要讀取顯示器的EDID,才能把EDID存入接收端的EEPROM中。所以輸入端的DDC通道與芯片相連。這樣輸入信號源才能根據(jù)EDID信息發(fā)送顯示器支持的最佳分辨率信號。另外發(fā)送端每個端口也接了兩個ESD器件防止靜電擊穿芯片管腳。

    圖4 發(fā)送端HDMI電路設(shè)計(jì)圖

    2.2 STM32控制模塊

    矩陣系統(tǒng)的MCU控制著整個系統(tǒng)邏輯[8],讀入按鍵輸入,控制LCD1602顯示屏輸出,控制芯片切換TMDS信號,控制著顯示屏EDID的讀取與EEPROM中EDID的寫入。控制RS232與NET通信與上位機(jī)通信。上位機(jī)通過NET網(wǎng)口向下位機(jī)發(fā)送數(shù)據(jù),由于網(wǎng)口跟STM32電平不匹配,故需要經(jīng)過網(wǎng)口轉(zhuǎn)串口模塊將網(wǎng)口電平轉(zhuǎn)換為TTL電平發(fā)送給STM32。框圖如圖5所示。

    圖5 主控芯片連接框圖

    2.3 切換模塊

    切換模塊主要是由兩個LT8644芯片完成。LT8644是一種16×16的數(shù)字交叉開關(guān),具有16個TMDS輸入通道和16個TMDS輸出通道。

    HDMI信號分辨率為1 920×1 080,每秒傳輸60幀。一個時鐘周期內(nèi),一個TMDS通道傳輸8位像素信息和兩個控制信息共10位信息。假設(shè)每個像素使用48位色深,即3個16 bit,兩個時鐘內(nèi)傳輸一遍RGB。加上控制信息以后,每個像素包含RGB總和為20×3=60 bit信息。每幀圖像的像素為1 920×1 080=2 073 600,HDMI要求預(yù)留20%空白像素,所以一幀的真實(shí)像素為2 073 600×(1+20%)=2 488 320。最大速率每秒60幀,所以每秒需要傳輸60×2 488 320×60=8 957 952 000位信息,即總速率約為8.958 Gbit,HDMI有三個TMDS通道傳數(shù)據(jù),所以每個通道速率至少為2.986 Gbit/s。而LT8644給定的通道速率至高可以達(dá)到3.4 Gbit/s,完全夠用。

    LT8644芯片通過UPDATE和RESET引腳與STM32連接,完成芯片的復(fù)位功能和更新寄存器功能。通過IIC總線與STM32通信,作為STM32的從機(jī),通過SCL時鐘線和SDA數(shù)據(jù)線通信,從STM32接收數(shù)據(jù)并寫入切換芯片寄存器,寄存器的值改變了以后,執(zhí)行UPDATE操作,芯片就會完成切換動作,如圖6所示。STM32也可以從切換芯片寄存器讀取數(shù)據(jù)來查看芯片狀態(tài)。

    圖6 切換模塊框圖

    2.4 電源模塊

    電源模塊使用的是TPS54302芯片,可利用不同的反饋電阻得到不同的電壓輸出。視頻矩陣的輸入電壓為5 V直流電,LT8644芯片工作電壓需要3.3 V和1.8 V,STM32工作所需電壓為3.3 V。轉(zhuǎn)換電路如圖7所示。TPS54302將5 V直流轉(zhuǎn)換為3.3 V直流,轉(zhuǎn)換為1.8 V的電路圖與之類似,不過是將R502的22.1 kΩ換成49.9 kΩ。

    圖7 電源模塊電路圖

    STM32的3.3 V工作電壓通過LT8644的3.3 V經(jīng)過磁珠隔離后得到,20 MHz帶寬紋波不大于30 mV。電路圖如圖8所示。

    圖8 主控芯片供電圖

    PCB示意圖如圖9所示。

    圖9 硬件電路PCB示意圖

    3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)

    3.1 下位機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)

    3.1.1 下位機(jī)軟件總流程

    視頻矩陣下位機(jī)軟件使用FreeRTOS系統(tǒng),采用了時間片輪轉(zhuǎn)的方式來滿足系統(tǒng)實(shí)時性。設(shè)置兩個任務(wù)優(yōu)先級相同,然后打開系統(tǒng)時間片輪轉(zhuǎn)方式。同時為了增加實(shí)時性,每個任務(wù)后面都增加了一段時延,使得剛執(zhí)行完一個任務(wù)后釋放CPU控制權(quán),讓另一個任務(wù)執(zhí)行。因?yàn)榍袚Q任務(wù)都是人為操作的,所以毫秒級的切換完全是可以滿足實(shí)時性要求的。

    系統(tǒng)上電后,首先需要設(shè)置時鐘、串口,以及各個芯片的初始化狀態(tài)并進(jìn)行初始化。然后將系統(tǒng)也初始化。待初始化完畢,在系統(tǒng)中創(chuàng)建兩個任務(wù)并進(jìn)入任務(wù)調(diào)度函數(shù)。一個任務(wù)用來從串口接收數(shù)據(jù)并且分析數(shù)據(jù)的有效性,若無效則丟棄,有效則存為命令結(jié)構(gòu)。另一個任務(wù)用來解析命令,執(zhí)行所需要的操作。系統(tǒng)就在這兩個任務(wù)中來回切換[9],實(shí)現(xiàn)對視頻矩陣的控制。系統(tǒng)總體流程如圖10所示。

    圖10 系統(tǒng)軟件總流程

    3.1.2 通信協(xié)議的設(shè)計(jì)

    通信協(xié)議的設(shè)計(jì)是完成上位機(jī)與下位機(jī)交互的重要步驟。通信協(xié)議數(shù)據(jù)包的前三個字節(jié)為協(xié)議頭“XG”,協(xié)議頭是數(shù)據(jù)的開始,同時起著分隔命令的作用,只有在收到協(xié)議頭時才可能認(rèn)定為有效數(shù)據(jù)。接下來的一個字節(jié)數(shù)據(jù)為長度,代表內(nèi)容的長度,內(nèi)容的長度1~250個字節(jié)。假設(shè)長度字節(jié)數(shù)據(jù)的值為N,那么再接下來的N個字節(jié)數(shù)據(jù)即為數(shù)據(jù)內(nèi)容,數(shù)據(jù)內(nèi)容中的第一個字節(jié)代表控制命令號,其余的內(nèi)容為自定義內(nèi)容。接下來為最后兩個字節(jié),為數(shù)據(jù)校驗(yàn)和,采用小端序,校驗(yàn)和應(yīng)該等于長度和內(nèi)容按字節(jié)相加所得出的和,如果溢出兩個字節(jié)就舍棄高位。協(xié)議數(shù)據(jù)包格式如表2所示。

    表2 協(xié)議數(shù)據(jù)包格式表 單位:B

    當(dāng)串口接收到的數(shù)據(jù)符合以上協(xié)議時,一個線程將收到的數(shù)據(jù)進(jìn)行處理,去掉數(shù)據(jù)頭和數(shù)據(jù)尾,將有用的內(nèi)容存儲到一個共用的結(jié)構(gòu)體中,以便于另一個線程直接從結(jié)構(gòu)體中讀出數(shù)據(jù)執(zhí)行相應(yīng)的操作。

    3.1.3 存儲功能實(shí)現(xiàn)

    存儲功能是為了存儲視頻矩陣的狀態(tài),以便于在斷電重啟之后可以恢復(fù)以前的狀態(tài)。系統(tǒng)利用片內(nèi)FLASH,將LT8644芯片中的寄存器狀態(tài)讀出,并且存儲在FLASH中。由于FLASH有寫入壽命,如果每次切換都直接存儲,芯片使用壽命短,所以采用等待一段時間的方式去存儲。若一段時間內(nèi)狀態(tài)未改變,STM32讀取LT8644狀態(tài)寫入FLASH以便于下次上電以后恢復(fù)。FLASH是永久存儲器,故不論斷電多久,下次打開矩陣,都可以恢復(fù)到上一次打開的狀態(tài)。

    3.2 上位機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)

    上位機(jī)部分用Delphi[10]做了一個客戶端軟件,軟件有兩個界面:主頁、功能頁。主頁中有切換類型,輸入通道,輸出通道和TCP/IP連接。主頁面如圖11所示,首先,上位機(jī)要跟下位機(jī)輸入相同的IP號和端口號建立TCP連接。接下來選擇輸入通道,輸入通道設(shè)置為單選,一次只能選擇一個輸入,但是可以同時選擇多個輸出,然后點(diǎn)擊切換按鈕,就可以完成一切多的操作。主頁還有一個開啟或關(guān)閉指定輸出通道的功能,先選定輸出,然后點(diǎn)擊關(guān)閉輸出通道按鈕,就可以實(shí)現(xiàn)輸出通道的關(guān)閉。再點(diǎn)擊開啟輸出通道,輸出通道開啟。

    圖11 上位機(jī)主頁圖

    第二個頁面是功能頁面,已完成的功能是讀取某一路輸出端口所接顯示設(shè)備的EDID,然后通過IIC總線寫入輸入接口的EEPROM中。功能頁如圖12所示,輸出只可以選一個,輸入可以多選,之后點(diǎn)讀取按鈕之后上位機(jī)就生成相應(yīng)的命令給下位機(jī),下位機(jī)解析數(shù)據(jù)完成此操作。

    圖12 上位機(jī)功能頁圖

    4 系統(tǒng)測試

    本系統(tǒng)可以實(shí)現(xiàn)RS232串口控制切換,上位機(jī)軟件通過網(wǎng)口控制切換。測試環(huán)境如下:所接輸入1為筆記本電腦輸入,輸入2為臺式機(jī)輸入,一個HDMI顯示屏接輸出1。

    4.1 串口測試結(jié)果

    串口測試使用串口調(diào)試助手給下位機(jī)發(fā)送數(shù)據(jù),串口設(shè)置波特率115 200,數(shù)據(jù)位8位,無校驗(yàn),停止位1位,無硬件流控。上電以后系統(tǒng)初始化完畢,系統(tǒng)在多任務(wù)中切換。電路板運(yùn)行狀態(tài)如圖13所示。

    圖13 視頻矩陣電路板圖

    串口打印數(shù)據(jù)表示顯示系統(tǒng)正在運(yùn)行,發(fā)送數(shù)據(jù)以后,顯示隊(duì)列有一條命令待處理,然后IO Task運(yùn)行解析數(shù)據(jù),如圖14所示。

    圖14 串口測試發(fā)送數(shù)據(jù)圖

    數(shù)據(jù)解析完成后,STM32控制切換芯片更新寄存器,切換芯片完成切換。切換前畫面如圖15所示,屏幕選擇的輸入端口為輸入2。切換后的屏幕顯示畫面從輸入2變?yōu)檩斎?,如圖16所示。

    圖15 串口測試切換前顯示器顯示圖

    圖16 串口測試切換完成后效果圖

    通過以上多次測試得出結(jié)論,視頻矩陣可以準(zhǔn)確快速地完成切換,還可以完成關(guān)閉開啟輸出通道,讀取顯示器EDID功能。視頻矩陣在多數(shù)場合之下對實(shí)時性要求不需要達(dá)到硬實(shí)時。本系統(tǒng)測試多次,從圖17可以看出,數(shù)據(jù)解析任務(wù)時間最壞情況在140-121=19 ms之內(nèi)完成。圖18可以計(jì)算得出,命令執(zhí)行任務(wù)(1 167-824)/(2 884-2 829)=6.2 ms。均可以滿足任務(wù)切換實(shí)時性。

    圖17 數(shù)據(jù)解析任務(wù)占用時間圖

    圖18 命令執(zhí)行任務(wù)占用時間圖

    4.2 網(wǎng)口測試結(jié)果

    上位機(jī)輸入IP與串口助手連接,選擇相同的端口號,點(diǎn)擊連接,左下角顯示已連接,然后選擇輸入輸出通道,點(diǎn)擊切換,串口助手就收到一串?dāng)?shù)據(jù),經(jīng)分析確定正確。多次測試均無誤。故上位機(jī)軟件通過網(wǎng)口測試正確。圖19為上位機(jī)通過網(wǎng)口發(fā)送數(shù)據(jù)用網(wǎng)口助手接收到正確數(shù)據(jù),是在視頻矩陣輸出端口連接的顯示器上截取的。

    圖19 上位機(jī)通過TCP發(fā)送數(shù)據(jù)測試圖

    5 結(jié) 語

    該視頻矩陣實(shí)現(xiàn)了視頻快速切換的目標(biāo),可以完成視頻切換、視頻通道開啟關(guān)閉、顯示器EDID讀寫功能,并且在調(diào)好以后,即使斷電,下次開機(jī)時也能還原上一次的輸入輸出對應(yīng)狀態(tài)。傳統(tǒng)矩陣一般使用按鍵控制,并且價格高昂,可以完成的功能少。本矩陣價格便宜,性能不俗,能完成的功能多,不但能通過RS232串口控制,還可以通過TCP/IP控制。上位機(jī)軟件界面友好,人性化設(shè)計(jì)及布局,操作簡便易上手,通過網(wǎng)絡(luò)控制,使控制方式多樣化。

    猜你喜歡
    下位字節(jié)上位
    No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
    No.10 “字節(jié)跳動手機(jī)”要來了?
    發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
    特斯拉 風(fēng)云之老阿姨上位
    車迷(2018年12期)2018-07-26 00:42:22
    簡談MC7字節(jié)碼
    “三扶”齊上位 決戰(zhàn)必打贏
    基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
    景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
    圍觀黨“下位”,吐槽帝“登基”
    以新思路促推現(xiàn)代農(nóng)業(yè)上位
    河曲县| 阿拉尔市| 宝丰县| 镇坪县| 景泰县| 龙岩市| 河源市| 浦东新区| 措美县| 横山县| 左贡县| 青铜峡市| 轮台县| 勐海县| 安顺市| 渝北区| 金堂县| 县级市| 莫力| 定安县| 万山特区| 罗定市| 昂仁县| 阳春市| 阳朔县| 吉木萨尔县| 乌苏市| 沅陵县| 京山县| 青阳县| 阳原县| 改则县| 平阳县| 晋宁县| 桦甸市| 宣威市| 蒙自县| 铁岭市| 电白县| 杨浦区| 如皋市|