當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]摘要:通過研究基于MIPS架構的SMP8654芯片的硬件架構,并且利用芯片內部的圖形加速引擎GFX的方式實現(xiàn)了具有高清視頻顯示和圖片文字處理功能的播放器。系統(tǒng)以嵌入式Linux和MiniGUI為平臺設計了智能導診系統(tǒng),提高了醫(yī)

摘要:通過研究基于MIPS架構的SMP8654芯片的硬件架構,并且利用芯片內部的圖形加速引擎GFX的方式實現(xiàn)了具有高清視頻顯示和圖片文字處理功能的播放器。系統(tǒng)以嵌入式Linux和MiniGUI為平臺設計了智能導診系統(tǒng),提高了醫(yī)院的導診就醫(yī)的服務效率。智能導診系統(tǒng)能夠播放醫(yī)院相關的健康宣傳資料、專家排班信息。
關鍵詞:MIPS;Linux;MiniGUI;智能導診系統(tǒng)

    MIPS微處理器是指無內部互鎖流水級的處理器,它是由斯坦福大學的Hennessy教授領導的研究小組研制出來的。MIPS微處理器采用RISC(Recluced InstructionSet Computer)的設計原則,只支持有限的機器指令以及簡單的算術指令,通過提供大量的內部寄存器減少內存訪問次數(shù)。MIPS有32個通用寄存器,每個寄存器擁有32位的地址空間。系統(tǒng)通過研究基于MIPS架構的SMP8654芯片,設計和實現(xiàn)了高清播放器的視頻播放以及圖片字體顯示功能。SMP8654解決方案是Sigma公司依據(jù)MIPS設計公司指導的全新設計方案,是Sigma公司專為滿足高清視頻播放應用需求而設計的全新芯片。和基于ARM架構的低端芯片相比,SMP8654的視頻處理能力更加優(yōu)越。

1 基于SMP8654芯片的高清播放器
1.1 SMP8654硬件介紹
    SMP8654芯片的內部,有一個MIPS 24kf系列的主CPU芯片,工作頻率為500 MHz。在主CPU芯片的內部,具有1個32 KB的指令Cache和1個32 KB的數(shù)據(jù)Cache、2個可編程計時器以及3個獨立的中斷控制器和2路UART(Universal Asynchronous Receiver/Transmitter)。主CPU內部采用雙總線結構,G-bus是主總線,CPU通過此總線訪問外部功能單元的各狀態(tài)寄存器,而對主CPU芯片內部的中斷控制器、計時器等的訪問是通過將L-bus映射到G-Bus上的方式進行的。主CPU內部有一個高效的乘除運算單元(Multiply/Divide Unit)及浮點數(shù)運算單元(FPU),還有一個增強的JTAG調試模塊,用于調試應用程序及內核代碼。
    SMP8654芯片內部有一個IPU(Interrupt ProcesslngUnit)。這個MIPS 24kf系列的32位處理器專門處理那些需要低延時的應用需求。它主要處理從視頻處理子系統(tǒng)(Video Processing Subsystem)所產生的中斷。它的時鐘頻率為333 MHz,而且還有16 KB的指令Cache和16KB數(shù)據(jù)Cache。
    SMP8654芯片包含兩個DDR-DRAM控制器,每一個控制都支持高達512 MB的DDR2內存,這些外部存儲器可以為音頻、視頻以及數(shù)據(jù)提供緩沖區(qū),并且能存放硬件模塊的臨時數(shù)據(jù)。
1.2 SMP8654的視頻及音頻處理
1.2.1 視頻解碼子系統(tǒng)
    SMP8654的視頻解碼子系統(tǒng)(Video Decoder Subsystem)可以解碼HDSMPTE、H.264、HD WMV9、AVS、MPEG1、MPEG2等視頻格式的視頻文件。SMP8654的視頻解碼系統(tǒng)執(zhí)行特定解碼算法,它是一種基于處理器和電路邏輯方式的混合架構。能同時解碼的視頻文件數(shù)目是由視頻的格式以及所要呈現(xiàn)的分辨率決定的。SMP8654可以支持包括IPTV、AVCHD、MSTV的視頻解碼要求。視頻處理引擎是一個16位的RISC處理器,視頻解壓算法的密集計算部分是由此部分處理的。
