当前位置:首页 > 单片机 > 单片机
[导读]十、ATMEGA16的同步串行接口十—(01)、ATMEGA16的同步串行接口的介绍1、ATMEGA16的SPI特点串行外设接口SPI 允许ATmega16 和外设或其他AVR 器件进行高速的同步数据传输。ATmega16 SPI 的特点如下:? 全双工, 3 线同

十、ATMEGA16的同步串行接口

十—(01)、ATMEGA16的同步串行接口的介绍

1、ATMEGA16的SPI特点

串行外设接口SPI 允许ATmega16 和外设或其他AVR 器件进行高速的同步数据传输。
ATmega16 SPI 的特点如下:
? 全双工, 3 线同步数据传输
? 主机或从机操作
? LSB 首先发送或MSB 首先发送
? 7 种可编程的比特率
? 传输结束中断标志
? 写碰撞标志检测
? 可以从闲置模式唤醒
? 作为主机时具有倍速模式(CK/2)



2、主机与从机之间的SPI连接以及原理

主机和从机之间的SPI 连接如Figure 66 所示。 系统包括两个移位寄存器和一个主机时钟
发生器。通过将需要的从机的 SS 引脚拉低,主机启动一次通讯过程。主机和从机将需要
发送的数据放入相应的移位寄存器。主机在SCK 引脚上产生时钟脉冲以交换数据。主机
的数据从主机的MOSI 移出,从从机的MOSI 移入;从机的数据从从机的MISO 移出,从
主机的MISO 移入。主机通过将从机的SS 拉高实现与从机的同步。
配置为SPI 主机时, SPI 接口不自动控制 SS 引脚,必须由用户软件来处理。(还有~~就是主机和从机的两个移位寄存器可以被认定为一个公开的16位环形移位寄存器)对 SPI 数
据寄存器写入数据即启动SPI 时钟,将8 比特的数据移入从机。传输结束后SPI 时钟停
止,传输结束标志SPIF 置位。如果此时SPCR 寄存器的SPI 中断使能位SPIE 置位,中
断就会发生。主机可以继续往SPDR 写入数据以移位到从机中去,或者是将从机的SS 拉
高以说明数据包发送完成。最后进来的数据将一直保存于缓冲寄存器里。

配置为从机时,只要SS 为高,SPI 接口将一直保持睡眠状态,并保持MISO 为三态。在
这个状态下软件可以更新SPI 数据寄存器SPDR 的内容。即使此时SCK 引脚有输入时
钟,SPDR 的数据也不会移出,直至SS 被拉低。一个字节完全移出之后,传输结束标志
SPIF置位。如果此时SPCR寄存器的SPI中断使能位SPIE置位,就会产生中断请求。在读
取移入的数据之前从机可以继续往SPDR 写入数据。最后进来的数据将一直保存于缓冲
寄存器里。



SPI 系统的发送方向只有一个缓冲器,而在接收方向有两个缓冲器。也就是说,在发送时
一定要等到移位过程全部结束后才能对SPI 数据寄存器执行写操作。而在接收数据时,需
要在下一个字符移位过程结束之前通过访问SPI 数据寄存器读取当前接收到的字符。否则
第一个字节将丢失。
工作于SPI 从机模式时,控制逻辑对SCK 引脚的输入信号进行采样。为了保证对时钟信
号的正确采样, SPI 时钟不能超过fosc/4。



下面的例程说明如何将SPI 初始化为主机,以及如何进行简单的数据发送。例子中
DDR_SPI必须由实际的数据方向寄存器代替;DD_MOSI、DD_MISO和DD_SCK必须由

实际的数据方向代替。比如说, MOSI 为PB5 引脚,则DD_MOSI 要用DDB5 取代,
DDR_SPI 则用DDRB 取代。

