TLC5620-资料及部分中文翻译和程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

TLC5620资料及部分中文翻译和程序TLC5620C,TLC5620IQUADRUPLE8-BITDIGITAL-TO-ANALOGCONVERTERSFour8-BitVoltageOutputDACs4通道8位电压输出D/A转换器。5-VSingle-SupplyOperation5V单电源SerialInterface串行接口High-ImpedanceReferenceInputs高阻抗的基准输入Programmable1or2TimesOutputRange可编程实现1至2倍的输出范围SimultaneousUpdateFacility设备可同时进行更新InternalPower-OnReset内置上电复位Low-PowerConsumption低功耗Half-BufferedOutput半缓冲输出Applications应用ProgrammableVoltageSources可编程电源DigitallyControlledAmplifiers/Attenuators可数字控制的放大器和衰减器MobileCommunications移动通信AutomaticTestEquipment自动测试设备ProcessMonitoringandControl过程监控SignalSynthesis信号合成Description描述TheTLC5620CandTLC5620Iarequadruple8-bitvoltageoutputdigital-to-analogconverters(DACs)withbufferedreferenceinputs(highimpedance).TheDACsproduceanoutputvoltagethatrangesbetweeneitheroneortwotimesthereferencevoltagesandGND,andtheDACsaremonotonic.Thedeviceissimpletouse,runningfromasinglesupplyof5V.Apower-onresetfunctionisincorporatedtoensurerepeatablestart-upconditions.TLC5620C和TLC5620I是带有高阻抗缓冲输入的4通道8位电源输出数模转换器集合。这些转换器可以产生单调的、1至两倍于基准电压和接地电压差值的输出。通常情况下TLC5620的供电电压为一个5V电源。器件内集成上电复位功能,确保启动时的环境是可重复的。DigitalcontroloftheTLC5620CandTLC5620Iareoverasimplethree-wireserialbusthatisCMOScompatibleandeasilyinterfacedtoallpopularmicroprocessorandmicrocontrollerdevices.The11-bitcommandwordcompriseseightbitsofdata,twoDAC-selectbits,andarangebit,thelatterallowingselectionbetweenthetimes1ortimes2outputrange.TheDACregistersaredoublebuffered,allowingacompletesetofnewvaluestobewrittentothedevice,thenallDACoutputsareupdatedsimultaneouslythroughcontrolofLDAC.ThedigitalinputsfeatureSchmitttriggersforhighnoiseimmunity.对TLC5620C和TLC5620I的数字控制是通过一根简单的3路串行总线实现的。该总线兼容CMOS,并易于向所有的微处理器和微控制器设备提供接口。11位的命令字包括8位数据位,2位DAC选择位和1位范围位,后者用来选择输出范围是1倍还是2倍。DAC寄存器采用双缓存,允许一整套新值被写入设备中。通过LDAC实现DAC输出值的同时更新。数字量的输入采用史密斯触发器,从而避免了高噪声。The14-terminalsmall-outline(D)packageallowsdigitalcontrolofanalogfunctionsinspace-criticalapplications.TheTLC5620Cischaracterizedforoperationfrom0°Cto70°C.TheTLC5620Iischaracterizedforoperationfrom–40°Cto85°C.TheTLC5620CandTLC5620Idonotrequireexternaltrimming.引脚输入/输出描述名称序号CLK7I串行接口时钟。引脚出现下降沿时将输入的数字量转发到串行接口寄存器里DACA12ODACA模拟信号输出DACB11ODACB模拟信号输出DACC10ODACC模拟信号输出DACD9ODACD模拟信号输出DATA6I存放数字量的串行接口GND1I地回路及参考终端LDAC13I加载DAC。当引脚出现高电平时,即使有数字量被读入串行口也不会对DAC的输出进行更新。只有当引脚从高电平变为低电平时,DAC输出才更新。LOAD8I串口加载控制。当LDAC是低电平,并且LOAD引脚出现下降沿时数字量被保存到锁存器,随后输出端产生模拟电压。REFA2I输入到DACA的参考电压。这个电压定义了输出模拟量的范围。REFB3I输入到DACB的参考电压。这个电压定义了输出模拟量的范围。REFC4I输入到DACC的参考电压。这个电压定义了输出模拟量的范围。REFD5I输入到DACD的参考电压。这个电压定义了输出模拟量的范围。VDD14I正极电源周立功《ARM嵌入式系统实验教程》(三)中的代码:/*****************************************************************************文件名:main.c*功能:该实验程序使用TLC5620中A、B、C、D四个通道分别输出周期、幅度相等的*锯齿波,频率为6.35Hz。*说明:跳线器JP1、JP2短接。****************************************************************************/#includeconfig.h#defineDAC_RNG1//幅值选择/*TLC5620由P0口控制,控制I/O定义如下*/#defineCLK1(121)#defineDAT1(122)#defineLOAD(123)#defineLDAC(124)#defineDAC5620CON(CLK1|DAT1|LOAD|LDAC)/*I/O输出操作函数*/#defineCCLK1()IO1SET=CLK1#defineSCLK1()IO1CLR=CLK1#defineCDAT1()IO1SET=DAT1#defineSDAT1()IO1CLR=DAT1#defineCLOAD()IO1SET=LOAD#defineSLOAD()IO1CLR=LOAD#defineCLDAC()IO1SET=LDAC#defineSLDAC()IO1CLR=LDACvoidDAC5620_Data(uint8no,uint8dat);voidPIN_Init(void);voidDelay(void);intmain(void){uint8i;PIN_Init();//初始化CPU的IO口while(1)//发生锯齿波{DAC5620_Data(1,i);DAC5620_Data(2,i);DAC5620_Data(3,i);DAC5620_Data(4,i);i++;}return(0);}/*****************************************************************************名称:IRQ_Eint3()*功能:外部中断EINT3服务函数,取反B1控制口。*入口参数:无*出口参数:无****************************************************************************/voidPIN_Init(void)//CPU的IO口初始化函数{PINSEL0=0x00000000;PINSEL1=0x00000000;IO1DIR=DAC5620CON;CCLK1();//CLK1=0CDAT1();//DAT1=0SLOAD();//LOAD=1SLDAC();//LDAC=1}/*****************************************************************************名称:DAC5620_Data()*功能:DAC芯片TLC5620的控制函数*入口参数:uint8no通道选择uint8dat输出数值*出口参数:无****************************************************************************/voidDAC5620_Data(uint8no,uint8dat){uint16bak;uint8m;#ifDAC_RNG==0bak=(dat5)|((no&0x03)14);#elsebak=(dat5)|((no&0x03)14)|(113);#endiffor(m=0;m11;m++){SCLK1();//CLK1=1Delay();if((bak&0x8000)==0){CDAT1();//DAT1=0}else{SDAT1();//DAT1=1}Delay();CCLK1();//CLK1=0Delay();bak=1;}CLOAD();//LOAD=0Delay();SLOAD();//LOAD=1Delay();CLDAC();//LDAC=0Delay();SLDAC();//LDAC=1Delay();}voidDelay(void){uint32i;for(i=0;i1;i++);}

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功