This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DAC8750:编程问题。

Guru**** 1649650 points
Other Parts Discussed in Thread: DAC8750EVM, DAC8750
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/654230/dac8750-programming-problems

部件号:DAC8750

我可以对8750进行编程,但同一程序不起作用。 我使用了EVM和另一个原型板。

包含"mbed.h"
#include "SWSPI.h"
//地址字节
#define ADDR_NOP 0x00 //无操作(NOP)
#define ADDR_DATA 0x01 //写入DAC数据寄存器
#define ADDR_READ 0x02 //注册读取
#define ADDR_CTRL 0x55 //写入控制寄存器
#define ADDR_reset 0x56 //写入重置寄存器
#define ADDR_config 0x57 //写入配置寄存器
#define ADDR_Gain 0x58 //写入DAC增益校准寄存器
#define ADDR_ZERO 0x59 //写入DAC校零寄存器
#define ADDR_WDT 0x95 //监视器计时器重置
#define CTRL_SET 7 //控制寄存器设置0-24mA
DigitalOut GPO(D0);
数字输出LED (LED_RED);
SWSPI DAC (D11,D12,D13);// mosi,miso,sclk,sel
数字输出插销(D10);
void sendtodac (int,int);
void sendtodac (int address,int cmd0){
dac.frequency(5万);
int cmd[2];
dac.write (address);//地址字节
cmd[0]= cmd0和0xFF;
cmd[1]=(cmd0 >> 8);
dac.write (cmd[1]);//MSB
dac.write (cmd[0]);//LSB
闩锁= 1;
闩锁= 0;
}
void initdac (void);
void initdac (void){
sendtodac (ADDR_RESET,0x01);
sendtodac (ADDR_CTRL,0x1007);
}

Int dacin = 0;
INT MAIN ()

DAC.FORMAT (8,3);
dac.frequency(5万);
initdac();
Int dacin = 0;
//sendtodac (ADDR_DATA,5.4613万);
同时(true){
GPO =!GPO;//切换引脚
LED =!LED;//切换LED
等待(1.0f);
sendtodac (ADDR_DATA,dacin);
// sendtodac (ADDR_data,5.4613万);
dacin +=5000;
如果(dacin > 6.5万) dacin = 0;
}
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Howdy Quentin,

    欢迎参加e2e论坛!  要确认,您是否拥有DAC8750EVM上的代码,或者您是否难以写入器件?  您还能解释一下代码,以便我们了解您尝试使用EVM执行哪些任务。

    此外,如果您测量设备的电源电压和参考,并通过后续POST提供此信息,将非常有帮助。

    如果您有任何疑问,请告诉我。

    此致,

    马特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Quentin:

    您是否对此主题有任何更新?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    软件现在可以工作。 某些DAC8750出现了退出输出电流的问题;电流降低到0.05 毫安。 已更换5或6个DAC8750。

    该电路与评估板相同,但CAP1 = 0.47uf,CAP2 = 0.22uf。 包括NPN晶体管增压器电路。 IOUT上的电容器接地= 0.022uf。  CAP1和CAP2接地。

    DAC8750是否对电源定序敏感? 3.3 伏数字电源 启动速度比24伏模拟电源慢。

    3.3 电压来自24伏电源。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Quentin,
    8.3 6电源顺序,第22页:
    DAC8750具有用于数字DVDD和模拟AVDD的内部通电复位(POR)电路
    用品。 此电路可确保DAC的内部逻辑和开机状态正确通电
    独立于供应顺序的状态。 建议的电源顺序是首先使用模拟电源
    AVDD电源出现,然后是数字电源DVDD。 DVDD也可以像AVDD一样优先出现
    在50 μs内斜坡至至少5 V。
    对于似乎工作不正常的装置-请检查警报\引脚-如果它被拉低-存在问题。 状态寄存器将指示可能的故障(即温度,CRC错误,监视犬等)。
    当发生报警时,将设置相应的报警状态位(1)。 只要设置了报警状态位,它就会一直保持设置状态,直到发生事件
    这就解决了问题。 报警位只能通过执行软件重置(通电重置)来清除
    (通过重启),或通过解决错误状况。 如果出现报警情况,则会重新确定这些位
    在下一个监测周期中继续存在。
    请参阅数据表第36页8.6 .1.5 部分。
    通过我们的电话交谈:
    听起来似乎重启不能解决问题。 24V电压峰值(至>36V)是一个问题。 我建议在输入电源引脚处使用某种钳子,以帮助限制此电压偏移。
    我希望这能有所帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    这种对话中的一些对话似乎已开始脱机进行。 也许我们应该继续这样做?

    如果听起来不错,那么Mark可能会通过电子邮件将我们大家圈在一起,分享完整的背景以及一个理想的原理图。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Quientin,

    听起来离线通信部分是通过我们的经销商进行的,因此建立离线E2E讨论的时间似乎比我预期的要长一些。 如果您希望继续在此处讨论,只需回答此主题。

    如Mark所指出的,数据表中有推荐的电源顺序,但是违反这些顺序不会导致输出出现与本线程中所述的严重意外的结果。

    但是,我从Mark那里看到的过压情况非常令人担忧。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    过压不可重复。 我认为这是不恰当的范围基础。

    接地垫与地面高度热熔。  焊接时零件可能过热。 主板 将在接地垫和/或 引脚上重新放好散热装置。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Quentin,

    好的。

    请随时向我们公布您的结果以及您可能需要的任何进一步支持。