基于ARM的多路同步A/D和D/A設(shè)計
ARM處理器是一種32位精簡指令集RISC微處理器,片內(nèi)集成了豐富的硬件資源,廣泛的應(yīng)用于許多嵌入式系統(tǒng)中。S3C2440是一款基于ARM920T內(nèi)核的32位RISC嵌入式處理器,運行主頻可達400MHz.本文闡述選用S3C2440處理器設(shè)計的一種同步、高速、高精度、多通道的數(shù)據(jù)采集與信號輸出系統(tǒng)的設(shè)計方法。
本文引用地址:http://m.butianyuan.cn/article/255774.htm1 多路同步A/D設(shè)計
1.1 ADS8556的功能
系統(tǒng)選用TI公司生產(chǎn)的16位6路同步逐次逼近型模數(shù)轉(zhuǎn)換芯片ADS8556.輸入模擬信號電壓范圍為-12V~+12V.常規(guī)應(yīng)用下功耗為251.7mW,最大功耗為298.5mW,信噪比可達91.5dB.ADS8556芯片內(nèi)部包含6個獨立的采樣保持模塊和對應(yīng)的6個獨立的模數(shù)轉(zhuǎn)換模塊,可實現(xiàn)對6路信號的同時同步的模數(shù)轉(zhuǎn)換。ADS8556工作模式分為硬件模式和軟件模式,本設(shè)計采用硬件模式。在硬件模式下ADS8556的功能設(shè)置(如每對通道的轉(zhuǎn)換使能、參考電壓選擇等)都是通過對相關(guān)引腳設(shè)置高低電平實現(xiàn)的。ADS8556支持并行和串行接口方式,本設(shè)計采用串行SPI接口與S3C2440連接。采用串行接口的優(yōu)點是節(jié)約S3C2440的引腳資源,S3C2440絕大多數(shù)引腳是功能復(fù)用的,若采用并行接口會占用其16個I/O引腳資源。
ADS8556具有3個串行數(shù)據(jù)輸出端口SDO_A、SDO_B、SDO_C,轉(zhuǎn)換結(jié)果通過端口使能可選擇這3個串行端口中的1個、2個或3個工作。當(dāng)3個端口都選用工作時,每個串行端口上輸出對應(yīng)2路每路16位共32位的轉(zhuǎn)換結(jié)果,輸出時間需要32個時鐘周期,每路最大采樣率可達450kS/s.當(dāng)選擇2個串行端口時,每個端口輸出3路共48位轉(zhuǎn)換結(jié)果,輸出時間需要48個時鐘周期,每路最大采樣率可達375kS/s.由于S3C2440只有2個SPI串行接口,所以至多選擇ADS8556的2個串行輸出端口與其連接。
1.2 ADS8556與S3C2440接口電路設(shè)計
本設(shè)計選用ADS8556的1個SPI串行輸出端口SDO_A與S3C2440的1個SPI接口SPI0連接,SDO_A端口輸出全部6路共96位轉(zhuǎn)換結(jié)果,輸出時間需要96個時鐘周期,每路最大采樣率可達250kS/s.SPI串口以主從方式工作,S3C2440作為主機,ADS8556作為從機,需要4根或3根線連接,3根用于單向傳輸,4根連接線分別是MOSI(主機輸出/從機輸入),MISO(主機輸入/從機輸出),SCLK(時鐘信號),CS(片選使能),連接方式如圖1所示。其中SPI0接口只用了3根連接線SPIMISO0、SPICLK0和NSS0,未使用SPIMOSI0,這是由于本設(shè)計選擇ADS8556工作于硬件模式,S3C2440沒有給ADS8556輸入數(shù)據(jù),其功能的設(shè)置(如每對通道的轉(zhuǎn)換使能、參考電壓選擇等)都是通過對相關(guān)使能引腳設(shè)置高低電平實現(xiàn)的。若在軟件模式下,這些功能的選擇是由S3C2440通過SPIMOSI對ADS8556內(nèi)部相應(yīng)寄存器進行賦值實現(xiàn)的,此時其相關(guān)使能引腳均接地。
?
圖1 ADS8556與S3C2440接口連接示意圖
1.3 ADS8556的接口程序設(shè)計
S3C2440作為主機,ADS8556作為從機,程序中要對S3C2440的SPI串行端口進行初始化設(shè)置,表1所示為相關(guān)引腳配置。
表1 ADS8556與S3C2440的接口引腳配置
?
圖2所示為ADS8556的采樣程序流程圖。S3C2440的SPI接口工作于主模式,數(shù)據(jù)傳輸采用中斷模式。本設(shè)計只使用了ADS8556的6路轉(zhuǎn)換通道中的4個通道。
評論