新聞中心

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

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

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

本文引用地址:http://www.butianyuan.cn/article/256901.htm

本文將介紹一種基于的高精度多路同步的數據采集與輸出控制系統的設計方法。本設計選用德州儀器公司生產的AD芯片ADS8556和DA芯片DAC8574,分別采用SPI接口和IIC接口與9芯片連接,闡明其硬件設計與軟件設計方法。系統可實現多路且同步、高速高精度的數據采集與輸出控制功能。

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

1多路同步設計

1.1 ADS8556的功能

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



圖2 ADS8556工作程序流程圖


2多路同步設計

2.1 DAC8574的功能

DAC8574是帶有IIC接口的16位4路同步數模轉換芯片。DAC8574帶有一個IIC串行接口,包括SCL串行時鐘輸入和SDA串行數據輸入兩個引腳。輸出四路模擬電壓為VOUTA、VOUTB、VOUTC、VOUTD,電壓范圍為+2.7~+5.5V.由外部提供參考電壓VREFH、VREFL.A0、A1為IIC地址選擇,A2、A3為擴展地址選擇,A1、A0、A3、A2共可確定16個地址,在IIC總線上最多可擴展16個DAC8574.本設計在IIC總線上只使用一個DAC8574,則設置地址A1A0A3A2=0000.LDAC為同步輸出電壓更新。

DAC8574有三種工作模式:標準模式、快速模式、高速模式。標準模式時傳輸速率為100kbit/s,串行時鐘頻率fscl=100kHz,更新率為5.3kS/s;快速模式時傳輸速率為400kbit/s,fscl=400kHz,更新率為22.22kS/s;高速模式時傳輸速率為3.4Mbit/s,fscl=3.4MHz,更新率為188.88kS/s.標準模式和快速模式傳輸線協議基本相同,高速模式不同于標準和快速模式。DAC8574與S3C2440通過IIC總線連接時,DAC8574作為從機,S3C2440作為主機。本設計將DAC8574設置為高速模式。

2.2 DAC8574與S3C2440接口電路設計

DAC8574通過IIC接口SDA、SCL引腳與S3C2440連接,其工作模式選擇、通道使能、LDAC功能是由S3C2440通過SDA輸入設定的。如圖3所示,電源電壓+5V,參考電壓+5V,IOVDD為+3.3V、LDAC接地。



圖3 DAC8574接口電路


2.3 DAC8574的接口程序設計

DAC8574作為從機,S3C2440作為主機,根據高速模式傳輸協議編寫DAC8574的接口程序。圖4所示為設計的DAC8574接口程序的流程圖。主機先產生一個開始狀態(tài),隨后產生高速主機編碼的串行數據00001XXX.從機設備不需要確認高速主機編碼,但必須能夠識別并改變自身內部設置以支持3.4Mbit/s的高速傳輸。主機產生一個重復開始狀態(tài),接著發(fā)送一個有效的從機地址字節(jié),本設計的從機地址字節(jié)為10011000,包括7位DAC8574的地址1001100和1位讀寫控制位0(主機寫入從機)。地址匹配的從機識別地址后產生確認信號。本設計將控制字節(jié)設置為00010000,主機發(fā)送控制字節(jié)設置從機運行模式后,從機產生確認信號。隨后,主機發(fā)送數據最高有效位MSB,從機產生確認信號,主機再發(fā)送數據最低有效位LSB,從機產生確認信號并開始數據更新,這樣DAC8574就完成了一次數據接收與數模轉換。之后主機可以繼續(xù)向從機發(fā)送數據,最后主機產生停止狀態(tài)結束當前的數據傳輸。



圖4 DAC8574工作程序流程圖


上一頁 1 2 下一頁

關鍵詞: ARM S3C2440 D/A A/D

評論


相關推薦

技術專區(qū)

關閉