1.2.2 視頻處理子系統(tǒng)
    視頻處理子系統(tǒng)(Video Processing Subsystem)從內存中檢索圖形和視頻圖像,將這些圖像混合并且縮放至某個顯示器所要求的分辨率并且將其呈現(xiàn)出來。視頻處理子系統(tǒng)可以控制顏色、分辨率以及色彩飽和度,并且能處理視頻數(shù)據(jù)轉換,選擇視頻的輸出模式(模擬信號的輸出模式包括RGB、YPbPr)。視頻處理子系統(tǒng)還有一個2D圖形加速功能模塊。智能導診系統(tǒng)利用此GFX引擎實現(xiàn)了文字和圖片的高清顯示功能。
1.2.3 音頻處理子系統(tǒng)
    SMP8654芯片的集成音頻處理子系統(tǒng)(Audio)Processing Subsystem)是一個為用戶專門設計的32位數(shù)字信號處理器,音頻的解碼和操作是由這個專用的DSP處理的。這個DSP工作在333 MHz的時鐘頻率下,指令和數(shù)據(jù)是分開存儲的,DSP通過系統(tǒng)總線取得指令,通過數(shù)據(jù)總線獲取需要解碼的音頻數(shù)據(jù)。和基于ARM架構的處理器一樣,它有一個32位的指令系統(tǒng),同時與之對應了一個16位的指令集,通過Load/Store從內存裝載數(shù)據(jù)到DSP的相關寄存器中進行處理。
1.2.4 高清播放機硬件架構
    高清播放機硬件架構如圖1所示。高清播放器實現(xiàn)的功能主要包括視頻處理以及圖片文字顯示。硬件架構中的重要部分包括視頻解碼子系統(tǒng)、視頻處理子系統(tǒng)、音頻處理子系統(tǒng)。這里的HDD表示可選的硬盤,通過內部的SATA接口控制。提供對USB2.0協(xié)議支持以及802.11n協(xié)議的支持,也就是說播放器可以從網絡中讀取各種視頻資源,從硬盤或者是USB等移動盤中獲得數(shù)據(jù)。視頻處理子系統(tǒng)中的GFX代表的是圖形加速引擎,通過Sigma公司提供的SDK可以很容易地操作這些硬件,實現(xiàn)硬件加速功能。在智能導診系統(tǒng)的軟件部分,介紹了如何利用硬件特性加速文字和圖片的繪制過程。在智能導診系統(tǒng)中,醫(yī)院HIS系統(tǒng)中的病人掛號信息通過TCP/IP傳遞到此硬件播放器,然后再由硬件播放器處理,將病人信息排隊到相關隊列中,這樣病人就可以在專門的等候區(qū)休息等候了。



2 基于嵌入式Linux和MiniGUI的主控程序
2.1 嵌入式Linux
    Linux是一個完全免費的開源操作系統(tǒng),內核可以被裁剪到134 KB左右。Linux是一個能夠適應多種CPU和硬件平臺的操作系統(tǒng),裁剪之后的Linux系統(tǒng)用于這些設備中執(zhí)行資源管理、任務調度、存儲空間分配等任務。嵌入式應用系統(tǒng)的開發(fā)一般可以分為如下幾個步驟:交叉編譯工具的建立,Bootloader的編譯和燒寫,編譯內核并移植到開發(fā)板,文件系統(tǒng)的編譯和燒寫。交叉編譯是嵌入式系統(tǒng)開發(fā)中需要用到的一個常見技術,其主要特征是嵌入式設備上的可執(zhí)行程序通常是在另外一臺機器上編譯生成的。通常將前者稱為目標機器(Target),后者稱為主機(Host)。主機擁有的資源豐富很適合在上面編譯機器相關的代碼,這種技術為軟件的不同平臺移植創(chuàng)造了便利條件。交叉編譯工具配置在主機(Host)上編譯及配置環(huán)境變量后,就可以用來編譯Bootloader、內核和文件系統(tǒng)。Bootloader是一個啟動加載Linux內核的固件程序,有點類似于PC機的BIOS程序,在完成硬件初始化以及內存映射等操作之后,通常會將外部存儲介質上存放的內核鏡像加載到RAM中,然后跳轉到指定的內存位置執(zhí)行。
