新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于SAA6752HS 的嵌入式視頻監控和傳輸系統的設計

        基于SAA6752HS 的嵌入式視頻監控和傳輸系統的設計

        作者: 時間:2012-04-06 來源:網絡 收藏


        系統軟件設計

        本系統的軟件包括兩大部分,一是硬件驅動程序,二是控制邏輯設計。下面分而述之。

        系統驅動程序設計

        環境下進行的。CCS 界面簡單明了,操作方便,功能強大,大大降低了開發的難度。系統的驅動程序由TMS320VC5502 初始化程序,SAA7114A ,S 和LAN91C111 的配置程序、數字視頻 碼流接收存儲封包程序、 碼流以太網發送程序和系統主控程序等多個模塊組成。圖6 為軟件系統框圖。



        圖6  軟件系統框圖


        TMS32VC5502 的初始化程序完成對‘C5502 的堆棧和運行狀態位,中斷使能位的設置,以及DSP內核頻率的設置。SAA7114 和S 的配置程序通過‘C5502 的I2C 接口完成對其的設置,使其能正常地進行模擬解碼和數字編碼。LAN91C111 的初始化程序完成對該芯片的一些寄存器設置,使其能正常運轉起來。數字視頻 碼流接收存儲封包程序是通過‘C5502 將S 傳過來的數據按照RTP 協議標準打成網絡上的數據包,然后再通過MPEG2碼流以太網發送程序將數據包發送出去。數據傳輸時都是使用的DMA 傳輸方式,這樣可以節省大量的時間,提高系統運行的效率。

        在整個驅動程序設計當中,時序的把握是十分關鍵的。比如SAA7114 的配置程序,當中需要用到I2C 總線,而I2C 總線對時序要求是相當嚴格的,如果在發出START 命令之后,不加上一定的時延,而立即傳送數據,由于DSP 的速度太快,可能會造成前后數據的覆蓋,導致程序出錯。另外,由于系統是進行實時處理的,中斷程序設計是必不可少的。在程序設計時有幾個問題需要注意:

        第一, 當外部中斷信號不穩定時,比如波形前后跳動、毛刺過多等,都有可能造成能檢測到中斷,但無法進入中斷服務程序的情況。

        第二, 若將程序單步執行,這樣會造成仿真器出錯,無法檢測到中斷。

        第三, 在修改兩個中斷矢量指針IVPD 和IVPH 之前,應確信:

        a、禁止所有的可屏蔽中斷( INTM= 1) 。這可以在修改中斷矢量指針,使之指向新中斷矢量之前,防止產生一個可屏蔽中斷。
        b、每個硬件非屏蔽中斷對新舊IVPD 值分別有一個中斷矢量和一個中斷服務程序。這樣在修改IVPD 過程中,產生一個硬件非屏蔽中斷時,可以防止非法指令代碼。

        FPGA 邏輯設計

        該系統中使用了一塊Altera 公司的ACEXEP1K30QC208-3Q 型號的FPGA ,主要利用該FPGA實現SAA6752 與TMS320VC5502 之間的接口。如上SAA6752HS 與TMS320VC5502 的連接圖4 所示,移位寄存器負責將SAA6752HS 輸出的8 位數據方式擴展成32 位寬度,以提高數據的吞吐效率。通過時鐘信號PDIOCLK、有效位信號PDOVAL 和音視頻標志位PDOAV 來控制移位寄存器的工作。FIFO是一個寬度為32 位的緩沖器,TMS320VC5502 通過片選信號CE3 和讀信號ARE/SRE/SDRE 控制對FIFO 數據的讀操作。

        當SAA6752HS 采用傳送流的數據結構時,每讀完4 個數據包(每個數據包為188個字節) , 計數器2 就會產生一次中斷,TMS320VC5502 從FIFO 中讀入這些數據包,完成信道編碼后向網絡上傳輸。FPGA 邏輯正是依據這一思想設計的。為了提升系統的穩定性,避免累積錯誤,該邏輯中采用了一種雙FIFO 輪流切換的方法。在系統開始運行,只往FIFO1 里寫,當寫完4 個數據包,產生一次中斷,通知DSP 來讀數據;接下來,系統自動切換到往FIFO2 里寫,此時DSP 同時在讀FIFO1里的數據,直到往FIFO2 里寫完4 個數據包(由于DSP 讀數據的速度遠遠快于SAA6752 往FIFO 里寫數據的速度,故此時FIFO1 已被讀空) ,便又產生中斷;接下來,DSP 讀FIFO2 里的數據,同時往FIFO1里寫,依次輪流切換。



        圖7  DIO 主模式下輸出傳輸流分組的時序圖


        SAA6752 的輸出采用DIO 主模式,其輸出端口的時序如圖7 所示,每個數據包包含188 個字節,這是MPEG2 傳輸流分組的特性。在MAX+PLUSII 下設計其邏輯,運行正常。

        結束語

        本文針對數字視頻壓縮及網絡傳輸作了較為深入的研究,并針對嵌入式網絡視頻服務器的設計和實現作了初步而有益的探索,其中既有經驗也有教訓。由于時間及其它因素的限制,研究工作留有許多需要完善的地方。Non-PCI 結構網絡接口性能的優化和客戶端軟件的具體實現及形成嵌入式網絡視頻服務器原理樣機是我們下一步的目標。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新乡市| 云阳县| 乳山市| 芒康县| 黎川县| 永嘉县| 乐业县| 莫力| 玉环县| 苍山县| 泸州市| 赫章县| 酉阳| 兴海县| 西贡区| 宁蒗| 太白县| 察雅县| 鄂州市| 鄱阳县| 电白县| 合川市| 舒城县| 宝山区| 玛沁县| 白河县| 和平县| 满洲里市| 淳化县| 赣州市| 金昌市| 大悟县| 高雄市| 平邑县| 加查县| 台北县| 依兰县| 浦东新区| 崇左市| 百色市| 东兴市|