SCI即串行通信接口,是一个双线的异步串口,即具有接收和发送两根信号线的异步串口,一般可以看作是UART(通用异步接收/发送装置)。F2812的SCI模块支持DSP与采用NRZ(non-return-to-zero 不归零)标准格式的异步外围设备之间进行数字通信。
F2812内部有两个单独的SCI模块,SCIA与SCIB,每一个SCI模块都各有一个接收器和发送器。SCI的接收器和发送器各具有一个16级深度的FIFO队列,它们还都有自己独立的使能位和中断位,可以在半双工通信中进行独立的操作,或者在全双工通信中同时进行操作。需要注意的是,SCIA的13个寄存器都是8位的。
表1. SCI寄存器地址映射表
Bit(s) | Name | Description |
7 | STOP BITS |
SCI停止位个数,该位决定了发送停止位的个数,接收器仅对一个停止位进行检查。 0 1位停止位 1 2位停止位 |
6 | EVEN/ODD PARITY | 奇偶校验设置位,奇偶校验是否有效取决于SCICCR(5)的设置 0 奇校验 1 偶校验 |
5 | PARITY ENABLE | SCI奇偶校验使能位,如果SCI处于address-bit multiprocesser模式(SCICCR(3)置1),地址位也包含在奇偶计算中,对于少于位的字符,剩余的无用位排除在奇偶校验之外。 0 禁用奇偶校验 1 使能奇偶校验 |
4 | LOOPBACK ENA | 测试模式使能位,使能此位,Rx与Tx在内部连接在一起。 0 禁止此模式 1 使能此模式 |
3 | ADDR/IDLE MODE |
SCI多机模式控制位,多机模式与普通模式不同,需要使能SLEEP与TXWAKE功能。多机模式增加了一个地址位到数据帧中,普通模式(空闲模式)无此位,与典型的RS232通信兼容。 0 空闲模式 1 多机模式 |
2-0 | SCICHAR2-0 |
字符长度控制位,1-8位长度可选,不够8位时,SCIRXBUF和SCIRXEMU寄存器中的数据是右对齐的,且SCIRXBUF中的无用位填0,SCITXBUF中的无用位不用填0。 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 8 |
Bit(s) | Name | Description |
7 | Reserved | 读为0,写无效 |
6 | RX ERR INT ENA | SCI接收错误中断使能位 0 禁用此中断 1 使能此中断 |
5 | SW RESET |
软件复位,写0,复位SCI状态机与操作标志(SCICTL2与SCIRXST),不影响其余配置位。直至写1,所有起作用的逻辑均保持确定的复位状态,系统复位后,此位写1,才可使能SCI,当检测到一个接收间断时(BRKDT,SCIRXST(5)),清除该位。SW
RESET影响的标志位如下 Value After |