資料介紹
嵌入式設備由于具有硬件可在線配置,實現靈活等特點,使得其應用越來越廣泛。尤其在基于FPGA的硬件系統中應用較多,目前在許多產品中實現了嵌入式網口、嵌入式PCI/PCI-E、嵌入式USB等各種模塊。但在DSP中實現嵌入式設備還比較少,一般DSP都直接集成這些設備模塊,用戶選擇不同型號的DSP芯片以滿足產品應用要求。但對于一些較為特殊的嵌入式設備,DSP也可以實現該功能。
TI公司的DSP芯片C6727B,由于其片內集成dMAX模塊,使得實現嵌入式FIFO成為可能。其實現嵌入式FIFO的本質就是將DSP的片內一段RAM空間設置成FIFO空間,FIFO和外部設備的數據交換由EMIF接口完成。該FIFO的數據讀寫不需要DSP的CPU參與,從而提高整個系統性能,實現數據交換和數據處理的同時進行。本文以dMAX和EMIF接口的數據傳輸為例,介紹嵌入式FIFO的設計、配置及其使用。
dMAX及其結構
dMAX(Dual Data Movement Accelerator,雙向數據傳輸加速器)是TI公司的DSP芯片C6727B特有的一種片內設備。應用dMAX和EMIF(External Memory Interface,外部存儲器接口)可以實現片內RAM、片內和片外設備以及兩個片外設備之間的數據傳輸。dMAX模塊的內部結構如圖1所示。
圖1 dMAX內部結構圖
從圖中可以看出,dMAX主要由事件和中斷處理模塊、事件編碼器、傳輸事件模塊等組成。事件模塊分成高優先級和低優先級兩個相互獨立的模塊,各自有獨立的事件入口和事件參數表,和CPU有獨立的接口。使得dMAX可以同時處理兩個不同的事件。當訪問CPU端口時,MAX0的優先級高,MAX1的優先級低。dMAX能夠通過執行先進的一維、二維與三維數據的存儲器傳輸工作,從而使DSP得以專注于信號處理任務,顯著提高系統性能。適合圖像的子幀提取或者語音信號的子信道提取。
DSP內部的數據交換中心在dMAX的控制下,可以實現片內RAM、EMIF以及HPI接口之間的數據交換。本文介紹在dMAX控制下,實現片內RAM和EMIF接口之間的數據交換。如果DSP采用普通的異步接口方式,數據傳輸需要建立、選通和保持3個階段,最少需要5個EMIF時鐘(建立和保持各1個時鐘,選通3個時鐘)。為了保證通信的可靠性,一般采用10個EMIF時鐘(建立3個時鐘,保持2個時鐘,選通5個時鐘)。而EMIF時鐘最快為133MHz;這樣,采用異步接口的通信速率一般為13.3M×32b/s(采用32位數據總線寬度)。此外,異步接口數據傳輸必須在CPU的參與下,使用指令實現數據搬移。將占用大量的CPU開銷,在很多高速的數據采集和處理中,將降低系統的整體性能。為此,采用dMAX實現嵌入式FIFO數據傳輸克服異步傳輸的缺點,其傳輸采用突發讀寫方式進行,可以連續突發讀寫8個數據,一共只需要20個時鐘,通信速率提高為53.2M×32b/s,提高4倍讀寫速率。還可以采用和DMA后臺運行,這樣將大大降低整個系統數據讀寫的開銷,從而可以實現更加復雜和可靠的算法處理。
嵌入式FIFO設計
嵌入式FIFO的設計主要就是控制FIFO的7個參數。這7個參數分別為基地址、空間大小、空標志、滿標志、錯誤標志、讀指針和寫指針。它們之間的關系如圖2所示。
圖2 FIFO結構示意圖
基地址和空間大小用于規劃出一段內存空間,該內存空間用于FIFO設備,并被FIFO設備保護起來,使得其他設備和程序不能訪問該空間。為了便于操作方便,空間大小一般為2的整數次冪,但不做要求。具體到C6727B型號的DSP,空間大小最大為1M個元素,元素大小可以是8位、16位或者32位數據,不能為其他類型的數據。基地址可以為內存空間的任何一個地址,同樣為了操作方便,一般為空間大小的邊界點。例如,8個元素的FIFO,其基地址一般為XXXXX000b,也就是地址的低3位為0,基地址就肯定為8的整數次。同樣,64個元素的FIFO,其低6位為0。基地址和空間大小的特殊要求避免訪問時的地址跨越多頁問題,可以提高FIFO的訪問速度。
空標志和滿標志用于表示FIFO的存儲狀態。讀指針和寫指針用于表示讀寫的當前地址。錯誤標志表示對FIFO的錯誤操作。當FIFO處于滿標志情況下仍然寫FIFO,或者FIFO處于空標志情況下仍然讀FIFO,FIFO都將終止當前操作,并將錯誤標志置位。
FIFO的寫操作只有一種工作方式,即每次寫一個新的數據,寫指針加1,直到寫滿。而FIFO讀操作有兩種工作方式,分別為標準操作和多階延遲(Multi-tap Delay Transfer)操作。標準操作和寫操作一樣。多階延遲操作一般用于濾波處理,當需要對輸入信號進行濾波處理時候,每次希望從FIFO讀取一段窗口的數據,進行濾波處理,數據窗口仍然只移動一個數據。在標準操作情況下,如果讀取一段窗口的數據,FIFO則將該段窗口的數據全部彈出。多階延遲操作則只彈出一個數據。該操作方法對語音或者AD采樣數據的平滑、FIR等濾波非常適用。需要注意的是,多階延遲操作的數據窗大小需要設置,如果FIFO存儲的數據個數小于數據窗,FIFO則終止當前操作,并給出錯誤標志。
系統硬件結構
C6727B和其他DSP有一個較大的區別,就是C6727B不再提供專門的外部中斷引腳,而是采用GPIO引腳和dMAX配合使用,通過寄存器的設置將GPIO引腳配置成外部中斷引腳。本文為了實現FIFO的實時操作,一旦外設向FIFO寫入數據,即發出中斷信號到DSP的CPU,通知CPU讀取數據。為此,需要使用1個外部中斷引腳,將C6727B的音頻串口的AXR[8]配置成通用的GPIO引腳,并在dMAX中設置成中斷引腳。此時需要將音頻串口的CONFIGMACSP0寄存器設置為0x0001,如圖3所示。此時音頻串口不能再作為普通的音頻口使用,而是配置成IO接口。
TI公司的DSP芯片C6727B,由于其片內集成dMAX模塊,使得實現嵌入式FIFO成為可能。其實現嵌入式FIFO的本質就是將DSP的片內一段RAM空間設置成FIFO空間,FIFO和外部設備的數據交換由EMIF接口完成。該FIFO的數據讀寫不需要DSP的CPU參與,從而提高整個系統性能,實現數據交換和數據處理的同時進行。本文以dMAX和EMIF接口的數據傳輸為例,介紹嵌入式FIFO的設計、配置及其使用。
dMAX及其結構
dMAX(Dual Data Movement Accelerator,雙向數據傳輸加速器)是TI公司的DSP芯片C6727B特有的一種片內設備。應用dMAX和EMIF(External Memory Interface,外部存儲器接口)可以實現片內RAM、片內和片外設備以及兩個片外設備之間的數據傳輸。dMAX模塊的內部結構如圖1所示。
圖1 dMAX內部結構圖
從圖中可以看出,dMAX主要由事件和中斷處理模塊、事件編碼器、傳輸事件模塊等組成。事件模塊分成高優先級和低優先級兩個相互獨立的模塊,各自有獨立的事件入口和事件參數表,和CPU有獨立的接口。使得dMAX可以同時處理兩個不同的事件。當訪問CPU端口時,MAX0的優先級高,MAX1的優先級低。dMAX能夠通過執行先進的一維、二維與三維數據的存儲器傳輸工作,從而使DSP得以專注于信號處理任務,顯著提高系統性能。適合圖像的子幀提取或者語音信號的子信道提取。
DSP內部的數據交換中心在dMAX的控制下,可以實現片內RAM、EMIF以及HPI接口之間的數據交換。本文介紹在dMAX控制下,實現片內RAM和EMIF接口之間的數據交換。如果DSP采用普通的異步接口方式,數據傳輸需要建立、選通和保持3個階段,最少需要5個EMIF時鐘(建立和保持各1個時鐘,選通3個時鐘)。為了保證通信的可靠性,一般采用10個EMIF時鐘(建立3個時鐘,保持2個時鐘,選通5個時鐘)。而EMIF時鐘最快為133MHz;這樣,采用異步接口的通信速率一般為13.3M×32b/s(采用32位數據總線寬度)。此外,異步接口數據傳輸必須在CPU的參與下,使用指令實現數據搬移。將占用大量的CPU開銷,在很多高速的數據采集和處理中,將降低系統的整體性能。為此,采用dMAX實現嵌入式FIFO數據傳輸克服異步傳輸的缺點,其傳輸采用突發讀寫方式進行,可以連續突發讀寫8個數據,一共只需要20個時鐘,通信速率提高為53.2M×32b/s,提高4倍讀寫速率。還可以采用和DMA后臺運行,這樣將大大降低整個系統數據讀寫的開銷,從而可以實現更加復雜和可靠的算法處理。
嵌入式FIFO設計
嵌入式FIFO的設計主要就是控制FIFO的7個參數。這7個參數分別為基地址、空間大小、空標志、滿標志、錯誤標志、讀指針和寫指針。它們之間的關系如圖2所示。
圖2 FIFO結構示意圖
基地址和空間大小用于規劃出一段內存空間,該內存空間用于FIFO設備,并被FIFO設備保護起來,使得其他設備和程序不能訪問該空間。為了便于操作方便,空間大小一般為2的整數次冪,但不做要求。具體到C6727B型號的DSP,空間大小最大為1M個元素,元素大小可以是8位、16位或者32位數據,不能為其他類型的數據。基地址可以為內存空間的任何一個地址,同樣為了操作方便,一般為空間大小的邊界點。例如,8個元素的FIFO,其基地址一般為XXXXX000b,也就是地址的低3位為0,基地址就肯定為8的整數次。同樣,64個元素的FIFO,其低6位為0。基地址和空間大小的特殊要求避免訪問時的地址跨越多頁問題,可以提高FIFO的訪問速度。
空標志和滿標志用于表示FIFO的存儲狀態。讀指針和寫指針用于表示讀寫的當前地址。錯誤標志表示對FIFO的錯誤操作。當FIFO處于滿標志情況下仍然寫FIFO,或者FIFO處于空標志情況下仍然讀FIFO,FIFO都將終止當前操作,并將錯誤標志置位。
FIFO的寫操作只有一種工作方式,即每次寫一個新的數據,寫指針加1,直到寫滿。而FIFO讀操作有兩種工作方式,分別為標準操作和多階延遲(Multi-tap Delay Transfer)操作。標準操作和寫操作一樣。多階延遲操作一般用于濾波處理,當需要對輸入信號進行濾波處理時候,每次希望從FIFO讀取一段窗口的數據,進行濾波處理,數據窗口仍然只移動一個數據。在標準操作情況下,如果讀取一段窗口的數據,FIFO則將該段窗口的數據全部彈出。多階延遲操作則只彈出一個數據。該操作方法對語音或者AD采樣數據的平滑、FIR等濾波非常適用。需要注意的是,多階延遲操作的數據窗大小需要設置,如果FIFO存儲的數據個數小于數據窗,FIFO則終止當前操作,并給出錯誤標志。
系統硬件結構
C6727B和其他DSP有一個較大的區別,就是C6727B不再提供專門的外部中斷引腳,而是采用GPIO引腳和dMAX配合使用,通過寄存器的設置將GPIO引腳配置成外部中斷引腳。本文為了實現FIFO的實時操作,一旦外設向FIFO寫入數據,即發出中斷信號到DSP的CPU,通知CPU讀取數據。為此,需要使用1個外部中斷引腳,將C6727B的音頻串口的AXR[8]配置成通用的GPIO引腳,并在dMAX中設置成中斷引腳。此時需要將音頻串口的CONFIGMACSP0寄存器設置為0x0001,如圖3所示。此時音頻串口不能再作為普通的音頻口使用,而是配置成IO接口。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式系統系列叢書-時間觸發嵌入式系統設計模式 0次下載
- 嵌入式軟件配置的分類
- 嵌入式軟件接口怎么測試,嵌入式系統接口測試策略.doc
- 基于FPGA嵌入式硬核的PCIExpress總線接口設計與驗證
- 嵌入式系統及其應用報告
- TMS320C67系列DSP的EMIF與異步FIFO存儲器的接口設計詳細資料介紹 21次下載
- 接口驅動的結構的介紹和嵌入式系統IDE接口驅動設計的關鍵技術的探討 4次下載
- 嵌入式系統接口與案例的分析與設計資料說明 3次下載
- 嵌入式系統教程之嵌入式硬件系統設計與應用實例資料免費下載 54次下載
- 基于C6727B的dMAX的基本結構及軟硬件設計 1次下載
- 嵌入式 FIFO 數據傳輸系統設計方案解析 0次下載
- 基于嵌入式系統的Internet接口開發 11次下載
- 一種嵌入式Internet接口系統
- 嵌入式系統USB接口的研究及設計
- 嵌入式VxWorks網絡協議棧的Mutiplexer接口及其使用方法
- 嵌入式fpga是什么意思 991次閱讀
- 什么是嵌入式系統?嵌入式系統的具體應用 2096次閱讀
- EMIF接口的基本介紹 3537次閱讀
- 基于嵌入式軟件的JNI技術應用解析 1020次閱讀
- 嵌入式FIFO數據傳輸系統詳解 4141次閱讀
- 構建eCos嵌入式系統的步驟教程 3821次閱讀
- 通過EMIF接口控制各種芯片的復雜系統設計實現 1.2w次閱讀
- 嵌入式操作系統是什么_嵌入式操作系統有哪些 2w次閱讀
- 嵌入式常用接口協議 5665次閱讀
- 嵌入式接口保護設計方案 813次閱讀
- 必讀:嵌入式系統基礎及知識及接口技術總結 2062次閱讀
- 基于EMIF接口的DSP控制系統設計 5799次閱讀
- 基于嵌入式技術的智能儀器觸摸屏接口設計 2731次閱讀
- 基于DSP的嵌入式系統人機接口設計 1260次閱讀
- 基于DSP-dMAX的嵌入式FIFO數據傳輸系統設計 642次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多