【安富莱】DAC8501 16位DAC模块 双路输出 SPI接口 供电3.3-5.0V
产品名称:DAC8501 16位DAC模块型号:DAC8501E
产品规格:
供电电压 : 2.7 - 5.5V【3.3V供电时,输出电压也可以到5V】
通道数: 2路(通过2片DAC8501E实现)
输出电压范围 : 0 - 5V 【零位 < 0.020V, 满位 > 4.970V】
分辨率: 16位
功耗 :小于10mA MCU接口 :高速 SPI (30M) 支持 3.3V和5V单片机
DAC输出模拟带宽:350KHz
DAC输出响应: 10uS 到 0.003% FSR
产品特点:
1、输出和供电电压无关;模块内带升压电路和5V基准。
2、自适应单片机的电平(2.7 - 5V 均可以)
3、输出电压轨到轨,最高电压可以到 4.970V 以上。
DAC8501E芯片数据手册下载地址:http://www.ti.com.cn/product/cn/dac8501?247SEM
淘宝购买的地址:点击进入
编程非常简单,SPI是单向的,只需要: CSMOSISCK 三根IO
C函数如下,请客户自己移植到不同的单片机系统。
/*
*********************************************************************************************************
* 函 数 名: DAC8501_SendData
* 功能说明: 向SPI总线发送24个bit数据。
* 形 参: _ch, 通道,
* _data : 数据
* 返 回 值: 无
*********************************************************************************************************
*/
void DAC8501_SendData(uint8_t _ch, uint16_t _dac)
{
uint8_t i;
uint32_t data;
/*
DAC8501.pdf page 12 有24bit定义
DB24:18 = xxxxx 保留
DB17: PD1
DB16: PD0
DB15:016位数据
其中 PD1 PD0 决定4种工作模式
0 0---> 正常工作模式
0 1---> 输出接1K欧到GND
1 0---> 输出100K欧到GND
1 1---> 输出高阻
*/
data = _dac;/* PD1 PD0 = 00 正常模式 */
if (_ch == 0)
{
CS1_0();
}
else
{
CS2_0();
}
/* DAC8501 SCLK时钟高达30M,因此可以不延迟 */
for(i = 0; i < 24; i++)
{
if (data & 0x800000)
{
MOSI_1();
}
else
{
MOSI_0();
}
SCLK_1();
data <<= 1;
SCLK_0();
}
if (_ch == 0)
{
CS1_1();
}
else
{
CS2_1();
}
}
不错,顶一下 大佬,我想请教一下,DAC我用SPI的例程运行,正弦波不是从原点开始输出的,波形有办法从原点开始输出吗?我尝试过输出前重启TIM6,但是效果并不理想 启源丶 发表于 2023-1-12 20:35
大佬,我想请教一下,DAC我用SPI的例程运行,正弦波不是从原点开始输出的,波形有办法从原点开始输出吗?我 ...
从原点输出怎么理解,空闲的时候输出个电平值?
页:
[1]