Micrel, Inc.
MIC3001
August 2004
20
M9999-082404-A
RX Power
Received power is sensed as a voltage appearing at
VRX. It is assumed that this voltage is generated by a
sense resistor carrying the receiver photodiode current.
The value returned by the A/D is therefore a voltage
analogous to received power. The binary value in
RXOPh (RXOPl is always zero) is related to received
power by:
(4)
For a given implementation, the constant, K, will likely
have to be determined through experimentation or closed-
loop calibration, as it depends on the gain and efficiencies
of
the
components
upstream.
In
SFF-8472
implementations, the external calibration constants can
describe up to a fourth-order polynomial in case K is
nonlinear.
B/ Internal Calibration
If the INTCAL bit in OEMCFG3 is set to 1 (internal
calibration selected), the MIC3001 will process each
piece of data coming out of the A/D converter before
storing the result in memory. Linear slope/offset correction
will be applied on a per-channel basis to the measured
values for voltage, bias current, TX power, and RX power.
Only offset correction is applied to temperature.
The
user
must
store
the
appropriate
slope/offset
parameters in memory at the time of transceiver
calibration. In the case of RX power, a look-up table is
provided that implements eight-segment piecewise-linear
correction.
This
correction
may
be
performed
as
temperature compensation or as simple slope/offset
correction. If static slope/offset correction for RX power is
desired, the eight coefficient sets can simply be made the
same. The memory maps for these coefficients are
shown in Table 8 and Table 9.
The slopes allow for the correction of gain errors. Each
slope coefficient is an unsigned, sixteen-bit, fixed-point
binary number in the format:
[mmmmmmmm.llllllll], where m is a data bit
(5)
in the most-significant byte and l is a data
bit in the least significant byte
Slopes are always positive. The binary point is in between
the two bytes, i.e., between bits 7 and 8. This provides a
numerical range of 1/256 (0.00391) to 255 in steps of
1/256. The most significant byte is always stored in
memory at the lower numerical address.
The offsets correct for constant errors in the measured
data. Each offset is a signed, sixteen-bit, fixed-point
binary number. The bit-weights of the offsets are the
same as that of the final results. In the case of
temperature, the offset’s least significant byte (LSB) is
always zero since the MIC3001 does not deal with
fractional temperature values. The sixteen bit offsets
provide a numerical range of –32768 to +32767 for
voltage, bias current, transmit power, and receive power.
The numerical range for the temperature offset is –32513
(–128°) to +32512 (+127°) in increments of 256 (1°). The
format for offsets is:
[Smmmmmmmllllllll], where S is the sign bit
(6)
(1 = positive, 0 = negative), m is a data bit in
the most-significant byte and l is a data bit in
the least significant byte
The most significant byte is always stored in memory at the
lower numerical address.
Calibration of voltage, bias current, and TX power are
performed using the following calculation:
RESULTn = ADC_RESULTn x SLOPEn +
(7)
OFFSETn
Calibration of temperature is performed using the following
calculation:
RESULT = ADC_RESULT + OFFSET
(8)
Calibration of RX power is performed using the following
calculation:
RESULT = ADC_RESULT x SLOPE(m) +
(9)
OFFSET(m)
where m is the appropriate value from the RX power
calibration look-up table.
The results of these calculations are rounded to sixteen bits
in length. If the seventeenth most significant bit is a one, the
result is rounded up to the next higher value. If the
seventeenth most significant bit is zero, the upper sixteen
bits remain unchanged. The bit-weights of the offsets are
the same as that of the final results. For SFF-8472
compatible applications, these bit-weights are given in Table
7.
Parameter
Magnitude of LSB
Temperature
1.0°C
(1)
Voltage
100V
Bias Current
2A
TX Power
0.1W
RX Power
0.1W
Table 7. LSB Values of Offset Coefficients
Note:
1. The LSBytes of the temperature is always zero.