1,I writed a program for 2808's spi to slv5638 as bellow,but the results were error occasionally,why?
2,Where can I find such referrence program?can you sent me a example?
thank you.
/
/
// TITLE: DSP280x DAC Initialization & Support Functions.
//
//###########################################################################
// $TI Release: DSP280x,
// $Release Date: August 7th, 2008 $
//refer to Example_280xSpi_FFDLB.c
//###########################################################################
#include "DSP280x_Device.h" // DSP280x Headerfile Include File
#include "DSP280x_Examples.h" // DSP280x Examples Include File
#include "adc_function.h"
#include "dac_function.h"
void dac_init(DAC2CH *p)
{
SpiaRegs.SPICCR.bit.SPISWRESET = 0; // Reset SPI
SpiaRegs.SPICCR.all =0x004F; // falling edge, 16-bit char bits
SpiaRegs.SPICTL.all =0x000E; // Enable master mode, SPICLK with delayed,
// enable talk, and SPI int disabled.
SpiaRegs.SPIBRR =0x0005; //spi baud rate=100/5+1=16.6M/bps
SpiaRegs.SPIPRI.all = 0x0010; // Set so breakpoints don't disturb xmission
// Initialize SPI FIFO registers
SpiaRegs.SPIFFTX.all=0xC040; //reset fifo pointer
SpiaRegs.SPIFFCT.all=0x0;
SpiaRegs.SPICCR.bit.SPISWRESET = 1; // Enable SPI
SpiaRegs.SPIFFTX.bit.TXFIFO=1; //enable fifo
SpiaRegs.SPIFFRX.bit.RXFIFORESET=1;
SpiaRegs.SPITXBUF=DAC_FIG_INIT; // 0xD002
SpiaRegs.SPITXBUF=DAC_B_INIT; //0x4000
SpiaRegs.SPITXBUF=DAC_A_INIT; //0xC000
// spi_xmit(DAC_FIG_INIT);
// spi_xmit(DAC_B_INIT);
// spi_xmit(DAC_A_INIT);
}
//for TLV5638:outputB:0100,aaaa,aaaa,aaaa outputA:1100,aaaa,aaaa,aaaa aaaa,aaaa,aaaa=12_bit DAC
//for TLV5637:outputB:0100,aaaa,aaaa,aa00 outputA:1100,aaaa,aaaa,aa00 aaaa,aaaa,aa=10_bit DAC
void dac_xmita(DAC2CH *p)
{
// write word to FIFO
SpiaRegs.SPITXBUF = (p->ChA & 0x0FFF) | 0xC000;
}
void dac_xmitb(DAC2CH *p)
{
// write word to FIFO
SpiaRegs.SPITXBUF = (p->ChB & 0x0FFF) | 0x4000;
}
void main(void)
{
.........
SysCtrlRegs.HISPCP.all = 0x0000; // HISCLK=SYSCLKOUT/1 =100M
SysCtrlRegs.LOSPCP.all = 0x0000; //LOSCLK= SYSCLKOUT/1 =100M
.........
}