Arad Technologies SONSPR1MM Sonata Sprint with NFC Reader User Guide

June 4, 2024
ARAD TECHNOLOGIES

Sonata Sprint Encoder
User Guide
FCC ID: 2A7AASONSPR1MM

IC: 28664SON1SPRMM
Revision: 1.00

This document contains confidential information, which is proprietary to ARAD Ltd. No part of its contents may be used, copied, disclosed, or conveyed to any party in any manner whatsoever without prior written permission from ARAD Ltd.

Approvals:

| Name| Position| Signature
---|---|---|---
Written by:| Evgeni Kosakowski| Firmware Engineer|
Approved by:| | R&D Manager|
Approved by:| | Product Manager|
Approved by:| | |

Federal Communication Commission (FCC) Compliance Notice

CAUTION
This device complies with part 15 of the FCC Rules. The User should be aware that changes and modifications to the equipment not expressly approved by Master Meter could void the warranty and the user’s authority to operate the equipment. Professionally trained personnel should use the equipment.

ATTENTION
This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in an installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is  encouraged to try to correct the interference by one or more of the following measures:

  • Reorient or relocate the receiving antenna.
  • Increase the separation between the equipment and receiver.
  • Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
  • Consult the dealer or an experienced radio/TV technician for help.

This device complies with Part 15 of FCC Rules. Operation is subject to the following two conditions:

  1. This device may not cause harmful interference, and
  2. This device must accept any interference received, including interference that may cause undesired operation.

Industry Canada (IC) Compliance Notice
This device complies with FCC Rules Part 15 and with Industry Canada license- exempt RSS standard(s). Operation is subject to the following two conditions:

  1. this device may not cause interference, and
  2. this device must accept any interference, including interference that may cause undesired operation of the device.

Under Industry Canada regulations, this radio transmitter may only operate using an antenna of a type and maximum (or lesser) gain approved for the transmitter by Industry  Canada. To reduce potential radio interference to other users, the antenna type and its gain should be so chosen that the equivalent Isotropically radiated power (EIRP) is not more than that necessary for successful communication.

– This Class B digital apparatus complies with Canadian ICES-003. – Cet appareil numerique de la classe B est conforme a la norme NMB-003 du Canada.
Radiation Exposure Statement:
This equipment complies with FCC and IC RF radiation exposure limits set forth for an uncontrolled environment.

Introduction

Encoder software requirements specification is a description of a software system to be developed in the Encoder module. It lays out functional and non- functional requirements and may include a set of use cases that describe the system and user interactions that the software must provide.
Current requirements specification establishes the basis for operation between Arad water measurements from one side and encoder readers 2 or 3 wires from the other. Used appropriately, software requirements specifications can help prevent software project failure.
The current document enlists enough necessary requirements that are required for the Encoder module development including system definition, DFD, communication, etc.,  and presents the details of the hardware and software interface required to communicate the Encoder module with SENSUS pulse readers.

System Overview

The Sonata Sprint Encoder is a battery-powered sub-system module that allowed the reading of Sonata data through a 2W or 3W interface.
It identifies the reader system type (2W or 3W) and converts the serially received data from the Sonata meter to the reader’s string formats and transmits it in the Sensus reader type protocol.

Encoder SW architecture

3.1 Encoder module is a very simple configurable system that:
3.1.1 Provides a high-resolution pulse output signal.
3.1.2 Can translate received data from Sonata to electrical pulse for each unit of measurement according to Encoder module configuration. The electrical pulse is transmitted over a two-conductor or three-conductor cable to the remote readout systems.
3.1.3 Supports communication interface with different pulse Readers.
3.1.4 The Encoder model is built from a module that only transmits the last string it received from the Sonata meter without any post-processing.
3.2 Encoder module SW architecture is an interrupt-driven SW architecture:

  • SPI RX interrupt
  • Reader clock interrupts
  • Timeouts

3.3 The main program consists of system initialization and a main loop.
3.3.1 During the main loop the system waits for SPI RX interrupt or reader interrupts to occur.
3.3.2 If no interrupt occurred and no pulse out command was received the system enters “Power down” mode.
3.3.3 The system wakes from “Power down” mode by SPI’s interrupt or reader’s clock interrupt.
3.3.4 SPI and reader events are processed in ISRs.
3.4 The following figure shows the Encoder module SPI event handle block. Arad Technologies SONSPR1MM Sonata Sprint with NFC Reader -
Fig

