基于AVR单片机SPI的串行ADC接口设计.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于AVR单片机SPI的串行ADC接口设计 本文所进行是为提高ADC转换的精度、加快工作速度的研究,主要介绍AVR单片机的SPI与MAX187的接口设计,提供了软件编程实现。 1、AVR单片机的SPI接口 SPI(Serial Peripheral Interface---串行外设接口)总线系统是一种同步串行外设接口,允许MCU与各种外围设备以串行方式进行通信、数据交换,广泛应用于各种工业控制领域。基于此标准,SPI系统可以直接于各个厂家生产的多种标准外围器件直接接口。SPI接口通常包含有4根线:串行时钟(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效的从机选择线SS。在从机选择线SS使能的前提下,主机的SCK脉冲将在数据线上传输主/从机的串行数据。主/从机的典型连接图如图(1)所示: 图(1)主/从机的连接图 串行外设接口SPI允许ATmega16和外设之间进行高速的同步数据传输。ATmega16 SPI的特点如下:全双工,3线同步数据传输,主/从机操作,LSB首先发送或MSB首先发送,7种可编程的比特率,传送中断结束,写碰撞标志检测,可以从闲置模式唤醒,作为主机时具有双速模式(CK/2)。 如图(2)所示,系统包括两个移位寄存器和一个主时钟发生器。通过将需要的从机的SS引脚拉低,主机启动一次通信过程。主机和从机将需要的数据放到相应的移位寄存器,主机在SCK引脚上产生时钟脉冲以交换数据。主机的数据从MOSI移出,从从机MISO移入。从机的数据从MISO移出,从从机MOSI移入。主机通过将从机的SS拉高实现与从机的同步。 图(2)SPI 主机 - 从机的互连 下面将介绍SPI的几个特殊寄存器: 1.1 SPI的控制寄存器—SPCR SPIE 为SPI 中断使能,置位后,只要 SPSR 寄存器的 SPIF 和 SREG 寄存器的全局中断使能位置位,就会引发SPI 中断。SPE 置位将使能 SPI,DORD 置位时数据的 LSB首先发送;否则数据的 MSB首先发送。MSTR置位时选择主机模式,否则为从机。CPOL置位表示空闲 SCK 为高电平;否则空闲时 SCK为低电平。CPHA决定数据是在 SCK的起始沿采样还是在 SCK 的结束沿采样。通过对SPR1、SPR0进行设计,确定主机的 SCK 速率。 1.2 SPI的状态寄存器—SPSR SPIF 为中断标志位,串行发送结束后,SPIF 置位。若此时寄存器 SPCR 的SPIE 和全局中断使能位置位,SPI中断即产生。进入中断例程后SPIF将自动清零。在发送当中对SPI数据寄存器SPDR写数据将置位WCOL,SPI2X置位后 SPI 的速度加倍。 1.3 SPI的数据寄存器—SPDR SPDR 数据寄存器为读/写寄存器,用来在寄存器文件 SPI移位寄存器之间传输数据。写寄存器将启动数据传输,读寄存器将读取寄存器的接收缓冲器。SPI 系统的发送方向只有一个缓冲器,而在接收方向有两个缓冲器。也就是说,在发送时一定要等到移位过程全部结束后才能对 SPI 数据寄存器执行写操作。而在接收数据时,需要在下一个字符移位过程结束之前通过访问SPI 数据寄存器读取当前接收到的字符。否则第一个字节将丢失。 在本设计中所使用的串行ADC芯片,选用了MAXIM公司MAX187。在AVR单片机SPI主机的控制下,完成对MAX187转换后的数据读操作。 2、 MAX187的介绍 MAX187是美信公司推出的12位A/D转换芯片,内部含有采样/保持电路,单5 V操作电源,转换速度为8.5μs,具有片上4.096 V参考电压,模拟量输入范围为0~VBEF。三线串行接口,兼容SPI,QSPI,MicroWire总线。 MAX187用采样/保持电路和逐位比较寄存器将输入的模拟信号转换为12位的数字信号,其采样/保持电路不需要外接电容。MAX187有2种操作模式:正常模式和休眠模式,将置为低电平进入休眠模式,这时的电流消耗降到10μA以下。置为高电平或悬空进入正常操作模式。 完整的操作时序如图(3)所示。使用内参考时,在电源开启后,经过20 ms后参考引脚的4.7μF电容充电完成,可进行正常的转换操作。A/D转换的工作过程是:当为低电平时,在下降沿MAX187的T/H电路进入保持状态,并开

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档