当前位置:首页 > 电源 > 数字电源
[导读]0 引言ADS8364是美国德州仪器公司(TI)的一款六通道、16位并行输出、同步采样的模数转换器。该芯片提供了一个灵活的高速并行接口,可以直接与数字信号处理器TMS320F2812相连。本文主要介绍了这个接口的软、硬件设计,

0 引言

ADS8364是美国德州仪器公司(TI)的一款六通道、16位并行输出、同步采样的模数转换器。该芯片提供了一个灵活的高速并行接口,可以直接与数字信号处理器TMS320F2812相连。本文主要介绍了这个接口的软、硬件设计,着重论述了这两款芯片是如何配置启动和工作的。本设计广泛应用于电机控制、多轴定位系统、三相功率转换、多通道数据采集等场合。

1 芯片简介

ADS8364是一款六路模拟输入、16位并行输出的模数转换器。六路模拟输入分为三组(A,B 和C) ,每个输入端都有一个保持信号来实现所有通道的同时采样与转换功能,非常适合于多路(多种)采集系统的需要。ADS8364提供了一个灵活的高速并行接口,可以运行在直接寻址、循环采样、FIFO等三种模式,每个通道的输出数据都可直接作为一个16bit的字。

TMS320F2812是TI公司生产的一款DSP芯片,TMS320F28X系列是当今世界上最先进的32位定点DSP芯片。它不但运行速度高,处理功能强大,并且具有丰富的片内外围设备,便于接口和模块化设计。它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数据处理的测控场合,如工业自动化控制、智能化仪器仪表及电机伺服控制系统等。

2 ADS8364的工作原理

ADS8364的最大工作频率可达5MHz,采样/转换可在20个转换时钟周期内完成。ADS8364的六个通道可以同时进行采样/转换。吞吐率最大可达250ksps。ADS8364采用+5V工作电压,并带有80DB共模抑制的全差分输入通道以及六个4μs连续近似的模数转换器、六个差分采样放大器。另外,在REFIN和REFOUT引脚内部还带有+2.5V参考电压。ADS8364的差分输入可在-VREF到+VREF之间变化。三个保持信号(HOLDA、HOLDB、HOLDC)可以启动指定通道的转换。当三个保持信号同时被选通时,其转换结果将保存在六个寄存器中。对于每一个读操作,ADS8364均输出十六位数据,地址/模式信号(A0,A1,A2)可以选择如何从ADS8364读取数据,也可以选择单通道、单周期或FIFO模式。在ADS8364的HOLDX保持至少20ns的低电平时,转换开始。这个低电平可使各个通道的采样保持放大器同时处于保持状态从而使每个通道同时开始转换。当转换结果被存入输出寄存器后,引脚EOC的输出将保持半个时钟周期的低电平。另外,通过置RD和CS为低电平可使数据读出到并行输出总线。

 ADS8364工作时序图

3 ADS8364与TMS320F2812的接口电路

  电路部分主要分为DSP芯片的最小系统设计和ADS8364的接口设计。分别给予介绍。

3.1 TMS320F2812的最小系统设计:

(1)电源和复位部分:本设计采用外部5V直流电压供电。通过DC/DC器件产生3.3V的内核电压VDD和1.8V的I/O电压VDDIO电压。电源芯片TPS767D318为双电源输出,一路为3.3V、一路为1.8V。每路电源的最大输出电流为1A。芯片还提供两个宽度为200ms的低电平复位脉冲。本设计的复位信号分两种:上电复位、手动复位。上电复位由芯片TPS767D318产生,手动复位由电阻电容组成的电路产生。[!--empirenews.page--]

(2)时钟部分:为DSP芯片提供时钟一般有两种方法。一种是采用晶体,一种是采用外部有源时钟芯片。本设计采用前者。它利用了DSP芯片内部所提供的晶振电路,在DSP芯片的X1和X2之间连接一晶体可启动内部振荡器。

(3)仿真部分:这一部分将作为程序的调试和烧录所用。2812芯片提供了5个标准的JTAG信号(TRST、TCK、TMS、TDI、TDO)和两个仿真引脚(EMU0、EMU1)。

3.2 ADS8364的接口设计

