This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

tlv5636 输出电压在衰减的原因

Other Parts Discussed in Thread: TLV5636, TLV5616

我用的是C2000 MCU+TLV5636。  硬件电路为:

  

Vout接示波器

当我想输出三角波的时候 发现输出的三角波的电压峰峰值一直在衰减。如下图:

可是我的程序并没有这么做。

换了几片芯片 也尝试过TLV5616,发现结果都是一样的,不知道是哪里出了问题。

下面是我的部分程序,希望有人能够解答一下异或。

#define CS_1    GpioDataRegs.GPASET.bit.GPIO8=1
#define CS_0    GpioDataRegs.GPACLEAR.bit.GPIO8=1
#define DIN_1   GpioDataRegs.GPASET.bit.GPIO9=1
#define DIN_0   GpioDataRegs.GPACLEAR.bit.GPIO9=1
#define SCLK_1  GpioDataRegs.GPASET.bit.GPIO17=1
#define SCLK_0  GpioDataRegs.GPACLEAR.bit.GPIO17=1
#define FS_1    GpioDataRegs.GPASET.bit.GPIO7=1
#define FS_0    GpioDataRegs.GPACLEAR.bit.GPIO7=1
void main()
{
   for(;;)
   {
	   for(j=1;j<4000;j++)
	   {
		   DAC(j); DELAY_US(50);
	   }
	   for(j=4000;j>1;j--)
	   {
		   DAC(j); DELAY_US(50);
	   }
   }
}
void DAC(Uint16 data)
{
	unsigned char i=0;
	Uint16 DD;
	data|=0x4000;
	CS_1;
	__asm("          NOP");
	FS_0;
	__asm("          NOP");
	FS_1;
	__asm("          NOP");
	CS_0;
	__asm("          NOP");
	FS_0;

    for(i=0;i<16;i++)
    {
        DD=(data<<i) & 0x8000 ;
      	if(DD==0x8000) DIN_1;
      	else DIN_0;
      	SCLK_0;
		__asm("          NOP");
		SCLK_1;
    }
    FS_1;
	__asm("          NOP");
    SCLK_1;
	__asm("          NOP");
	CS_1;
	__asm("          NOP");
}