void SPI_MasterInit(void)
{

DDR_SPI = (1<
SPCR = (1<}
void SPI_MasterTransmit(char cData)
{

SPDR = cData;

while(!(SPSR & (1<;
}

void SPI_SlaveInit(void)
{

DDR_SPI = (1<
SPCR = (1<}
char SPI_SlaveReceive(void)
{

while(!(SPSR & (1<;

return SPDR;
}

3、SS 引脚的功能

从机模式

当SPI 配置为主机时,从机选择引脚SS 总是为输入。SS 为低将激活SPI 接口, MISO
成为输出( 用户必须进行相应的端口配置) 引脚,其他引脚成为输入引脚。当SS 为高时
所有的引脚成为输入, SPI 逻辑复位,不再接收数据。
SS引脚对于数据包/字节的同步非常有用,可以使从机的位计数器与主机的时钟发生器同
步。当SS 拉高时SPI从机立即复位接收和发送逻辑,并丢弃移位寄存器里不完整的数据。
主机模式

当SPI 配置为主机时(MSTR 的SPCR 置位),用户可以决定SS 引脚的方向。
若SS 配置为输出,则此引脚可以用作普通的I/O 口而不影响SPI 系统。典型应用是用来
驱动从机的SS 引脚。
如果SS 配置为输入,必须保持为高以保证SPI 的正常工作。若系统配置为主机, SS 为
输入,但被外设拉低,则SPI 系统会将此低电平解释为有一个外部主机将自己选择为从
机。为了防止总线冲突, SPI 系统将实现如下动作:
1. 清零SPCR 的MSTR 位,使SPI 成为从机,从而MOSI 和SCK 变为输入。
2. SPSR 的SPIF 置位。若SPI 中断和全局中断开放,则中断服务程序将得到执行。
因此,使用中断方式处理SPI 主机的数据传输,并且存在SS 被拉低的可能性时,中断服
务程序应该检查MSTR 是否为"1”。若被清零,用户必须将其置位,以重新使能SPI 主机
模式。

4、SPI的相关寄存器

1)SPI控制寄存器



? Bit 7 – SPIE: 使能SPI 中断
置位后,只要SPSR 寄存器的SPIF 和SREG 寄存器的全局中断使能位置位,就会引发
SPI 中断。
? Bit 6 – SPE: 使能SPI
SPE 置位将使能SPI。进行任何SPI 操作之前必须置位SPE。
? Bit 5 – DORD: 数据次序
DORD 置位时数据的LSB 首先发送;否则数据的MSB 首先发送。
? Bit 4 – MSTR: 主/ 从选择
MSTR置位时选择主机模式,否则为从机。如果MSTR为"1”,SS配置为输入,但被拉低,
则MSTR 被清零,寄存器SPSR 的SPIF 置位。用户必须重新设置MSTR 进入主机模式。

? Bit 3 – CPOL: 时钟极性
CPOL 置位表示空闲时SCK 为高电平;否则空闲时SCK 为低电平。请参考 Figure 67 与
Figure 68。 CPOL 功能总结如下:



? Bit 2 – CPHA: 时钟相位
CPHA 决定数据是在SCK 的起始沿采样还是在SCK 的结束沿采样。请参考Figure 67 与
Figure 68 。



? Bits 1, 0 – SPR1, SPR0: SPI 时钟速率选择1 与0
确定主机的SCK 速率。SPR1 和SPR0 对从机没有影响。SCK 和振荡器的时钟频率fosc
关系如下表所示:


2)SPI状态寄存器



? Bit 7 – SPIF: SPI 中断标志
串行发送结束后,SPIF 置位。若此时寄存器SPCR 的SPIE 和全局中断使能位置位,SPI
中断即产生。如果SPI 为主机, SS 配置为输入,且被拉低, SPIF 也将置位。进入中断
服务程序后SPIF自动清零。或者可以通过先读SPSR,紧接着访问SPDR来对SPIF清零。
? Bit 6 – WCOL: 写碰撞标志
在发送当中对SPI 数据寄存器SPDR写数据将置位WCOL。WCOL可以通过先读SPSR,
紧接着访问SPDR 来清零。
? Bit 5..1 – Res: 保留
保留位,读操作返回值为零。
? Bit 0 – SPI2X: SPI 倍速
置位后SPI 的速度加倍。若为主机( 见 Table 58),则SCK 频率可达CPU 频率的一半。
若为从机,只能保证fosc /4。

3)SPI 数据寄存器- SPDR


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