摘要: DS3514伽马寄存器具有10位分辨率,这意味着有1024个可能的输出电平。这些伽玛寄存器的设置范围为十进制0-1023 (000h到3FFh)。在DS3514中,这个10位值被左对齐存储在两个8位寄存器中。
DS3514可编程伽马和V(COM)电压发生器具有提供10位分辨率的伽马缓冲器。这10位存储在两个8位寄存器中。这个应用笔记解释了如何计算伽马寄存器的寄存器值。
DS3514可编程伽马和V(COM)电压发生器具有10位分辨率的伽马缓冲器。这意味着有1024个可能的伽马输出级别。这些伽马寄存器的设置范围是0到1023 (000h到3FFh)。这个10位值左对齐存储在两个8位寄存器中。
下面的示例显示了如何将10位分配给两个寄存器。本例使用GM1的锁存器A寄存器,地址为02h和03h。最高有效字节(MSB)是地址02h,最低有效字节(LSB)是地址03h。LSB中的6个“不关心”位被读回为0。
Reg添加 | 位7 | 位0 | ||||||
02 h | 位9 | 位8 | 位7 | 位6 | 位5 | 位4 | 位3 | 位2 |
03 h | 位1 | 位0 | X | X | X | X | X | X |
下面两种方法可以用来获得正确的数据来写入这些寄存器。
第一种方法同时计算MSB和LSB。首先,将所需的十进制设置(0到1023)乘以64,或者将十六进制设置(000h-3FFh)乘以40h。或者,二进制值可以左移六次。
期望设置:dec = 472;hex = 1D8h;bin = 01 1101 1000 472 × 64 = 30208 = 0111 0110 0000 0000 1d8h × 40h = 7600h = 0111 0110 0000 0000 shift二进制左6位= 0111 0110 0000 0000
期望设置:dec = 799;hex = 31Fh;bin = 110001 1111799 × 64 = 51136 = 11000111 1100000 31fh × 40h = C7C0h = 11000111 1100000 shift二进制左6位= 11000111 1100000
这个16位字现在可以分解成两个字节,MSB和LSB。从例1中,最高位字节是76h,它将被写入寄存器02h;最低有效字节是00h,它将被写入寄存器03h。
该方法独立计算MSB和LSB。这个方法在代码中的实现方式取决于所使用的编程语言。
MSB的数据是通过将十进制值除以4获得的,没有余数或四舍五入。这相当于将十六进制值除以04h或将二进制值右移2位。LSB的数据是通过用0x003(00 0000 0011)和原始期望设置来获得的,然后将结果移出6位(乘以64或40h)。
期望设置:dec = 799;hex = 31Fh;本= 11 0001 1111 msb计算:799/4 = 199 = C7h = 1100 0111 31fh / 04 h = C7h = 1100 0111数据转移对2位= 1100 0111 lsb计算:数据与03 h 31fh和003 h = 003 h 11 0001 1111 00 0000 0011 = 00 0000 0011数据左移6位(乘以64或40小时)3×64 = 192 = 0000 003h C0h = 1100×0011 h = C0h = 1100 0000 0000左移6位= 1100 0000
下图显示了如何使用I²C通信将示例3中的数据写入DS3514的寄存器02h和03h。此编程假设A0引脚接地,从而使DS3514从地址为C0h。在本例中,寄存器02h被写入C7h,寄存器03h被写入C0h。也可以使用单字节写入来写入该数据。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308