SCI自动波特率检测

时间:2009-01-14

  大多数SCI模块硬件不支持自动波特率检测。一般情况下嵌入式控制器的SCI时钟由PLL提供,设计的系统工作会改变PLL复位时的工作状态,这样很难支持自动波特率检测功能。而在TMS320F2812处理器上,增强功能的SCI模块硬件支持自动波特率检测逻辑。寄存器SCIFFCT位ABD和CDC位控制自动波特率逻辑,使能SCIRST位使自动波特率逻辑工作。增加自动波特率检测功能的SCI通信接口除了能够满足正常通信自动检测系统的通信速率外,还支持采用SOl接口上电引导装载程序?这对于通过上位机采用SCI接口实时更新系统软件非常重要。

  当CDC为1时,如果ABD也置位表示自动波特率检测开始工作,就会产生SCI发送FIFO中断(TXINT)。同时在中断服务程序中必须使用软件将CDC位清0,否则如果中断服务程序执行完CDC仍然为1,则以后不会产生中断。具体操作步骤如下。

  (1)将SCIFFCT中的CDC位(位13)置位,清除ABD位(位15),使能SCI的自动波特率检测模式。

  (2)初始化波特率寄存器为1或限制在500 Kb/s内。

  (3)允许SCI以期望的波特率从一个主机接收字符“A”或字符“a”。如果个字符是“A”或“a”,则说明自动波特率检测硬件已经检测到SCI通信的波特率,然后将ABD位置1。

  (4)自动检测硬件将用检测到的波特率的十六进制值刷新波特率寄存器的值,这个刷新逻辑器也会产生一个CPU中断。

  (5)通过向SCIFFCT寄存器的ABD CLR位(位13)写入1清除ABD位,响应中断。写0清除CDC位,禁止自动波特率逻辑。

  (6)读到接收缓冲为字符“A”或“a”时,清空缓冲和缓冲状态位。

  (7)当CDC为1时,如果ABD也置位表示自动波特率检测开始工作,就会产生SCI发送FIFO中断(TXINT),同时在中断服务程序中必须使用软件将CDC位清0。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com



  
上一篇:SCI的16级FIFO缓冲
下一篇:地址位多处理器通信

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料