Micrel
MICRF506BML/YML
Writing to n Registers having Non-Incremental
Addresses
Registers with non-incremental addresses can be
written to in one write-sequence as well. Example of
non-incremental addresses: “0,1,3”. However, this
requires more overhead, and the user should
consider the possibility to make a “continuous”
update, for example, by writing to “0,1,2,3” (writing
the present value of “2” into “2”). The simplest
firmware is achieved by always writing to all
registers. Refer to previous sections.
This write-sequence is divided into several sub-
parts:
•
Disable
the
generation
of load-signals by
clearing bit “load_en” (bit0 in
ControlRegister0)
•
Repeat for each group of register having
incremental addresses:
o
Bring CS active
o
Enter first address for this group,
R/W bit and values
o
Bring CS inactive
o
Finally, enable and make a load-
signal by setting “load_en”
Refer to the previous sections for how to write to 1 or
n (with incremental addresses) registers in the
MICRF506.
Reading from the control registers in MICRF506
The “read-sequence” is:
1. Enter address and R/W bit
2. Change direction of IO line
3. Read out a number of octets and change IO
direction back again.
It is possible to read all, 1 or n registers. The
address to read from (or the first address to read
from) can be any valid address (0-22). Reading is
not destructive, i.e. values are not changed. The IO
line is output from the MICRF506 (input to user) for a
part of the read-sequence. Refer to procedure
description below.
A read-sequence is described for reading n
registers, where n is number 1-23.
Reading n registers from MICRF506
CS
SCLK
IO
A6
A5
A0
RW D7
D6
D0
Address of register i RWData read from reg. i
Simple time
IO Input
IO Output
Figure 3.
In the figure, 1 register is read. The address is A6,
A5, … A0. A6 = msb. The data read out is D7, D6,
…D0. The value of the R/W bit is always “1” for
reading.
SCLK and IO together form a serial interface. SCLK
is applied externally for reading as well as for writing.
•
Bring CS active
•
Enter address to read from (or the first
address to read from) (7 bits) and
•
The R/W bit = 1 to enable reading
•
Make the IO line an input to the user (set pin
in tristate)
•
Read n octets. The first rising edge of SCLK
will set the IO as an output from the
MICRF506. MICRF will change the IO line at
positive edges. The user should read the IO
line at the negative edges.
•
Make the IO line an output from the user
again.
Programming interface timing
Figure 4 and Table 6 shows the timing specification for the
3-wire serial programming interface.
CS
SCLK
IO
A6
A5
A0
RW
D7
D6
D2
D1
D0
Address Register
Data Register
LOAD
Tscl
Twrite
Tread
Thigh
Tlow
Tper
Tcsr
traise
tfall
Figure 4.
July 2006
12
M9999-092904
+1 408-944-0800