91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 接口電路

利用FPGA平臺解決接口的總線速度瓶頸

發布時間:2008/5/26 0:00:00 訪問次數:700

        

    

    

     

    目前,嵌入式系統已經廣泛應用于通信、消費類電子產品等許多領域。然而,在許多應用中,處理器的接口總線速度成為制約系統性能的瓶頸。本文將以嵌入式實時視頻數據存儲系統為例,說明如何利用fpga作為嵌入式處理器的數據協處理器,利用cpld進行主處理器與協處理器之間數據通信的方案來解決處理器接口總線速度對系統性能的影響。該方案對解決類似的問題具有一定的參考作用。

    1 系統組成

    如圖l所示,系統主要由4部分組成:嵌入式處理器、cpld、fpga及視頻圖像壓縮輸入部分。

    (1)嵌入式處理器

    采用sigma design生產的雙核結構的數字圖像處理芯片em8560。它內嵌arm7 tdmi內核和一個mepg rjsc解碼引擎,支持許多音/視頻解碼標準,如vcd、dvd-video、ac-3.aac以及mp3;支持avi.is0 mpeg-4、divx格式以及靜態jpeg圖像;內置8kb指令cache和8kb數據cache及8kb sram,片外最大支持32位16 m b sdram系統內存和最大16 32位8mb f1ash;i/o接口部分支持標準ide (ata/atapi-4/ultra dma)接口,支持16位地址/數據localbus總線。該總線采用異步方式進行數據傳輸,因此數據傳輸速率低,可靠傳輸1kb數據一般需用時100 us左右。

    (2)fpga與cpld

    采用lattice的cpld和a1tera的cyclone fpga,要求cpld的引腳到引腳延時盡量小,來滿足兩片sdram數據切換的要求。

    (3)視頻圖像壓縮輸入部分

    視頻a/d及編碼部分采用philips公司的saa7114芯片,將輸入模擬信號轉換為itu 656格式數字圖像數據。mpeg.4編碼壓縮部分采用intime公司的ime6400編碼芯片,將數字圖像數據壓縮為mpeg-4的圖像數據輸出。其中ime6400輸出接口有1kb的壓縮數據輸出緩沖區。該緩沖區數據最大保持時間為400 u s,即若在400 u s內不取完緩沖區數據,后來的壓縮編碼數據就會沖掉前面壓縮的數據,造成視頻數據的丟失。

    

    2 系統原理與實現

    為了說明本設計如何利用fpga和cpld來解決慢速總線local bus對擴充系統性能的瓶頸限制,下面將分兩部分來說明。

    (1)local bus總線速度對系統性能的影響

    由圖1中虛線處所示,本系統的設計思想是將多路輸入視頻數據經過壓縮編碼后通過local bus總線輸入到嵌入式處理器em8560的內存中,再從內存寫入ide硬盤上進行存儲。這也是em8560設計的一個主要功能。但是,這種設計由于受到local bus總線速度的制約,一般只能輸入兩路分辨率為d1的數字視頻圖像,要如框圖中增加為4路、8路或更多路數據輸入是不可能的。首先,mpeg-4編碼芯片ime6400的1kb輸出數據緩沖區的數據最多只能保持400 u s時間。400 us時間一到,ime6400將會向緩沖區寫入新的數據;如果舊數據讀不完,就會丟失數據。其次,local bus數據傳輸率低,ime6400通過向em8560發中斷到em8560,通過local bus將ime6400 1kb輸出緩沖區的數據讀入需要100 us時間。最后,由于local bus總線接口內部不具有真正的dma控制器,所以數據的傳輸需要占用處理器cpu的時間。如果em8560正在將內存中數據向硬盤中寫操作,ime6400中斷到來,這時處理器要停止當前的寫硬盤工作,執行中斷處理程序,花100 us左右時間讀入ime6400的編碼數據;如果在這100 us內,又有一片ime6400的編碼數據滿發出中斷,則處理器讀完當前片的數據后又要去讀另一片的數據;如果另一片ime6400在內存中的數據還沒有寫入硬盤,則新數據將會覆蓋原來的數據,造成視頻數據的丟失。同時,如果輸入超過2片,那cpu幾乎都在中斷的觸發下讀數據,無時間寫硬盤,造成視頻數據的丟失,也無時間去做其它的事情,這顯然是不行的。因此,要想用這種設計在400 u s內傳輸4路圖像或更多路圖像數據到em8560內存中是不能實現的。

    (2)解決locai bus總線速度對系統性能的影響

    在嵌入式系統中,處理器外部總線的主要目的是將外部的數據塊輸入到處理器內部緩存中,外部總線速度一般是不會超過處理器訪問它的外存(如sdram)的速度,否則會引起數據內部擁塞而丟失數據。因此,在一些需要傳輸大量數據到處理器內存的嵌入式系統中,能否使從外部輸入到內存的數據以處理器訪問內存的速率在處理器外部直接放入外存呢?答案是肯定的。我們可以通過cpld和fpga來實現,如系統框圖中所示。下面說明這樣實現的方法。 首先,就處理器內

        

    

    

     

    目前,嵌入式系統已經廣泛應用于通信、消費類電子產品等許多領域。然而,在許多應用中,處理器的接口總線速度成為制約系統性能的瓶頸。本文將以嵌入式實時視頻數據存儲系統為例,說明如何利用fpga作為嵌入式處理器的數據協處理器,利用cpld進行主處理器與協處理器之間數據通信的方案來解決處理器接口總線速度對系統性能的影響。該方案對解決類似的問題具有一定的參考作用。

    1 系統組成

    如圖l所示,系統主要由4部分組成:嵌入式處理器、cpld、fpga及視頻圖像壓縮輸入部分。

    (1)嵌入式處理器

    采用sigma design生產的雙核結構的數字圖像處理芯片em8560。它內嵌arm7 tdmi內核和一個mepg rjsc解碼引擎,支持許多音/視頻解碼標準,如vcd、dvd-video、ac-3.aac以及mp3;支持avi.is0 mpeg-4、divx格式以及靜態jpeg圖像;內置8kb指令cache和8kb數據cache及8kb sram,片外最大支持32位16 m b sdram系統內存和最大16 32位8mb f1ash;i/o接口部分支持標準ide (ata/atapi-4/ultra dma)接口,支持16位地址/數據localbus總線。該總線采用異步方式進行數據傳輸,因此數據傳輸速率低,可靠傳輸1kb數據一般需用時100 us左右。

    (2)fpga與cpld

    采用lattice的cpld和a1tera的cyclone fpga,要求cpld的引腳到引腳延時盡量小,來滿足兩片sdram數據切換的要求。

    (3)視頻圖像壓縮輸入部分

    視頻a/d及編碼部分采用philips公司的saa7114芯片,將輸入模擬信號轉換為itu 656格式數字圖像數據。mpeg.4編碼壓縮部分采用intime公司的ime6400編碼芯片,將數字圖像數據壓縮為mpeg-4的圖像數據輸出。其中ime6400輸出接口有1kb的壓縮數據輸出緩沖區。該緩沖區數據最大保持時間為400 u s,即若在400 u s內不取完緩沖區數據,后來的壓縮編碼數據就會沖掉前面壓縮的數據,造成視頻數據的丟失。

    

    2 系統原理與實現

    為了說明本設計如何利用fpga和cpld來解決慢速總線local bus對擴充系統性能的瓶頸限制,下面將分兩部分來說明。

    (1)local bus總線速度對系統性能的影響

    由圖1中虛線處所示,本系統的設計思想是將多路輸入視頻數據經過壓縮編碼后通過local bus總線輸入到嵌入式處理器em8560的內存中,再從內存寫入ide硬盤上進行存儲。這也是em8560設計的一個主要功能。但是,這種設計由于受到local bus總線速度的制約,一般只能輸入兩路分辨率為d1的數字視頻圖像,要如框圖中增加為4路、8路或更多路數據輸入是不可能的。首先,mpeg-4編碼芯片ime6400的1kb輸出數據緩沖區的數據最多只能保持400 u s時間。400 us時間一到,ime6400將會向緩沖區寫入新的數據;如果舊數據讀不完,就會丟失數據。其次,local bus數據傳輸率低,ime6400通過向em8560發中斷到em8560,通過local bus將ime6400 1kb輸出緩沖區的數據讀入需要100 us時間。最后,由于local bus總線接口內部不具有真正的dma控制器,所以數據的傳輸需要占用處理器cpu的時間。如果em8560正在將內存中數據向硬盤中寫操作,ime6400中斷到來,這時處理器要停止當前的寫硬盤工作,執行中斷處理程序,花100 us左右時間讀入ime6400的編碼數據;如果在這100 us內,又有一片ime6400的編碼數據滿發出中斷,則處理器讀完當前片的數據后又要去讀另一片的數據;如果另一片ime6400在內存中的數據還沒有寫入硬盤,則新數據將會覆蓋原來的數據,造成視頻數據的丟失。同時,如果輸入超過2片,那cpu幾乎都在中斷的觸發下讀數據,無時間寫硬盤,造成視頻數據的丟失,也無時間去做其它的事情,這顯然是不行的。因此,要想用這種設計在400 u s內傳輸4路圖像或更多路圖像數據到em8560內存中是不能實現的。

    (2)解決locai bus總線速度對系統性能的影響

    在嵌入式系統中,處理器外部總線的主要目的是將外部的數據塊輸入到處理器內部緩存中,外部總線速度一般是不會超過處理器訪問它的外存(如sdram)的速度,否則會引起數據內部擁塞而丟失數據。因此,在一些需要傳輸大量數據到處理器內存的嵌入式系統中,能否使從外部輸入到內存的數據以處理器訪問內存的速率在處理器外部直接放入外存呢?答案是肯定的。我們可以通過cpld和fpga來實現,如系統框圖中所示。下面說明這樣實現的方法。 首先,就處理器內

相關IC型號

熱門點擊

 

推薦技術資料

耳機放大器
    為了在聽音樂時不影響家人,我萌生了做一臺耳機放大器的想... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
南川市| 连平县| 西青区| 宣汉县| 定结县| 赤水市| 金乡县| 瑞金市| 舞钢市| 买车| 剑阁县| 辽宁省| 喜德县| 普陀区| 商南县| 亳州市| 阿坝县| 泰宁县| 自治县| 微山县| 绵竹市| 神池县| 鸡泽县| 巴塘县| 石楼县| 灵台县| 澜沧| 罗山县| 河南省| 临猗县| 钟山县| 临西县| 聂荣县| 和田县| 修武县| 泰顺县| 铅山县| 四平市| 沐川县| 肥东县| 泸西县|