產品說明2
產品名稱: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是單向的,只需要: CS MOSI SCK 三根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:0 16位數據
其中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();
}
}