DAC8554芯片的数据传输接口为SPI,每一帧为24位;但是28335的SPI接口最高可配置为16位。
使用28335控制DAC8554方法有三种:
1.才用IO口模拟SPI接口通信;
2.灵活使用28335的SPI接口通信;
3.使用28335的McBSP接口按照DAC8554的时序自定义通信格式。
此处以第二种方法为例:
dsp28335与DAC8554的接线为:
DAC8554的写时序为:
/SYNC必须在D_IN发送24位后DAC才认为接收到的数据为有效数据,否则,将接收到的数据舍弃。
本实验所使用的具体方法是开启28335SPI的FIFO功能,将24位数据帧分成两个12位的数据,依次存入SPITXBUF,这样就可以spi成功发送24的帧
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
#define spi_socket 0x10//OUTA
void spi_fifo_init(void);
void spi_init(void);
void spi_xmit(Uint16 a);
void main(void)
{
float sdata; // send data
// Step 1. Initialize System Control:
// PLL, WatchDog, enable Peripheral Clocks
// This example function is f