3.4.1 Open fault Rx message detection timer.
When a byte is received on SPI the system checks if it is a header byte, opens a timer for the next byte receives a timeout, and initiates the timer. This method prevents the system from waiting for bytes for a long time.
If no byte is received for a long time (over 200ms) the SPI error byte is updated and the message is not removed.
3.4.2 Save received Rx byte
Each byte is saved into the Rx buffer.
3.4.3 Check checksum
When the last byte in the message is received, the checksum is validated.
3.4.4 Update SPI error byte
When the checksum is not valid, the SPI error byte is updated and the message is not parsed.
3.4.5 Parse received SPI message
When the checksum is valid, the parsing process is called.
The parsing is done in the main loop in order to handle immediately the received buffer as an atomic and un-interfered process. When parsing is performed, no reader event is handled.
3.5 The following figure shows parse message flow. Each of the blocks is described briefly in the subparagraphs. Arad Technologies SONSPR1MM Sonata
Sprint with NFC Reader - Fig1

Encoder module configuration

There are possible to configure the Encoder module for operation from GUI.

Arad Technologies SONSPR1MM Sonata Sprint with NFC Reader -
Fig2

4.1 Configuration set shall be stored in Sonata meter by pressing the button.
4.2 Sonata shall configure the communication to Encoder module by RTC Alarm configuration according to GUI parameters:
4.2.1 In case of user selects Sonata RTC Alarm shall be configured for the time defined in the “Minutes” field. Communication to Encoder module shall be performed every  “Minutes” field time.

4.2.2 In case of user select
Arad Technologies SONSPR1MM Sonata Sprint with NFC Reader -
icon2
Sonata RTC Alarm shall be configured for the time defined in the “First” or “Second” field, according to the selected option. Communication to the Encoder module shall be performed at the selected time.

4.3 Encoder module shall support only backward variable format.
4.4 Counter type:
4.4.1 Net Unsigned (1 is converted to 99999999).
4.4.2 Forward (default).
4.5 Resolution:
4.5.1 0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000, 10000 (default value 1).
4.6 Update Mode – Sonata period time for sending data to Encoder module:
4.6.1 Period – every predefined time (in Minutes” field, see 4.2.1 ) Sonata shall send data to
Encoder module. (1…59 minutes. Default 5 minutes)
4.6.2 Once – fixed time when Sonata shall send data to Encoder module once a day ( see 4.2.2). Field “First” shall contain time in the format: of hours and minutes.
4.6.3 Twice – a fixed time when Sonata shall send data to the Encoder module twice a day (see 4.2.2 ). Fields “First” and “Second” shall contain time in the format: hours and minutes.
4.7 AMR Serial Number – up to 8 digits ID number (default same as meter ID)
• Only numeric numbers (in backward mode).
• Only 8 least significant numbers (in backward mode).
4.8 Number of digits – 1- 8 digits from the right-most position to be sent to the 2/3W reader (default 8 digits).
4.9 TPOR – Time that the reader waits until the master stops the start sync (see touched Interface) (0…1000ms. Default 500ms).
4.10 2W Pulse Width – (60…1200ms. Default 800ms).
4.11 Units – flow units and volume units are the same as in the Sonata water meter (read-only).
4.12 Encoder module doesn’t support alarms in backward format. Therefore we can’t have an option for Alarms indication on the module side.

Communication definition

Arad Technologies SONSPR1MM Sonata Sprint with NFC Reader -
icon3

5.1 Sonata↔ Encoder Communication
5.1.1 Sonata water meter communicates with Encoder module through SPI protocol: 500kHz, No Data control). Using other settings will produce unpredictable results, and can easily render the connected Sonata water meter unresponsive.
5.1.2 After Sonata restart current configuration shall be sent to the Encoder module with the first communication request within 1 minute of Sonata operation.
5.1.3 In case of Encoder module doesn’t receive configuration by 3 times, Sonata shall execute Encoder module Reset through the “Reset” pin for 200ms and shall try to send configuration again.
5.1.4 After the configuration request performs success Sonata shall begin s ending data to the Encoder module.

