新闻中心

EEPW首页>嵌入式系统>设计应用> TMS320VC5402与模拟芯片TLC320AD50C接口设计

TMS320VC5402与模拟芯片TLC320AD50C接口设计

作者: 时间:2012-03-17 来源:网络 收藏

3.1 硬件连接
根据图1和图2的时序,则容易实现TLC320AD50C与的硬件连接,如图3所示。

TLC320AD50C的MCLK外接8.192MHz的晶振,的FSX和FSR由TLC320AD50C设置。如果选择D7=0,N=8,则采样速率为8kHz。

3.2 通信协议
TLC320AD50C的通信有两种格式:一次通信格式和二次通信格式。
一次通信格式的16位都用来传输数据。DAC的数据长度由寄存器1的D0位决定。启动和复位时,缺省值为15+1位模式,最后一位要求二次通信。如果工作在16位传输模式,则必须由FC产生二次通信请求。
二次通信格式则用来初始化和修改TLC320AD50C内部寄存器的值。在二次通信中可通过向DIN写数据来初始化。
格式如下:

系统复位后,必须通过DSP的DX口向TLC320AD50C的DIN写数据,如果采用一片TLC320AD50C,只需初始化其寄存器1、寄存器2和寄存器4。
由于通信数据长度为16位,初始化时应通过RCR1和XCR1设置McBSP的传输数据长度为16。考虑到TLC320AD50C复位后至少经过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_RETR SPCR1
STM #K_SERIAL_RETX SPCR2
初始化串行口控制寄存器1,2复 位串行口
STM #K_SERIAL_OUTRETR SPCR1
STM #K_SERIAL_OUTRETX SPCR2
使串行口脱离复位
RSBX INTM INTM=0,打开所有的中断
LD #0 DP
ORM #K_BRINT0|K_BXINT0IMR
打开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 下一页

评论


相关推荐

技术专区

关闭