AD5755-1芯片程序调试以及遇到的问题

AD5755-1芯片程序调试以及遇到的问题

本次项目,AD5755-1采用SPI通信方式进行控制,采用SPI模式3,即时钟极性1,空闲时高电平,时钟相位0,第一个上升沿采样。然后就是配置寄存器,寄存器配置可以参考芯片手册。

驱动程序编写思路

  1. 芯片初始化:软复位/硬件复位
    软复位是往控制寄存器4写入0x555
    首次上电,需要等待AD5755一个上电时间,再去SPI控制,否则可能控制失败。
    这里延迟个几个毫秒就可以
  2. 复位后延时几毫秒
  3. 设置DAC各通道控制寄存器输出电压/电流模式,以及输出使能
#define  AD5755_CHANNEL_NUMS  4
/* Main Control Register definition. */
#define AD5755_MAIN_POC             (1 << 12)
#define AD5755_MAIN_STATREAD        (1 << 11)
#define AD5755_MAIN_EWD             (1 <<10)
#define AD5755_MAIN_WD(x)           (((x) & 0x3) << 8)
#define AD5755_MAIN_SHTCCTLIM(x)    (((x) & 0x1) << 6)
#define AD5755_MAIN_OUTEN_ALL       (1 << 5)
#define AD5755_MAIN_DCDC_ALL        (1 << 4)

/* AD5755_DAC_R(x) options. */
#define AD5755_R_0_5_V              0 // 0 V to 5 V voltage range (default)
#define AD5755_R_0_10_V             1 // 0 V to 10 V voltage range
#define AD5755_R_M5_P5_V            2 // -5 V to +5 V voltage range
#define AD5755_R_M10_P10_V          3 // -10 V to 10 V voltage range
#define AD5755_R_4_20_MA            4 // 4 mA to 20 mA current range
#define AD5755_R_0_20_MA            5 // 0 mA to 20 mA current range
#define AD5755_R_0_24_MA            6 // 0 mA to 24 mA current range

/* DC-to-DC Control Register definition. */
#define AD5755_DC_DC_COMP           (1 << 6)
#define AD5755_DC_DC_PHASE(x)       (((x) & 0x3) << 4)
#define AD5755_DC_DC_FREQ(x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值