DAC8531是16位低功耗数模转换芯片,使用SPI通信接口,最大转换频率30MHz(5V供电)/20MHz(3.3V供电)。

其输出电压范围由参考电压 V r e f V_{ref} Vref​ 决定, 0 < V o u t < V r e f 0<V_{out}<V_{ref} 0<Vout​<Vref​,通常情况下, V r e f V_{ref} Vref​ 可直接拉到 V C C V_{CC} VCC​ ,即与供电电压相同。

除输出电压数字量 D15 ∼ \sim ∼D0 外,控制字还包含两个配置位 PD1、PD0,用于进行输出阻抗配置,{PD1,PD0}=00为一般模式,其 V o u t V_{out} Vout​ 直接由放大器输出,而不接任何电阻网络,01则表示芯片内放大器输出端接 1 k Ω 1k\Omega 1kΩ 电阻网络到 GND,10则将电阻网络改为 100 k Ω 100k\Omega 100kΩ,11表示高阻,此时断开放大器输出端与 V o u t V_{out} Vout​ 端口的连接。

DAC8531的FPGA驱动代码如下

/******************************FILE HEAD*********************************** file_name        : DAC8531.v* function           : DAC8531 SPI接口    低功耗16位数模转换芯片* author         : 今朝无言* date                : 2021/11/16*************************************************************************/
module DAC8531(
input               clk_50M,
input       [15:0]  data,
input               tx_en,      //上升沿启动一次DA转换    高电平请保持至少2个10MHz的clk
output  reg         SYNC,       //即CS,低电平有效
output              SCLK,       //最大30MHz(3.6~5.5V供电)/20MHz(2.7~3.6V供电)  下降沿有效
output  reg         DIN         //串行数据,会存入芯片里的24位移位寄存器
);
//发送顺序:DB23,DB22,...DB1,DB0
//数据格式:x,x,x,x,x,x,PD1,PD0,D15,D14,...,D1,D0
//PD1,PD0对应模式说明:00,Normal; 01,1kOhm to GND; 10,100kOhm to GND; 11,High-Z
//Vout范围:0~Vref//-------------产生10MHz驱动时钟----------------
reg         clk_10M = 0;
reg [3:0]   cnt     = 0;
always@(posedge clk_50M)beginif(cnt>=4)begincnt    <= 0;endelse begincnt   <= cnt + 1;endif(cnt<=1)beginclk_10M   <= 1;endelse beginclk_10M <= 0;end
end//-------------------SPI-----------------------
reg             start       = 0;
reg             tx_en_buf   = 1;
reg             tx_en_up;
reg     [5:0]   state;
reg     [23:0]  DB;assign   SCLK    = clk_10M;always@(posedge clk_10M)begin //上升沿改变数据,在SCLK下降沿正好方便芯片读入DINtx_en_buf <= tx_en;tx_en_up   <= tx_en&(~tx_en_buf);if(tx_en_up)beginstart    <= 1;state  <= 29;                  //这里设为29,则30个clk_10M周期完成一次发送,state至少要大于等于24DB     <= {6'd0,2'b00,data}; //PD1PD0这里设为00,可根据自身需要修改SYNC <= 1;DIN        <= 0;endelse if(start)beginstate    <= state-1;if(state>=24+1)beginSYNC    <= 1;DIN        <= 0;endelse if(state>=1)beginSYNC  <= 0;DIN        <= DB[state-1];endelse begin //state=0SYNC <= 1;DIN        <= 0;start  <= 0;endendelse beginSYNC   <= 1;DIN        <= 0;end
endendmodule
//END OF DAC8531.v FILE***************************************************

