DSP实验指导书及其思考题答案(5)

2018-12-29 19:33

寄存器,又得些修改地址寄存器。

串口控制寄存器1的详细说明(SPCR1):子地址 -> 0x0

SPCR1设置McBSP串口的数字环回模式、 接收符号扩展和校验模式、Clock Stop模式、DX是否允许、A-bis 模式、接收中断模式等,并给出接收同步错误、接收移位寄存器(RSR[1,2])空、接收准备好等状态。本实验RJUST = 01 ,即接收数据不足16BIT时采用右对齐且符号位扩展方式,另外接收中断由RRDY信号RINTM=00。DLB = 0表示不使用数字环路。CLKSTP = 0X 表示时钟停止模式,用于非SPI模式。DXENA = 0 表示禁止延时发送。ABIS = 0表示不使用A-bis模式。RSYNCERR = 0 表示不检测同步错误。该寄存器初始化值为0x2000。在启动串口接收工作前应将RRST为置1,即该寄存器为0x2001。

17

图3-1 McBSP串口控制寄存器

图3-2 串口控制寄存器1

(3) 串口控制寄存器2的详细说明(SPCR2):子地址 -> 0x1

SPCR2设置McBSP自由运行模式、SOFT 模式、发送中断模式,并给出发送同步错误、发送移位寄存器(XSR[1,2])空、发送准备好等状态。此外可以进行发送复位、采样率发生器复位、帧同步发生电路复位。本实验中FREE = 0 ,SOFT = 1 表示若使用仿真器调试时串口在发送完当前字后暂停工作。若连续运行,这两个BIT位没有影响。FRST = 0表示帧同步发生器复位,该BIT位工作时应设为1。GRST =0表示采样率发生器(即串口工作的时钟)电路复位,工作中若该串口需要提供时钟信号时,应设置为1。XINTM = 00表示串口的发送中断由XRDY产生。XSYNCERR = 0表示不检测同步错。该寄存器初始化值为0x100。当串口工作时,应将XRST为置1,即该寄存器为0x1c1。

图3-3 串口控制寄存器2

(5) 引脚控制寄存器的详细说明(PCR):子地址 -> 0x0e

PCR设置McBSP传输帧同步模式、接收帧同步模式、发送时钟模式、接收时

18

钟模式、发送帧同步信号的极性、接收帧同步信号的极性、发送时钟极性、接收时钟极性,并给出CLKS、DX、DR脚的状态。此外PCR还定义发送和接收部分在复位时相应引脚是否配置为通用 I/O。本实验中,XIOEN和RIOEN = 0表示DX,FSX,CLKX,DR,FSR,CLKR,CLKS都配置为串口而非通用I/O引脚。FSXM = 1表示发送帧同步由采样率发生器产生(请参考SRGR2寄存器的FSGM位)。FSRM = 0 表示接收帧同步由外部提供,因为DES5402PP实验板的FSXM与FSRM相连。CLKXM = 1 表示发送时钟由内部采样率发生器产生。CLKRM = 0 表示接收时钟由外部提供,同样因为CLKRM与CLKXM连在一起。FSXP = 1 表示发送帧同步低有效。FSRP = 1 表示接收帧同步低有效。CLKXP = 1 表示CLKX的上升沿发送数据, CLKRP = 0 表示CLKR的下降沿接收数据。该寄存器初始化值为0x0a0e。

图3-4 串口引脚控制寄存器PCR

(6) 接收控制寄存器1(RCR1)说明:子地址 -> 0x02

