本帖最后由 ddllxxrr 于 2016-3-10 09:42 编辑
SAM D SERCOM USART 配置 介绍 这个应用笔记介绍了Atmel SAM D微控器的SERCOM USART和其相应的代码用简短的应用范围。 为了达到演示的目地两块 SAM D21板子将用到。
1 介绍串口通讯接口(USART,I2C,SPI) 串行通讯接口在嵌入式系统中几个微控器之前交换数扰伴演着关键角色。交换数据可以是双功和半双功,这依据指定的串行模式。速率和连接的串行模式彼此是不同的。 USART,I2C,SPI是用在嵌入式系统的串行模式。
1.1 USART USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是以RS232协议为基础的,可以操作在同步和非同步模式。可以全双功支行。它的局限可能是低数据数率。 1.2 I2C I2C是一个两线协议只利用两根线来完成它的操作。I2C是一个真实的多主机总线提供了总裁和冲突检测。它是半双功通讯。不同的传输速率可用依据传输模式。I2C的速率高于USART但是低于SPI。I2C主要优先考虑在嵌入式应用的用于通讯管脚数量有限和几个设备不得不通过简单总线连接的情况下。
1.3 SPI SPI是一个四线串行总线使用四个物理线来进行通讯。它是全双功运行。SPI支持高速率的数据通讯。SPI能运行于一个单个主机设备和一个或多个从彼此通过选择线分开的从设备。
2 SERCOM在SAM D微控器上的实现 通常微控制器将为每个分开的串行通讯模块分配不同时的管脚。单独的专用外设和用户寄存器可用于每个模块。例如USART将用一个单独外设带有为其功能的专用管脚,I2C有一个单独外设带有自己的专用管脚。 在SAM D 微控制器,所有的串行外设被设计到一个单个模块作为串行通讯接口(SERCOM)。一个SERCOM模埠能被用户配置成USART,I2C或SPI。每个SERCOM可以分配四个管脚PAD0到PAD3。每个管脚的功能依据于所使用的SERCOM模式。没有定义的管脚可以用作其它功能,SERCOM模块不能控制它们,除非被配置为SERCOM模块使用。 例如,SERCOM0可以被配置为USART模块PAD0作为发送PAD1做为接收管脚。其余不使用的管脚(PAD和PAD3)能被作为GPIO管脚使用或者能分配到一些其它管脚。针对不同的管脚SERCOM功能分配非常灵活,使SERCOM模块相比于典型的串行通信外设实现更为有利。 2.1 SERCOM概览 串行通讯接口(SERCOM)可以被配置为支持三种不同模式:I2C,SPI,USART。一但配置使能,所有的SERCOM的资源被所选的模式支配。 SERCOM串行引擎包含发送器接收器,波特率发生器和地址匹配功能。它可以配置为使用内部发生时钟或一个外部发生时钟,屏蔽操作在所有休眠模式中都可用。
|