基于FPGA的数字电位器设计

一、数字电位器简介
数字电位器是一种可由数字信号控制的电位器,当前使用范围十分广泛,区别于滑动、机械调节的电位器,而是属于集成电路,优点主要有:可以进行细调,调节精度高,无机械磨损,寿命高; 缺点:不能对阻值连续调整,只能按芯片位数的最小间隔调整。
数字电位器最终控制的是阻值的变化,依据此性能可以在不同的原理下,实现分压、电流控制、增益控制、信号控制、偏移调整等应用。
二、fpga硬件设计
2.1 以ad5174brmz-10为例
ad5174brmz-10是一款1024位的,10k数字电位器,spi接口。 功能框图如下:
芯片各引脚功能介绍如下:
2.2 原理连接
右端3个信号连入到fpga引脚,左端sig_out是数字电位器电阻输出端。
三、fpga代码设计
3.1 芯片手册代码使用信息汇总
由数字电位器芯片时序要求中下图红框内需求,可得fpga的pll最小时钟需要在100mhz。
由芯片寄存器内容要求,可知每次需要在spi中写入16位数据,分别是:00+控制位(4bits)+数据位(10bits)
由芯片写时序框图中,可知,spi数据在时钟下降沿写入。
芯片spi读的功能与实现,本文未涉及。
由命令真值表,可得各功能对命令的操作,本文主要介绍对数字电位器的写入操作,所以使用以下两条命令:
第1条:串行数据写入到rdac寄存器,用于控制芯片电阻值输出。
第7条:串行数据写入到控制寄存器,对芯片进行设置。
由控制寄存器位映射,可得相应位的设置功能。
3.2 fpga的spi数据设计
先进行block的设计,输入部分根据实际应用的平台工程而定,输出则是与数字电位器连接的spi口。
时钟的输入各位可以定义constant,std_logic_vector(71 downto 0),共72位,其中包括:
起始00(2bits)+控制字时钟(32bits)+分隔位(4bits)+设置数据时钟(32bits)+结束00(2bits)
例:001010101010101010101010101010101000001010101010101010101010101010101000
片选相应各位同时钟定义,在起始、分隔、结束时为高,其它数据传输为有效低电平
例:100000000000000000000000000000000011100000000000000000000000000000000011
数据输入定义同时钟定义,详细如下:
控制字输入36位:
起始00(2bits)+ 补充两位0(4bits)+控制字0111(8bits)+ 10位数据(20bits)+结束00(2bits)
此处注意,之所以每位数据,在代码中用了2个bits,是为满足fpga模拟出的时钟高低电平对应的数据都有保持。
例:000000001111110000000000000000111100
数据输入36位:
分隔无效位(6bits)+控制字0001(8bits)+10位数据(20bits)+结束00(2bits)
例:00000000000011“r9r9r8r8r7r7r6r5r5r4r4r3r3r2r1r1r0r0”&“00”
3.3 波形测量
3.4 验证
根据数字输入数据,结合原理分压情况,可得理论值,与实际测量比较可以进行确认。 需要注意的事,在0标度情况下,数字电位器ad5174brmz-10有120ω的电阻限制。
数字电位器输出电阻ro计算公式如下:
输出电压vo的计算公式如下:

作为防静电对策的使用事例及效果
智慧门禁系统升级,离不开人脸识别门禁终端的加持
STM32F1系列DEBUG调试功能需要配置吗?
Proteus8.9 VSM Studio GCC编译器仿真STM32F407ZGT6系列011_lcd1602并口
智慧热力:热力管网在线监测,热力管网自动化,热网监控系统
基于FPGA的数字电位器设计
光电传感器在自动控制领域的应用,它的特点有哪些
是什么让 SmartNIC 实现了智能化?
小型电机的应用领域及其特点的详细介绍
提供3D打印材料与解决方案,助力3D打印产业发展
TISS将SCiB可充电电池业务转移到东芝
STP网线在综合布线系统中重要吗
非易失性存储器在DDR3速度下具有非挥发性和高耐久性
防雷攻略 · PoE交换机雷电防护篇
YOLOv5网络结构解析
红米Note4,十核旗舰,就是快!
Anduril Industries设计研发虚拟边境墙,用于检测非法越境人员
苹果终于推出iOS10.3.1d的正式更新,还有惊喜!
介绍2020年值得关注的五款创新型AI软件,分享机器学习的应用成果
迪慕恩珠宝基于区块链技术,以储备钻石作为担保进行价值映射