DAC8531驱动代码(FPGA)相关推荐

  1. FPGA Verilog AD7606驱动代码,包含SPI模式读取和并行模式读取两种

    FPGA Verilog AD7606驱动代码,包含SPI模式读取和并行模式读取两种,代码注释详细 编号:7428665912784264白衫如初oh

  2. Tsi721芯片驱动代码使用说明

    驱动程序下载路径: https://download.csdn.net/download/luky_zhou123/20087673 欢迎共同探讨SRIO相关问题 文件说明: rio.c.rio-dr ...

  3. Xilinx XDMA 数据传输sgdma 驱动代码分析

    Xilinx XDMA 数据传输sgdma 驱动代码分析 我的之前两篇文章有介绍到上位机软件的逻辑该如何控制,驱动代码的框架是怎样的,驱动的整体逻辑在linux系统中是如何实现的,感兴趣的小伙伴可以去 ...

  4. AMG8833的使用与stm32驱动代码

    一.介绍 1.内部框图 可以看到AMG8833的内部有红外点阵测温,并且还带有一个热敏电阻.使用同一个ADC进行采样,然后送给Control. 2.器件参数 测温点数:64(8x8的矩阵) 帧率:10 ...

  5. Linux创建线程读取双口数据,linux环境下读写一次双口ram尽然要十几个毫秒。(附驱动代码)...

    linux环境下读写一次双口ram尽然要十几个毫秒.(附驱动代码) 我用的双口ram是IDT70V28,手册上说的读写时间应该是几个纳秒,我写了个linux驱动,然后做测试,发现读写一次的时间尽然是十 ...

  6. 三星framebuffer驱动代码分析

    一.驱动总体概述 本次的驱动代码是Samsung公司为s5pv210这款SoC编写的framebuffer驱动,对应于s5pv210中的内部外设Display Controller (FIMD)模块. ...

  7. 树莓派IO口驱动代码的编写、微机总线地址、物理地址、虚拟地址、BCM2835芯片手册

    地址总线: 百度百科解释: 地址总线 (Address Bus:又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/ ...

  8. 基于框架编写驱动代码

    操作驱动的上层代码(pin4test) #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> ...

  9. 整合后台服务和驱动代码注入

    整合后台服务和驱动代码注入 Home键的驱动代码: /dev/input/event1: 0001 0066 00000001 /dev/input/event1: 0000 0000 0000000 ...

最新文章

  1. redis4.0.6集群部署(5.0.2版本更新补充)
  2. Docker删除镜像
  3. CRM Transaction处理中的权限控制
  4. 【踩坑记录】Tensorflow在Windows下使用
  5. 突发:Maze 勒索团伙公开 LG 和 Xerox 的内部数据,达数十GB
  6. arcgis图层叠加不匹配
  7. STM32单片机简介
  8. 破解完全入门篇 第七章-寻找软件的注册码
  9. 计算机听录测试,电脑自带可以录音但是QQ语音检测不行
  10. Android P GPS信号模拟
  11. 计算机播放音乐没声音为什么,电脑没声音是怎么回事?教你怎么修复
  12. JS带节日农历万年历插件
  13. Linux监控平台搭建
  14. Mac 10.12安装Go2Shell在资源管理器快速打开Shell并跳转到指定位置
  15. 无锡华润上华公司实习感想
  16. 用Ubuntu20.04开热点
  17. 按键精灵curl、FTP、zip、sha1算法、下载文件、上传文件、蓝奏云api、压缩解压文件支持 安卓、IOS
  18. 安卓手机如何直接跟Mac电脑互传文件
  19. CMMI2.0之我见-管理性能和度量MPM
  20. 【IT微小说】CISO琳达的一天

热门文章

  1. 数据资产管理实践白皮书(6.0版)解读
  2. 黑帽SEO之搜索引擎劫持
  3. python pycharm的安装及其使用
  4. 住世觅菩提:福山论犯罪、家庭、信任
  5. android防丢器设计,☆基于51单片机的无线防丢器设计|可以防止儿童走丢的神奇...
  6. 堆内存腐败异常(STATUS_HEAP_CORRUPTION---0xC0000374)
  7. 前端:运用js和jquery实现风琴图
  8. 【上电即上华为云】华为云openCPU智联模组_Cat.1_MC615-CN-L610-CN_环境温湿度(GXHT30传感器)
  9. Python学习之解决“千年虫”问题
  10. 发送垃圾邮件的僵尸网络——药物(多)、赌博、股票债券等广告+钓鱼邮件、恶意下载链接、勒索软件+推广加密货币、垃圾股票、色情网站(带宏的office文件、pdf等附件)...