DSP mcasp模块与LTE装置连接,TDM格式,DSP端做从,LTE做主,LTE装置在有电话接入时产生帧同步和时钟,电话挂断时帧同步及时钟消失。
DSP端作为从机,使用TI官方提供的驱动框架。在无时钟时初始化失败。
DSP端作为从机,电话接入后初始化DSP的mcasp口(此时有外部时钟),初始化成功,但是当电话挂断后(LTE产生的时钟消失),DSP端的mcasp模块报错。
如何解决mcasp作为从机时,外部时钟时有时无问题?
Shine:
如果只是配置寄存器来进行接口初始化的话,不需要master提供时钟。如果slave是要传输数据的话,则需要master提供时钟。请问报错信息是什么?用的是linxu还是RTOS?
sdf liu:
回复 Shine:
用的是RTOS,借鉴的是pdk中的drv mcasp代码,调试发现如果没用时钟mcasp BitSetGblXCtl()函数不过引发断言即MCASP_GBLCTL寄存器配置不过即mcasp_drv.c的4025行“assert(0U != timeout);”。。如果在dsp的mcasp作为从机时外部有时钟初始化成功,但是外部时钟突然消失则程序报错,报错是 mcasp对应的Crossbar出错,Event77对应的试mcasp rx。错误信息如下: [t=0x029d257e] ti.sysbios.family.c64p.EventCombiner: ERROR: line 229: E_unpluggedEvent: Event# 77 is unplugged
sdf liu:
回复 sdf liu:
但是外部时钟消失后程序报错,报错是mcasp对应的crassbar出错。。。上面打错了
sdf liu:
回复 sdf liu:
我用的是RTOS,PDK中的drv mcasp代码,初始化时如果无外部时钟MCASP_GBLCTL寄存器初始化不过报错,错误信息在mcasp_drv.c的4025行。如果dsp mcasp作为从机在初始化时有外部时钟正常工作,但外部时钟突然消失后程序会报错,错误信息为[t=0x029d257e] ti.sysbios.family.c64p.EventCombiner: ERROR: line 229: E_unpluggedEvent: Event# 77 is unplugged ,其中Event77为mcasp rx的Crossbar
Shine:
回复 sdf liu:
看了一下TRM section 24.6.5.1.2.1里的备注:
Before performing McASP global initialization, If external clock ACLKR is used, it must be running already for proper synchronization of the MCASP_GBLCTL所以是一定要有时钟才能完成初始化的。
sdf liu:
回复 Shine:
麻烦再问一下,我这种情况外部时钟时有时无,该如何配置。(您的意思是必须有时钟才能配置通过是吧)