找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

求助帮忙解释部分AD变换器TLC5615程序

查看数: 2173 | 评论数: 3 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-3 08:38

正文摘要:

和我搜集到的这种程序(图一)不太一样下面这种程序是什么意思?TLC5615的输出电压是怎么控制的?(比如0~5v),TLC5615是怎么工作的(图一是控制0~1023,下面这个完全找不到头绪)求大佬帮忙解释 void shuma( ...

回复

ID:814525 发表于 2021-4-13 19:33
void tlc_5615(uint buf)
{
uint a,c;
c=buf;  
CS_5615=0;
        for(a=16;a>0;a--)                //把DAC 16位数据送入转换寄存器
        {
                DAT_5615=c>>15;          //取最高位
                c=c<<1;                                //把次高位送到最高位
                CLK_5615=1;
                CLK_5615=0;  
        }
       
        CLK_5615=1;
        CLK_5615=0;                               
        CLK_5615=1;
        CLK_5615=0;                                //补2个时钟,把数据再向前送2位
       
        CS_5615=1;
}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:814525 发表于 2021-4-3 11:42
TLC5615是10位DAC,你是没看懂TLC5615内部16位转换寄存器结构。如果看懂了,2个程序是怎样传送数据的意图就明白了。
TLC5615内部16位转换寄存器高4位和低2位是无效的,只有3~12位为有效数据,要做的就是让传送的16位数据中低10位落在这个区域。
第一个程序是将10位有效数据的最低位和TLC5615内部转换寄存器第3位对齐;第二个程序是将10位有效数据的最高位和TLC5615内部转换寄存器第12位对齐。实际效果都达到了。
输出电压Vo=2*Vref*Value/1023。Value为传送的10位数据。而Vo是有限制的,最大为VDD-0.4

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表