DAC8563数模转换模块的使用介绍

news2024/10/5 22:23:51

前言

DAC8563为16位低功耗、电压输出、双通道的数模转换器,其包括一个2.5V4ppm/°C 内部基准,从而提供了一个 2.5V 或 5V 的满量程输出电压范围。 此内部基准有一精度,并且能够在 VREFIN/VREFOUT引脚上提供或吸收高个 ±5mV 的初始达 20mA 的电流。这些设备是单调的,提供优良的线性,并最小化不需要的代码到代码的瞬态电压。他们使用一个多功能的三线串行交错面是补偿在时钟速率高达50MHz。该接口兼容标准的SPI、QSPI、微线和数字信号处理器(DSP)接口。DAC8562设备包含了一个电源复位电路,确保DAC输出通电,并在写入有效代码之前保持输出电平在0V,而DAC8563设备同样在输出电平1/2输出量程。这些设备包含一个降电功能,在5V时将电流消耗降低到550 nA。低功耗、内部参考和小占用使这些设备成为便携式电池操作设备的理想选择。DAC8562设备相互兼容,DAC8563设备也相互兼容。

一、DAC8563

1.1 参数特性
1. 相对精度:16 位时为 4 最低有效位
2. 双向基准引脚:输入或 2.5V 输出
– 4ppm/°C 温度漂移(典型值)
3. 上电复位至零量程或量程中点
4. 低功耗:5V AVDD 时为 4mW
5. 宽电源范围:2.7V 至 5.5V
6. 带有施密特触发输入的 50MHz 串行外设接口 (SPI)

1.2 DAC8563时序图

二、锯齿波例程代码

1.DAC8563.c .h参考代码

代码如下(示例):

#ifndef __DAC8562_H
#define __DAC8562_H

void RCC_Configuration(void); 
void GPIO_Configuration(void);
void NVIC_Configuration(void); 
void Delay(vu32 nCount);
void ADC1_Configuration(void);
void DAC8562_WRITE(uint8_t cmd,uint16_t data);

#endif

#include"stm32f10x_conf.h"

#define DIN_H GPIO_SetBits(GPIOA,GPIO_Pin_0)
#define DIN_L GPIO_ResetBits(GPIOA,GPIO_Pin_0)
#define SCLK_H GPIO_SetBits(GPIOA,GPIO_Pin_1)
#define SCLK_L GPIO_ResetBits(GPIOA,GPIO_Pin_1)
#define CLR_H GPIO_SetBits(GPIOA,GPIO_Pin_2)
#define CLR_L GPIO_ResetBits(GPIOA,GPIO_Pin_2)
#define SYNC_H GPIO_SetBits(GPIOA,GPIO_Pin_3)
#define SYNC_L GPIO_ResetBits(GPIOA,GPIO_Pin_3)
#define LDAC_H GPIO_SetBits(GPIOA,GPIO_Pin_4)
#define LDAC_L GPIO_ResetBits(GPIOA,GPIO_Pin_4)

void Delay(vu32 nCount) 
{ 
  for(; nCount != 0; nCount--); 
} 

void RCC_Configuration(void) 
{    
  ErrorStatus HSEStartUpStatus;
  RCC_DeInit(); 
  RCC_HSEConfig(RCC_HSE_ON); 
  HSEStartUpStatus = RCC_WaitForHSEStartUp(); 
  if(HSEStartUpStatus == SUCCESS) 
  { 
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); 
    FLASH_SetLatency(FLASH_Latency_2); 
    RCC_HCLKConfig(RCC_SYSCLK_Div1);  
    RCC_PCLK2Config(RCC_HCLK_Div1);  
    RCC_PCLK1Config(RCC_HCLK_Div2); 
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 
    RCC_PLLCmd(ENABLE); 
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } 
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); 
    while(RCC_GetSYSCLKSource() != 0x08) { } 
  } 
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE); 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA, ENABLE); 
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); 
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); 
} 

void GPIO_Configuration(void) 
{ 
  GPIO_InitTypeDef GPIO_InitStructure; 
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4; 
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
  GPIO_Init(GPIOA, &GPIO_InitStructure); 
} 

void DAC8562_WRITE(uint8_t cmd,uint16_t data)
{
  SYNC_H;
  Delay(0x01);
  SYNC_L;
  SCLK_L;
  for(uint8_t s=0;s<8;s++)
  {
    if((cmd&0x80)==0x80){DIN_H;}
    else{DIN_L;}
    Delay(0x01);
    SCLK_H;
    Delay(0x01);
    cmd<<=1;
    SCLK_L;
    Delay(0x01);
  }
  for(uint8_t s=0;s<16;s++)
  {
    if((data&0x8000)==0x8000){DIN_H;}
    else{DIN_L;}
    Delay(0x01);
    SCLK_H;
    Delay(0x01);
    data<<=1;
    SCLK_L;
    Delay(0x01);
  }
}

