楊 侃,金肖依
(北方電子研究院集團有限公司 微電子部,江蘇 蘇州 215163)
基于ADS7230與ADSP21363的SPI通信接口電路設計
楊 侃,金肖依
(北方電子研究院集團有限公司 微電子部,江蘇 蘇州 215163)
針對數字信號處理系統中的模擬信號轉換的要求和系統連線簡單、結構緊湊的考慮,采用串行接口的A/D芯片來完成模擬信號轉換成數字信號。根據TI公司的雙通道、低功耗、高精度A/D轉換器ADS7230的性能特點,以及AD公司的SHARC系列ADSP21363內設接口特點,設計了基于ADSP21363與ADS7230的 SPI通信接口電路,并給出了接口的硬件電路圖,SPI口串口通信軟件程序流程圖,以及部分驅動程序代碼。實際應用結果表明,該設計合理可行。
ADS7230;模數轉換;SPI;ADSP21363
數字信號處理器(DSP)的應用廣泛,數據采集與信號處理是DSP系統應用中不可分割的2個部分。而自然界的信號多以模擬信號的形式存在,因此如果進行數字信號處理,則須進行模數信號的轉換。在DSP與A/D芯片連接時通常采用串口和并口等2種接口形式,并口接口的優點在于資源豐富,但是使用過程中需要加入譯碼電路,這樣不僅連線復雜,增加了布線的面積,而且一定程度上或將引入干擾和不穩定的因素;串行接口的優勢在于連線簡單、布線少,相對并口接口而言更穩定,但是硬件資源較少。基于連線簡單、結構更加緊湊方面的考慮,一些信號處理系統通常會采用串行接口的A/D芯片[1]。
1.1 模數轉換芯片ADS7230 的特點和工作原理
1.1.1 模數轉換芯片ADS7230的特點
TI公司的ADS7230是一款高速、低功耗、高性能的電容逐次逼近型SPI接口A/D轉換器,采樣率高達1 MHz。可以選擇多種電源管理模式,并支持菊花鏈接口模式和軟件配置方式,工作電壓為2.7~5.5 V,具有極好的直流和交流特性[2]。該器件有16腳QFN和TSSOP等2種外形封裝。為方便布線板級,本文選取TTSOP封裝形式。
1.1.2 模數轉換芯片ADS7230工作原理
ADS7230擁有一個2至1輸入多路復用器,使得每個ADC都能將2個通道進行數字化,減少了組件數,縮小了板級空間。ADS7230必須采用外部基準源,外部參考電壓為0.3~5 V,內部自帶采樣保持功能。
ADS7230在數據轉換時采用內部自帶的時鐘信號或通過SCLK管腳輸入外部的串行時鐘信號。ADS7230自帶的一個振蕩器作為內部時鐘,用于控制模數轉換的速度,時鐘的最小頻率為21 MHz。該振蕩器一直處于工作狀態,除非芯片處于低功耗狀態,或者使用可編程的外部時鐘源SCLK作為轉換時鐘[3]。采用內部時鐘時,最小采樣時間需要3個時鐘周期,轉換時間需要12個時鐘周期。當模數轉換的時鐘源采用外部的串行時鐘SCLK信號時,使整個電路達到系統同步的效果。使用外部時鐘信號時具體時序如圖1所示。

圖1 ADS7230外部時鐘時序圖

1.2 DSP處理器的選擇
ADI公司的SHARC系列浮點DSP產品具有運行速度快、片內資源豐富和接口齊全的特點。本電路選擇SHARC系列處理器的第3代產品ADSP21363做DSP處理器,其主要優勢在于:1)時鐘頻率高達300 MHz,指令周期為3.3 ns,運算能力為1 800 MFLOPS,采用單指令、多數據運算方式,支持32 bit定點和32/40 bit浮點運算;2)片上存儲器容量大,SRAM為2 Mbit,ROM為4 Mbit;3)片上接口豐富,數字外設接口包括2個SPI、2個UART、3個定時器和1個兩線I2C,數字應用接口包括8個串行端口SPORT、S/PDIF TX/RX、8通道異步采樣率轉換器ASRC、4個精密時鐘發生器、16個PWM、1個TWI和32 bitSDRAM接口[2]。特有的數字應用接口(DAI)和數字外設接口(DPI)均允許用戶將任何外設引腳功能分配到他們想要的任意一個引腳。這種靈活性顯著減少了支持特殊系統所需的外部引腳數量,有助于硬件設計的簡化,進一步降低成本。
1.3 ADS21363與ADS7230接口電路
ADSP21363具有2個SPI接口資源,采用串行工作方式,不僅滿足了采集的快速性要求,在硬件上也較容易實現。ADSP21363的SPI接口與ADS7230硬件連接如圖2所示。

