新闻中心

EEPW首页>嵌入式系统>设计应用> 数字信号处理器与音频模拟芯片的接口设计

数字信号处理器与音频模拟芯片的接口设计

作者: 时间:2012-02-08 来源:网络 收藏

格式如下:

  系统复位后,必须通过DSP的DX口向的DIN写数据,如果采用一片,只需初始化其寄存器1、寄存器2和寄存器4。

  由于通信数据长度为16位,初始化时应通过RCR1和XCR1设置McBSP的传输数据长度为16。考虑到复位后至少经过6个MCLK才可以脱离复位,故可以在此时间内初始化DSP的串行口。

3.3 软件实现

SERIAL_INIT:

LD #AIC_DP,DP *为AIC的复位初始化DP

ST #K_RESET,AIC_IN_RESET

PORTW #AIC_IN_RESET,K_AIC_ADDR *复位AIC

Need at least 6 cycles to pull the aic out of reset

STM #K_SERIAL_RETRSPCR1

STM #K_SERIAL_RETXSPCR2 *初始化串行口控制寄存器1,2复位串行口

STM #K_SERIAL_OUTRETR,SPCR1

STM #K_SERIAL_OUTRETX,SPXR2 *使串行口脱离复位

RSBXINTM *INTM=0,打开所有的中断

LD #0,DP

ORM #(K_BRINT0 K_BXINT0),IMT *打开BRINT0和BXINT0

LD #AIC_DP,DP

STM #(~K_BRINT0),IFR *清除标志

ST #K_ORESET,AIC_OUT_RESET

PORTW #AIC_OUT_RESET,K_AIC_ADDR *AIC脱离复位

STM RCR1,#K_RFW 初始化接收控制寄存器1,设置接收数据长度为16位

STM XCR1,#K_XFW *初始化发送控制寄存器1,设置发送数据长度为16位

STM PCR,#K_SERIAL *设置为串行口工作方式,而不是通用I/O方式

STM #K_DATA,DXR1 *向DIN写数据,引起二次通信,等待串行口中断

IDLE 在BXINT0的中断服务程序里,向DXR1写入寄存器的值。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