2.2 MiniGUI用戶界面
    GUI(Graphical User Interface)是指采用圖形方式顯示的計算機操作用戶界面。系統(tǒng)中所要闡述的高清播放機上需要提供人機交互界面,控制諸如視頻的暫停、播放、文件更新以及播放機的聲音控制和開關機控制等圖形界面。智能導診系統(tǒng)中使用的圖形用戶界面采用的是MiniGUI。MiniGUI是一個跨平臺的面向嵌入式系統(tǒng)的輕量級圖形用戶界面支持系統(tǒng),可在Linux/μClinux、eCos、μC/OS-II、VxWorks、pSOS、ThreadX等操作系統(tǒng)以及Win32平臺上運行,廣泛應用于手持信息終端、機頂盒、工業(yè)控制系統(tǒng)、便攜式多媒體播放器機等產品和領域。

3 播放機軟件系統(tǒng)設計
3.1 智能導診系統(tǒng)的軟件架構
    SMP8654為應用開發(fā)提供分層服務架構,軟件系統(tǒng)設計主要根據(jù)SMP8654分層服務模型,找出最優(yōu)化的設計方案。智能導診通過研究DCC的控制邏輯,及Sigma公司的SDK文檔,設計出了如圖2所示的SMP8654高清播放機的軟件系統(tǒng)架構。智能導診系統(tǒng)首先對硬件平臺初始化,接著初始化有線或者無線網絡(這部分主要作用是網絡接口卡初始化操作,日志部分初始化是跟蹤和調試應用程序的重要組成部分);接著創(chuàng)建MiniGUI主窗口,最后進入消息循環(huán)。


    當MiniGUI接收到MSG_CLOSE消息時,由HWNDDESKTOP向主窗口發(fā)送退出消息,至此程序結束,播放機被關閉;當播放機接收到圖片顯示命令時,將命令消息存入到消息隊列中,這里要創(chuàng)建消息隊列是因為MiniGUI在接收到用戶的各種不同命令時,都會將命令解析并且存入到任務隊列中,由任務派發(fā)器將任務發(fā)送到不同模塊處理。MiniGUI的主程序會根據(jù)用戶選擇的視頻及音頻文件,選擇將消息發(fā)送到視頻解碼進程處理,當用戶選擇打開某個高清的圖片時,消息隊列中會保留圖片大小、圖片格式、圖片的顯示時間等控制信息。這里要使用任務隊列的原因其實很簡單,分離出播放器的一個個任務,讓不同的軟件服務模塊處理。如果要播放視頻,調度程序會將任務隊列中的視頻播放任務派發(fā)給視頻解碼進程處理。如果要使用GFX引擎高效率繪制圖片,則任務被分派到高清圖片處理進程處理。
    智能導診系統(tǒng)服務進程主要負責從醫(yī)院HIS信息系統(tǒng)的接口函數(shù)中獲得當前病人的掛號信息,并且通過TCP發(fā)送到高清播放機上,最后通過MiniGUI的Draw Text函數(shù)將相關病人信息以列表的方式顯示在預先定義的排隊隊列中。這里的視頻解碼進程是獨立的進程,主控程序和此進程的通信是通過Linux的消息隊列機制實現(xiàn)的。消息隊列是一種內核標示,兩個進程之間的交互是通過調用msgsnd和msgrecv這樣的函數(shù)實現(xiàn)的,只要兩個進程的消息隊列標識是一致的,進程之間就可以交互。當MiniGUI接收到退出消息時,會向視頻解碼進程發(fā)送退出消息,讓視頻解碼進程清空所占用的系統(tǒng)資源。


    SMP8654分層服務模型如圖3所示。最下面的一層是相關硬件,如CPU、視頻解碼器、音頻解碼器、并行I/O接口。中間的一層MRUA(Movim iento rectiline unitormemente acelerado)提供了訪問這些硬件的抽象接口,另外DCC(Decoding Chain Control)是通過訪問MRUA的接口實現(xiàn)對視頻播放控制、音頻解碼的操作。最頂層是軟件播放器,可以基于DCC實現(xiàn)網絡流媒體應用,或者定制自己的軟件播放器。
