基于ARM的多路同步的AD和DA设计

基于ARM的多路同步的AD和DA设计,第1张

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

  1 多路同步A/D设计

  1.1 ADS8556的功能

  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的多路同步的AD和DA设计,基于ARM的多路同步的A/D和D/A设计,第2张

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

  1.3 ADS8556的接口程序设计

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

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

  基于ARM的多路同步的AD和DA设计,基于ARM的多路同步的A/D和D/A设计,第3张

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

  基于ARM的多路同步的AD和DA设计,基于ARM的多路同步的A/D和D/A设计,第4张

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2715515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存