5.2 Encoder ↔ Sensus Reader (TouchRead) Interface
5.2.1 The interface specification for the TouchRead mode is defined in terms of operation in a standard circuit.
5.2.2 Encoder module shall communicate with readers through Sensus 2W or 3W protocol.
There are TouchRead Interface timing diagrams for Sensus 2W or 3W communication.

Arad Technologies SONSPR1MM Sonata Sprint with NFC Reader -
Fig3

Sym Description Min Max Default Units
TPOR Power ON to meter ready (Note 1) 500 500 msec
TPL Power/Clock low time 500 1500 µsec
Power/Clock low time jitter (Note 2) ±25 %
TPH Power/Clock high time 1500 Note 3 µsec
TPSL Delay, Clock to Data Out 250 µsec
Power/Clock Carrier Frequency 20 30 kHz
Ask Data Out Frequency 40 60 kHz
TRC Reset command. Time for

Power/Clock low to force register reset

| | 200| | msec
TRY| Meter Re-Read Time (Note 1)| | 200| | msec

Notes:

  1. During TPOR power/clock pulses can be present but are ignored by the register. Some registers may not repeat messages without a reset command
  2. The register clock jitter is specified because some registers may be sensitive to large variations in clock low time.
  3. The register shall be a static device. The register shall remain in the current state as long as the Power/Clock signal remains high.

5.2.3 Supported readers:
2W

  1. TouchReader II Sensus M3096 – 146616D
  2.  TouchReader II Sensus M3096 – 154779D
  3. TouchReader II Sensus 3096 – 122357C
  4. Sensus AutoGun 4090-89545 A
  5. VersaProbe NorthROP Grumman VP11BS1680
  6. Sensus RadioRead M520R C1-TC-X-AL

3W

  1. VL9 ,Kemp-Meek Mineola, TX (Tap)
  2. Master Meter MMR NTAMMR1 RepReader
  3. Sensus AR4002 RF

5.3 Encoder Power mode
5.3.1 When the occurred timeout is indicated no activity of readers (200msec), SPI, or Readers the system enters power down mode.
5.3.2 The system can wake up from power down mode only when SPI is received or the Reader clock is received.
5.3.3 The power down mode of the system is HALT mode (minimal power consumption).
5.3.4 Before entering power-down mode SPI module is configured as EXTI in order to enable wake-up from HALT mode when an SPI message is received.
5.3.5 PB0 is configured to EXTI in order to wake up from HALT mode when Reader’s clock is received.
5.3.6 The GPIO is configured for minimal power consumption during power down mode.
5.3.7 Entering power down mode is executed from the main loop after the timeout timer, timer2 has elapsed.
5.4 Backward compatibility message
Message from meter:

Byte Num (0:3) (4:7)
0 ‘S’
1 ID [0]-0x30 ID [1]-0x30
2 ID [2]-0x30 ID [3]-0x30
3 ID[4]-0x30 ID [5]-0x30
4 ID[6]-0x30 ID [7]-0x30
5 Acc[0]-0x30 Acc [1]-0x30
6 Acc [2]-0x30 Acc [3]-0x30
7 Acc [4]-0x30 Acc [5]-0x30
8 Acc [6]-0x30 Acc [7]-0x30
9 Checksum for(i=1;i<9;a^= message[i++]);
10 0x0D

5.5 Encoder interface configuration

Byte Num| |
---|---|---
1| Bits:
0 – Enable External Power 1 – 0 Fix format
1 Variable format| Default is 0
No external power and Variable format
2| TOP| In 10 ms steps
3| 2W clock freq| In Khz
4-5| Vsense threshold| Switch to external power when Vsense exceeds the threshold
6| 2W pulse width in 5*us| 0 means 0us
10 means 50us
100 means 500us
7-8| Battery Access threshold In thousands of accesses.| TBD
9| Decimal point location|
10| Num of digits| 0-8
11| Manufacturer Id|
12| Volume Unit| See Appendix A
13| Flow Unit| See Appendix A
14-15| Bitwise:
0 – send Alarm 1 – send Unit
2  -send flow
3  -send volume|
16| Flow Type| C
17| Volume Type| B
18-30| Meter ID Main| Forward (8 LSB in Fix mode)
31-42| Meter ID (secondary)| Backward Flow (8 LSB in Fix mode)

