国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

DSP與數據轉換器協同工作考慮的10大因素

發布時間:2010-9-28 22:55    發布者:eetech
關鍵詞: dsp , 數據轉換器
假設您接到一項工作任務,設計一套由DSPDACADC等模擬器件組成的信號處理系統。如果您考慮到幾個重要因素,工作就會非常簡單。下面就來談談設計工作中應該考慮的這幾個因素。  

詳細了解應用類型  

第一步需要了解應用類型。對于控制型應用,既需要應對突發的大量數據處理情形,也要考慮間歇的閑置狀態;而對于音頻應用,則需要處理連續數據流的能力。了解應用的具體需求將有助于選擇適當的接口和正確的數據讀取方法。

評估系統速率  

第二步需要了解數據采樣的速率。舉例來說,音頻系統可能是一部CD播放機,采樣率為96kHz,也可能是電話語音系統,采樣率僅為8kHz。當然,也可能是其他系統,如ADSL質量測量應用,采樣速率高達10MSPS,或者是稱重應用,每秒只要16次采樣就足夠了,但要求具備較高的分辨率(如24位)。了解此方面信息,將有助于開展下一步工作,即選擇正確的DSP接口。

選擇正確的DSP接口  

了解了應用及速率要求后,就對采用哪種DSP接口有了一定的認識。大多數音頻設備均使用特定類型的串行接口,不過高速應用則要求并行接口。當采樣速率為10MSPS、分辨率 為12位時,如果采用串行接口,其端口的速率要達到120MHz才能從轉換器向DSP發送數據。這一要求大大超過了大多數50MHz串行端口的處理能力。若使用并行接口,則總線上信號交換的頻率為10MHz,速率顯著降低,因此處理起來非常簡單。

在選擇接口時,還要考慮的另一問題就是,并行總線能否滿足所需的數據速率要求,或者說并行總線芯片在滿足程序與系數要求后是否已經達到了滿負荷。如果是的話,不妨考慮在DSP與轉換器之間插入FIFO。  

確定握手模式  

一旦選擇了DSP接口,下一步就要考慮轉換器與DSP之間的握手模式(handshakemode)。大多數轉換器在發出新的數據字之前都會給出某種類型的轉換結束(EOC)信號。處理器使用上述信號的方式有兩種:一是輪詢(poll);二是用其作為中斷。  

使用EOC信號作為中斷具有一定優勢,因為CPU不會被輪詢標記占用,因此在獲得數據前不會打斷CPU的正常工作。不過,如果轉換器等待處理特定的協議來讀取數據,比如轉換器發出轉換結束信號后又需要讀取命令來檢索數據,每個讀取命令都會觸發新的中斷,那么就會造成過多的開銷,得不償失。在這種情況下,輪詢的方法就具有明顯的優勢了。  

如果中斷時延非常重要的話,那么使用輪詢方式就更具優勢。輪詢可確保信號響應速度更快,這比進入中斷服務例程要快得多。如果數據檢索有短暫時隙(narrowtimeslot),那么采用輪詢方式也是有利的。

確定傳輸模式  

下一步就是實際收集數據的工作了。收集數據有兩種方法,各有千秋。第一種方法是采用DSP的DMA(直接存儲器存取)控制器,可使傳輸與轉換器的轉換結束標記同步,并使CPU不用承擔傳輸工作,因為數據陣列的填充是在后臺完成的,傳輸完成后再通知CPU。

不過,這種方法只有在進行直接傳輸的情況下才有效。如果數據轉換器在檢索數據時需要某些復雜的機制,那么DMA就不太有效了。  

在這種情況下,應讓CPU參與傳輸工作。盡管服從特殊的協議相當簡單,但必須使用大量的CPU資源來收集數據。如果中斷率非常高,那么CPU可能很難有時間再去執行數據收集之后的算法了。

是否采用數據猝發  

假設數據轉換器連接至DSP的并行總線,該并行總線在存儲器存取(讀取正在執行的數據)和I/O存取(讀取采樣)之間需要幾個周期的轉換,而且數據轉換速率非常高,因此,轉換常常是必需的,幾乎每次采樣讀取都要進行轉換。  

如果一步就能讀取多個數據字,且不用每次都進行數據總線交換,肯定是非常有價值的。在這種情況下,不妨考慮在數據轉換器與DSP之間采用FIFO。一旦FIFO達到一定的水平即中斷DSP,達到一定數量的數據字一步完成傳輸,這就大大降低了總線轉換的開銷。

針對變量選擇正確的數據類型  

