• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > 模擬對數字:架起ADC到處理器的橋梁

    模擬對數字:架起ADC到處理器的橋梁

    作者: 時間:2013-05-25 來源:網絡 收藏

    作為一個世界的后裔,我經常可以在走廊上聽到些評論,關于設計師多么不理解問題。設計師們也毫不留情地批評集成電路設計師。這兩個陣營涇渭分明,除非參與者們打破界限,一起進入混合信號領域的研究。

      對典型的模擬精神,不是所有轉換器都用相同的數據格式。一些轉換器用無符號二進制數類型,其他轉換器使用有符號二進制補碼數據。甚至更復雜的問題,轉換器輸出12位或是14位數據,還有16位輸出。還有另一種24位Δ-Σ轉換器技術。

      先不管這些模擬設計結果的目的。對于這些轉換器而言,最低有效位的位置是這些8位、16位或是32位字的第0位。對模擬電路設計者來說,這具有重要意義。然而,12位轉換器的符號位是的位置11。如果分配16位寬度的變量C為轉換器輸出值,假定C符號位是位置15。不能從轉換器識別出負數,所有來自12位的雙極性數據都是正的。因為符號位處于錯誤位置。

      你可以通過幾個步驟來解決這個問題。首先,讀-修改-寫步驟,將處理器寄存器中的數據移位。CPU讀取數據、移動包含數據的寄存器的位到必要的位置,然后將這些數據寫回內存。DSP可以在一個時鐘周期內完成移位。控制器需要很多時鐘周期才能完成移位的過程。如果你選用了這種控制策略,要小心緩存區的不連續性。這意味著緩存區無法辨別DMA控制器是否將新數據寫入內存。結果,CPU將緩存區的舊數據進行移位操作。需要記住的是,無論什么時候向左移了一位,就意味著轉換結果乘了2。

      另一種方式是在處理器循環中將數據右移。這種方式的缺點占用CPU并需要額外指令。另一種選擇是直接將轉換器與處理器的數據總線相連。如果你將12位轉換器的第11位與處理器總線上的第15位相連,那么符號位就會處于正確的位置。然后將數據的第11位到第14位置零來完成數據獲取,否則這些位的數據是不確定的。這種方法只適用于有并行接口。在這種方案中,基于DMA移動就不需要數據移位了。

      使用串行端口的用戶比并行端口的用戶要幸運的多,因為大部分處理器的串行端口提供接收的“左移用零填充至最低有效位”或“右移符號位擴展至最高有效位”特點。這種特色大大減少了CPU處理內存中數據的工作。一些串行端口只工作在接收數據長度是2的冪時,例如16位數據長度。這些端口不能工作在12、14或是24位數據長度時。

      模擬工程師幫助處理處理器接口問題。據我所知,處理器都是8位、16位或是32位的,我從沒聽說過12位或14位的處理器。除非所有的模擬芯片設計者突破界限,否則為轉換器設計接口是理所當然的。閱讀ADC數據手冊,核對向數字接口傳輸的位的位置。如果對ADC數據接口做了初始檢查,那么你會因為開始的付出獲得更多成功。



    關鍵詞: 模擬 數字 ADC 處理器

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 塘沽区| 宁波市| 富顺县| 财经| 江口县| 盐池县| 平阴县| 霍城县| 镇赉县| 天柱县| 香格里拉县| 濉溪县| 西吉县| 宽甸| 开原市| 济宁市| 永吉县| 育儿| 中阳县| 来凤县| 泰兴市| 绥阳县| 闽清县| 双辽市| 龙川县| 金昌市| 时尚| 开远市| 垦利县| 荆门市| 吉安县| 东城区| 华容县| 徐州市| 乐山市| 循化| 资源县| 余江县| 阿拉善右旗| 万安县| 邯郸县|