基于ADS7230与ADSP21363的SPI通信接口电路设计
2016-03-08金肖依
杨 侃,金肖依
(北方电子研究院集团有限公司 微电子部,江苏 苏州 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 SPI通信接口电路的硬件设计
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 SPI通信接口电路的软件设计
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数据
}
3 实验结果
ADS7230的输入模拟量Vin=2.5 V时的串口通信记录图如图5所示。图5中,通道CH1为SPI的输出时钟SCLK,通道CH2为ADS7230的SDO引脚输出的12位数据。
图5 串口通信记录图
4 结语
本文通过对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