void NVIC_Configuration(void) 
{ 
#ifdef  VECT_TAB_RAM   
  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);  
#else
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);    
#endif 
} 

#ifdef  DEBUG 
void assert_failed(u8* file, u32 line) 
{  
  while (1) { } 
} 
#endif 

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "dac8563.h"

2.main.c

代码如下(示例):

int main(void) 
{ 

  RCC_Configuration();    
  GPIO_Configuration(); 
  NVIC_Configuration(); 
  GPIO_ResetBits(GPIOA,GPIO_Pin_2);
  GPIO_SetBits(GPIOA,GPIO_Pin_4);
  DAC8562_WRITE(0x28,0x0001);
  DAC8562_WRITE(0x20,0x0003);
  DAC8562_WRITE(0x38,0x0001);
  
  uint16_t test;

  while (1) 
  { 
    DAC8562_WRITE(0x18,test);
    DAC8562_WRITE(0x19,test);
    GPIO_ResetBits(GPIOA,GPIO_Pin_4);
    Delay(0x01);
    GPIO_SetBits(GPIOA,GPIO_Pin_4);
    test+=200;
  } 
} 

总结

双通道DAC,轨到轨输出,16bit分辨率,支持50MHz的SPI时钟速度。自带2.5V的内部参考基准,典型的温飘是4ppm/℃,使用内部2.5V参考基准的情况下,根据增益设置不同,DAC的输出量可以为0到2.5V或者0到5V。DAC8562和DAC8563完全兼容,区别仅仅在于CLR引脚有效时,DAC8562数据设置为0, DAC8563数据设置为32767,注意这是DAC的内部数据,不表示输出电压。 对于-10 ~ +10V输出的模块,DAC8562输出-10V, DAC8563输出0V。无论是用DAC8562还是DAC8563芯片,只要软件不启动,本模块输出电压缺省状态都是0V。CLR脚悬浮时,电压在1.9V左右,容易受到干扰导致输出被清零。因此即使不用CLR控制功能,这个CLR脚也需要接固定电平(推荐接GND)。CLR是边沿触发,仅在下降沿信号出现执行清零。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1110325.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【75. 颜色分类】

目录 一、题目描述二、算法思想三、代码实现 一、题目描述 二、算法思想 三、代码实现 class Solution { public:void sortColors(vector<int>& nums) {int nnums.size();for(int left-1,rightn,i0;i<right;){if(nums[i]0)swap(nums[i],nums[left]);else if(nums…

7+非肿瘤+WGCNA+分型+实验,筛选关键基因进一步分型以及表达验证

今天给同学们分享一篇非肿瘤WGCNA分型实验的生信文章“Identification of molecular subtypes and immune infiltration in endometriosis: a novel bioinformatics analysis and In vitro validation”&#xff0c;这篇文章于2023年8月18日发表在Front Immunol期刊上&#xff…

Net6集成Nacos实现服务注册

Net6集成Nacos实现服务注册 一、服务注册1.创建WebAPI项目2.安装Nuget包3.注册NacosNacos配置文件&#xff08;放在Appsetting.json或其他文件中&#xff09;4.创建Api控制器5.运行效果 二、配置中心1.设置配置2.读取配置3.展示效果4.设置多个配置项 Nacos安装 nacos-sdk-cshar…

Java自定义线程池

一、线程池的概念和作用 线程池是一种用于管理和重用线程的机制。它允许你创建一个线程池&#xff0c;然后将任务提交给这个线程池&#xff0c;线程池会自动分配线程来执行这些任务。 线程池的作用是优化线程的管理和资源利用&#xff0c;以减少线程创建和销毁的开销&#xff0…

竞赛选题 深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 DeepSORT车辆跟踪3.1 Deep SORT多目标跟踪算法3.2 算法流程 4 YOLOV5算法4.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; *…

保姆级教程,教你AI数字人应该怎么制作?!

随着人工智能的发展&#xff0c;利用数字人制作短视频已经成为当下火热的项目&#xff0c;因为这种方式不需要真人出镜&#xff0c;避免了个人不上镜或者不喜上镜而不能做短视频的缺点&#xff0c;用数字人代替真人&#xff0c;不仅内容里人物有了&#xff0c;而且这种形式还非…

智能井盖是什么?万宾科技智能井盖传感器有什么特点

智能井盖是一种基于物联网和人工智能技术的新型城市设施。它不仅具备传统井盖的功能&#xff0c;还能通过数字化、自动化的方式实现远程监控和智能管理&#xff0c;提升城市运行效率和服务水平。 WITBEE万宾智能井盖传感器EN100-C2是一款井盖异动监测的传感终端。对窨井盖状态(…

shein面试:nacos无入侵配置,做过吗,怎么做?

说在前面 在40岁老架构师 尼恩的读者社区(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、shein 希音、百度、网易的面试资格&#xff0c;遇到很多很重要的面试题&#xff1a; 无入侵配置&#xff0c;做过吗&#xff0c;怎么做的&#xff1f;Na…

剪映怎么一键去水印?三分钟教会你

剪映怎么一键去水印&#xff1f;无论是使用剪映提供的方法还是专业的去水印软件&#xff0c;都能够帮助用户轻松去除视频中的水印&#xff0c;提高视频的质量和观赏性&#xff0c;以根据自己的需求和场景选择合适的方法进行操作&#xff0c;今天就教大家如何使用剪映一键去水印…

美光科技发布1β制程节点技术的16Gb DDR5存储器,领先业界 | 百能云芯

存储器大厂美光科技&#xff08;Micron&#xff09;宣布推出采用 1β 制程节点技术的 16Gb DDR5 存储器。美光 1β DDR5 DRAM 的内置系统功能速率可达 7200MT/s&#xff0c;目前已出货给所有资料中心及 PC 端客户。美光 1β DDR5 存储器采用先进高介电常数 CMOS 制程、四相位时…

Failed to process, please exclude the tableName or statementId.

说明&#xff1a;执行一次查询时&#xff0c;报下面这个错误&#xff1b; Failed to process, please exclude the tableName or statementId.排查结果&#xff0c;在Mapper.xml里面&#xff0c;对应的statement使用了复杂的函数&#xff0c; <select id"getLastEleRa…

ODrive移植keil(八)—— 闭环控制

目录 一、硬件接线二、官方代码操作2.1、力矩模式2.2、速度模式2.3、位置模式 三、移植后的代码操作3.1、力矩模式3.2、速度模式3.3、位置模式3.4、跳过上电校准3.4.1、手动输入参数3.4.2、flash保存参数 3.5、测试云台电机 四、代码说明五、定点运算和浮点运算 ODrive、VESC和…

全感知智能配电房:让电力运行可控、高效

在当今数字化、智能化的时代&#xff0c;全感知智能配电房的出现无疑为电力行业带来了革命性的变革。这种新型配电房不仅提高了电力供应的效率&#xff0c;还大大降低了运营成本&#xff0c;为我们的日常生活和工作提供了更稳定、更可靠的电力保障。 力安科技全感知智能配电…

Teleport

从官网中获取到的代码如下 App.vue <template><div class"outer"><h3>Tooltips with Vue 3 Teleport</h3><div><MyModal /></div></div> </template> <script setup> import MyModal from "./My…

pinia踩坑之旅——在组件外使用pinia

pinia踩坑之旅——在组件外使用pinia 缘由 最近在使用 pinia 开发项目时产生了一个 bug&#xff0c;说在定义 pinia 前使用了 pinia。 报错如下&#xff1a; 代码展示 先来看一个我的代码&#xff08;这里我新开了一个项目用于演示&#xff09;&#xff0c;如果懒得看代码的…

【Python基础】数值类型

int(整形) 在 Python 中定义变量是 不需要指定类型&#xff08;在其他很多高级语言中都需要&#xff09; 整形&#xff0c;也被称之为整数。整数就是数学中的数字。 整形在Python中不受长度限制大小范围 使用 type 函数可以查看一个变量的类型 In[1]: 1 Out[1]: 1In[2]: t…

Win10修改编辑hosts文件无法保存的处理方法

1.首先打开hosts文件所在位置&#xff0c;我们输入C:WindowsSystem32Driversetc后回车就可以打开了&#xff0c;右键hosts文件&#xff0c;选择属性。 2.点击hosts属性对话框里的“高级”。 3.在hosts的高级安全设置界面点击更改权限&#xff0c;在新弹出的对话框里点击添加按…

TStor CSP文件存储在大模型训练中的实践

业务背景 大模型作为人工智能领域的重要发展趋势&#xff0c;正在逐渐改变人们的生活和工作方式。随着近年来大模型领域技术的突破&#xff0c;各类语言模型、图像模型、视频模型快速演进&#xff0c;国内外市场也不断涌现出优秀的大模型研究及商业化平台&#xff0c;预期通过…

竞赛 深度学习人体语义分割在弹幕防遮挡上的实现 - python

文章目录 1 前言1 课题背景2 技术原理和方法2.1基本原理2.2 技术选型和方法 3 实例分割4 实现效果5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习人体语义分割在弹幕防遮挡上的应用 该项目较为新颖&#xff0c;适合作为竞…

GoogleNet论文精读

论文名&#xff1a;Going depper with convolutions论文下载地址&#xff1a;https://github.com/jixiuy/paper引言第一段&#xff1a;背景成绩1*1的卷积在channel上升维和降维&#xff0c;channel融合&#xff0c;计算方法上等价于FNNGAP&#xff08;全局平均池化&#xff09;…