2.8.7.4 Telegram Settings and Signal Checks
The ATA8510/15 implements several different signal checks that can be configured as SOT and EOT conditions. These are:
- Manchester coding check (MAN)
- Symbol timing check (SYT)
- Modulation amplitude check (AMP)
- Carrier check (CAR)
- RSSI range check (RR)
- Wake-up pattern check (WUP)
- Start frame ID pattern check (SFID)
- WCO/SOT time-outs (TMO)
- WCO/EOT from other path (WCOx, EOTx)
- Telegram length check (only in buffered mode)
Signal Check Size
The signal check size defines the number of symbols that have to pass without an error before a check is considered successful. The default value for the signal check size is 12 symbols. The counter is reset with every demodulator restart. The signal check size is only valid for the following checks:
- Manchester coding check
- Symbol timing check
- Modulation amplitude check
- Carrier check
The signal check size can be configured independently for path A and path B of each service in the eepServices.SYCx.SYCSx variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00F7 |
SYCA |
SYTLA[3:0] |
SYCSA[3:0] | ||||||
0x00F8 |
SYCB |
SYTLB[3:0] |
SYCSB[3:0] | ||||||
Note: The register value represents
only half of the number of symbols to be checked.
|
Manchester Coding Check
The Manchester coding check verifies the Manchester coding conformity of the incoming modulation. The check ensures that there are not more than two identical consecutive symbols and that the signal edges are in the middle of the Manchester bit and not at the bit boundaries. It is one of the slower checks to respond, but it can be used for all (Manchester-coded) telegrams during data reception without losing sensitivity. It is particularly useful together with the symbol timing check for the end of the telegram detection.
The only setting for this check is the activation of the alternating preamble feature. If enabled, a more severe mode is active until the signal check size is reached. Only alternating high and low symbols are accepted. This might reduce the amount of on-time if no valid signal is available. The feature can be configured independently for path A and path B of each service in the eepServices.DMCRx.SY1Tx variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00C0 |
DMCRA |
DMARA |
SY1TA |
SASKA |
DMPGA[4:0] | ||||
0x00C1 |
DMCRB |
DMARB |
SY1TB |
SASKB |
DMPGB[4:0] |
EOT1 |
EOT2 |
EOT3 | |
---|---|---|---|
Manchester coding check |
x |
x |
x |
x |
x | — | |
x | — | — |
Symbol Timing Check
The symbol timing check is concerned with the timing of the signal transition from one symbol to the next. The edges of the symbols are expected to stay within some boundaries relative to the clock recovery in the demodulator. There are two settings for this check:
- Severity: The severity defines a validity window for the symbol edge in relation to its expected location as a percentage of symbol time. The value can be configured independently for path A and path B of each service in the eepServices.SYCx.SYTLx variables. Allowed values are 8 to 15, corresponding to an allowed symbol edge tolerance of ±25% to ±47%. The default value is 11 (34%), lower values lead to a more severe check.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00F7 |
SYCA |
SYTLA[3:0] |
SYCSA[3:0] | ||||||
0x00F8 |
SYCB |
SYTLB[3:0] |
SYCSB[3:0] |
- Alternating preamble: The symbol timing
check generally allows high and low times of the demodulated data with once or twice the
selected symbol period. If the alternating preamble feature is enabled, only alternating
zeros and ones
(
0
-1
-0
-1
-0
-... pattern) are allowed until the signal check size is reached. This represents a tougher criterion and reduces the amount of on-time if no valid signal is available. The feature can be configured independently for path A and path B of each service in the eepServices.DMCRx.SY1Tx variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00C0 |
DMCRA |
DMARA |
SY1TA |
SASKA |
DMPGA[4:0] | ||||
0x00C1 |
DMCRB |
DMARB |
SY1TB |
SASKB |
DMPGB[4:0] |
Modulation Amplitude Check
An incoming signal is expected to have a modulation. This check verifies that the modulation amplitude at the output of the data filter is above the configured threshold. The recommended threshold value is calculated by the configuration tool as it depends on the modulation type, deviation, channel filter bandwidth and data rate. A higher value makes the check more severe. An error is flagged if the signal fails to exceed the threshold within two data symbols for an alternating preamble pattern, otherwise, within three data symbols. The modulation amplitude check is useful for ASK and FSK modulation.
The modulation amplitude check has to be deactivated after WOK if the telegram data contains more than two consecutive high or low symbols.
The threshold can be configured independently for path A and path B of each service in the eepServices.DMMx.DMATx variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00C4 |
DMMA |
DMNEA |
DMHA |
DMPA |
DMATA[4:0] | ||||
0x00C5 |
DMMB |
DMNEB |
DMHB |
DMPB |
DMATB[4:0] |
Carrier Check
The carrier check provides a means to verify if a valid carrier signal or only noise is present at the RF input. The check measures the phase difference at the phase comparator of the PLL for each input sample. The phase difference has to stay within ±90° to be valid. A phase jump outside of these boundaries indicates the dominance of noise or an unexpected signal. An error is flagged when the number of violations within a defined time interval exceeds a predefined threshold.
The severity of the signal check is determined by two settings:
- Window: The time window represents the length of the interval in baseband clock samples that is used to accumulate the phase jump violations. The counter is reset at the end of each time window and the counting is restarted. The default window length corresponds to a period of two data symbols. Using a shorter window length speeds up the check but this can have a negative effect on the sensitivity. The window can be configured independently for path A and path B of each service in the eepServices.DMCDx.DMCTx variables.
- Allowed fails: The number of allowed fails is used as the threshold for the phase jump violations not triggering an error. The default value is around one quarter of the window size. Reducing this value makes the check more severe. The threshold can be configured independently for path A and path B of each service in the eepServices.DMCDx.DMCLx variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00BE |
DMCDA |
DMCTA[2:0] |
DMCLA[4:0] | ||||||
0x00BF |
DMCDB |
DMCTB[2:0] |
DMCLB[4:0] |
The carrier check can be used only for FSK modulation because an ASK (OOK) modulation has inherent carrier gaps generating a carrier fail indication. The carrier check is the fastest check to respond with an error and is, therefore, very useful for achieving a low average power consumption in PollingMode. The highest power reduction is visible at low data rates because the window can be made very short compared to the bit duration.
If a carrier check is activated for ASK modulation, it is automatically switched off by the hardware.
RSSI Range Check
The RSSI range check verifies that the received signal strength is within certain limits. The check is considered successful if the measured RSSI value complies with the configured settings within an update period. See RSSI Measurement for more information on how to configure the RSSI measurement correctly. If the RSSI range check is used as an SOT or EOT condition, the update rate must be chosen in the range of the other active checks. The recommended default value corresponds to the length of two data symbols, the maximum recommended value depends on the signal check size.
Example: Data rate: 5 Kbit/s Manchester; signal check size: six symbols
- Symbol rate: 10 Kbit/s
- Symbol time: 100 µs
- Two symbols take 200 µs, six symbols take 600 µs
- The RSSI update period must be configured between 200 µs and 600 µs
An error is flagged if the measured RSSI value does not match the configured settings within an update period.
Wake-Up Pattern Check
The match of a wake-up pattern can be configured as a WCO and an SOT condition. The symbol-based serial data stream is continuously scanned by a correlator for the configured pattern. The following settings are available:
- Pattern: The reference pattern consists
of 32 symbols, the data direction is MSB-first. The pattern can be an arbitrary
combination of ‘
0
’s and ‘1
’s. It can be configured independently for path A and path B of each service in the eepServices.WUPx[3:0] variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x010B |
WUPA[0] |
WUP1A[7:0] | |||||||
0x010C |
WUPA[1] |
WUP2A[7:0] | |||||||
... |
... |
... | |||||||
0x0112 |
WUPB[3] |
WUP4B[7:0] |
- Length: The length of the pattern can be configured to be between 1 and 32 symbols. If the length of the pattern is configured to be less than 32, the corresponding number of least significant symbols of the reference pattern is selected and the remainder disregarded. A pattern match is only possible if at least the number of symbols that is configured as the length is received. The pattern length can be configured independently for path A and path B of each service in the eepServices.WUPLx.WUPLx[5:0] variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x0113 |
WUPLA | — | — |
WUPLA[5:0] | |||||
0x0114 |
WUPLB | — | — |
WUPLB[5:0] |
- Allowed fails: If the pattern is not required to match completely, the number of allowed fails can be configured. In the configuration tool, any value between 0 (complete match required) and the length of the pattern (check is always successful) is allowed. Setting the allowed fails to a value > 0 increases the sensitivity of the receiver but also the probability of an erroneous WCO. Setting the allowed fails to “-1” has the special meaning that a pattern match will never occur. In the EEPROM, the allowed fails can be configured as the threshold value independently for path A and path B of each service in the eepServices.WUPTx.WUPTx[4:0] variables. The conversion of allowed fails to the threshold value is done by the configuration tool automatically.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x0115 |
WUPTA | — | — | — |
WUPTA[4:0] | ||||
0x0116 |
WUPTB | — | — | — |
WUPTB[4:0] |
Start Frame ID Pattern Check
The match of a start frame ID pattern can be configured as an SOT condition. The symbol-based serial data stream is continuously scanned by a correlator for the configured pattern. The following settings are available:
- Pattern: The reference pattern consists
of 32 symbols, the data direction is MSB-first. The pattern can be an arbitrary
combination of ‘
0
’s and ‘1
’s and can be configured independently for path A and path B of each service in the eepServices.SFIDx[3:0] variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00E5 |
SFIDA[0] |
SFID1A[7:0] | |||||||
0x00E6 |
SFIDA[1] |
SFID2A[7:0] | |||||||
... |
... |
... | |||||||
0x00EC |
SFIDB[3] |
SFID4B[7:0] |
- Length: The length of the pattern can be configured to be between 1 and 32 symbols. If the length of the pattern is configured to be less than 32, the corresponding number of least significant symbols of the reference pattern is selected and the rest is ignored. A pattern match is only possible if at least the number of symbols that is configured as length are received. The pattern length can be configured independently for path A and path B of each service in the eepServices.SFIDLx.SFIDLx[5:0] variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00EF |
SFIDLA | — | — |
SFIDLA[5:0] | |||||
0x00F0 |
SFIDLB | — | — |
SFIDLB[5:0] |
- Allowed fails: If the pattern is not required to match completely, the number of allowed fails can be configured. In the configuration tool, any value between 0 (complete match required) and the length of the pattern (check is always successful) is allowed. Setting the allowed fails to a value > 0 increases the sensitivity of the receiver but also the probability of an erroneous SOT. Setting the allowed fails to ‘-1’ has the special meaning that a pattern match will never occur. In the EEPROM, the allowed fails can be configured as the threshold value independently for path A and path B of each service in the eepServices.SFIDCx.SFIDTx[4:0] variables. The conversion of allowed fails to the threshold value is done by the configuration tool automatically.
- Serial mode: If the serial mode is
activated, a WUP match is required before an SFID pattern match is possible. The complete
configured SFID pattern must be received after the WUP match and the WUP and SFID patterns
are not allowed to overlap. This feature is implemented in the correlator hardware and it
is independent of the activation of the pattern as an SOT1/2 condition. The mimic is reset
during every path restart (compare Figure 2-24 for the occurrence of path restarts), which requires special
considerations in gap mode. It is generally recommended to activate this feature for
standard applications.
The serial mode can be activated independently for path A and path B of each service in the eepServices.SFIDCx.SEMEx variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00ED |
SFIDCA |
SEMEA | — | — |
SFIDTA[4:0] | ||||
0x00EE |
SFIDCB |
SEMEB | — | — |
SFIDTB[4:0] |
WCO Time-Out
The WCO time-out limits the period between the receive mode start-up and a WCO event. The valid configuration range of the time-out is between approximately 5 µs and 300 ms. The timer starts running when the demodulator is activated and stops/resets when a WCO or an EOT event occurs.
Exception: If the intermittent WUP feature is activated, the timer is not restarted at an EOT event.
If no WCO or EOT occurs until the configured time-out value is reached, an EOT event is triggered. This occurs, for example, if a permanent RF interferer is present.
The WCO time-out period can be activated independently for path A and path B of each service in the eepServices.WCOtimeOutx variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x0109 |
WCOtimeOutA |
WCOTOA[7:0] | |||||||
0x010A |
WCOtimeOutB |
WCOTOB[7:0] |
SOT Time-Out
The SOT time-out limits the period between a WCO and an SOT event. The valid configuration range of the time-out is between approximately 5 µs and 300 ms. The timer starts running at a WCO event and stops/resets when an SOT or an EOT event occurs.
Exception: If the gap mode feature is activated, the timer is not restarted at an EOT event.
If no SOT or EOT occurs until the configured time-out value, an EOT event is triggered. This occurs, for example, if a permanent RF interferer is present.
The SOT time-out period can be activated independently for path A and path B of each service in the eepServices.SOTtimeOutx variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x00F5 |
SOTtimeOutA |
SOTTOA[7:0] | |||||||
0x00F6 |
SOTtimeOutB |
SOTTOB[7:0] |
WCO from Other Path
A WCO event from the other path of the same service can be used as a WCO or an SOT condition. This can be useful if the preamble of a telegram is sent with ASK modulation and the data payload is sent with FSK modulation.
EOT from Other Path
An EOT event from the other path of the same service can be used as an EOT1 or an EOT2 condition.
Telegram Length
The reception of a certain number of bits can be used as an EOT3 condition. This feature is
only available in buffered receive mode and not in transparent receive mode. All bits that
are received after the SOT event and written to the data FIFO are counted. An EOT is
triggered as soon as the configured number of bits is received. This means a defined code
violation at the end of the telegram is not required. Any value between 1 and 4095 is
allowed. If the corresponding variables are written to ‘0
’, the check is
switched off.
The telegram length can be configured independently for path A and path B of each service in the eepServices.RXTLx[1:0] variables.
Address Service0 |
Name |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|---|---|
0x011C |
RXTLA[0] |
RXTLLA[7:0] | |||||||
0x011D |
RXTLA[1] | — | — | — | — |
RXTLHA[3:0] | |||
0x0123 |
RXTLB[0] |
RXTLLB[7:0] | |||||||
0x0124 |
RXTLB[1] | — | — | — | — |
RXTLHB[3:0] |