- 1
- 0
- 约2.51千字
- 约 3页
- 2023-12-11 发布于湖南
- 举报
怎样设计一个基于AVR单片机的SPI串行外设接口?
1、AVR单片机的SPI接口
SPI(SerialPeripheralINTERFACE---串行外设接口)总线系统是一种同步串行外设接口,允许MCU与各种外围设备以串行方式进行通信、数据交换,广泛应用于各种工业控制领域。基于此标准,SPI系统可以直接于各个厂家生产的多种标准外围器件直接接口。SPI接口通常包含有4根线:串行时钟(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效的从机选择线SS。在从机选择线SS使能的前提下,主机的SCK脉冲将在数据线上传输主/从机的串行数据。主/从机的典型连接图如图(1)所示:
图(1)主/从机的连接图
串行外设接口SPI允许ATmega16和外设之间进行高速的同步数据传输。ATmega16SPI的特点如下:全双工,3线同步数据传输,主/从机操作,LSB首先发送或MSB首先发送,7种可编程的比特率,传送中断结束,写碰撞标志检测,可以从闲置模式唤醒,作为主机时具有双速模式(CK/2)。
如图(2)所示,系统包括两个移位寄存器和一个主时钟发生器。通过将需要的从机的SS引脚拉低,主机启动一次通信过程。主机和从机将需要的数据放到相应的移位寄存器,主机在SCK引脚上产生时钟脉冲以交换数据。主机的数据从MOSI移出,从从机MISO移入。从机的数据从MISO移出,从从机MOSI移入。主机通过将从机的SS拉高实现与从机的同步。
图(2)SPI主机-从机的互连
下面将介绍SPI的几个特殊寄存器:
1.1SPI的控制寄存器—SPCR
SPIE为SPI中断使能,置位后,只要SPSR寄存器的SPIF和SREG寄存器的全局中断使能位置位,就会引发SPI中断。SPE置位将使能SPI,DORD置位时数据的LSB首先发送;否则数据的MSB首先发送。MSTR置位时选择主机模式,否则为从机。CPOL置位表示空闲SCK为高电平;否则空闲时SCK为低电平。CPHA决定数据是在SCK的起始沿采样还是在SCK的结束沿采样。通过对SPR1、SPR0进行设计,确定主机的SCK速率。
1.2SPI的状态寄存器—SPSR
SPIF为中断标志位,串行发送结束后,SPIF置位。若此时寄存器SPCR的SPIE和全局中断使能位置位,SPI中断即产生。进入中断例程后SPIF将自动清零。在发送当中对SPI数据寄存器SPDR写数据将置位WCOL,SPI2X置位后SPI的速度加倍。
1.3SPI的数据寄存器—SPDR
SPDR数据寄存器为读/写寄存器,用来在寄存器文件SPI移位寄存器之间传输数据。写寄存器将启动数据传输,读寄存器将读取寄存器的接收缓冲器。SPI系统的发送方向只有一个缓冲器,而在接收方向有两个缓冲器。也就是说,在发送时一定要等到移位过程全部结束后才能对SPI数据寄存器执行写操作。而在接收数据时,需要在下一个字符移位过程结束之前通过访问SPI数据寄存器读取当前接收到的字符。否则第一个字节将丢失。
比起8051使用软件模拟时序实现SPI功能来,AVR的硬件SPI实在是先进了许多。通过读写相应的寄存器就能轻松实现SPI的操作,使得编程变得更加方面。下面是使用AVRSPI的几个步骤:
首先,应设置相应管脚的读写寄存器以设定数据传输方向。在Mega16里,SPI的接口为以下管脚:PB4-PB7(SS/MOSI/MISO/CLK)。如果工作在主模式则可以这么写(PORTB=0xff;DDRB=0xBF;PB7(SCK):输出PB6(MISO):输入PB5(MOSI):输出PB4(SS):输出)
接着还需要设定SPI工作寄存器,控制的寄存器只有三个:SPDR(SPI数据寄存器)、SPCR(SPI控制寄存器)、SPSR(SPI状态寄存器),其中SPDR是读写移位寄存器中的值,SPSR中包括了SPIE:SPI中断使能位SPE:SPI使能位DORD:数据传送从最高位或最低位开始MSTR:主从工作方式选择COPL/CPHA:时钟极性相位选择SPR1/SPR0:时钟速率选择;SPSR中主要是几个状态标志位,用来做软件查询,SPIF:SPI中断标志位WCOL:冲则可以如下设置突标志位如果使用的是软件查询,SPCR中只需要置SPE和MSTR两位。
随后的工作就是往SPDR里读写数据,需要注意的是一次最少读写一个Byte(8bit)的数据,这和硬件的设计有关。在读取数据前需要先写入数据。可以一次读写一个字节,也可以块读写,在OurAVR上的例程中这两种方式均有。
您可能关注的文档
最近下载
- 模拟电子技术01__半导体器件基础.pdf VIP
- 岛津lc2030c高效液相色谱仪操作指南.doc
- 甘肃省兰州市九年级(上)期末物理试卷.docx VIP
- TZDA 003-2023 TZDAA 002-2023 国际标准舞(体育舞蹈)业余运动员等级与评定规范.docx VIP
- 中心静脉导管溶栓知情同意书.docx VIP
- 建设工程工期延误量化分析标准.pdf VIP
- 扎克整体式燃烧器SKVJ-M使用说明书.pdf
- 高维空间的时空紧致化.pdf
- 科学教科版五年级下册全册同步练习含答案.docx
- 【地理 】四大地理区域的划分课件-2025-2026学年八年级地理下学期(湘教版2024).pptx VIP
原创力文档

文档评论(0)