南京航空航天大学自动化学院DSP技术应用实验室6.4.2串行通信接口模块SCI一、SCI模块特性二、SCI模块的主要部件三、通信模式四、波特率设置五、SCI模块应用实例南京航空航天大学自动化学院DSP技术应用实验室一、SCI模块特性①.两个I/O引脚。SCIRXD用于接收串行数据,SCITXD用于发送串行数据。在不使用SCI模块时,这两个引脚可以用作通用I/O接口。②.一个16位的波特率选择寄存器通过编程可以选择64K种不同的波特率。③.1~8位可编程的数据长度。④.1位或2位可编程的停止位。南京航空航天大学自动化学院DSP技术应用实验室SCI模块特性⑤.4个错误检测标志位:奇偶错、超限错、帧出错或者间断检测。⑥.空闲线和位寻址两种唤醒多处理器模式。⑦.半双工或者全双工的操作模式。⑧.可以使用中断或者查询方式对发送和接收进行操作。⑨.发送和接收的中断可以独立使能,几种错误条件也可以独立产生错误中断。⑩.不归零(NRZ)的数据格式南京航空航天大学自动化学院DSP技术应用实验室二、SCI模块的主要部件在全双工模式下SCI模块主要包括以下部件①.一个发送器TX及其相关的寄存器SCITXBUF和TXSHF。②.一个接收器RX及其相关的寄存器RXSHF和SCIRXBUF。③.一个可编程的波特率发生器SCIHBAUD和SCILBAUD。④.数据存储器映射的控制和状态寄存器。其中发送器TX和接收器RX可以工作于半双工或者全双工方式。南京航空航天大学自动化学院DSP技术应用实验室地址寄存器名称功能7050hSCICCRSCI通信控制寄存器规定SCI是用的字符格式、协议及通信模式。7051hSCICTL1SCI控制寄存器1控制接收器、发送器和接收错误中断使能,TXWAKE和SLEEP功能,SCI软件复位。7052hSCIHBAUDSCI波特率选择寄存器高8位保存波特率控制数据高8位7053hSCILBAUDSCI波特率选择寄存器低8位保存波特率控制数据低8位7054hSCICTL2SCI控制寄存器2发送中断使能,接收缓冲器/间断中断使能,发送准备好标志和发送空标志。7055hSCIRXSTSCI接收状态寄存器存放7个接受状态标志7056hSCIRXEMUSCI仿真数据缓冲寄存器存放用于屏幕更新的仿真数据7057hSCIRXBUFSCI接收器数据缓冲寄存器存放来自接收移位寄存器的当前数据7059hSCITXBUFSCI发送器数据缓冲寄存器存放被SCI发送的数据705FhSCIPRISCI优先级控制寄存器规定接收器和发送器中断优先级及仿真挂起时的操作南京航空航天大学自动化学院DSP技术应用实验室(1)SCI通信控制寄存器SCICCR—地址7050h位名称说明动作7STOPBITS停止位数量0-1个停止位;1-2个停止位6EVEN/ODDPARITY奇/偶校验选择0-奇校验;1-偶校验5PARITYENABLE奇/偶校验使能0-禁止校验;1-使能校验4LOOPBACKENA自测试模式使能0-进制自测试;1-使能自测试(CJRXDSCITXD于系统内部连接在一起)3ADDR/IDLEMODE多处理器模式选择0-空闲线协议;1-地址位协议210SCICHARLSCICHAR1SCICHAR0字符(数据)长度选择000-1001-2010-3011-4100-5101-6110-7111-8南京航空航天大学自动化学院DSP技术应用实验室(2)SCI控制寄存器1SCICTL1包含接收器和发送器使能位,TXWAKE和SLEEP功能,以及软件复位等信息位名称说明动作6REERRINTENA接收错误中断使能0-禁止接收错误中断;1-使能接收错误中断5SWRESET软件复位(低有效)0-进入复位状态;1-退出复位状态,使能SCI3TXWAKE发送器唤醒模式选择0-不选择发送特征;1-选择空闲线或地址位模式2SLEEPSCI休眠位0-禁止休眠方式;1-使能休眠方式1TXENASCI发送使能0-禁止发送;1-使能发送0RXENASCI接收使能0-禁止接收;1-使能接收南京航空航天大学自动化学院DSP技术应用实验室(3)SCI控制寄存器2(SCICTL2)用于控制接收/间断检测中断和发送中断使能,发送准备好标志与发送器空标志等位名称说明动作7TXRDY发送缓冲寄存器准备好标志0-SCITXBUF;1-SCITXBUF准备接收下一数据6TXEMPTY发送器空标志0-发送缓冲寄存器或者移位寄存器中都有数据;1-发送缓冲寄存器或者移位寄存器中都无数据1RX/BKINTENA接收缓冲器/间断中断使能0-禁止该中断;1-使能改中断0TXINTENA发送缓冲器中断使能控制TXRDY标志引起的中断0-禁止TXRDY中断;1-使能TXRDY中断南京航空航天大学自动化学院DSP技术应用实验室(4)SCI优先级控制寄存器SCIPRI规定SCI发送和接收中断的优先级以及SCI模块在仿真挂起时的操作.位名称说明动作6SCITXPRIORITY发送中断优先级选择0-高优先级;1-低优先级5SCIRXPRIORITY接收中断优先级选择0-高优先级;1-低优先级4SCISOFTSCI在仿真挂起时的操作00-立即停止;10-完成当前发送/接收操作后停止;X1-自有运行3SCIFREE南京航空航天大学自动化学院DSP技术应用实验室三、通信模式处理器有两种通信模式:可以通过设置AODR/IDLEMODE(SCICCR.3)位进行选择。1)空闲线多处理器模式2)地址位多处理模式在地址位多处理器协议(ADDR/IDLEMODE=1)中,每个帧中附加一个地址位。它紧跟在最后一个数据位之后,若为地址字节,该位为1,若为字节,该位为0。南京航空航天大学自动化学院DSP技术应用实验室五、SCI模块应用实例下面以串行通信接口SCI模块和PC机通过RS-232串口进行异步通信交换数据为例,说明SCI模块串行通信过程。其中PC机称为上位机,DSP综合实验系统为下位机。要求下位机以中断方式接收PC机发送的命令。关键寄存器设置:SPLK#0007H,SCICCR;空闲模式,8位数据,;1位停止位,无奇校验SPLK#0003H,SCICTL1;接收、发送、内部时钟使能,SLEEP=0SPLK#0002H,SCICTL2;接收中断使能SPLK#0000H,SCIHBAUDSPLK#0081H,SCILBAUD;波特率为9600;10MSPLK#0027H,SCICTL1;串口初始化完成南京航空航天大学自动化学院DSP技术应用实验室硬件电路