25.6.2.3 时钟产生和选择
对同步和非同步模式,时钟用来移位和采样数据,能被内部通过SERCOM波特率发生器产生或者由外部通
过XCK线提供。同步模式是通过向控制寄存器A中的通讯模式(CTRLA.CMODE)写1来实现的并且非同步模式是通
过向CTRLA.MODE写零来实现的。内部时钟源的选择是通过向控制寄存器A中的操作模式比特组写0x1,而外部
时钟源的选择是通过向CTRLA.MADE写0x0实现的。
SERCOM数率发生器配置如图所示。当CTRLA.CMODE是0,波特率发生器自动设到非同步模式并且16-比特波
特率寄存器值被使用。当CTRLA.CMODE是1,波特率发生器自动设到同步模式并且8位LSB波特寄存器被使用。
请参考"Clock Generation - Baud-Rate Generator"的关于配置波特率的描述。
同步时钟选择
当同步模式被使用,CTRLA.MODE比特组控制是否传输时钟(XCK线)是输入或是输出。
在时钟边缘和数据采样或数据改变的依赖关系对内部和外部时钟来说是相同的。数据在RxD管脚采样在XCK相反的时钟沿作为数据在TXD管脚的驱动。
控制寄存器A时钟极性比特(CTRLA.CPOL)选择哪个XCK时钟边缘被RxD采样使用并且哪个被用来TxD改变。
如图所示,当CTRLA.CPOL是0时,数据将要在XCK的上升沿改变并且采样在XCK的下降沿。如果CTRLA.CPOL是1,数据将被改变在XCK下降沿并且采样在XCK的上升沿。
当时钟是通过XCK提供的(CTRLA.MODE是0),移位寄存器直接在XCK时钟运行。
这意味着XCK不是同步于系统时中,因此,能运行在超系统频率。
|