《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > MIPS架構的醫院智能導診系統設計

MIPS架構的醫院智能導診系統設計

2017-05-06
關鍵詞: MIPS 導診 SMP8654

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

  基于ARM 架構的低端芯片相比,SMP8654的視頻處理能力更加優越。

  1 基于SMP8654芯片的高清播放器

  1.1 SMP8654硬件介紹

  SMP8654芯片的內部,有一個MIPS 24kf系列的主CPU芯片,工作頻率為500 MHz。在主CPU芯片的內部,具有1個32 KB的指令Cache和1個32 KB的數據Cache、2個可編程計時器以及3個獨立的中斷控制器和2路UART(Universal Asynchronous Receiver/Transmitter)。主CPU 內部采用雙總線結構,G—bus是主總線,CPU通過此總線訪問外部功能單元的各狀態寄存器,而對主CPU芯片內部的中斷控制器、計時器等的訪問是通過將L—bus映射到G—Bus上的方式進行的。主CPU 內部有一個高效的乘除運算單元(Multip1y/Divide Unit)及浮點數運算單元(FPU),還有一個增強的JTAG調試模

  塊,用于調試應用程序及內核代碼 。

  SMP8654芯片內部有一個IPU(Interrupt ProcessingUnit)。這個MIPS 24kf系列的32位處理器專門處理那些需要低延時的應用需求。它主要處理從視頻處理子系統(Video Processing Subsystem)所產生的中斷。它的時鐘頻率為333 MHz,而且還有16 KB的指令Cache和16KB數據Cache。

  SMP8654芯片包含兩個DDR-DRAM 控制器,每一個控制都支持高達512 MB的DDR2內存,這些外部存儲器可以為音頻、視頻以及數據提供緩沖區,并且能存放硬件模塊的臨時數據。

  1.2 SMP8654的視頻及音頻處理

  1.2.1 視頻解碼子系統

  SMP8654的視頻解碼子系統(Video Decoder Subsystern)可以解碼HDSMPTE、H.264、HD WMV9、AVS、MPEG1、MPEG2等視頻格式的視頻文件。SMP8654的視頻解碼系統執行特定解碼算法,它是一種基于處理器和電路邏輯方式的混合架構。能同時解碼的視頻文件數目是由視頻的格式以及所要呈現的分辨率決定的。SMP8654可以支持包括IPTV、AVCHD、MSTV 的視頻解碼要求。視頻處理引擎是一個16位的RISC處理器,視頻解壓算法的密集計算部分是由此部分處理的。

  1.2.2 視頻處理子系統

  視頻處理子系統(Video Processing Subsystem)從內存中檢索圖形和視頻圖像,將這些圖像混合并且縮放至某個顯示器所要求的分辨率并且將其呈現出來。視頻處理子系統可以控制顏色、分辨率以及色彩飽和度,并且能處理視頻數據轉換,選擇視頻的輸出模式(模擬信號的輸出模式包括RGBYPbPr)。視頻處理子系統還有一個2D圖形加速功能模塊。智能導診系統利用此GFX引擎實現了文字和圖片的高清顯示功能。

  1.2.3 音頻處理子系統

  SMP8654芯片的集成音頻處理子系統(Audio Processing Subsystem)是一個為用戶專門設計的32位數字信號處理器,音頻的解碼和操作是由這個專用的DSP處理的。這個DSP工作在333 MHz的時鐘頻率下,指令和數據是分開存儲的,DSP通過系統總線取得指令,通過數據總線獲取需要解碼的音頻數據。和基于ARM 架構的處理器一樣,它有一個32位的指令系統,同時與之對應了一個16位的指令集,通過Load/Store從內存裝載數據到DSP的相關寄存器中進行處理。

  1.2.4 高清播放機硬件架構

  高清播放機硬件架構如圖1所示。高清播放器實現的功能主要包括視頻處理以及圖片文字顯示。硬件架構中的重要部分包括視頻解碼子系統、視頻處理子系統、音頻處理子系統。這里的HDD表示可選的硬盤,通過內部的SATA接口控制。提供對USB2.0協議支持以及802.11n協議的支持,也就是說播放器可以從網絡中讀取各種視頻資源,從硬盤或者是USB等移動盤中獲得數據。視頻處理子系統中的GFX代表的是圖形加速引擎,通過Sigma公司提供的SDK可以很容易地操作這些硬件,實現硬件加速功能。在智能導診系統的軟件部分,介紹了如何利用硬件特性加速文字和圖片的繪制過程。在智能導診系統中,醫院HIS系統中的病人掛號信息通過TCP/IP傳遞到此硬件播放器,然后再由硬件播放器處理,將病人信息排隊到相關隊列中,這樣病人就可以在專門的等候區休息等候了。

  17574203smgg0g14hmq10w.jpg

  2 基于嵌入式Linux和MiniGUI的主控程序

  2.1 嵌入式Linux

  Linux是一個完全免費的開源操作系統,內核可以被裁剪到134 KB左右。Linux是一個能夠適應多種CPU和硬件平臺的操作系統,裁剪之后的Linux系統用于這些設備中執行資源管理、任務調度、存儲空間分配等任務 。嵌入式應用系統的開發一般可以分為如下幾個步驟:交叉編譯工具的建立,Bootloader的編譯和燒寫,編譯內核并移植到開發板,文件系統的編譯和燒寫。交叉編譯是嵌入式系統開發中需要用到的一個常見技術,其主要特征是嵌入式設備上的可執行程序通常是在另外一臺機器上編譯生成的。通常將前者稱為目標機器(Target),后者稱為主機(Host)。主機擁有的資源豐富很適合在上面編譯機器相關的代碼,這種技術為軟件的不同平臺移植創造了便利條件。交叉編譯工具配置在主機(Host)上編譯及配置環境變量后,就可以用來編譯Bootloader、內核和文件系統。Bootloader是一個啟動加載Linux內核的固件程序,有點類似于PC機的BIOS程序,在完成硬件初始化以及內存映射等操作之后,通常會將外部存儲介質上存放的內核鏡像加載到RAM 中,然后跳轉到指定的內存位置執行。

  2.2 M GUl用戶界面

  GUI(Graphical User Interface)是指采用圖形方式顯示的計算機操作用戶界面。系統中所要闡述的高清播放機上需要提供人機交互界面,控制諸如視頻的暫停、播放、文件更新以及播放機的聲音控制和開關機控制等圖形界面。智能導診系統中使用的圖形用戶界面采用的是MiniGUI。MiniGUI是一個跨平臺的面向嵌入式系統的輕量級圖形用戶界面支持系統,可在Linux/ptClinux、eCos、

  “c/os—II、VxWorks、pSOS、ThreadX 等操作系統以及Win32平臺上運行,廣泛應用于手持信息終端、機頂盒、工業控制系統、便攜式多媒體播放器機等產品和領域 。

  3 播放機軟件系統設計

  3.1 智能導診系統的軟件架構

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

  175742w6v6fv99ge68vq8c.jpg

  當MiniGUI接收到MSG_CLOSE消息時,由HWND— DESKTOP向主窗El發送退出消息,至此程序結束,播放機被關閉;當播放機接收到圖片顯示命令時,將命令消息存人到消息隊列中,這里要創建消息隊列是因為MiniGUI在接收到用戶的各種不同命令時,都會將命令解析并且存入到任務隊列中,由任務派發器將任務發送到不同模塊處理。MiniGUI的主程序會根據用戶選擇的視頻及音頻文件,選擇將消息發送到視頻解碼進程處理,當用戶選擇打開某個高清的圖片時,消息隊列中會保留圖片大小、圖片格式、圖片的顯示時間等控制信息。這里要使用任務隊列的原因其實很簡單,分離出播放器的一個個任務,讓不同的軟件服務模塊處理。如果要播放視頻,調度程序會將任務隊列中的視頻播放任務派發給視頻解碼進程處理。如果要使用GFX引擎高效率繪制圖片,則任務被分派到高清圖片處理進程處理。

  智能導診系統服務進程主要負責從醫院HIS信息系統的接口函數中獲得當前病人的掛號信息,并且通過TCP發送到高清播放機上,最后通過MiniGUI的Draw—Text函數將相關病人信息以列表的方式顯示在預先定義的排隊隊列中。這里的視頻解碼進程是獨立的進程,主控程序和此進程的通信是通過Linux的消息隊列機制實現的。消息隊列是一種內核標示,兩個進程之間的交互是通過調用msgsnd和msgrecv這樣的函數實現的,只要兩個進程的消息隊列標識是一致的,進程之間就可以交互 ]。當MiniGUI接收到退出消息時,會向視頻解碼進程發送退出消息,讓視頻解碼進程清空所占用的系統資源。

  SMP8654分層服務模型如圖3所示。最下面的一層是相關硬件,如CPU、視頻解碼器、音頻解碼器、并行I/0接口。中間的一層MRUA (Movimiento rectiline unitormemente acelerado)提供了訪問這些硬件的抽象接口,另外DCC(Decoding Chain Contro1)是通過訪問MRUA的接口實現對視頻播放控制、音頻解碼的操作。最頂層是軟件播放器,可以基于DCC實現網絡流媒體應用,或者定制自己的軟件播放器。

 175743ctma2v6ctntytapu.jpg

  3.2 利用圖形加速引擎優化文字和高清圖片顯示

  DCC是為應用程序提供的編程接口,而MRUA面向底層硬件,為上層的DCC提供硬件抽象和功能接口。在深入理解了DCC是如何控制硬件顯示文字、處理圖片以及播放視頻之后,智能導診系統利用MRUA庫函數直接操作硬件特性,加快字體顯示、圖片處理效率,以及提升視頻播放等各方面性能。DCC提供的多個對象為應用程序完成實際的功能提供函數接口,這些對象包括:

  ① Route。可以將Route理解為某個具體的媒體內容(Content)到硬件視頻混合器(Hardware Video Mixer)的數據通道,它只負責把具體的媒體內容傳送到硬件視頻混合器中。

  ② Surface。可以將Surface理解為視頻對象層(Video Object layer)。視頻信息,屏幕顯示以及字幕組成了一個完整的Content。在每一個Route對象中,通常會存在相同類型的多個Surface對象。

  ③ VideoSource。可以將VideoSource理解為一個專為Surface生成圖片的生產者,這個生成者可能是一個硬件視頻解碼器(Hardware MPEG decoder)。

  ④ AudioMixer。可以將AudioMixer理解為一個類似Route的東西,它代表的也是一個數據通道,只不過它只負責將AudioSource這個音頻生產者生成的音頻幀信息組合成一個輸出。

  ⑤ AudioSource。可以將AudioSource理解為音頻幀的生產者。

  ⑥ DemuxSource。它是一個可分離流,并且將數據發送到視頻、音頻解碼器的一個對象。當然也可以將它理解為一個生成者,負責將流(stream)數據分離出音頻和視頻信息,并發送到相關處理單元處理。

  如圖3所示,流解析器從內存中檢索到與文件有關的信息之后,將數據流分解,然后組包成視頻解碼器以及音頻解碼器所處理的數據,并且交由DSP和Display Engine這樣的設備進行處理。這些都可以由DCC控制,是由MRUA層抽象出的相關硬件功能。只要通過DCC層去控制相關硬件設備,便可以實現圖片和文字的高清顯示。下面將介紹如何通過DCC去控制GFX引擎實現圖片和文字的顯示。

  GFX在圖中沒有畫出,它是某個具體的圖形加速設備。當要播放一個高清的圖片或者繪制文字時,通常要經過幾個步驟:

  RUA 實例初始化,DCC實例初始化,設置圖片的顯示窗口,初始化GFX 引擎,執行繪制,清空資源并退出。下面以偽碼的方式給出其具體實現過程:

  int main(int argc,char*argv[])(

  創建RUA實例;

  創建DCC對象實例;

  初始化圖片的顯示選項;

  初始化視頻的顯示選項;

  初始化播放控制選項;

  從命令行參數獲得欲顯示的文件信息以及圖片、視頻播放控制選項(如果沒有就使用默認值)

  裝載相關硬件單元微碼;

  創建硬件混合器Mixer;

  創建Scaler對象;

  //scaler=EMHWL1B MODULE(DispGFXMultiScaler,O);

  為當前的Mixer對象創建一個關聯Scaler對象的索引;

  初始化GFX引擎;

  設置GFX對象的各通道屬性;

  開始在GFX上投遞繪制請求;

  關閉GFX引擎,并依次關閉DCC實例對象,RUA實例對象;

  }

  結語

  智能導診系統基于MiniGUI和SMP8654的SDK 完成了視頻播放、文字圖片顯示的功能。基MiniGUI的圖形及文字繪制函數,如CreateI ogFont、DrawText、LoadBitmap等的使用以及利用與硬件相關的圖形加速引擎繪制圖片和文件相結合的方式,增加了系統的圖形繪制效果,提升了智能導診系統性能 。

  綜上所述,系統基于MIPS架構設計實現了高清播放機所要完成的視頻播放以及圖片文字顯示功能。通過研究基于MIPS架構下的高清播放機最終選擇了速度比較好的高清播放機芯片SMP8654,使得視頻處理更加穩定,圖片的加速解碼及顯示的速度更快。基于此架構的系統,可以擴展到各種信息發布系統中,如醫院的信息發布系統、車載娛樂系統,具有很好的應用前景。

  參考文獻

  r1]MIPS Technologies INC.MIPS32 4K Processor Core Faro

  ily Software User’S M anual,2002.

  [2]MIPS Technologies INC.MIPS32 Architecture for Program—

  mers[EB/OL].[2011—08].http://www.mips.tom.

  [3]Sigma Designs Documentation:SMP8644/SMP8654 2009 by

  Sigma Designs Inc.

  [4]魏平,夏良正,王巖.Linux體系結構及嵌入式Linux的移植

  方法EJ].東南大學學報:自然科學版,2004(1):126—128.

  [5]北京飛漫軟件技術有限公司.MiniGUI用戶手冊,2007.

  [6]劉崢嶸,張智超,許振山.嵌入式Linux應用開發詳解[M].

  北京:機械工業出版社,2004.

  [7]北京飛漫軟件技術有限公司.MiniGUI編程手冊,2007.


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 91大神大战丝袜美女在线观看 | 欧美极品欧美精品欧美视频 | 亚洲国产欧洲精品路线久久 | 国产原创91 | 日韩中文字幕精品一区在线 | 久久99精品国产免费观看 | 亚洲国产成人久久综合碰 | 精品一区二区三区在线视频 | 欧美三级不卡在线观看视频 | 亚洲2020天天堂在线观看 | 久久精品国内一区二区三区 | 黄色日韩网站 | 精品国产品国语在线不卡丶 | 欧美日韩99 | 国产午夜永久福利视频在线观看 | 性精品| 美女张开腿给人网站 | 一级国产交换配乱淫 | 男女乱淫视频 | 美女福利视频国产 | 精品国产三级v | 成人国产精品免费视频不卡 | 欧美成人性色区 | 亚州成人| 欧美精品一级 | 国产a一级| 欧美一级在线全免费 | 99精品视频在线观看免费播放 | 国产视频三区 | 日本国产精品 | 国产一级一片免费播放i | 亚洲情乱| 韩国good三级在线观看久 | 国产九九精品 | 日本人一级毛片免费视频 | 成人三级网址 | 国产精品自拍在线观看 | 国产日韩在线播放 | chineseoldman色老头videos | 免费黄色成人 | 妖精www成人动漫在线观看 |