數據轉換器針對所用的數據采用不同的格式。有的使用標準二進制(即無符號二進制)數據類型,有的則采用帶符號的二進制數據類型,這就是問題的復雜所在。如果有一個12位數據轉換器,那么在帶符號二進制數據情況下,如何使用將是一個問題。符號位占據最重要的位置,即第“11”位(這里的起始位是第“0”位)。如果將此數據字賦予“C”變量,寬度為“16”位,那么假定“C”符號位為第“15”位。如果從轉換器讀取的數字為負,那么DSP就不能識別其為負值,因為符號位的位置錯誤。如何解決這一問題呢?第一種方法是在讀取數據時進

行數據位移。不過,這只有在CPU讀取數據時才有可能,因為DMA控制器不可能在傳輸時進行數據位移。另一種方法是在數據塊完全傳輸后在環路中將數據位移至正確的位置。不過這必須使用CPU,并要求額外的MIPS

如果改變連接后轉換器的第“11”位剛好連接至DSP數據總線的第“15”位,那么符號位從首位算起剛好位于正確的位置,這就能實現基于DMA的傳輸,而且也不用再進行數據位移。  

確保處理的是正確數據  

現在,數據已經進入系統,數據字存儲在陣列中,數據大小也合適,于是開始處理數據,但沒有獲得預期的結果,這時需要思考到底出了什么問題。首先應該檢查DSP的高速緩存,DMA傳輸數據進入存儲器時是否啟用高速緩存,在這種情況下,高速緩存很可能保留拷貝的舊數據,并在算法工作中使用它們。如果發生了此類問題,就必需注意高速緩存相關性與轉儲清除問題,或者是存儲新數據的高速緩存區失效。這樣就能確保CPU處理的數據是傳輸完成后的最新數據。

如果用C語言編程應分配易失關鍵字  

在調試嵌入式系統時,采用變量查詢外設的狀態后,發現CPU所用變量值是錯誤的,這時就要思考到底哪里出了問題。先看看下面這個結構:  

unsignedint*pControl=(unsignedint*)0x00COFFEE;file://錯誤  

while(*pControl==0);file://等待一個外部事件  

這里的*pControl指向一個外設。

通過while循環,期望EOC能從“0”轉換為“1”。但在大多數情況下,恐怕得一直等下去,因為編譯器認為它已經完全控制了變量及與其相關的存儲器,只加載*pControl指向的存儲器位置的內容一次,就會對其進行循環測試。但問題在于,由于不會重新讀取存儲器內容,也就不能結束循環。  

解決這一問題的方法就是將*pControl的聲明作一下修改,通知編譯器其指向的存儲器位置可由外部事件修改,而每次使用該變量時都必須重新載入,如下所示:  

volatileunsignedint*pControl=(unsignedint*)0x00COFFEE;file://正確  

while(*pControl==0);file://等待一個外部事件  

確保采樣等距  

如果要在頻域中處理采樣數據,那么還要提到一點:不是所有轉換器都有啟動新轉換的自身時基。在這種情況下,應采用外部時基或DSP定時針(timerpin)。
本文地址:http://m.qingdxww.cn/thread-29863-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一级淫片免费播放 | 免费高清资源黄网站在线观看 | 亚洲高清在线视频 | 亚洲网站色 | 日韩高清在线播放不卡 | 久久青青草原综合伊人 | 国产手机精品一区二区 | 麻豆国内精品久久久久久 | 国产亚洲精aa在线观看不卡 | 成人国产精品一区二区网站 | h视频在线观看免费观看 | 国产精品视频公开费视频 | 国产91麻豆视频 | 欧美高清日韩 | 国产日韩在线播放 | 亚洲最黄视频 | 国产在线一区二区 | 国产欧美日韩免费一区二区 | 四虎永久免费网站免费观看 | 日本无卡视频 | 四虎影视精品 | 亚洲视频男人的天堂 | 在线a久青草视频在线观看g | 黄色一级一毛片 | 大伊香蕉在线观看视频 wap | 欧美性猛交xx免费看 | 欧美一区二区在线视频 | 91精品国产自产在线观看 | 麻豆成人传媒一区二区 | 日本欧美中文字幕 | 亚洲一区中文字幕在线观看 | 欧美片在线视频观看 | 久久午夜羞羞影院免费观看 | 一本大道无香蕉综合在线 | 日韩大片免费观看 | 两个人在线观看视频bd | 精品国产一区二区三区www | 日韩黄色网址 | 欧美日韩精品乱国产 | 亚洲日本中文字幕一本 | 国产成人精品免费 |