TLC5615 為美國(guó)德州儀器公司 1999 年推出的產(chǎn)品,是具有串行接口的數(shù)模轉(zhuǎn)換器,其輸出為電壓型,最大輸出電壓是基準(zhǔn)電壓值的兩倍。帶有上電復(fù)位功能,即把 DAC 寄存器復(fù)位至全零。
性能比早期電流型輸出的 DAC 要好。只需要通過(guò) 3 根串行總線(xiàn)就可以完成 10 位數(shù)據(jù)的串行輸入, 易于和工業(yè)標(biāo)準(zhǔn)的微處理器或微控制器(單片機(jī)) 接口, 適用于電池供電的測(cè)試儀表、移動(dòng)電話(huà),也適用于數(shù)字失調(diào)與增益調(diào)整以及工業(yè)控制場(chǎng)合。
數(shù)模轉(zhuǎn)換DAC-TLC5615的Proteus電路仿真
1、TLC5615轉(zhuǎn)換精度10bit,轉(zhuǎn)換后輸出為電壓,最大輸出電壓為VDD-0.4V,邏輯電壓輸入5V(+-5%),若采用5V的邏輯電平,其最大輸入電壓為4.6V,故參考電壓Vref輸入必須在0~2.3V范圍之內(nèi),本仿真實(shí)驗(yàn)中取Vref=2.048V;
2、輸出電壓計(jì)算式:
3、TLC5615面向CPU的接口采用SPI串行傳輸,其最大傳輸速度為1.21Mhz,DA轉(zhuǎn)換時(shí)間為12.5us,故一次寫(xiě)入數(shù)據(jù)(CS引腳從低電平至高電平跳躍)后,必須延時(shí)15us左右才可第二次刷入數(shù)據(jù)再次啟動(dòng)DA轉(zhuǎn)換。
4、DOUT引腳作為MISO引腳或者多個(gè)TLC5615級(jí)聯(lián)的串行數(shù)據(jù)輸出;
5、寫(xiě)入轉(zhuǎn)換數(shù)據(jù)可為12bits格式或者16bits格式(當(dāng)級(jí)聯(lián)輸出時(shí)),數(shù)據(jù)傳輸高位先發(fā):
寫(xiě)時(shí)序與SPI兼容;
7、模塊子例程:
/******************************************************************************/ /**
/** 模 塊 名: -------------------TLC5615.C--------------------------------- /** -----------------數(shù)模轉(zhuǎn)換子模塊-----------------------------*/ /** 功能描述:
/******************************************************************************/ #include “Includes.h” //文件包含
/************************************************* 模塊級(jí)變量申明
*************************************************/ int8u bdata gBitMsb; sbit m7 = gBitMsb^7; int8u bdata gBitLsb;
sbit l7 = gBitLsb^7;
static void TLC5615_Write_12Bits();
/************************************************* 子函數(shù)定義
*************************************************/
/******************************************************************************* *** 函 數(shù) 名: static void TLC5615_Write_12Bits() *** 功能描述: 一次向TLC中寫(xiě)入12bit數(shù)據(jù);
鐘,寫(xiě)操作在時(shí)鐘上升沿觸發(fā); SCL = 0; //結(jié)束該位傳送,為下次寫(xiě)作準(zhǔn)備;
}
else
{
SDA = 0; SCL = 1; SCL = 0;
}
gBitMsb 〈〈= 1;
}
for(i=0;i〈8;i++)//循環(huán)八次,發(fā)送低八位;
{ if(l7)
{
SDA = 1; //將數(shù)據(jù)送出;
SCL = 1; //提升時(shí)鐘,寫(xiě)操作在時(shí)鐘上升沿觸發(fā); SCL = 0; //結(jié)束該位傳送,為下次寫(xiě)作準(zhǔn)備;
}
else
{
SDA = 0; SCL = 1; SCL = 0; }
gBitLsb 〈〈= 1;
}
for(i=0;i〈2;i++)//循環(huán)2次,發(fā)送兩個(gè)虛擬位;
{
SDA = 0; SCL = 1; SCL = 0; }
CS = 1; SCL = 0; }
/******************************************************************************* *** 函 數(shù) 名: extern void TLC5615_Start(int16u dacDat) *** 功能描述: 啟動(dòng)DAC轉(zhuǎn)換;
*** 全局變量: gBitMsb:待轉(zhuǎn)換10bit高兩位;gBitLsb:10bits的低8位; *** 輸 入: dacDat:int16u; *** 函數(shù)說(shuō)明: 外部函數(shù);
/******************************************************************************/ extern void TLC5615_Start(int16u dacDat)
{
dacDat %= 1024;
gBitMsb = dacDat/256; gBitLsb = dacDat%256; gBitMsb 〈〈= 6;
TLC5615_Write_12Bits();
}
/******************************************************************************* **** End Of File
*******************************************************************************/
8、Proteus仿真抓圖:
評(píng)論
查看更多