圖2 ADS21363與ADS7230接口電路示意圖
ADS7230外部基準采用5 V供電,數字供電范圍為1.65~5.5 V,取3.3 V工作電壓,以匹配于ADSP21363的I/O口電壓,無需電平轉換芯片[4]。ADSP21363的MOSI管腳對應連接ADS7230的數據輸入SDI管腳,MISO管腳對應數據輸出SDO管腳,時鐘管腳SPICLK提供ADS7230的時鐘控制管腳SCLK,DPI-P9與ADS7230片選CS控制管腳,DPI-P17與ADS7230的轉換開始標志CONVST管腳相連。ADSP21363的EOC引腳為轉換輸出結束標志引腳。
2.1 ADS7230串口轉換時序
ADSP21363和ADS7230都擁有各自的硬件SPI接口,因此只需按照ADS7230的SPI的讀寫時序圖編寫軟件程序。首先對ADS7230的SPI接口工作時序(見圖3)進行分析。每一次操作循環是從FS/CS下降沿開始的,首先是通過ADSP21363的SPI的相關寄存器的設置,把其配置為從模式,接著對SPI的字長、波特率和時鐘模式等進行相應的配置;然后通過ADSP21363的GPIO口的DPI-P9片選ADS7230,并通過GPIO口的DPI-P17啟動ADC的轉換,當轉換控制輸入CONVST到一個下降沿時,片內采樣保持器由采樣模式轉換為保持模式,保持模擬輸入信號,并啟動轉換過程,此時EOS信號一直保持低電平;轉換完成后,EOS信號變成高電平,CS信號置低,在ADS7230的輸出脈沖SCLK的控制下,把12位的采集數據結果送到指定的存儲單元。

圖3 SPI通信時序圖
2.2 軟件實現
采集程序在VisualDSP++5.0環境下采用C語言編程,包括系統初始化程序、SPI接口配置程序等。ADS7230的內部寄存器一共16位,分為兩部分:4 bit的(CMR)命令寄存器和12 bit(CFR)配置寄存器。本電路采用查詢方式讀取SPI口數據。圖4為SPI口串口通信程序流程圖。

圖4 SPI口串口通信程序流程圖
為了實現SPI接口通信,編寫了兩者接口的驅動程序,該驅動程序功能主要由以下2個函數完成。
1)ADSP21363SPI的初始化函數Init_SPI( )。
Init_SPI( )
{
SRU( HIGH, PBEN17_I );
SRU( HIGH, DAI_PB17_I );
SRU( HIGH, PBEN09_I );
SRU( HIGH, DAI_PB09_I );
ADS7230_SPI_Initial(10, WL16);//初始化ADSP21363的SPI口,頻率10MHz,字長16bit
SRU(LOW,DAI_PB09_I);
temp = SPI_RW(0xeffc, ADSP21363_SPI);
delayms(1000);
SRU(LOW,DAI_PB09_I);
temp = SPI_RW(0xe79d, ADSP21363_SPI);
dat = SPI_RW(ADC_IN1, ADSP21363_SPI);
}
2)讀數據函數。
unsigned int SPI_RW(unsigned int cmd, unsigned int spi_port)
{
unsigned int temp;
asm("r0 = %0;"::"d"(cmd));
if(spi_port == ADSP21363_SPI)
{
asm("dm(TXSPI) = r0;");
while((*pSPISTAT & RXS ) != RXS);
}
return temp; //返回SPI數據
}
ADS7230的輸入模擬量Vin=2.5 V時的串口通信記錄圖如圖5所示。圖5中,通道CH1為SPI的輸出時鐘SCLK,通道CH2為ADS7230的SDO引腳輸出的12位數據。

圖5 串口通信記錄圖
本文通過對TI公司的高速、低功耗12位A/D芯片ADS7230與ADI公司的SHARC系列ADSP21363的研究,設計了基于兩者SPI高速串口通信接口電路,實現了硬件電路和軟件設計。該嵌入式數據采集電路設計簡潔,程序采用C語言在ADSP集成開發環境VisualDSP++5.0下編寫、調試完成。該A/D芯片的字長和波特率配置靈活,傳輸速度快,實現了與ADSP的SPI接口的串口通信,滿足了嵌入式數據采集電路的高速數據傳輸要求。
[1] 張揚. 集成開關電源的數字功放模塊的設計[D].成都:電子科技大學,2009.
[2] Datasheet for ADS7230.Texas Instrument,Inc.2009
[3] 康華光,陳大欽.電子技術基礎模擬部分[M].4版.北京:高等教育出版社,1999.
[4] SHARC Processors ADSP-21361/ ADSP-21362/ ADSP-21363/ ADSP-21364.Analog Devices,Inc.2009
責任編輯 馬彤
SPI Communication Interface Circuit Design based on ADS7230 and ADSP21363
YANG Kan, JIN Xiaoyi
(Microelectronics Department, North Electronics Research Institute Group Co., Suzhou 215163, China)
Mainly introduce ways of adopting serial interface of A/D chip to convert the analog signal into digital signal. On the study of performance characteristic of A/D converter ADS7230, it is characterized as dual channel, low power consumption, and high precision. The SPI communication interface circuit is designed based on ADS7230 and ADSP21363. Display the hardware circuit diagram, SPI serial communication software program flow chart, and parts of drive codes. The actual application shows that the design is reasonable.
ADS7230, A/D converter, SPI, ADSP21363

TP 334
A
楊侃(1979-),男,高級工程師,碩士,主要從事數模混合集成技術和傳感器應用技術等方面的研究。
2016-09-25