SCI自动波特率检测
发布时间:2009/1/15 0:00:00 访问次数:1445
大多数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模块硬件不支持自动波特率检测。一般情况下嵌入式控制器的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接口数据格式