DAC芯片CBM128S085

本文介绍了CBM128S085 DAC芯片的硬件框架和引脚定义,包括电平触发控制、时钟输入和串行数据输入等。在软件实现部分,详细阐述了连续写操作时序图和相关头文件定义,展示了初始化及写字节的函数,说明了如何通过控制引脚进行数据传输并设置8个电压模拟输出通道。

一、硬件介绍

             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--);    //延迟
    }	 
}

内容概要:DAC128S085是一款12位微功耗八通道数模转换器,具有轨至轨输出、低功耗操作、菊花链功能、上电复位至0V、同时输出更新、单通道掉电能力等特点。它支持2.7V至5.5V的宽电源电压范围,双参考电压范围为0.5V至VA,并能在-40°C至125°C的温度范围内工作。DAC128S085提供16引脚WQFN和TSSOP封装,前者为行业内最小封装。该器件内置上电复位电路,确保输出在上电时为零伏特,并支持SPI、QSPI、MICROWIRE和DSP接口,最高时钟速率为40MHz。此外,它还支持三种断电模式,进一步降低功耗。 适合人群:电子工程师、硬件设计师、嵌入式系统开发者等需要使用数模转换器的专业人士。 使用场景及目标:①电池供电仪器,如便携式医疗设备、手持式测量工具;②数字增益和偏移调整,如音频设备中的音量控制;③可编程电压和电流源,如实验室电源;④可编程衰减器,如通信设备中的信号调节;⑤ADC的电压基准,如数据采集系统;⑥传感器供电电压范围检测器,如工业自动化系统。 其他说明:DAC128S085具有出色的低功耗性能和小型封装,非常适合用于对功耗和尺寸要求严格的电池供电设备。此外,其双参考电压和轨至轨输出特性使其能够提供宽动态范围的输出,适用于多种应用场景。用户在设计时应注意电源和参考电压的选择,确保其无噪声以获得最佳性能。同时,合理的PCB布局和电源去耦电容的使用对于提高系统的稳定性和精度至关重要。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值