3.2 利用圖形加速引擎優(yōu)化文字和高清圖片顯示
    DCC是為應用程序提供的編程接口,而MRUA面向底層硬件,為上層的DCC提供硬件抽象和功能接口。在深入理解了DCC是如何控制硬件顯示文字、處理圖片以及播放視頻之后,智能導診系統(tǒng)利用MRUA庫函數(shù)直接操作硬件特性,加快字體顯示、圖片處理效率,以及提升視頻播放等各方面性能。DCC提供的多個對象為應用程序完成實際的功能提供函數(shù)接口,這些對象包括:
    ①Route??梢詫oute理解為某個具體的媒體內容(Content)到硬件視頻混合器(Hardware Video Mixer)的數(shù)據(jù)通道,它只負責把具體的媒體內容傳送到硬件視頻混合器中。
    ②Surface??梢詫urface理解為視頻對象層(Video Object layer)。視頻信息,屏幕顯示以及字幕組成了一個完整的Content。在每一個Route對象中,通常會存在相同類型的多個Surface對象。
    ③VideoSource??梢詫ideoSource理解為一個專為Surface生成圖片的生產者,這個生成者可能是一個硬件視頻解碼器(Hardware MPEG decoder)。
    ④AudioMixer。可以將AudioMixer理解為一個類似Route的東兩,它代表的也是一個數(shù)據(jù)通道,只不過它只負責將AudioSource這個音頻生產者生成的音頻幀信息組合成一個輸出。
    ⑤AudioSource。可以將AudioSource理解為音頻幀的生產者。
    ⑥DemuxSource。它是一個可分離流,并且將數(shù)據(jù)發(fā)送到視頻、音頻解碼器的一個對象。當然也可以將它理解為一個生成者,負責將流(stream)數(shù)據(jù)分離出音頻和視頻信息,并發(fā)送到相關處理單元處理。
    如圖3所示,流解析器從內存中檢索到與文件有關的信息之后,將數(shù)據(jù)流分解,然后組包成視頻解碼器以及音頻解碼器所處理的數(shù)據(jù),并且交由DSP和Display Engine這樣的設備進行處理。這些都可以由DCC控制,是由MRUA層抽象出的相關硬件功能。只要通過DCC層去控制相關硬件設備,便可以實現(xiàn)圖片和文字的高清顯示。下面將介紹如何通過DCC去控制GFX引擎實現(xiàn)圖片和文字的顯示。
    GFX在圖中沒有畫出,它是某個具體的圖形加速設備。當要播放一個高清的圖片或者繪制文字時,通常要經過幾個步驟:RUA實例初始化,DCC實例初始化,設置圖片的顯示窗口,初始化GFX引擎,執(zhí)行繪制,清空資源并退出。下面以偽碼的方式給出其具體實現(xiàn)過程:
    int main(int argc,char*argv[]){
    創(chuàng)建RUA實例;
    創(chuàng)建DCC對象實例;
    初始化圖片的顯示選項;
    初始化視頻的濕示選項;
    初始化播放控制選項;
    從命令行參數(shù)獲得欲顯示的文件信息以及圖片、視頻播放控制選項(如果沒有就使用默認值)
    裝載相關硬件單元微碼;
    創(chuàng)建硬件混合器Mixer;
    創(chuàng)建ScaIer對象;
    //scaler=EMHWLIB_MODULE(DispGFXMultiScaler,0);
    為當前的Mixer對象創(chuàng)建一個關聯(lián)Scaler對象的索引;
    初始化GFX引擎;
    設置GFX對象的各通道屬性;
    開始在GFX上投遞繪制請求;
    關閉GFX引擎,并依次關閉DCC實例對象,RUA實例對象;
    }

結語
    智能導診系統(tǒng)基于MiniGUI和SMP8654的SDK完成了視頻播放、文字圖片顯示的功能?;贛iniGUI的圖形及文字繪制函數(shù),如CreateLog Font、DrawText、LoadBitmap等的使用以及利用與硬件相關的圖形加速引擎繪制圖片和文件相結合的方式,增加了系統(tǒng)的圖形繪制效果,提升了智能導診系統(tǒng)性能。
    綜上所述,系統(tǒng)基于MIPS架構設計實現(xiàn)了高清播放機所要完成的視頻播放以及圖片文字顯示功能。通過研究基于MIPS架構下的高清播放機最終選擇了速度比較好的高清播放機芯片SMP8654,使得視頻處理更加穩(wěn)定,圖片的加速解碼及顯示的速度更快?;诖思軜嫷南到y(tǒng),可以擴展到各種信息發(fā)布系統(tǒng)中,如醫(yī)院的信息發(fā)布系統(tǒng)、車載娛樂系統(tǒng),具有很好的應用前景。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