TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28069: ADC

Part Number:TMS320F28069Other Parts Discussed in Thread:TLV5620

我在实现F280069上实现AD\DA实验,AD使用ePWM触发,DA通过SPI与TLV5620芯片通信实现,现在在5000HZ及以上频率时,黄色的输出波形脉冲宽度大,导致无法很好还原输入波形,个人认为是程序设置问题,想请问有没有解决方法?

EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group

EPwm1Regs.ETSEL.bit.SOCASEL = 4; // Select SOC from CMPA on upcount

EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate pulse on 1st event
EPwm1Regs.CMPA.half.CMPA = 350; // Set compare A value
EPwm1Regs.TBPRD =600; // Set period for ePWM1
EPwm1Regs.TBCTL.bit.CTRMODE = 0; // count up and start

void WriteDAC(unsigned char add,unsigned char rng,unsigned char vol)
{
unsigned short int data;
data=0x0000;

data = ((add<<14) | (rng<<13) | (vol<<5));

while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG ==1); //判断SPI的发送缓冲区是否是空的,等于0可写数据

SpiaRegs.SPITXBUF = data; //把发送的数据写如SPI发送缓冲区

while( SpiaRegs.SPISTS.bit.BUFFULL_FLAG==1); //当发送缓冲区出现满标志位时,开始琐存数据

delay(1500);//同通过一负跳变琐存要发送的数据,看TLV5620数据手册即可得知
ClrLOAD;
SetLOAD;

void spi_init()
{
SpiaRegs.SPICCR.all =0x0a;///进入初始状态,数据在上升沿输出,自测禁止,11位数据模式

SpiaRegs.SPICTL.all =0x0006; // 使能主机模式,正常相位,使能主机发送,禁止接收
//溢出中断,禁止SPI中断;

SpiaRegs.SPIBRR =0x0031; //SPI波特率=37.5M/50 =0.75MHZ;
SpiaRegs.SPICCR.all =0x8a; //退出初始状态;
SpiaRegs.SPIPRI.bit.FREE = 1; // 自由运行
}

Ben Qin:

你好,我将在另一个帖子中回复你:

(+) TMS320F28069: C2000Tm︎ 微控制器论坛 – C2000Tm︎ 微控制器论坛 – C2000 微控制器 – E2ETm 设计支持 (ti.com)

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28069: ADC
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1