一、硬件介绍

             1.1 芯片内部框架图

              1.2 CBM12S085引脚定义

                      引脚介绍             

!(DAC SYNC)电平触发控制输入(低电平有效)
SCLK时钟输入
DAC DIN串行数据输入

                      VOUTA-H则是对应的8个电压模拟输出通道。

 

二、软件实现

        2.1连续写操作时序图 

         2.2 cbm128s085.h头文件

#define     DAC_SCLK_PIN	GPIO_Pin_4          
#define     DAC_DIN_PIN     GPIO_Pin_5         
#define     DAC_SYNC_PIN    GPIO_Pin_6         
#define     DAC_PORT        GPIOF  

#define     DAC_CBM128_CS    PFout(6)
#define     DAC_CBM128_CLK   PFout(4)
#define     DAC_CBM128_DATA  PFout(5)
/*
	8个通道,VREF参考电压由外部输入
	Vout = Vref * (D/N)
	D:输入数字信号 由串行接口写入内部DAC寄存器
	N:12位 4096.
*/ 
//ABCD通道采用VREF1参考电压
#define     Channel_A           0
#define     Channel_B           1
#define     Channel_C           2
#define     Channel_D           3
//EFGH通道采用VREF2参考电压
#define     Channel_E           4
#define     Channel_F           5
#define     Channel_G           6
#define     Channel_H           7

        2.3 cbm128s085 初始化

void DAC_CBM128S085_Init(void)
{
	GPIO_InitTypeDef  GPIO_InitStructure;
	
	GPIO_InitStructure.GPIO_Pin = DAC_SYNC_PIN | DAC_SCLK_PIN | DAC_DIN_PIN;
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;                                      
	GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;                                     
	GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;  
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;                              
	GPIO_Init(DAC_PORT,&GPIO_InitStructure);
	
	
	/*CBM128S085/CBM108S085 内部同时含有上电复位和断电复位电路*/
    /*模式选择*/
	CBM_WriteControlModeSelect(WTM);
	
}

  2.4 DAC 写字节

/********************************************************************************************
函数名:CBM_WriteByte
功能  :写入一个字节数据
参数  :一个字节数据
返回值:无
*********************************************************************************************/ 
void CBM_WriteByte(u8 txd)
{
	  u8 t;
	  u16 d;
    for(t=0;t<8;t++)
    { 
			//CLK下降沿发送数据
			DAC_CBM128_CLK = 1;		
			DAC_CBM128_DATA = (txd&0x80)>>7; //先发送数据最高位  
      txd<<=1; 	    //txd = txd<<1;
			DAC_CBM128_CLK = 0;	
			for(d=1;d>0;d--);    //延迟
    }	 
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