芯片:TMS320F28377s
模块:McBSP
目的:
1、把MCLKR引脚作为时钟源,1.2KHz,不分频
2、发送8位,每10ms周期自动发送一次,
3、时钟停止模式,无延时
4、[FWID] = 1,希望同步脉宽为2个CLKG时钟周期
问题:
发送8bit,设置SRGR1[FWID] = 1,即希望发送帧同步脉宽为2个CLKG时钟脉宽,
但实际上为9个脉宽,经测试,FWID取值0-7任意一个数,帧同步脉宽都是9个脉宽,
当FWID>7时,帧同步脉宽与说明一样
后附初始化代码和测试波形。
初始化具体代码如下:
|
McbspaRegs.SPCR2.all=0x0000; McbspaRegs.SPCR2.bit.FREE = 1; McbspaRegs.SPCR1.bit.DLB = 0; //0 - Disable DLB mode. Comment out for non-DLB mode.
McbspaRegs.RCR2.bit.RPHASE = 0; //0 - Single-phase frame McbspaRegs.RCR1.bit.RFRLEN1 = 0; //0 - 1 word in phase 1 of the receive frame McbspaRegs.XCR2.bit.XPHASE = 0; //0 - Single-phase frame McbspaRegs.XCR1.bit.XFRLEN1 = 0; //0 - 1 word in phase 1 of the transmit frame McbspaRegs.SRGR2.bit.GSYNC = 0; //0 - No clock sync for CLKG McbspaRegs.PCR.bit.SCLKME = 1; McbspaRegs.SRGR1.bit.CLKGDV = 0; //0 - Divide-down value for CLKG 1 McbspaRegs.PCR.bit.FSXM = 1; //1 - FSX generated internally, McbspaRegs.SPCR2.bit.GRST = 1; //1 - Enable Sample rate generator |