5.6 Encoder Message Formatting
5.6.1 Fixed Length Format
RnnnniiiiiiiiCR
R[Encoder Data][ Meter ID 8 LSB(Configuration)]CR
The fixed length format is of the form:
Where: “R” is the leading character.
“nnnn” is a four-character meter reading.
“iiiiiiii” is an eight-character identification number.
“CR” is the carriage return character (ASCII value 0Dh)
Valid characters for “n” are “0-9” and “?”
Valid characters for “i” are: 0-9, A-Z, a-z, ?
In case of fixed format the module will:

  1. Convert the Meter counter sent to the module to ASCII (0 to 9999)
  2. Take the 8 LSB from the Meter ID Main or Meter ID (secondary)

5.6.2 Variable Length Format
The variable length format consists of a leading character “V”, a series of fields, and a terminator character “CR”. The general form:

V;IMiiiiiiiiiiii;RBmmmmmmm,UV;Aa,a,a;GCnnnnn,ufCR

  1. Take the 12 LSB chars from the Meter ID Main or Meter ID (secondary)
  2. Convert the meter counter field of the Encoder Data and convert it to ASCII (0 to 99999999), the number of digits depends on the configuration
  3. Send the Alarm Byte from the Encoder Data, if exists
  4. Send unit Byte from the Encoder Data, if exists
  5. Convert the meter Flow field of the Encoder Data and convert from float to ASCII, The number of digits is 4 and decimal point and sign if required.
  6.  Concatenate all with appropriate headers and separators
  7. Add CR.
Totalizer 0 1 2 3 . 4 5 6 7 8
Sensus 0 0 0 0 0 1 2 3
Encoder Data-volume 123

Number of digits = 8
Resolution = 1
Decimal point location = 0 (no decimal point)

Totalizer 0 1 2 3 . 4 5 6 7 8
Sensus 0 0 1 2 3 . 4 5
Encoder Data-volume 12345

Number of digits = 7 (max because of the decimal point)
Resolution = 1
Decimal point location = 2

Totalizer 0 1 2 3 . 4 5 6 7 8
Sensus 1 2 3 4 5 . 6 7
Encoder Data-volume 1234567

Number of digits =7 (max because of the decimal point)
Resolution =x0.01
Decimal point location = 2

Totalizer 0 0 1 2 . 3 4 5 6 7
Sensus 0 0 0 1 2 3 4
Encoder Data-volume 1234

Number of digits = 7
Resolution = x0.01
Decimal point location = 0

Totalizer 0 1 2 3 . 4 5 6 7 8
Sensus 0 0 0 0 0 1 2
Encoder Data-volume 12

Number of digits = 7
Resolution =x10
Decimal point location = 0

5.7 Field definition
5.7.1 The message format is identified according to the first message byte.

  1. 0x55 indicated a new format message.
  2. 0x53 (‘S’) indicates an old format message

5.7.2 There are several optional subfields presented below. These are enclosed in brackets “[,]”. If more than one subfield is defined for a field the subfields must appear in the
order presented.
5.7.3 The Module converts the data from the Meter to one of the two formats according to configuration (Fix or variable).
The next table defines supported length formats:

Output message Format Form Where Configuration
Fixed Length Format RnnnniiiiiiiiCR R leading character n – meter reading

i – meter ID
CR – ASCII 0Dh| meter reading units
Variable Length Format| V;IMiiiiiiiiiiii; RBmmmmmmm,ffff,uv; Aa,a,a;

GCnnnnnn, of CR

| V – leading character
I – Identification field. i – up to 12 characters
M – Manufacturer Id RB – Current Volume
A – Alarm field. a – alarm types up to 8 alarm code subfields are permitted.
GC – Current Flowrate m – up to 8 digits
f – mantissa
UV – volume units (see Units table) nnnnnn – 4-6 characters:
4-numbers, 1 decimal point, 1 sign character
of – flow units (see Units table)|

The fields:
f (mantissa), a (alarm) ,u (units) are optional.
Valid characters: “0-9”, “A-Z”, “a-z”, “?” is valid as an error indicator.

5.8 Parse message according to the old format
5.8.1 In the old format the message contains the meter ID and Volume date.
5.8.2 The message is parsed according to the ICD.
5.9 Write to EEPROM received parameters
5.9.1 When module ID, a data message, or a Configuration message is received, the parameters of the message are written into the EEPROM.
5.9.2 This writing to EEPROM prevents the system from losing data when a system reset occurs.
5.10 Reader event handle block
5.10.1 When Reader Clock is received, the system handles the reader’s ISR event.
5.10.2 All the processes are done in the ISR in order to be synchronized with the reader.
5.10.3 If no clock is detected for 200ms, the system goes to power down mode.

Arad Technologies SONSPR1MM Sonata Sprint with NFC Reader -
Fig6

5.11 Open quiet detection timer
5.11.1 When the reader clock is received, a Quite Detection timer is opened.
5.11.2 When there are no clock events for 200ms, the system goes to power down mode.
5.12 Detect reader type
5.12.1 First 3 clock events are used for clock detection type.
5.12.2 The detection is done by measuring the frequency of the Reader’s clock.
5.12.3 The clock frequency for the 2w reader is 20 kHz – 30 kHz.
5.12.4 The clock frequency for the 3w reader is less than 2 kHz.
5.13 Open timer for TPSL detection
5.13.1 When the 2w reader is detected, a timer is opened for detection of TPSL time of quiet before transmitting each byte.
5.13.2 In the 2w reader’s protocol, each bit is transmitted in intervals or quiet.

5.14 Wait for down clock event, shift data out

  • In 2w connection. After TPSL time is detected the bit is transmitted according to the 2w protocol.
    ‘0’ is transmitted as a pulse of 50 kHz for 300 µs
    ‘1’ is transmitted as ‘0’ for 300 µs

  • In 3w connection. After the TPOR time of delay, the bit is transmitted according to the 3w protocol.
    ‘0’ is transmitted as ‘1’
    ‘1’ is transmitted as ‘0’
    Each bit is transmitted after the clocking down of the event.

5.15 Advance TX events counter, go to TRR
After each message transmission, the counter of TX events is updated. The counter is used for indicating battery access exceeds error when a number of readings exceed battery access value. After each transmission, for TRR time, the system is not receiving the reader’s clock events.

5.16 Message format/ Encoder configuration
Message from meter to Encoder:

| Header| Add [7:6]| Type [5:0]| Len| Data| End
---|---|---|---|---|---|---
Get Encoder Access| 55| X| 12| 0| Null| CSum
Get Encoder Status| 55| X| 13| 0| Null| CSum
Clear Encoder Status| 55| X| 14| 0| Null| CSum
Encoder Data| 55| X| 15| 4-10| Byte| Meter Data| CSum
1-4
5
6-9| Meter volume (singed Int) Alarm Flow (float)
Encoder Configuration| 55| X| 16| | Error! Reference source not found.| CSum

Len – data length; CSum – check sum over all frame [55…Data] or AA.

Encoder reply to meter

| Header| Address| Type| Len| Data| End
---|---|---|---|---|---|---
Get Encoder Access| 55| X| 9| 2| | Module ID
Get Status| 55| X| 10| 1|

Bitwise

| Module

ID

0
1
2
4
8| OK
WatchDog
occurred
UART Error
Exceed read
number
Encoder
Interface errors
All Commands| 55| X| X| 0| | Module ID

Glossary

Term Description
CSCI Computer Software Configuration Interface
EEPROM Electronically Erasable PROM
GUI Graphical User Interface
IS Interrupt Service Routine
SRS Software Requirements Specification
WD Watch-Dog

Appendix

**** 1.1    Measurement Units

Character Units
Cubic Meters
ft³ Cubic Feet
US Gal US Gallons
l Liters

External Documents

Name and Location

2W-SENSUS
3W-SENSUS

Revision History:

Revision| Section affected| Date| Changed by| Change Description
---|---|---|---|---
1.00| All| 04/12/2017| Evgeni Kosakowski| Document creation
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |

~ End of Document ~
Arad Technologies Ltd. | st. HaMada, Yokneam Elite , 2069206, Israel | www.arad.co.il

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals