The TN100 transceiver is a highly integrated
mixed signal chip that uses the wireless
communication technology CSS (chirp spread
spectrum) developed by Nanotron Technologies.
With its unique ranging capability, TN100 can
measure the link distance between two nodes.
Thus, TN100 supports location awareness
applications including location based services
(LBS) and asset tracking (2D/3D RTLS). Ranging
is performed during regular data communication
and does not require additional infrastructure,
power, and/or bandwidth.
For an even better ranging accuracy, a high
precision mode is provided. SDS-TWR algorithm
(symmetrical double-sided two-way ranging)
allows superior accuracy even with the use of low
cost crystals for the oscillators.
September 2008 Rev 11/235
This is preliminary information on a new product now in development or undergoing evaluation. Details are subject to
change without notice.
The TN100 transceiver IC is designed to build robust, short distance wireless networks
operating in the 2.45 GHz ISM band with extremely low power consumption over a wide
range of operating temperatures.
The TN100 supports 7-frequency channels with 3 non-overlapping channels. This provides
support for multiple physically independent networks and improved coexistence
performance with existing 2.4 GHz wireless technologies. Data rates are selectable between
31.25 kbps and 2 Mbps. Due to the chip's unique chirp pulse, adjustment of the antenna is
not critical. This significantly simplifies the system's installation and maintenance (“pick-andplace”).
The TN100 transceiver includes a sophisticated MAC controller with CSMA/CA and TDMA
support as well as forward error correction (FEC) and 128-bit hardware encryption. It also
provides scrambling, automatic address matching, and packet retransmission, thus
minimizing the requirements for microcontroller and software.
Through its high-speed standard SPI interface, the TN100 can be interfaced with a wide
range of external microcontrollers. It includes a 4-Kbit frame buffer which allows even very
slow microcontrollers to work with the transceiver. This means that several receive and
transmit frames can be stored simultaneously in the buffers. This solution eliminates the
problems of different peak data rates between air and microcontroller interfaces.
In order to meet environmental requirements, ST offers these devices in ECOPACK
packages. ECOPACK
®
packages are lead-free. The category of second Level Interconnect
is marked on the package and on the inner box label, in compliance with JEDEC Standard
JESD97. The maximum ratings related to soldering conditions are also marked on the inner
box label.
®
ECOPACK is an ST trademark. ECOPACK specifications are available at: www.st.com.
Target applications
Target applications for the TN100 include:
●Asset tracking
●Enabling 2D/3D real-time location systems
●Security
●Industrial monitoring and control
●Medical applications
Development environment
●Simple API access to chip registers
●Easy-to-use evaluation boards for testing the TN100 in any environment
●Ready-to-customize development boards for quick application development
13/235
TN100 block diagramTN100
VDDA_ADC
SpiRxD
SpiTxD
SpiSSn
SpiClk
VDD1V2Cap
µCIRQ
µCReset
POnReset
Te st
TestRxN
TestRxP
TestCom
AnalogueVcc
AnalogueGND
DigitalVcc
Xtal32kN
Xtal32kP
D0
D1
D2
D3
RRef
Xtal32MN
Xtal32MP
VDDA_DCO
VBalun
DigitalGND
TxP
TxN
Tx/Rx
RxP
TxP
µCVcc
MCU
Chirp
Pulse
Sequencer
Digital
Processing
Battery
Digital I/O
Synthesizer
32 kHz
Osc
RTC
DAC
DAC
ADC
ADC
LPF
LPF
LPF
LPF
IQ DEMOD
IQ DEMOD
I
Q
I
Q
VGA
VGAVGA
VGA
LNA
PA
2 TN100 block diagram
Figure 1.Simplified TN100 block diagram
14/235
TN100Key features
3 Key features
The TN100 transceiver incorporates robust wireless communication capabilities including:
●Built-in precise ranging capabilities
●Channelization using FDMA for improved coexistence
●Different symbol durations and symbol rates
●Standard set of default register values set into chip
●Digital Dispersive Delay Line (DDDL) incorporated in the chip
●Programmable pull resistors
3.1 Built-in ranging capability
The TN100 transceiver provides a built-in ranging capability. The chip can be enabled to
provide Round Trip of Flight (RToF) information using a special Data / Ack packet
transmission. Because the processing time for generating a hardware acknowledgment is
known and the time of transmission a data packet is known, these two values can be used to
calculate a ranging distance between the two TN100 stations.
3.2 Channelization using FDMA for improved coexistence
Channelization is the subdividing of the available frequency band (in this case, the 83 MHz
ISM band) into many narrow frequency bands, which for the TN100 transceiver is 22 MHz
channels. This increases coexistence with devices sharing the same ISM band. The TN100
transceiver channelizes the 2.4 GHz ISM band into multiple 22 MHz frequency channels
using Frequency Division Multiple Access (FDMA). With register settings, the chip can be
set to 80 MHz or 22 MHz signal bandwidth. The chip is set by default to use FDMA on
startup and can be programmed to use one of multiple 22 MHz channels in the ISM band.
3.3 Incorporated digital dispersive delay-line (DDDL)
The TN100 transceiver incorporates a Digital Dispersive Delay Line (DDDL), which in
previous chips was an external component. Reference values for I and Q can be stored in
Baseband RAM. These values are used to detect incoming signals generated by another
transceiver chip. The detectable signals can be one of the following:
●An Upchirp (linear frequency modulation, where frequency increases in time)
●A Downchirp (linear frequency modulation, where frequency decreases in time)
●An OffChirp, which is the absence of a chirp
Note:For more details, see Section 20: Chirp modulation on page 89.
3.4 Selectable symbol durations and symbol rates
The TN100 transceiver provides selectable symbol durations and symbol rates.
Note:See Section 26.2.61: 0x48 – Symbol duration, symbol rate, and modulation system on
page 169.
15/235
ArchitectureTN100
4 Architecture
The TN100 is a extremely low power, highly integrated mixed signal chip incorporating both
an analog and a digital part in one silicon die. This section provides a brief overview of the
digital and analog parts of the chip.
4.1 Analog part - TX and RX
For transmission, the analog part of the chip converts data obtained from the digital part into
chirp pulses and sends packets over the air using an RF link. For reception, it detects
received chirp pulses into a form that can be used by the digital part.
4.2 Digital part - programming interface
The digital part of the chip provides an SPI interface for reading and writing to chip registers.
Application data is written to chip buffers in the digital part, which is then provided to the
analog part of the chip for transmission over the air. Data received from the analog part is
provided to an application via buffers in the digital part. To achieve maximum power savings,
the digital part of the TN100 transceiver is divided into two sections called an ON section
(that is, always powered) and a PWD section (that is, powered during operating mode).
4.2.1 Digital part – ON Section
The ON section, which is always powered, contains the minimum number of required
controls that are used to maintain the chip settings. It also is connected to the digital I/O pins
as these pins are used for power management.
4.2.2 Digital part – PWD section
The PWD section, which is powered up only during operating mode, contains the remaining
controls that are used when the chip is required for data transmission and reception.
16/235
TN100Architecture
Analog
Application
data sent
and
received
over SPI
interface
ONPWD
Always powered
Only powered when
chip is in
operating mode
Packets
sent and
received
over an RF
Link
PINS
PINS
PINS
4.3 Signal flow
Figure 2 illustrates the signal flow within the chip.
Figure 2.Signal flow in the TN100 transceiver
4.4 Commonly used set of register default values
The chip has been set with a number of default values that would be required for most
standard applications to reduce the time required for chip initialization.
Note:A full listing of register default values is provided in Appendix B: Default register settings on
page 224.
4.5 Programmable pull-resistors
The TN100 transceiver uses programmable pull-resistors to lower the cost of the bill of
materials. The following pads can now be set as either pull-up or pull-down:
●SpiClk (pin 15)
●SpiSsn (pin 16)
●SpiTxd (pin 17)
●SpiRxd (pin 18)
●POnReset (pin 30)
●TxRx (pin 9)
●µCIRQ (pin 27)
●µCReset (pin 28)
●Digital IO pads (pins 19 to 22)
17/235
Pin descriptionTN100
1
2
3
4
5
6
7
8
9
10
11
12
1518 1921 22 23 242016 171413
31
30
29
28
27
26
25
35
34
33
32
36
4843 4240 39 38 374145464744
VDDA
RRfef
VSSA
VDDA_DCO
Xtal32kP
Xtal32kN
Xtal32MP
Xtal32MN
Tx/Rx
VSSD
VSSD
VDDD
VDDD
VSSD
SpiClk
/SpiSsn
SpiTxD
SpiRxD
D0D1D2
D3
VSSD
VDDD
VSSD
µCReset
µCIRQ
VDD1V2_Cap
µCVcc
/POnReset
VSSD
VDDA_ADC
nc
VSSA
VDDA
VDDA
nc
nc
VSSA
VSSA
RxN
RxP
VSSA
TxN
TxP
VSSA
VBalun
VDDA
Pin 1 Identification
GND
Exposed die
attach pad
5 Pin description
This section provides a brief overview of the location and function of each pin.
Figure 3.Pinout
18/235
Table 1.Pin descriptions
PinSignalDirectionDescription
1VDDASupplyPower supply for analog parts
2RRefAnalog IOPin for external reference resistor
3VSSASupplyPower supply for analog parts
4VDDA_DCOSupplyPower supply for DCO
5Xtal32kPAnalog IO
6Xtal32kNAnalog IOCrystal 32768 Hz
7Xtal32MPAnalog IO
8Xtal32MNAnalog IO32.0 MHz crystal oscillator
9Tx/RxDigital output Output signal to distinguish between transmit and receive
10VSSDSupplyPower supply for digital parts
11VSSDSupplyPower supply for digital parts
Crystal 32768 Hz, input from external 32768 Hz frequency
reference
32.0 MHz crystal oscillator, input from external 32 MHz
frequency reference
TN100Pin description
Table 1.Pin descriptions (continued)
PinSignalDirectionDescription
12VDDDSupplyPower supply for digital parts
13VDDDSupplyPower supply for digital parts
14VSSDSupplyPower supply for digital parts
15SpiClkDigital inputSPI clock
16SpiSSnDigital inputSPI slave selected
17SpiTxDDigital output SPI transmit data (MISO)
18SpiRxDDigital InputSPI receive data (MOSI)
19D0Digital IODigital input or output line 0
20D1Digital IODigital input or output line 1
21D2Digital IODigital input or output line 2
22D3Digital IODigital input or output line 3
23VSSDSupplyPower supply for digital parts
24VDDDSupplyPower supply for digital parts
25TestDigital IOPin for digital tests
26µCResetDigital output Reset for external microprocessor
27µCIRQDigital output Interrupt request to external microprocessor
28VDD1V2_CAPSupply1.2 V digital power supply decoupling.
29µCVCCSupplySwitchable power supply for external microcontroller
30POnResetDigital inputPower on reset line
31VSSDSupplyPower supply for digital parts
32VDDA_ADCSupplyPower supply for analog parts (Rx ADC)
33TestComLF signalTest pin for analogue signals
34VSSASupplyPower supply for analog parts
35VDDASupplyPower supply for analog parts
36VDDASupplyPower supply for analog parts
37TestRxPLF SignalTest pin for RX signals
38TestRxNLF SignalTest pin for RX signals inverted
for an external 32.768 kHz clock generator. Used to
connect crystal or active frequency reference.
Analog pin. 32 MHz crystal oscillator pin 1 or input for
an external 32 MHz clock generator. Used to connect
crystal or active frequency reference.
The SPI Clock is generated by the microcontroller
(master) and synchronizes data movement in and out of
the device through the pins SpiRxD and SpiTxD.
SPI Slave Select (low active) is externally asserted
before the microcontroller (master) can exchange data
with the TN100 transceiver. Must be low before data
transactions and must stay low for the duration of the
transaction.
SpiRxD18InputSPI Receive Data (MOSI).
SpiTxD17OutputSPI Transmit Data (MISO).
Distinguishes between the TX and RX phase. Can also
Tx/Rx9Output
µCReset26OutputReset for external microprocessor.
µCIRQ27OutputInterrupt request to external microprocessor.
D019Input/Output
D120Input/Output
D221Input/Output
D322Input/Output
µCVcc29OutputAnalog pin. Power supply for external microprocessor.
be used to provide an external power amplifier control.
Active Low during TX, otherwise High.
Digital Input or Output (programmable, see
configuration bits below), line 0.
Digital Input or Output (programmable, see
configuration bits below), line 1.
Digital Input or Output (programmable, see
configuration bits below), line 2
Digital Input or Output (programmable, see
configuration bits below), line 3. Note that a 32.768 kHz
clock operates on this pin after reset/power up.
20/235
TN100Pin description
5.2 Configuring the digital I/O pins – D0 to D3 (pins 19 to 22)
Each digital I/O pin can be configured as either an input or an output pin. Signal levels or an
alarm occurrence can be reported at a digital I/O pin that has been set as input. Ta bl e 3 lists
the fields are used for configuring digital I/O pins.
Table 3.Digital I/O pin configuration
FieldOffsetR/WDescription
DioDirection0x04WO
DioOutValueAlarmEnable0x04WO
DioAlarmStart0x04WO
DioAlarmPolarity0x04WO
DioUsePullup0x04WO
DioUsePulldown0x04WO
Controls the direction of Digital I/O port. Set it
as either an input or an output pin.
When a Digital I/O port is configured as input,
this bit selects to be reported either the signal
level at the port or the occurrence of an
alarm.
Starts the alarm, and is set after the digital I/O
port is configured to report the occurrence of
an alarm.
When the digital I/O port is configured as an
input that should report the occurrence of an
alarm, then this bit is used to select the edge
which should trigger the alarm.
When the digital I/O port is configured as an
output, then this bit selects whether the value
programmed in DioOutValueAlarmEnable or
the feature clock should be driven out of the
digital I/O port.
When set to true, a pull-up resistor is
connected to the corresponding digital I/O
pad.
When set to true, a pull-down resistor is
connected to the corresponding digital I/O
pad only, but when DioUsePullup is false.
Each digital I/O pin has one write strobe, as listed in Tab l e 4 .
Table 4.Digital I/O pin write strobe
FieldOffsetR/WDescription
DioPortWe0x04WO
Writes the settings of the 6 configuration bits
to the digital I/O controller.
Each digital I/O pin has one status bit, as listed in Tab l e 5 .
Table 5.Digital I/O pin status
FieldOffsetR/WDescription
Each bit reports the signal level or the
occurrence of an alarm at one of the four
DioInValueAlarmStatus0x04RO
21/235
digital I/O ports, where bit 0 belongs to D0, bit
1 belongs to D1, bit 2 belongs to D2, and bit 3
belongs to D3.
Pin descriptionTN100
V level
Start of
internal reset
Time
t
min
t
delay
Stop
Threshold
levels
High ≥ V
DDD
* 0.7
Low
# V
DDD
* 0.2
5 µs
≥ 400 µs
IC Ready
5.3 Configuring the IRQ Pin – µCIRQ (pin 27)
The IRQ pin (µCIRQ) can be configured with either a high or low active polarity and can be
driven as either push-pull or open-drain. The source of the interrupt can also be set.
The following fields are used to configure the IRQ pins as either low or high active, as well
as either push-pull or open-drain:
Table 6.IRQ pin configuration
FieldOffsetR/WDefault
IrqPolarity
(high/low active)
IrqDriver
(push-pull/open-drain)
0x00RW
0x00RW
Defines the polarity of the IRQ signal as either high or
low active. The default is low active.
Switches between push-pull or open-drain for IRQ
output driver. The default is open-drain.
The following fields are used to drive the interrupt of the IRQ pin by either a transmitter
interrupt, a receiver interrupt, a baseband timer interrupt, or a local oscillator interrupt:
Table 7.Interrupts driving the IRQ pin
FieldOffsetR/WDescription
TxIrqEnable
RxIrqEnable
BbTimerIrqEnable
LoIrqEnable
0x0FRW
0x0FRW
0x0FRW
0x0FRW
The transmitter interrupt can be enabled to drive the
interrupt line. Default is disabled.
The receiver interrupt can be enabled to drive the
interrupt line. Default is disabled.
The baseband timer can be enabled to drive the
interrupt line. Default is disabled.
The Local Oscillator interrupt can be enabled to drive
the interrupt line. Default is disabled.
5.4 Power-on reset – /POnReset (pin 30)
/POnReset signal is active low. Figure 4 shows a timing diagram for /POnReset.
Figure 4./POnReset timing diagram
22/235
TN100Memory map
Address
Memory
Typ e
Page
Select
Register
Select
Bits 6-0
11-109-87
Hex FFF
11
11
1Correlator RAM Page 3
0
Register Block
10
1Correlator RAM Page 2
0Register Block
01
1Correlator RAM Page 1
0Register Block
00
1Correlator RAM Page 0
Hex C000Register Block
Hex BFF
10
11
1Chirp Sequencer Page 3
0Register Block
10
1Chirp Sequencer Page 2
0Register Block
01
1Chirp Sequencer Page 1
0Register Block
00
1Chirp Sequencer Page 0
Hex 8000
Register Block
Hex 7FF
01
Hex 400
Hex 3FF
00
11
1Baseband Page 3
0Register Block
10
1Baseband Page 2
0Register Block
01
1Baseband Page 1
0Register Block
00
1Baseband Page 0
Hex 0000
Register Block
Correlator RAM
Chirp Sequencer
Baseband RAM
Unused
6 Memory map
This section describes the memory map of the TN100 transceiver. Procedures are provided
for accessing the chip’s programmable Register Block, as well the Baseband RAM, Chirp
Sequencer RAM, and Correlator RAM. Figure 5 shows the memory map of the TN100
transceiver.
Figure 5.Memory map
23/235
Memory mapTN100
Ta bl e 8 lists the sections provided in the memory map.
Table 8.Memory map section
AddressMemory typeDescription
0x000 to
0x3FF
0x800 to
0xBFF
0xC00 to
0xFFF
0x000 to
0x07F
Baseband RAM
Chirp Sequencer
RAM
Correlator RAM
Register Block
512 bytes of Baseband RAM stores both data payload and MAC
header values, depending on buffer configuration settings.
Delivers two sequences of 6-bit values that synthesize the I and Q
signals of a symbol.
Stores the reference and threshold values for detection. It is are
initialized with the FDMA, 4 µs default detector matrix. When other
symbols are needed this register must be programmed with the
appropriate values. The threshold must be programmed with the
appropriate value in any case (even for the default matrix).
128-byte programmable chip register block provides chip
configuration settings and is mapped to the entire memory of the
TN100 transceiver.
Note:For a description of the Chirp sequencer, see Section 10: Chirp sequencer (CSQ) on
page 53. The Correlator RAM is described in Section 6.3: Correlator RAM access on
page 26. The Register Block is described in Section 6.2: 128-byte programmable register
block on page 25.
6.1 Selecting a memory address
There are two ways to access the TN100 transceiver memory map: direct and indirect
access. The Register block is accessed using a direct access model. The Baseband, Chirp
Sequencer and Correlator RAM blocks are accessed using an indirect access model.
To access one of these RAM blocks using an indirect access model through register 0x0E –
Baseband memory access:
1.Select the memory type (Baseband, Chirp Sequencer or Correlator) using bits
DeviceSelect.
2. Select the page pointer using bits RamIndex.
3. A Read or Write operation can now be performed.
For example to write a value to the Chirp Sequencer RAM at location 0x185, write in register
0x0E – Baseband memory access:
1.Write DeviceSelect = 0x2 to select the Chirp Sequencer
2. Write RamIndex = 0x1 to select the RAM column 1.
3. Write to address 0x85.
For example to read a value from the Correlator RAM location at 0x280, write in register
0x0E – Baseband memory access:
1.Write DeviceSelect = 0x03 to select the Correlator RAM.
2. Write RamIndex = 0x02 to select the Threshold.
3. Read from address 0x80.
Note:For a Read or Write operation at an address higher than 0x7F, the absolute address is
always relative to the value stored in register 0x0E.
24/235
TN100Memory map
Baseband RAM 3
Register
128 bytes
0x300
0x37F
0x380
0x3FF
128 bytes
Baseband RAM 2
Register
128 bytes
0x200
0x27F
0x280
0x2FF
128 bytes
Baseband RAM 1
Register
128 bytes
0x100
0x17F
0x180
0x1FF
128 bytes
Baseband RAM 0
Register
128 bytes
0x000
0x07F
0x080
0x0FF
128 bytes
≅
Page 0
Page 1
Page 2
Page 3
First mapping of register
block
Second mapping of register
block
Third mapping of register
block
Register block
6.2 128-byte programmable register block
The TN100 transceiver provides a 128-byte programmable register block for chip
configuration settings. The address space for the register is from 0x00 to 0xFF. However, it
is mapped to three additional mapped registers within the 1024-byte memory space of the
baseband RAM, where:
●Page 1 begins at offset 0x100
●Page 2 begins at offset 0x200
●Page 3 begins at offset 0x300.
These three mapped registers are logically equivalent to the register memory locations 0x00
to 0x7F. Figure 6 illustrates this mapping.
Figure 6.Register mapping in the 1024-byte TN100 memory space
Note:All user accessible registers in this register block is fully described in Section 26.2:
Description of chip registers on page 125.
6.2.1 Accessing a register address location
To access a memory location in the register only one SPI transfer is required, where:
●SPI Address[7] = 0
●SPI Address[6:0] = <offset address in register>
Note:A wraparound SPI burst transfer leads to unpredictable behavior. A wraparound SPI burst is
Either an SPI single byte operation or an SPI burst transfer can be used to access chip
memory. The lower 7 bits of a given memory location are identical with the start address in
the selected segment. SPI burst transfers are limited to 128 bytes (which is the segment
size).
when the number of bytes to be accessed is greater than the number of bytes from the start
address to the end of the segment.
25/235
Memory mapTN100
6.2.2 Setting a shadow variable for the RAM access register
When bit 7 of the 10 bit memory address is 1, the RamIndex field must be set with the two
highest bits of this address (shifting right by 8 positions). The lower 8 bits are directly used in
the next SPI access, which writes this data.
To reduce the overhead caused by writing the RamIndex field for each memory access, it is
recommended that an RamIndex shadow variable be maintained in software. This variable
can be used to back up the last value of the RamIndex field. If address locations in the
same segment are accessed sequentially, write operations to the RamIndex field can be
eliminated by comparing the RamIndex value with the shadow variable.
6.3 Correlator RAM access
The Correlator RAM contains the reference sequences of the detector and the detection
thresholds. Use Correlator Memory I for programming the In-Phase values of the detector
and use Correlator Memory Q for Quadrature-Phase values. Use Correlator Memory
Thresholds to set the thresholds for In-Phase and Quadrature-Phase detection.
A Correlator RAM page is selected by setting DeviceSelect and RamIndex as shown in
The Chirp Sequencer (CSQ) RAM space contains the values for I and Q, which are used to
calculate Upchirps and Downchirps. The CSQ is set with a default matrix that has a symbol
duration of 4 µs (4000 ns) and a 22 MHz bandwidth.
A Chirp Sequencer RAM page is selected by setting DeviceSelect and RamIndex as
shown in Ta bl e 1 0.
Note:For more details about the Chirp Sequencer, see Section 10: Chirp sequencer (CSQ) on
page 53.
26/235
TN100Clocking structure
Digital IO Control
ONPWD
DDDL Memory
SPI Controller
Real-Time Clock
CSQ Memory
Others
Baseband Control
Radio Control
Power Management
(4 kHz)
D[3:0]
Tx/Rx
SPI
µCirq
µCReset
µCVcc
Protection
32.786 kHz clock:
SPI clock:
32 MHz Baseband clock:
CSQ (Chirp Sequencer) clock:
7 Clocking structure
This section describes the four clocks provided by the TN100 transceiver: 32.768 kHz clock,
SPI clock, 32 MHz baseband clock, and the Chirp Sequencer (CSQ) clock.
7.1 Overview
The TN100 transceiver provides the following four clocks:
32.786 kHz clock – Used to run the real-time clock and power management.
SPI clock – Used for the SPI Controller and for the Digital IO Control used for
running the four digital IO pins. The frequency of the SPI clock is dependent on the
frequency required by the microcontroller. The maximum frequency is 27 MHz.
32 MHz baseband clock – Used for baseband control, radio control, and other
baseband uses. The frequency of the baseband clock for the TN100 transceiver is
32 MHz and can be enabled or disabled by software.
CSQ (Chirp Sequencer) Clock – Used by the Chirp Sequencer (CSQ) Memory.
The frequency of the CSQ clock is determined by dividing the Local Oscillator (LO)
frequency by 10. The CSQ clock can be enabled or disabled by software.
Figure 7.Clock structure
7.2 32.786 kHz real-time clock (RTC)
This real-time clock (RTC) runs at 32.768 kHz. It can be set or read through software using
a 48-bit real-time clock value. As this clock is part of the ON section of the chip’s digital part,
it is always powered (unless the chip is completely powered off) and can, therefore, be used
for creating a wake-up time event.
27/235
Clocking structureTN100
ONPWD
Real-Time Clock
Power Management
(4 kHz)
D[3:0]
Tx/Rx
SPI
µCIRQ
µCReset
µCVcc
Protection
32.786 kHz Clock:
The real-time clock is also used to generate a 4 kHz clock (the Power Management clock)
for use by the Power Management module in the ON section. Like the real-time clock, this
slow clock is always available during power down mode to protect the connections between
the SPI and the SPI Controller.
Figure 8 shows the real-time clock and Power Management modules that use the 32.768
kHz RTC.
Figure 8.32.786 kHz real-time clock
7.2.1 Updating and reading the RTC through software
The 48-bit real-time clock is set and read through software. Since the real-time clock is
updated every 1/(32.768 kHz), it is not directly accessible by the user. A RAM buffer
RamRtcReg is used to hold the value of the internal real-time clock after it has been read.
This buffer is also used to hold a value that will be written to the real-time clock.
Fields for updating RTC by software
Ta bl e 1 1 lists the fields used for updating the real-time clock with software.
Table 11.RTC and TimeB packets
FieldOffsetR/WDescription
RtcCmdWr0x62WOWrites the 48-bit RTC value.
RtcCmdRd0x62WOReads the 48-bit RTC value
48-bit RTC value read from the RTC by software or
written to the RTC by software
RamRtcReg0xF0RW
Updating the value of the RTC
To update the value of the real-time clock, do the following
1.Write a 48-bit value for the real-time clock to the buffer RamRtcReg.
2. Write this buffer to the real-time clock using the write command RtcCmdWr.
28/235
TN100Clocking structure
Reading the value of the RTC
To read the value of the real-time clock, do the following:
1.Read the real-time clock using the read command RtcCmdRd to place the 48-bit value
of the real-time clock in the buffer RamRtcReg.
2. Read out the buffer RamRtcReg.
7.2.2 Manually or automatically updating the RTC using TimeB packets
The real-time clock can also be updated from TimeB packets that have been sent from a
base station or other stations in a network. This updating can be performed automatically or
manually.
If the updating is performed automatically, then when a TimeB packet is received, the RTC
value in the packet is automatically written to the real-time clock.
If the updating is performed manually, then when a TimeB packet is received, the RTC value
in the packet must be manually updated as described in Section 7.2.1: Updating and
reading the RTC through software on page 28.
Fields for updating RTC by TimeB packets
Ta bl e 1 2 lists the fields used for updating the real-time clock by TimeB packets.
Table 12.RTC and TimeB packets
FieldOffsetR/WDescription
RtcTimeBAutoMode0x62WO
RtcTimeBRxAdj0x61WOAdjusts the RTC value for receiver delay.
RtcTimeBTxAdj0x60WOAdjusts the RTC value for transmitter delay
RamRtcTx0xE0RW
RamRtcRx0xE8RW
When set to 1, the RTC value is transferred in TimeB
packets
The 48-bit RTC value that is to be transmitted
(loaded/written) in a TimeB packet
The 48-bit RTC value that has been received in a
TimeB packet
Manually updating the RTC
To manually update the real-time clock through the RTC value in a TimeB packet, enable
Manual mode for TimeB packets by setting:
This causes the 48-bit RTC value in the received TimeB packets to be stored in the real-time
clock buffer RamRtcReg, where it can then be written to the real-time clock using the write
command RtcCmdWr.
Automatically updating the RTC
To automatically update the real-time clock through from the RTC value in a TimeB packet,
enable Auto mode for TimeB packets by setting:
This causes the RTC values in received TimeB packets to be automatically stored in the
real-time clock.
29/235
Clocking structureTN100
47318
023
70
312
RtcWakeUpTime
(RTC)
Wake Uptim e
WakeUpti meB yte We
WakeUptimeByte
0
7.2.3 Using the RTC as wake-up event
The real-time clock can be used to create a wake-up time event at a predefined time. The
field EnableWakeUpRtc enables the real-time clock to be used as a wake-up event.
The RTC wake-up time is set in RtcWakeUpTime but can only be accessed through the use
of WakeUpTimeByte and WakeUpTimeWe.
The wake-up time is a 24-bit value split into 3 bytes. The field WakeUpTimeByte is used to
set each of the three segments of the wake-up time (the segment to write is selected using
the a byte-selector field WakeUpTimeWe). This wake-up time value is then compared to bits
31 to 8 of the real-time clock. When these values match, a wake-up event is then triggered.
This process is shown in Figure 9.
Figure 9.Using real-time clock as wake-up event
Fields for setting RTC as wake-up event
Ta bl e 1 3 lists the fields using the real-time clock as a wake-up time event.
Table 13.Wake-up time fields
FieldOffsetR/WDescription
Stores a one byte value for the wake-up time, which
WakeUpTimeByte0x01WO
WakeUpTimeWe0x02WO
EnableWakeUpRtc0x06RWEnable real-time clock as Wake-Up Source
is programed to the wake-up time RtcWakeUpTime
using WakeUpTimeWe.
Loads the value of RtcWakeUpTimeByte to the
appropriate byte of the wake-up time in the wake-up
time circuitry.
7.3 SPI clock
The SPI Clock is an externally delivered clock provided to the chip through an SPI signal
from a master device, such as a microcontroller. The frequency of the SPI clock is
dependent on the frequency of the master device. The maximum frequency of the SPI clock,
however, is 27 MHz. It is provided as one of the four signals of the SPI interface: SpiClk.
Figure 10 shows the Digital IO Control and DDDL Memory modules as well as the SPI
Controller that use the SPI clock.
30/235
Loading...
+ 205 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.