RCR1设置McBSP接收时第一相(FIRST PHASE)的接收帧长度(从1个字到128个字、接收字长度(8、12、16、20、24、32bits)。本实验中设置位每帧1个字,字长16 bits。初始值为0x0040。

图3-5 串口接收控制寄存器1

(7) 接收控制寄存器2(RCR2)说明:子地址 -> 0x03

RCR2设置McBSP接收时是否允许第二相(RPHASE=1)。如果允许,设置McBSP接收时第二相的接收帧长度(从1个字到128个字、接收字长度(8、12、16、20、24、32bits)。此外, RCR2设置McBSP接收时的接收压缩模式、接收同步帧忽略模式、接收数据延迟。在本实验中,RPHASE = 0 表示只使用单相帧,RCOMPAND = 00表示接收数据不压扩,且高位在前,RFIG = 0 表示不忽略接收帧同步信号。该寄存器初始化设置为0x0040或0x0。

19

图3-6 串口接收控制寄存器2

(8) 发送控制寄存器1(XCR1)说明:子地址 -> 0x04

XCR1设置McBSP发送时第一相(FIRST PHASE)的发送帧长度(从1个字到128个字、发送字长度(8、12、16、20、24、32bits)。本实验中设置位每帧1个字,字长16 bits。初始值为0x0040。

图3-7 串口发送控制寄存器1

(9) 发送控制寄存器2(XCR2)说明:子地址 -> 0x05

XCR2设置McBSP发送时是否允许第二相(XPHASE=1)。如果允许,设置McBSP时第二相的发送帧长度(从1个字到128个字、发送字长度(8、12、16、20、24、32bits)。此外, XCR2设置McBSP发送时的发送压缩模式、发送同步帧忽略模式、发送数据延迟。本实验不允许使用第二相(XPHASE=0),初始设置为 0x0。

图3-8 串口发送控制寄存器2

(10)采样率发生器(串口时钟产生)寄存器SRGR1:子地址 -> 0x06

采样率发生器寄存器1(SRGR1)设置帧正脉冲宽度和数据位时钟分频( CLKG与输入CLK频率之比,约定值为1)。本实验中虽然将FWID设置为1,即帧同步脉冲宽度=2,但被忽略了(参见后面帧同步发生控制寄存器设置)。时钟分频寄存器=200(0xC8),表示设置串口时钟为CLKG=100M /200=500K Hz。本实验中设置为0x1c8。

图3-9 串口采样率控制寄存器1

(11) 采样率发生器(帧同步信号产生)控制寄存器SRGR2:子地址 -> 0x07 采样率发生器寄存器2(SRGR2)设置采样率发生器时钟同步模式、CLKS的极性、采样率发生器输入时钟选择、帧周期分频。本实验中,GSYNC=0 表示采样率发生器是否同步,因CLKSM=1,固该bit不用。CLKSP = 0表示 CLKS的上升沿产生CLKG和FSG。因CLKSM=1该BIT也不用。CLKSM = 1表示采样率发生器由CPU时钟驱动。FSGM = 0表示帧同步信号由发送位移寄存器自动产生,忽略FPER

20

和FWID,固FPER =0。所以该寄存器初始化值为0x2000。

图3-10 串口采样率控制寄存器2

(12)串口的初始化

本实验的串口初始化包括两个部分:串口收发中断的设置和串口寄存器的初始化。根据前面的介绍,DES5402PP实验板的串口1设置为单相帧,字长为16bit,发送CLOCK由内部CPU时钟产生,频率为500KHz,并输出。同时串口接收时钟也使用该信号。发送帧同步信号由发送位移寄存器自动产生,同时也提供给串口接收电路。具体设置参见下面的代码:

;****************************************************************** ; The following codes are used to initalize McBSP1 ! ; When Transmit, this DES5402PP makes CLK,FS ! the other ; DES5402PP receives the CLK,FS !

;****************************************************************** stm #0,MCBSP1_SPSA

; choose SPCR11

stm #2000h,MCBSP1_SPSD ; receive sign_extend in DRR stm #1,MCBSP1_SPSA ; choose SPCR20 stm #100h,MCBSP1_SPSD ;

stm #2,MCBSP1_SPSA ; choose RCR10 stm #40h,MCBSP1_SPSD ; 16 bits each word stm #3,MCBSP1_SPSA ; choose RCR20 stm #40h,MCBSP1_SPSD

stm #4,MCBSP1_SPSA ; choose XCR10 stm #40h,MCBSP1_SPSD ; 16 bits each word stm #5,MCBSP1_SPSA ; choose XCR20 stm #0,MCBSP1_SPSD

stm #6,MCBSP1_SPSA ; choose SRGR1

stm #1C8h,MCBSP1_SPSD ; CLKG=100M /200=500K stm #7,MCBSP1_SPSA ; choose SRGR2

stm #2000h,MCBSP1_SPSD ; Sample rate generator clock derived

;from CPU clock

21


DSP实验指导书及其思考题答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2023年中国通信继电器行业市场深度分析与投资规划咨询(目

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: