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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM的多路同步A/D和D/A設計

    基于ARM的多路同步A/D和D/A設計

    作者: 時間:2014-07-18 來源:網絡 收藏

      處理器是一種32位精簡指令集RISC微處理器,片內集成了豐富的硬件資源,廣泛的應用于許多嵌入式系統中。S3C2440是一款基于920T內核的32位RISC嵌入式處理器,運行主頻可達400MHz.本文闡述選用S3C2440處理器設計的一種同步、高速、高精度、多通道的數據采集與信號輸出系統的設計方法。

    本文引用地址:http://www.czjhyjcfj.com/article/255774.htm

      1 多路同步設計

      1.1 ADS8556的功能

      系統選用TI公司生產的16位6路同步逐次逼近型模數轉換芯片ADS8556.輸入模擬信號電壓范圍為-12V~+12V.常規應用下功耗為251.7mW,最大功耗為298.5mW,信噪比可達91.5dB.ADS8556芯片內部包含6個獨立的采樣保持模塊和對應的6個獨立的模數轉換模塊,可實現對6路信號的同時同步的模數轉換。ADS8556工作模式分為硬件模式和軟件模式,本設計采用硬件模式。在硬件模式下ADS8556的功能設置(如每對通道的轉換使能、參考電壓選擇等)都是通過對相關引腳設置高低電平實現的。ADS8556支持并行和串行接口方式,本設計采用串行SPI接口與S3C2440連接。采用串行接口的優點是節約S3C2440的引腳資源,S3C2440絕大多數引腳是功能復用的,若采用并行接口會占用其16個I/O引腳資源。

      ADS8556具有3個串行數據輸出端口SDO_A、SDO_B、SDO_C,轉換結果通過端口使能可選擇這3個串行端口中的1個、2個或3個工作。當3個端口都選用工作時,每個串行端口上輸出對應2路每路16位共32位的轉換結果,輸出時間需要32個時鐘周期,每路最大采樣率可達450kS/s.當選擇2個串行端口時,每個端口輸出3路共48位轉換結果,輸出時間需要48個時鐘周期,每路最大采樣率可達375kS/s.由于S3C2440只有2個SPI串行接口,所以至多選擇ADS8556的2個串行輸出端口與其連接。

      1.2 ADS8556與S3C2440接口電路設計

      本設計選用ADS8556的1個SPI串行輸出端口SDO_A與S3C2440的1個SPI接口SPI0連接,SDO_A端口輸出全部6路共96位轉換結果,輸出時間需要96個時鐘周期,每路最大采樣率可達250kS/s.SPI串口以主從方式工作,S3C2440作為主機,ADS8556作為從機,需要4根或3根線連接,3根用于單向傳輸,4根連接線分別是MOSI(主機輸出/從機輸入),MISO(主機輸入/從機輸出),SCLK(時鐘信號),CS(片選使能),連接方式如圖1所示。其中SPI0接口只用了3根連接線SPIMISO0、SPICLK0和NSS0,未使用SPIMOSI0,這是由于本設計選擇ADS8556工作于硬件模式,S3C2440沒有給ADS8556輸入數據,其功能的設置(如每對通道的轉換使能、參考電壓選擇等)都是通過對相關使能引腳設置高低電平實現的。若在軟件模式下,這些功能的選擇是由S3C2440通過SPIMOSI對ADS8556內部相應寄存器進行賦值實現的,此時其相關使能引腳均接地。

      

    ?

      圖1 ADS8556與S3C2440接口連接示意圖

      1.3 ADS8556的接口程序設計

      S3C2440作為主機,ADS8556作為從機,程序中要對S3C2440的SPI串行端口進行初始化設置,表1所示為相關引腳配置。

      表1 ADS8556與S3C2440的接口引腳配置

      

    ?

      圖2所示為ADS8556的采樣程序流程圖。S3C2440的SPI接口工作于主模式,數據傳輸采用中斷模式。本設計只使用了ADS8556的6路轉換通道中的4個通道。

      


    上一頁 1 2 下一頁

    關鍵詞: ARM A/D D/A

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 西城区| 屯门区| 六枝特区| 铜梁县| 江阴市| 高平市| 五常市| 二连浩特市| 浑源县| 武山县| 岚皋县| 临朐县| 康保县| 广安市| 屯昌县| 五寨县| 宝应县| 于田县| 陈巴尔虎旗| 玛曲县| 甘谷县| 建水县| 昭觉县| 余庆县| 威远县| 泸水县| 聂拉木县| 安西县| 昭觉县| 通化市| 清水县| 晋江市| 盈江县| 洛宁县| 环江| 建湖县| 皮山县| 海淀区| 静宁县| 讷河市| 五家渠市|