欢迎访问ic37.com |
会员登录 免费注册
发布采购

SI5338-PROG-EVB 参数 Datasheet PDF下载

SI5338-PROG-EVB图片预览
型号: SI5338-PROG-EVB
PDF下载: 下载PDF文件 查看货源
内容描述: I2C可编程任意频率, ANY- QUAD输出时钟发生器 [I2C-PROGRAMMABLE ANY-FREQUENCY, ANY-OUTPUT QUAD CLOCK GENERATOR]
分类和应用: 时钟发生器输出元件
文件页数/大小: 170 页 / 662 K
品牌: SILABS [ SILICON LABORATORIES ]
 浏览型号SI5338-PROG-EVB的Datasheet PDF文件第24页浏览型号SI5338-PROG-EVB的Datasheet PDF文件第25页浏览型号SI5338-PROG-EVB的Datasheet PDF文件第26页浏览型号SI5338-PROG-EVB的Datasheet PDF文件第27页浏览型号SI5338-PROG-EVB的Datasheet PDF文件第29页浏览型号SI5338-PROG-EVB的Datasheet PDF文件第30页浏览型号SI5338-PROG-EVB的Datasheet PDF文件第31页浏览型号SI5338-PROG-EVB的Datasheet PDF文件第32页  
Si5338
6. Si5338 Registers
This section describes the registers and their usage in
detail. These values are easily configured using
ClockBuilder Desktop (see "3.1.1. ClockBuilder™
working example using Silicon Labs' F301 MCU.
0xFF, all the bits in the register can be changed. All
other registers require a read-modify-write procedure to
write to the registers. ClockBuilder Desktop can be used
to create ANSI C code (Options
Save C code header
file) with the register contents and mask values. AN428
demonstrates the usage of this header file and the read-
modify-write procedure.
The following code demonstrates the application of the
above write allowed mask.
6.1. Register Write-Allowed Mask
The masks listed in Table 15 indicate which bits in each
register of the Si5338 can be modified and which bits
cannot. Therefore, these masks are write-allowed or
write-enabled bits. These masks must be used to
perform a read-modify-write on each register.
If a mask is 0x00, all bits in the associated register are
reserved and must remain unchanged. If the mask is
Let addr be the address of the register to access.
Let data be the data or value to write to the register
located at addr.
Let mask be the write-allowed bits defined for the
corresponding register.
// ignore registers with masks of 0x00
if(mask != 0x00){
if(mask == 0xFF){
// do a regular I2C write to the register
// at addr with the desired data value
write_Si5338(addr, data);
} else {
// do a read-modify-write using I2C and
// bit-wise operations
// get the current value from the device at the
// register located at addr
curr_val = read_Si5338(addr);
// clear the bits that are allowed to be
// accessed in the current value of the register
clear_curr_val = curr_val AND (NOT mask);
// clear the bits in the desired data that
// are not allowed to be accessed
clear_new_val = data AND mask;
// combine the cleared values to get the new
// value to write to the desired register
combined = clear_curr_val OR clear_new_val;
write_Si5338(addr, combined);
}
}
28
Rev. 0.6