基于ARM的多路同步的A/D和D/A设计

  ARM处理器是一种32位精简指令集RISC微处理器,片内集成了丰富的硬件资源,广泛的应用于许多嵌入式系统中。S3C2440是一款基于ARM920T内核的32位RISC嵌入式处理器,运行主频可达400MHz.本文阐述选用S3C2440处理器设计的一种同步、高速、高精度、多通道的数据采集与信号输出系统的设计方法。

  1 多路同步A/D设计

  1.1 ADS8556的功能

  系统选用TI公司生产的16位6路同步逐次逼近型模数转换芯片ADS8556.输入模拟信号电压范围为-12V~+12V.常规应用下功耗为251.7mW,最大功耗为298.5mW,信噪比可达91.5dB.ADS8556芯片内部包含6个独立的采样保持模块和对应的6个独立的模数转换模块,可实现对6路信号的同时同步的模数转换。ADS8556工作模式分为硬件模式和软件模式,本设计采用硬件模式。在硬件模式下ADS8556的功能设置(如每对通道的转换使能、参考电压选择等)都是通过对相关引脚设置高低电平实现的。ADS8556支持并行和串行接口方式,本设计采用串行SPI接口与S3C2440连接。采用串行接口的优点是节约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内部相应寄存器进行赋值实现的,此时其相关使能引脚均接地。

  基于ARM的多路同步的A/D和D/A设计

  图1 ADS8556与S3C2440接口连接示意图

  1.3 ADS8556的接口程序设计

  S3C2440作为主机,ADS8556作为从机,程序中要对S3C2440的SPI串行端口进行初始化设置,表1所示为相关引脚配置。

  表1 ADS8556与S3C2440的接口引脚配置

  基于ARM的多路同步的A/D和D/A设计

  图2所示为ADS8556的采样程序流程图。S3C2440的SPI接口工作于主模式,数据传输采用中断模式。本设计只使用了ADS8556的6路转换通道中的4个通道。

  基于ARM的多路同步的A/D和D/A设计

技术专区

  • 裸机程序如何驱动硬件?看前辈是怎么说的
  • ARM紧耦合内存简介及配置
  • ARMv8 通过设计简化软件移植详解
  • STM32中断优先级谁更高 主要根据两个方面来判断
  • 基于ARM与DSP的主从式双CPU嵌入式四轴运动控制器设计方案
  • 基于ARM的多路同步的A/D和D/A设计已关闭评论
    A+
发布日期:2019年07月14日  所属分类:物联网