ADS8364采用+5V模拟电源(AVDD)和数字电源(DVDD),而其内部的缓冲器采用与TMS320F2812相同的+3.3V电压。缓冲器电压(BVDD)允许直接连接到3V或5V电压系统。TMS320F2812的I/O电压为+3.3V,因此,若使用该元件,ADS8364的BVDD必须设置成3.3V。

在这个设计中,ADS8364采用的是4MHz时钟。每个通道的吞吐率最大可达200ksps。将ADS的地址线A[2:0]接到TMS320F2812的地址线。当A0接到数字地,A2和A1接到VCC上可迫使ADS8364进入周期模式。在这个模式中,转换器可自动对六个通道进行采样,并可将数据按从A0到C1的顺序传送到输出端。

将ADS8364的BYTE引脚接到VCC上,可以使能字节模式。在这个模式中,要从ADC中正确地读取数据,需要对每个通道进行两次连续的读操作。第一次读取的是转换数据的高位字节,第二次读取的是低位字节。假如通道信息要作为数据输出的一部分,那么,应将ADS8364的ADD引脚也接到VCC。读取数据时,需要对ADS8364的每个通道进行三次读操作。第一次读取通道和数据信息,后两次分别读取高位和低位数据。

3.3 ADC的初始化操作

触发ADS8364的复位引脚RST可以确保读指针指向第一个数据位置。作为TMS320F2812初始化的一部分,由TMS320F2812的通用输入输出口GPIOF0提供给ADS8364的引脚RST。当系统时钟稳定后,被触发为低电平,从而确保了从ADC输出的数据对应于通道A0、A1、B0、B1、C0、C1的排列。

对于每一个转换通道,EOC均是低电平信号。 ADS8364可为TMS320F2812提供三个脉冲。每个脉冲信号表明一个转换的结束。当ADC的这三个引脚同时置低时,三个通道被认为有效并同时进行转换。另外,EOC引脚也可被连接到TMS320F2812的一个中断引脚,以触发一个读周期。

ADS8364的片选CS是一个有源低电平输入信号。当CS为高时,并行输出引脚处于高阻态。当CS为低时,并行数据线反映了输出缓冲器的当前状态。为了正确地从ADS8364的并行数据总线上读取数据,ADS8364必须被片选CS选中后才能进行读操作。

ADS8364的读(RD)信号端也是有源低电平信号。当CS为低时,在读信号(RD)的下降沿,ADS8364 中寄存器的内容将被更新。这意味着在每个读序列之前,RD信号必须被触发,这样才能更新输出缓冲器。通过TMS320F2812的中断子程序将ADS8364的RD引脚置低可以保存输入的数据,之后可再将RD引脚置高。

ADS8364与TMS320F2812的连接图

4 初始化编程

(1)头文件(.H)的编写:主要用来定义片内寄存器以便函数中引用

例如:系统控制与状态寄存器的定义:

struct  SCSR_BITS

{                          //       位描述

Uint16  WDOVERRIDE:1;    // 0     允许看门狗无效位

……};

union  SCSR_REG

{

    Uint16              all;

    struct  SCSR_BITS   bit;

};

此外头文件中还声明一些全局函数和常量。[!--empirenews.page--]

例如:extern void InitAdc(void);         //初始化ADC函数

(2)命令文件(.CMD)的编写:该文件中用到了两个伪指令MEMORY和SECTIONS。

MEMORY伪指令用来标示实际存在的目标系统中可被使用的存储器范围。

SECTIONS伪指令用来定位一些代码和数据块。

部分代码:

MEMORY

{

PAGE 0 :   //声明了片内的存储单元,包括起始地址和长度

PRAMH0 : origin = 0x3F8000, length = 0x001000

PAGE 1 :

RAMM0  : origin = 0x000000, length = 0x000400

  ……

 }

SECTIONS

{  codestart  : PRAMH0, PAGE = 0   /*定位代码数据段*/

  PieCtrlRegsFile  : > PIE_CTRL, PAGE = 1   /* 定位各外设的积存器结构体 */ 

……

}

(3)主程序及中断程序:

void main(void)

{ ……

InitSysCtrl();  //调用初始化系统控制函数

//该函数用于初始化系统控制寄存器、PLL、看门狗、时钟

InitGpio();   //调用初始化GPIO函数,用于选择适当的GPIO

ResetADS8364();  //复位ADS8364

……

DINT;             // 禁止和清楚所有CPU中断

IER = 0x0000; IFR = 0x0000;

InitPieCtrl();        // 初始化Pie控制寄存器为默认值

InitPieVectTable();   // 初始化中断向量表 

……

EINT;    // 使能全局中断 INTM

PWM();   //开启转换时钟

while(1)  // 循环,根据条件读数并产生中断

    {……}

}   

void  read_ADD()    //该函数读取采集的数据

{      //根据通道读取数据

if (ADD_Mode){ADC_address[0] = (*ptrCHA0);}

……

if (ADD_Mode){ADC_address[5] = (*ptrCHC1);}

        CHC1_Data[idx] = *ptrCHC1;

}

5 结束语

    本文以ADS8364模数转换芯片为基础,详细讨论了ADS8364和TMS320F2812的接口设计和工作原理,重点介绍了TMS320F2812控制芯片的最小系统设计、ADS8364TMS320F2812的连接、初始化程序等三部分内容。该设计方案在电机控制、多轴定位系统、多通道数据采集等场合有着广泛的应用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

本文评估在电阻模数转换器(ADC)前面的外部电阻的影响。这些系列的同步采样ADC包括一个高输入阻抗电阻可编程增益放大器(PGA),用于驱动ADC和缩放输入信号,允许直接连接传感器。但是,有几个原因导致在设计期间,我们最终...

关键字: ADI 模数转换器 电阻

本系列文章已突出介绍了连续时间Σ-Δ(CTSD)模数转换器(ADC)调制器环路的架构特性,这种架构能够简化ADC模拟输入端的信号链设计。现在讨论将ADC数据与外部数字主机接口以对此数据执行应用相关处理的简单但创新的方法。...

关键字: ADI ASRC 模数转换器

中国,北京 – 2022年5月5日 – Analog Devices, Inc.(Nasdaq:ADI)推出新一代16至24位超高精度逐次逼近寄存器(SAR)模数转换器(ADC)系列产品,可简化仪器仪表、工业和医疗健康应...

关键字: ADI 模数转换器 寄存器

为了增进大家对ADC的了解,本文将对ADC的数字输出选择以及我国国产的几款ADC产品予以详细介绍。

关键字: ADC 指数 模数转换器

为了增进大家对ADC的认识,本文将基于两个方面介绍ADC:1.ADC的实际应用、2.如何利用噪声扰动提高ADC无杂散动态范围。

关键字: ADC 指数 模数转换器

为增进大家对ADC的认识,本文将对ADC、ADC输入噪声予以介绍。

关键字: ADC 指数 模数转换器

2022年3月24日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 分销商贸泽电子 (Mouser Electronics) 推出一个全新的资源网站,用于为专业采购人士提供更为全面的信息。新的采购资源...

关键字: 贸泽电子 模数转换器 电子设计

(全球TMT2021年12月7日讯)德州仪器 (TI)现推出超小型24位宽带宽模数转换器(ADC),可比同类ADC在更宽的带宽内实现业界领先的信号测量精度。ADS127L11为TI精密宽带宽ADC系列的全新产品,其封装...

关键字: 带宽 模数转换器 德州仪器

摘 要 :视频监控系统是计算机应用中的重要领域之一。数字化摄像头网络化之后,监控系统正在不断引入新的功能,为使现有监控系统能更好地应对复杂环境,满足不同监控要求,就需要追加新功能,在系统架构与设计上进行调整。因此,如何将...

关键字: 智能监控 系统架构 模块化设计 接口设计 数据传输 深度相机

摘要:介绍了以DSP芯片TMS320F2812为CPU的有源电力滤波器中液晶模块JLX12864G-139的应用设计方法,详细说明了DSP芯片与液晶模块的硬件接口电路设计,通过分析液晶模块的读写时序,阐述了在TMS320...

关键字: TMS320F2812 JLX12864G-139 液晶显示 接口

数字电源

15504 篇文章

关注

发布文章

编辑精选

技术子站

关闭