×

如何使用ARM进行多路同步的AD和DA设计

消耗积分:0 | 格式:rar | 大小:0.10 MB | 2019-03-21

分享资料个

   本文将介绍一种基于ARM的高精度多路同步的数据采集与输出控制系统的设计方法。本设计选用德州仪器公司生产的AD芯片ADS8556和DA芯片DAC8574,分别采用SPI接口和IIC接口与ARM9芯片S3C2440连接,阐明其硬件设计与软件设计方法。

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

  系统选用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内部相应寄存器进行赋值实现的,此时其相关使能引脚均接地。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !