DAC124S085芯片的使用
该芯片可以通过SPI对其进行操作。具备12bit的能力。
经过实测,该芯片在有基准电源的情况下,输出准确度非常高。
示例代码如下:

 1 #include "typedefs.h"
 2
 3 #define DAC_DAC_A 0b00
 4 #define DAC_DAC_B 0b01
 5 #define DAC_DAC_C 0b10
 6 #define DAC_DAC_D 0b11
 7
 8 #define DAC_WRITE_SPECIFIC_DO_NOT_UPDATE 0b00
 9 #define DAC_WRITE_SPECIFIC_AND_UPDATE    0b01
10 #define DAC_WRITE_ALL_AND_UPDATE         0b10
11 #define DAC_POWER_DOWN                   0b11
12
13 /* must give the union some name, otherwise compile error in dcc.*/
14 struct DAC124S085_REG_tag{
15     union{
16         uint16_t R;
17         struct{
18             uint16_t reg_addr:2;
19             uint16_t action:2;
20             uint16_t raw_value:12;
21         } B;
22
23     } U;
24 };

运行中代码为:

void dac_lld_update(uint8_t which_out, uint8_t which_action, uint16_t voltage_in_mv)
{static struct DAC124S085_REG_tag  dac_spi_last_command;

uint16_t tmp16;
      uint32_t tmp32;
      tmp32 = voltage_in_mv*0xFFF;
      tmp16 = tmp32/4096; /* 4096 is the ref voltage. */

    switch(which_out){case DAC_DAC_A://
        dac_spi_command.U.B.reg_addr =  DAC_DAC_A;break;case DAC_DAC_B:dac_spi_command.U.B.reg_addr =  DAC_DAC_B;break;case DAC_DAC_C:dac_spi_command.U.B.reg_addr =  DAC_DAC_C;break;case DAC_DAC_D:dac_spi_command.U.B.reg_addr =  DAC_DAC_D;break;default:return;}switch(which_action){case DAC_WRITE_SPECIFIC_DO_NOT_UPDATE:dac_spi_command.U.B.action =  DAC_WRITE_SPECIFIC_DO_NOT_UPDATE;break;case DAC_WRITE_SPECIFIC_AND_UPDATE:dac_spi_command.U.B.action =  DAC_WRITE_SPECIFIC_AND_UPDATE;break;case DAC_WRITE_ALL_AND_UPDATE:dac_spi_command.U.B.action =  DAC_WRITE_ALL_AND_UPDATE;break;case DAC_POWER_DOWN:dac_spi_command.U.B.action =  DAC_POWER_DOWN;break;default:dac_spi_command.U.B.action =  DAC_WRITE_SPECIFIC_AND_UPDATE;}dac_spi_command.U.B.raw_value =  tmp16;if(dac_spi_command.U.R != dac_spi_last_command.U.R){DSPI_Send(1, 0b00000001,dac_spi_command.U.R); /* semd spi command */}dac_spi_last_command.U.R = dac_spi_command.U.R;
}

注:

1、适用于参考电压为4096v的情况。

2、SPI代码本文未提供。具体参数见该dac芯片的手册和主控芯片的参考手册。

转载于:https://www.cnblogs.com/praiseslow/p/10918433.html

DAC124S085芯片的使用相关推荐

  1. 2022-2028年中国SIP芯片行业市场前景预测及投资战略研究报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国SIP芯片行业市场行业相关概述.中国SI ...

  2. 人工智能3d建模算法_打破国外垄断,全国产3D芯片为机器人“点睛”

    ◎ 科技日报记者 崔爽 传统机器人只有"手",只能在固定好的点位上完成既定操作,而新一轮人工智能技术大大推动了机器和人的协作,这也对机器人的灵活性有了更高要求. 要想像人一样测量. ...

  3. GPU、AI芯片技术市场分析

    GPU.AI芯片技术市场分析 市场将高速增长,GPU曙光初现,预计到2024年,国内人工智能技术市场规模将达到172亿美元:全球占比将从2020年12.5%上升到15.6%,是全球市场增长的主要驱动力 ...

  4. 2002年3月英伟达发布核弹GPU与大算力自动驾驶芯片

    2002年3月英伟达发布核弹GPU与大算力自动驾驶芯片 英伟达核弹级GPU:800亿晶体管,20块承载全球互联网流量 2022年3 月 22 日,在英伟达 GTC2022 上,英伟达介绍了 Hoppe ...

  5. 2022年AI芯片场景

    2022年AI芯片场景 随着技术成熟化,AI芯片的应用场景除了在云端及大数据中心,也会随着算力逐渐向边缘端移动,部署于智能家居.智能制造.智慧金融等领 域:同时还将随着智能产品种类日渐丰富,部署于智能 ...

  6. 芯片初创公司一亿融资可以烧多久

    芯片初创公司一亿融资可以烧多久 一个亿融资可以烧多久? 这个问题我分别问了几个芯片公司的创始人. 有说2年的(某中等规模电路,成熟制程的MCU芯片公司):有说1年的(某AI算力芯片公司):有说半年的( ...

  7. 一站式智能芯片定制技术

    一站式智能芯片定制技术 从55nm到5nm先进工艺,拥有创纪录(> 200次流片)和年10万片FinFET晶圆授权量产的骄人业绩,并且成功率高达100%.15年以来,先进工艺产品交付纪录持续行业 ...

  8. 内存接口芯片,服务器平台,PCIe 芯片

    内存接口芯片,服务器平台,PCIe 芯片 澜起科技成立于2004年,是国际领先的数据处理及互连芯片设计公司,致力于为云计算和人工智能领域提供高性能,低功耗的芯片解决方案,目前公司拥有互连类芯片和津逮® ...

  9. LED芯片,应用品,蓝宝石衬底,集成电路,UV

    LED芯片,应用品,蓝宝石衬底,集成电路,UV 三安主要从事全色系超高亮度LED芯片的研发,生产与销售,产品性能稳定,品质优异. 产品覆盖 三安能够提供全波长范围的LED,产品可覆盖全部可见光和不可见 ...

最新文章

  1. 阿布扎比成立全球首所培养研究生的人工智能大学
  2. C#显示相机实时画面
  3. android 切换排列,在运行时重新排序android线性布局?
  4. ASP.NET 26个常用性能优化方法
  5. Servlet基础之HttpServletResponse详解
  6. flex 结合sandy引擎创作
  7. 机器学习模型的性能指标
  8. 红帽linux无法进入tty,linux自启脚本(以及无法进入tty控制台)
  9. VB2005.Net 环境下使用Jmail组件发送邮件
  10. Https是如何工作的?
  11. javascript的getElementByTagName
  12. js 的常用工具类库
  13. okcc呼叫中心外呼系统使用教程
  14. 局域网ip扫描工具_中科院网络工程师网络安全视频教程10端口扫描
  15. logstash之output插件-输出数据到控制台、file文件、elasticsearch、redis
  16. 「掘金专栏」正式发布啦
  17. 《征服老板:零基础做出高逼格PPT》笔记(四)
  18. 新媒体管理师详解,新媒体矩阵搭建不完全指南
  19. 程序员之天梯排行榜,你在哪一级?榜首无悬念!
  20. 图集谷-写真集-爬虫-2.0

热门文章

  1. 获取当前网页的协议+域名
  2. Qt之处理QNetworkAccessManager网络连接超时
  3. 巧用tree命令导出文件目录递归详情
  4. oneinstack 重启mysql_oneinstack一键部署linux生产环境那点事(ubuntu)
  5. oneinstack安装java_Ubuntu 16.04安装OneinStack以及配置java开发环境
  6. 胶囊网络是什么及其应用
  7. 什么是并查集?【建议收藏】
  8. Cesium本地影像与地形服务发布
  9. Kendo UI Grid 样式改变控制
  10. 【2021年新书推荐】Network Programming with Go