Canon Production Printing Netherlands 025 RFID MODULE User Manual SCCPS 3 30 00

Oce Display Graphics Inc RFID MODULE SCCPS 3 30 00

USERS MANUAL

Company Confidential
SmartCoupler Communication Protocol Specification
Version: 3.30.00
Save date February 8, 2007
Colder Products Company
1001 Westgate Drive
Saint Paul, Minnesota 55114
USA
Phone: 651-645-0091
Fax: 651-645-5404
www.colder.com
Company Confidential
FCC Notice: Any change or modification not expressly approved by the manufacturer could void the
users authority to operate this equipment. This device complies with part 15 of the 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.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 3 of 36
1. Table of Contents
1. Table of Contents.............................................................................................................................3
2. List of Tables....................................................................................................................................4
3. Introduction ......................................................................................................................................5
4. Scope ...............................................................................................................................................5
5. System Functionality........................................................................................................................5
6. Tag Format.......................................................................................................................................6
6.1. Philips I-Code Tag Format.........................................................................................................6
6.2. ISO 15693 Tag Format..............................................................................................................7
7. Communicating with the SmartCoupler ...........................................................................................8
7.1. ASCII Character Set ..................................................................................................................8
7.2. ASCII Command Format ...........................................................................................................9
7.3. ASCII Command and Reply Sequence ...................................................................................10
7.4. ASCII Command and Response Set.......................................................................................10
7.5. ASCII Parameter Set ...............................................................................................................11
7.6. ASCII Parameters, Commands and Responses.....................................................................11
7.6.1. A: Address ..................................................................................................................11
7.6.2. B?: Return Baud .........................................................................................................11
7.6.3. BR: Baud ....................................................................................................................12
7.6.4. D: Data........................................................................................................................12
7.6.5. ER: Error Response ...................................................................................................13
7.6.6. L: Length.....................................................................................................................13
7.6.7. M?: Read Back Modes ...............................................................................................14
7.6.8. MA: Multidrop Address ...............................................................................................14
7.6.9. MD: Mode ...................................................................................................................15
7.6.10. PU: Power Up.............................................................................................................15
7.6.11. R?: Returns Continuous Read Period ........................................................................16
7.6.12. RD: Read Data from Tag............................................................................................16
7.6.13. RE: Read EEPROM ...................................................................................................17
7.6.14. RP: Send Acknowledge..............................................................................................17
7.6.15. RS: Reset SmartCoupler............................................................................................17
7.6.16. RT: Continuous Read Rate ........................................................................................18
7.6.17. SN: Get Tag Serial Number........................................................................................18
7.6.18. SR: Return Software Revision....................................................................................19
7.6.19. ST: Get SmartCoupler Serial Number........................................................................19
7.6.20. TI: Tag Info .................................................................................................................20
7.6.21. W?: Tag Write Protection ...........................................................................................20
7.6.22. WE: Write EEPROM...................................................................................................20
7.6.23. WK: Write Key ............................................................................................................21
7.6.24. WP: Set Tag Write Protection ....................................................................................21
7.6.25. WR: Write Data to Tag ...............................................................................................22
7.6.26. WV: Write and Verify Data to Tag ..............................................................................22
7.7. Other ASCII Commands, Parameters & Responses...............................................................22
8. Operating Modes............................................................................................................................23
8.1. Continuous Mode ....................................................................................................................26
8.2. ASCII Mode .............................................................................................................................27
8.3. Interlock Mode .........................................................................................................................27
8.4. Sleep Inhibit Mode...................................................................................................................28
8.5. I-Code Protocol Mode..............................................................................................................28
8.6. ISO15693 Protocol Mode ........................................................................................................28
8.7. Quiet Mode ..............................................................................................................................29
8.8. No Logging Mode ....................................................................................................................29
8.9. I-Code Compatibility Mode ......................................................................................................30
8.10. Multidrop Addressing Mode.....................................................................................................31
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 4 of 36
9. Revision History .............................................................................................................................32
10. Appendices ....................................................................................................................................33
10.1. Binary Communication ............................................................................................................33
10.1.1. Changing from Binary to ASCII mode. .......................................................................33
10.2. Changing Non-volatile Data.....................................................................................................34
10.3. Block Size and Address Range...............................................................................................35
10.3.1. Block size....................................................................................................................35
10.3.2. Address Range...........................................................................................................35
10.4. Write Protection .......................................................................................................................35
10.5. Writing Data to the Tag............................................................................................................36
10.6. Most and Least Significant Bits and Bytes ..............................................................................36
2. List of Tables
Table 1 I-Code Tag Format ...................................................................................................................6
Table 2 ISO 15693 Tag Format.............................................................................................................7
Table 3 ISO 15693 UID Format..............................................................................................................7
Table 4 ASCII Command and Response Set.......................................................................................10
Table 5 ASCII Parameter Set...............................................................................................................11
Table 6 Operating Modes .....................................................................................................................24
Table 7 Revision History.......................................................................................................................32
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 5 of 36
3. Introduction
Radio Frequency Identification, RFID, is a technology whereby data carried in transponders,
commonly known as RFID tags, is retrieved by an antenna and transceiver. The tags carry data
which may provide identification for an item in manufacture or in transit, the identity of an animal,
person, or vehicle, or any item that requires tracking or identification. A radio signal emitted by the
transceiver antenna activates the tag, allowing it to be read or written. Antennas can be packaged
together with a transceiver to become a reader and mounted in a coupling such as the Colder
Products Company SmartCoupler. The SmartCoupler connects to a system controller. The system
controller can be in the form of a PLC or any device capable of communicating with an external
device and taking action based on that communication. The way in which the system controller
communicates to the Colder Products SmartCoupler is called a communication protocol.
4. Scope
This document defines the communications protocol between the CPC SmartCoupler and the
customer software/firmware. The protocol descriptions within this document are valid for versions of
the SmartCoupler running firmware 3.13 and higher.
5. System Functionality
The SmartCoupler is an embedded device whose sole function is to operate as a Radio Frequency
Identification (RFID) read/write transceiver, or interrogator. RFID tags usable with the SmartCoupler
include Philips Semiconductors’ I•CODE™ tags and ISO 15693 RFID tags. Contact Colder Products
Company for details.
When the SmartCoupler is configured to communicate with the host-controller via a serial
connection, the default communication rate is 19,200 baud. Host-controller port settings must be
fixed at 8 data bits, 1 stop bit, no parity, and no flow control.
The host-controller can command the SmartCoupler to do the following:
Perform a read, at a user determined address, of memory bytes.
Write data into any or all of the bytes of RFID tag memory.
Select whether the SmartCoupler will continually attempt reads or operate in a polled
mode.
Enable the SmartCoupler to read I-Code tags or ISO-15693 tags.
Enable the SmartCoupler to operate as a node in a multidrop network.
Command the SmartCoupler to return its own product serial number and its current
firmware revision level.
Return data is automatically sent to the host-controller upon completion of the required task.
The SmartCoupler implements buffered serial communications. The application may communicate
with the SmartCoupler while it is busy processing a command or communicating with a tag. No
handshaking is implemented other than the acknowledgement received from a command.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 6 of 36
6. Tag Format
The SmartCoupler supports tags in the Philips I-Code and ISO15693 formats.
6.1. Philips I-Code Tag Format
The tag is organized as 64 bytes. The bytes are addressed from 0 to 3F (hexadecimal). Within this
byte address space there are special registers. The serial number is in the address range of 0 7.
Addresses 8 B are the write protection block. Addresses C - F contain special functions and
reserved bits which should not be altered. The 48 bytes addressed 10 3F can be used for
application data.
The 8-byte serial number is assigned a unique read-only value by the factory. The serial number is
not changeable.
The 4-byte write protection block contains 16 write protection bit-pairs. Each bit-pair controls the
write protection to a 4-byte block of the tag. Bit-pairs set to “11” allow their corresponding block to be
written. Bit-pairs set to 00” protect a block from writes. Bit-pairs of 10” and “01” act like “00” and
should be avoided. Write protection bits can only change one way: cleared to “0”. Once write
protection is applied, it can not be removed. The least significant 2 bits of the lowest addressed byte
of write protection control the first 4-byte block (first 4 bytes of the serial number at address 0 - 3).
This bit-pair to block mapping continues up to the most significant 2 bits of the highest addressed
byte of write protection controlling the last 4-byte block (data at addresses 3C - 3F). The factory
setting is “11” for all 16 bit-pairs except for the 2 bit-pairs for the serial number, which are both set to
“00”. Hence, the serial number can not change. I. e. The initial factory 4-byte write protect value is
F0, FF, FF, FF at addresses 8 - B. Warning: Clearing either of the 2 bits that protect the write
protection block itself prevents any further changes to any write protection. Ensure all other write
protection bits are as desired before changing these 2 bits. The write protection block, which is at
addresses 8 B, is has its own write protection controlled by the second most significant bit-pair at
address 8.
The 4-byte reserved location should not be written. It may have its corresponding write protection
applied. Consult CPC if a new application needs this space.
Byte
Address
(hexadecimal)
0 1 2 3 Write Protection
Byte Address
and Bit-Pair
0 SN (LSB) SN SN SN 8 ------XX
4 SN SN SN SN (MSB) 8 ----XX--
8 WP WP WP WP 8 –XX----
C Reserved Reserved Reserved Reserved 8 XX------
10 Data Data Data Data 9 ------XX
14 Data Data Data Data 9 ----XX--
Data Data Data Data
3C Data Data Data Data B XX------
Table 1 I-Code Tag Format
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 7 of 36
6.2. ISO 15693 Tag Format
The data in the RFID tags are grouped into M N-byte blocks. The values of M and N can be found via
the TI command. A block size of 4 bytes for N is common. The tag’s factory assigned unique 64-bit
serial number is in a separate space. A separate space stores the write protection for the M blocks.
Write protection can only be activated once per block. Once a block is write protected, it can not
become write enabled. All M * N bytes can be used to read and write application data.
Byte
Address 0 1 N-1 Block
Address
Write
Protection
0*N Data Data Data Data 0 On/Off
1*N Data Data Data Data 1 On/Off
2*N Data Data Data Data 2 On/Off
Data Data Data Data On/Off
(M-1)*N Data Data Data Data M-1 On/Off
Serial
Number
8-byte Serial Number
Table 2 ISO 15693 Tag Format
Example: TI command reports 40 (hexadecimal) blocks, each 4 bytes wide for a total
of 100 (hexadecimal) or 256 (decimal) bytes. Data is byte addressed 0 to
FF (hexadecimal). Write protection is on a block basis. Thus protecting 40
(hexadecimal) blocks addressed 0 to 3F (hexadecimal).
Send TI<EOL>
Receive TI:3F03<CR><LF>
The 8-byte ISO 15693 tag serial number, also called the Unique Identifier or UID, has the following
format:
Byte Significance Data
0 - 5 LSByte IC manufacturer serial number - Unique 48-bit serial number
6 IC Mfg code
7 MSByte E0
Table 3 ISO 15693 UID Format
Note: Command SN reports the LSByte first.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 8 of 36
7. Communicating with the SmartCoupler
Communication with the SmartCoupler occurs via ASCII commands, parameters & replies that are
sent & received over the interface. In most cases this is a serial interface. Serial port settings must
be fixed at 8 data bits, 1 stop bit, no parity, and no flow control. Serial communication rate is normally
19,200 baud.
A former depreciated method used binary commands. See 10.1 Binary Communication.
7.1. ASCII Character Set
The SmartCoupler uses ASCII (American Standard Code for Information Interchange, byte codes 0-
127) characters for all ASCII communication.
Communication to the SmartCoupler:
Versions before 3.30: Letters: A - W.
Version 3.30 and after: Letters: A - Z.
Lower case letters are converted to upper case letters.
Digits: 0 - 9
9 punctuation marks: ,:;<=>?@`
Line Feed (ASCII code 10, <LF>) and Carriage Return (ASCII code 13, <CR>)
Versions before 3.30: <EOL> imply <CR>.
Version 3.30 and after: <EOL> imply either one of <LF> or <CR>.
The printable ASCII codes, 32-126, not listed above are quietly ignored. Their usage is
reserved for future use.
Other ASCII codes not listed above, 0 – 31 & 127, are quietly ignored.
Bytes codes not in ASCII, 128-255 are quietly ignored.
Communication from the SmartCoupler:
All printable ASCII codes 32-126.
Lower case letters are only used in textual portions of messages like SR and PU:
Line Feed (ASCII code 10, <LF>) and Carriage Return (ASCII 13, <CR>).
Acknowledge (ASCII code 6, <ACK>).
Bytes codes not listed above indicate an errant ASCII response.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 9 of 36
7.2. ASCII Command Format
The ASCII command format structure consists of two-character commands. Some commands
require 1 or 2 preceding parameters. Parameters are one-letter (A, D, L) followed by hexadecimal
data. Parameters are separated with a colon :’. Commands are separated with an <EOL>. See
7.1 ASCII Character Set. Commands, parameters and hexadecimal data can be entered equivalently
in upper, lower or mixed case.
Example: Command with no parameters:
Send SN<EOL>
Receive SN:307C7F4500000009<CR><LF>
Example: Mixed case command with 2 parameters (A1 & d0):
Send A1:d0:Md<EOL>
Receive MD:<CR><LF>
All numbers presented to and most numbers returned by the SmartCoupler are encoded as
hexadecimal numbers.
Example: To read 1 byte from address 123 (decimal), convert the number to 7B
(hexadecimal). Notice the 7B is sent as two characters: ‘7’ and ‘B’. The
byte value read at that address is 1F (hexadecimal) or 31 (decimal):
Send A7B:L1:RD<EOL>
Receive RD:1F<CR><LF>
The parameters that are required need to be entered before the command and subsequent to any
previous command. Supporting parameters can be entered in any order. Extra leading zeros for
parameters are optional.
Example: Equivalent read commands.
Send A28:L5:RD<EOL>
Send A0028:L05:RD<EOL>
Send L05:A0028:RD<EOL>
Send L5:A28:RD<EOL>
Example: Missing A0028 parameter before the RD yields an error message.
Send L05:RD:A0028<EOL>
Receive ER:02<CR><LF>
The SmartCoupler will respond with a message beginning with the command mnemonic, and a colon
upon completion of each command. These response messages are always terminated by a carriage
return <CR> and a linefeed <LF>. Data being returned from the SmartCoupler is preceded by the
command mnemonic that invoked it.
The longest response from the SmartCoupler is 519 bytes.
Example: Multidrop read of FF bytes of Non-volatile memory.
Send @77:A0:LFF:RE<EOL>
Receive @77:RE:(255 pairs of hexadecimal digits)<CR><LF>
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 10 of 36
7.3. ASCII Command and Reply Sequence
Communication normally begins with the application sending a command and then the SmartCoupler
responding. Commands always initiate a response. Some commands have prerequisite parameters.
An application can send multiple commands at once. The reply for each command will occur after
each command is processed. Parameters are only replied if they are in error. Communication to and
from the SmartCoupler may occur simultaneously if the serial interface allows: RS-232: yes, RS422:
yes, RS485: no. Single replies occur with commands that do not error. Single and multiple (for
commands with parameters) replies are possible if an error occurs.
The following lists the exceptional situations when the SmartCoupler will send a message without a
complete command from the application:
On power-up, the power–up prompt occurs. See PU
If the input queue in the SmartCoupler overflows, maybe due to an excessively long
command or commands, an error message is sent. See ER. The input queue is 64
bytes long.
Due to a communication error, the SmartCoupler received an <EOL>, thus signaling
the end of the command.
7.4. ASCII Command and Response Set
Command or
Response Function Parameters
B? Return Baud none
BR Baud Dxx:
ER Error Response none
M? Read Back Modes none
MA Multidrop Address Dxx:
MD Mode Byte Axx:, Dxx:
PU Power Up none
R? Returns continuous Read Period none
RD Read Data from Tag Axx:, Lxx:
RE Read EEPROM Axx:, Lxx:
RP Send Acknowledge none
RS Reset SmartCoupler none
RT Continuous Read Rate Dxx:
SN Get Tag Serial Number none
SR Return Software Revision none
ST Get SmartCoupler Serial Number none
TI Tag Info none
W? Tag Write Protection Axx:
WE Write EEPROM Axx:, Dxx:
WK Write Key D55AA7F4E:
WP Set Tag Write Protection Axx:
WR Write Data to Tag Axx:, Dxx:
WV Write and Verify Data to Tag Axx:, Dxx:
Table 4 ASCII Command and Response Set
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 11 of 36
7.5. ASCII Parameter Set
Parameter Name Description Range (hexadecimal)
Axxxx Address Data address 0FFFF
Dxx,xx, … Data Defines data 0FF
Lxx Length Number of bytes to read: 0FF
Table 5 ASCII Parameter Set
7.6. ASCII Parameters, Commands and Responses
7.6.1. A: Address
Action: Set the address parameter. The byte address or block address is defined
with hexadecimal characters. Leading 0‘s are optional.
Parameters: NA
Result: NA
Example: Read tag data at address 5:
Send A5:L1:RD<EOL>
Receive RD:1B<CR><LF>
Example: Read tag data at address 85 (decimal) or 55 (hexadecimal):
Send A055:L1:RD<EOL>
Receive RD:1B<CR><LF>
Errors: Non-hexadecimal character:
Send AG:<EOL>
Receive ER:01<CR><LF>
7.6.2. B?: Return Baud
Action: Return selected communication rate. Note: The non-volatile memory
communication rate and current rate is returned
Parameters: None
Result: Command echo and communication rate selection
00 => 19,200 Baud (Factory default)
01 => 9,600 Baud
02 => 4,800 Baud
03 => 2,400 Baud
Example: Read communication rate (19,200 Baud):
Send B?<EOL>
Receive B?:00<CR><LF>
Errors: See ER.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 12 of 36
7.6.3. BR: Baud
Action: Select communication rate. The effect is immediate once the SmartCoupler
executes this command. This change remains in effect until the next power
cycle. The communication rate setting can be re-configured in non-volatile
memory – see 10.2 Changing Non-volatile Data
Warning: This command is depreciated. New applications should not
change the communication rate from 19,200 baud.
Parameters: Required communication rate selector
00 => 19,200 Baud (Factory default)
01 => 9,600 Baud
02 => 4,800 Baud
03 => 2,400 Baud
Result: Command echo
Example: Change the communication rate to 19,200 baud.
Send (at present communication rate) D0:BR<EOL>
Receive (at new communication rate) BR:<CR><LF>
Errors: Expected parameter missing or invalid:
Send BR<EOL>
Receive ER:02<CR><LF>
7.6.4. D: Data
Action: Set the data parameter. The byte data is defined with 1 or 2 hexadecimal
characters. A leading 0 is optional. Multiple bytes of data are separated with
commas.
Parameters: NA
Result: NA
Example: Write tag data DE to address 15:
Send A15:DDE:WR<EOL>
Receive WR:<CR><LF>
Example: Write tag data DE to address 15 and AF to address 16:
Send A15:DDE,AF:WR<EOL>
Receive WR:<CR><LF>
Errors: Non-hexadecimal character:
Send DG:<EOL>
Receive ER:01<CR><LF>
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 13 of 36
7.6.5. ER: Error Response
Action: The ER is not a command but occurs as an error response to various events.
All commands may respond with 01 or 04. These 2 errors may also occur
due to communication noise. Error 05 may occur at any time indicating a
program failure. Other errors are detailed in each command in which they
may occur.
Note: Some 02 and 03 error responses produced an additional <CR><LF>
in versions before 3.30.
Parameters: NA
Result: Error response and error index byte (hexadecimal).
01 Empty or illegal command.
02 Expected parameter missing or invalid.
03 CRC error in command.
04 Input buffer overflow.
05 Watchdog timeout error.
06 Verification error
Other values Reserved for future use.
Example: Send an illegal command.
Send IL<EOL>
Receive ER:01<CR><LF>
Errors NA
7.6.6. L: Length
Action: Set the length parameter used in commands that respond with various
lengths of data. The length is defined with 1 or 2 hexadecimal characters. A
leading 0 is optional. Note: multiple returned bytes are not comma
separated and each byte is always 2 hexadecimal characters long.
Parameters: NA
Result: NA
Example: Read 1 byte of tag data from address 15:
Send A15:L01:RD<EOL>
Receive RD:43<CR><LF>
Example: Read 12 bytes of tag data from address 15:
Send A15:L12:RD<EOL>
Receive RD:436F6C6465720000000000DEAD0000000000
<CR><LF>
Errors: Non-hexadecimal character:
Send LG:<EOL>
Receive ER:01<CR><LF>
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 14 of 36
7.6.7. M?: Read Back Modes
Action: Causes the SmartCoupler to return the mode. The current operating mode
and not the mode stored in non-volatile memory is returned. See MD
command. Warning: some versions before 3.30 of SmartCoupler software
reply with an additional <CR><LF>.
Parameters: None
Result: Command echo and 4 hexadecimal characters representing the mode
settings. See 8 Operating Modes.
Example: Get the present mode settings.
Send M?<EOL>
Receive M?:001A<CR><LF>
Errors See ER.
7.6.8. MA: Multidrop Address
Action: Assigns an address to the SmartCoupler. The multidrop address is the
required prefix to commands and prefix to responses. The effect is
immediate upon command execution and remains until the next power cycle.
See 8.10 Multidrop Addressing Mode. To make permanent, see 10.2
Changing Non-volatile Data. The response to this command reflects the new
multidrop address. Also see 8.1 Continuous Mode
Side effects:
If non-zero multidrop address,
Enable multidrop mode.
Disable continuous mode.
If zero multidrop address
Disable multidrop mode.
Allow continuous mode to be set.
Parameters: Required Multidrop Address (Dxx:). Use addresses 1 to FF. Set the
address to 0 to disable SmartCoupler multidrop address mode.
Result: Command echo with multidrop address prefix.
Example: The SmartCoupler presently is not using a multidrop address. Set the
multidrop address to 1B:
Send D1B:MA<EOL>
Receive @1B:MA:<CR><LF>
Example: The SmartCoupler presently has 1B at its multidrop address. Turn off
multidrop mode:
Send @1B:D0:MA<EOL>
Receive MA:<CR><LF>
Errors Expected parameter missing or invalid:
Send MA<EOL>
Receive ER:02<CR><LF>
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 15 of 36
7.6.9. MD: Mode
Action: Set the operating mode of the SmartCoupler. Various modes are selected by
address and set to various values by data, see 8 Operating Modes . The
effect is immediate upon command execution and remains until the next
power cycle. To make permanent, see 10.2 Changing Non-volatile Data.
Parameters: Required Address of the data’s destination (Ax:)
Required Data to be written (Dx:)
Result: Command echo.
Example: Disable continuous read mode:
Send D0:A1:MD<EOL>
Receive MD:<CR><LF>
Example: Disable I-Code protocol & enable ISO15693 protocol:
Send D0:A5:MD<EOL>
Receive MD:<CR><LF>
Send D1:A6:MD<EOL>
Receive MD:<CR><LF>
Errors Expected parameter missing or invalid (pre version 3.30):
Send MD<EOL>
Receive ER:02<CR><LF>
Receive <CR><LF>
Receive ER:01<CR><LF>
Errors Expected parameter missing or invalid (version 3.30):
Send MD<EOL>
Receive ER:02<CR><LF>
7.6.10. PU: Power Up
Action: The PU does not occur as a command but as a response when the
SmartCoupler is powered up. It returns the power up indication,
SmartCoupler identification and software version number.
Parameters: None.
Result: Power up response and software version number.
Example: Power cycle the SmartCoupler:
Receive PU:Smart Coupler 003.13<CR><LF>
Errors none
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 16 of 36
7.6.11. R?: Returns Continuous Read Period
Action: Returns the period reads occur in continuous mode.
Parameters: None
Result: Command echo and the time (in tenths of a second) between reads in
continuous mode.
Example: Read the continuous read period (64 hexadecimal is 100 decimal, hence
100 tenths of seconds or 10.0 seconds):
Send R?<EOL>
Receive R?:64<CR><LF>
Errors See ER.
7.6.12. RD: Read Data from Tag
Action: Reads data from the tag.
Parameters: Required Byte address of data to be read (Axx:)
Required Number of bytes to be read (Lxx:)
Result: Command echo and the bytes read as pairs of hexadecimal digits. Notice
that data values are not separated by commas as in the WR command.
Example: Read 1 byte from address 8:
Send A08:L01:RD<EOL>
Receive RD:F2<CR><LF>
Example: Read 6 bytes from address 101:
Send L6:A101:RD<EOL>
Receive RD:48454C4C4F00<CR><LF>
Errors: Expected parameter missing or invalid:
Send RD<EOL>
Receive ER:02<CR><LF>
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 17 of 36
7.6.13. RE: Read EEPROM
Action: Action: Read the non-volatile memory of the SmartCoupler.
Parameters: Required Address of F3 - F7.
Required Length of bytes to read.
Result: Command echo and bytes read from the non-volatile memory.
Example: Read the non-volatile memory of the SmartCoupler address F5 and F6.:
Send AF5:L2:RE<EOL>
Receive RE:079A<CR><LF>
Errors: See ER.
7.6.14. RP: Send Acknowledge
Action: Sends a command acknowledge from the SmartCoupler
Parameters: None
Result: Command echo and an acknowledgement <ACK> ASCII(6)
Example: Cause the SmartCoupler to reply with an acknowledgement.
Send RP<EOL>
Receive RP:<ACK><CR><LF>
Errors See ER.
7.6.15. RS: Reset SmartCoupler
Action: Resets SmartCoupler. Clears buffers and terminates any SmartCoupler/tag
communications. If an earlier command is in the input queue, it is discarded.
Warning: Non-volatile version of the mode is reloaded.
Parameters: None
Result: Command echo.
Example: Reset SmartCoupler:
Send RS<EOL>
Receive RS:<ACK><CR><LF>
Errors: See ER.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 18 of 36
7.6.16. RT: Continuous Read Rate
Action: Specify the time between read operations that occur automatically in
continuous mode. The effect is immediate once the SmartCoupler executes
this command. This change remains in effect until the next read period, at
which time, the non-volatile value is reloaded. The continuous read period
can be re-configured in non-volatile memory – see 10.2 Changing Non-
volatile Data.
Warning: setting the read rate to 0 results in a very short interval between
subsequent read operations. This can make subsequent period changes
difficult. New applications should not use a value of 0.
Parameters: Required Tenths of seconds (Dxx:) between reads.
Result: Command echo.
Example: Set continuous read rate to once per 6.4 seconds, 64 tenths of a second. 64
(decimal) = 40 (hexadecimal):
Send D40:RT<EOL>
Receive RT:<CR><LF>
Errors Expected parameter missing or invalid:
Send RT<EOL>
Receive ER:02<CR><LF>
7.6.17. SN: Get Tag Serial Number
Action: Returns the tag’s eight byte serial number. This command returns the Least
Significant Byte (LSByte) of the serial number first.
Parameters: None
Result: Command echo and 8 pairs of hexadecimal digits. If no tag is present, a
serial number of 0 is returned.
Example: Read serial number of a tag with serial number in hexadecimal format:
E0040100000329CE:
Send SN<EOL>
Receive SN:CE290300000104E0<CR><LF>
Example: Attempt to read serial number with no tag nearby:
Send SN<EOL>
Receive SN:0000000000000000<CR><LF>
Errors: See ER.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 19 of 36
7.6.18. SR: Return Software Revision
Action: Returns characters containing the revision of the SmartCoupler’s firmware.
Parameters: None
Result: Command echo and 5 to 8 printable ASCII characters.
Example: Get the SmartCoupler software version (3.13):
Send SR<EOL>
Receive SR:003.13<CR><LF>
Errors See ER.
7.6.19. ST: Get SmartCoupler Serial Number
Action: Returns the Colder Products Company serial identification found in the
SmartCoupler. The SmartCoupler serial identification, if unassigned returns
=FFFFFF. If assigned, the first 3 pairs of hexadecimal characters, in
reverse order, convert to 3 ASCII characters. The remaining 10 characters
should be interpreted as 10 decimal digits with the first one received as the
Most Significant Digit (MSDigit).
Parameters: None
Result: Command echo and 16 digits.
Example: Get SmartCoupler’s serial number: (Non 10326)
Send SR<EOL>
Receive SR:6E6F4E0000010326<CR><LF>
Example: Get SmartCoupler’s serial number: (Serial number not assigned)
Send SR<EOL>
Receive SR:=FFFFFF<CR><LF>
Errors See ER.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 20 of 36
7.6.20. TI: Tag Info
New for Version 3.30
Action: Returns 2 properties of a tag.
1 - Maximum block address. See 10.3 Block Size and Address Range.
2 - Block size, in bytes minus 1.
Parameters: None
Result: Command echo and 2 pairs of hexadecimal digits. The first pair is the
maximum block address. The second pair is the block size minus 1. If no
tag is present, TI0000 is returned. This command ignores the I-Code
compatibility mode selection. See 8.5 I-Code Protocol.
Example: Get tag info for an I-Code tag (I-Code maximum byte address is always 63
(3F hexadecimal), maximum block address of 15 (0F hexadecimal) and
always a block size of 4):
Send TI<EOL>
Receive TI:0F03<CR><LF>
Example: Get tag info for an ISO-15693 tag (Maximum byte address of 255 (FF
hexadecimal), maximum block address of 63 (3F hexadecimal) and has a
block size of 4):
Send TI<EOL>
Receive TI:3F03<CR><LF>
Errors: See ER.
7.6.21. W?: Tag Write Protection
New for Version 3.30
Action: Returns the Tag’s write protection per the indicated block. See 10.4 Write
Protection.
Parameters: Required Block index (Axx:)
Result: Command echo.
Example: Get write protection for block 5, which is not write protected:
Send A05:W?<EOL>
Receive W?:0<CR><LF>
Example: Get write protection for block 0, which is write protected:
Send A0:W?<EOL>
Receive W?:1<CR><LF>
Errors: See ER.
7.6.22. WE: Write EEPROM
See service manual for details.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 21 of 36
7.6.23. WK: Write Key
Action: Allows the next command to use the key 55,AA and write to the
SmartCoupler’s non-volatile memory. Then the key is cleared after executing
the next command. 7F,4E is the CRC (cyclic redundancy check) for the
key 55,AA.
Parameters: Required 4 bytes of data of 55,AA,7F,4E
Result: Command echo.
Example: Allow next command to write to non-volatile memory.:
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Errors: CRC error in command.
Send D1,2,3,4:WK<EOL>
Receive ER:03<CR><LF>
7.6.24. WP: Set Tag Write Protection
New for Version 3.30
Action: Set the tag’s write protection per the indicated block. It is not an error to use
this command on a block whose write protection is all ready enabled. See
10.4 Write Protection.
Warning: once a block is write protected, it can not become write enabled.
Parameters: Required Block index (Axx:)
Result: Command echo.
Example: Set write protection for block 15, which is not write protected:
Send A0F:WP<EOL>
Receive WP:<CR><LF>
Example: Set write protection for block 11, which is all ready write protected:
Send A0B:WP<EOL>
Receive WP:<CR><LF>
Errors: Expected parameter missing or invalid:
Send WP<EOL>
Receive ER:02<CR><LF>
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 22 of 36
7.6.25. WR: Write Data to Tag
Action: Writes data to the tag
Parameters: Required Byte address of the data’s destination (Axx:)
Required Data to be written (Dxx:). Notice that bytes to be written to
the tag are separated by commas, unlike the response from the RD
command. See 10.5 Writing Data to the Tag.
Result: Command echo.
Example: Write 5 bytes to address 10:
Send A10:DDE,AD,BE,EF,1:WR<EOL>
Receive WR:<CR><LF>
Example: Write 1 byte with value C0 to address B. The address location has the value
FF in it and it is write protected. No error message occurs:
Send DC0:A0B:WR<EOL>
Receive WR:<CR><LF>
Errors: Expected parameter missing or invalid:
Send WR<EOL>
Receive ER:02<CR><LF>
7.6.26. WV: Write and Verify Data to Tag
New for Version 3.30
Action: Writes data to the tag and then verifies. This verification takes a little longer
than an unverified write WR. After the write, the data is read back. If the data
read matches the data written, this command returns a WV:. All other results
return an error. See 10.5 Writing Data to the Tag.
Parameters: Required Byte address of the data’s destination (Axx:)
Required Data to be written (Dxx:)
Result: Command echo.
Example: Write 5 bytes to address 10:
Send A10:DDE,AD,BE,EF,1:WV<EOL>
Receive WV:<CR><LF>
Example: Write 1 byte with value CO to address 1B. The address location has the
value FF in it and is write protected:
Send DC0:A1B:WV<EOL>
Receive ER:06<CR><LF>
Errors: Expected parameter missing or invalid:
Send WV<EOL>
Receive ER:02<CR><LF>
7.7. Other ASCII Commands, Parameters & Responses
See SmartCoupler Communication Protocol Service Manual.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 23 of 36
8. Operating Modes
The SmartCoupler allows for several user-defined modes of operation.
To read the mode, use the M? command. The 4-hexadecimal value returned is a 16-bit number. The
least significant bit maps to Mode Address 1.
Example: Read the current mode setting of the SmartCoupler:
Send M?<EOL>
Receive M?:009A<CR><LF>
009A implies:
Continuous Off
ASCII On
Interlock Off
Sleep Inhibit On (Not applicable – Feature not implemented)
I-Code On
ISO 15693 Off
Quiet Off (Not applicable – Not in continuous mode)
No Logging On (Not applicable – Feature always implemented)
I-Code Comp. Off (Not applicable – Not in ISO 15693 mode)
Multidrop Off
For setting the mode, use the MD command with the Mode Address in the following table.
Mode
Address
Mode
Name Action with mode value 0 Action with mode value 1 Factory
Default
1 Contin-
uous Non-continuous mode.
No special periodic
messages are sent.
SmartCoupler responds
only after a command.
Continuous mode causes the
SmartCoupler to periodically read the
tag and send
a response.
Continuous mode is disabled when
multidrop mode is enabled
0
2 ASCII
Command
Binary mode. Should not
be used. See 10.1 Binary
Communication. Not
allowed in version 3.30
Causes the SmartCoupler to
communicate to the host using ASCII
characters.
1
3 Interlock Lockout is not enabled. Enables valve lockout on specially
equipped SmartCouplers. Otherwise
always ensure this mode is clear.
0
4 Sleep
Inhibit The SmartCoupler will
wake up only when it
sees a special wakeup
sequence. Not imple-
mented. Always ensure
this mode is set.
SmartCoupler is not is low-power
sleep mode. Always ensure this
mode is set.
1
5 I-Code
Protocol Do not communicate with
I-Code tags Communicate with I-Code tags. 1
6 ISO15693
Protocol. Do not communicate with
ISO15693 tags. Communicate with ISO15693 tags. 0
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 24 of 36
7 Quiet
(No effect
in non-
continuou
s mode)
When running in
continuous mode, the
SmartCoupler returns
data (strings of zeroes)
when no tag is present.
When running in continuous mode,
the SmartCoupler returns data only
when a tag can be read. Therefore,
the SmartCoupler will remain quiet
until it sees a tag. At that time the
SmartCoupler will begin continuously
sending tag data.
0
8 No
Logging Log serial numbers. No
longer imple
mented.
Always ensure this mode
is set.
Do not log serial numbers. Always
does not log. Ensure this mode is
set.
1
9 I-Code
Compati-
bility
No special address
adjustments are made. When communicating with a non-
I-Code tag, emulate an I-Code tag. 0
C Multidrop Multiple drop disabled Multiple drop enabled 0
Others Reserved
for future
use
Leave at 0 Do not set 0
Table 6 Operating Modes
Warning: Versions before 3.30. When permanently writing the mode via the MD or MA commands,
part of the current mode would also get written.
Example: Versions before 3.30: Temporally disable quiet mode:
Send D1:A7:MD<EOL>
Receive MD:<CR><LF>
Permanently enable continuous mode. This permanent mode change would
also make the temporally disabled quiet mode permanent:
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Send D1:A1:MD<EOL>
Receive MD:<CR><LF>
Example: Versions 3.30: Temporally disable quiet mode:
Send D1:A7:MD<EOL>
Receive MD:<CR><LF>
Permanently enable continuous mode. This permanent mode change would
not also make the temporally disabled quiet mode permanent:
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Send D1:A1:MD<EOL>
Receive MD:<CR><LF>
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 25 of 36
Warning: Versions before 3.30. Writing mode address 9 or higher did not change the mode. MA
would change the mode address C though.
Note: Versions 3.30. The mode address range is 1 to 10. Changing a mode bit now only affects the
one mode addressed. Some MD commands may error as some mode combinations are prohibited. If
the write key WK precedes the MD command, indicating an attempt to make the change permanent,
these prohibitions are also tested with the permanent mode settings. Neither the mode nor the
permanent mode change when there is an error.
Prohibited Mode Combinations
Setting the multidrop mode when continuous mode is enabled.
Setting the multidrop mode when the multidrop address is 0.
Setting the continuous mode when multidrop mode is enabled.
Setting either I-Code or ISO 15693 mode when the other is all ready enabled.
Clearing the ASCII Command mode.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 26 of 36
8.1. Continuous Mode
Continuous mode repeatedly reads the tag and responds without additional prompting. It was
originally created to continuously read the serial number or data. Also see 8.7 Quiet Mode.
To read or write the continuous mode period, see R? and RT. The period is best changed when the
SmartCoupler is in non-continuous mode.
The address of data read during continuous mode depends on to the previous address used by the
RD command or on the SN command.
I-Code tags. The address should be on a 4-byte block boundary. Otherwise the
address of the continuous mode read is lowered to a 4-byte block boundary. Note:
Intervening commands to the SmartCoupler that communicate with the tag may disrupt
the continuous mode address and should be avoided. The SN command will also
change the address to 0.
ISO 15693 tags (I-Code compatible mode enabled). Any valid byte address may be
used and it is not adjusted to a 4-byte boundary. The SN command will also change
the address to 0.
ISO 15693 tags (I-Code compatible mode disabled). If the preceding command is
RD, any valid byte address may be used. If the preceding command is SN, the
response is the serial number preceded by SN:.
The length of data bytes read during continuous mode depends on the previous length used by the
RD command or on the SN command.
I-Code tags. The length of data read during continuous mode is always a multiple of a
4-byte block. The length read is moved up to a multiple of a 4-byte block from the
original RD length + 5. The length is adjusted to range from 8 to the size of the tag: 40
(hexadecimal) bytes. Intervening commands to the SmartCoupler that communicate
with the tag may disrupt the continuous mode length and should be avoided. The SN
command will change the data length to 8.
ISO 15693 tags. If the preceding command is RD, any valid byte length may be used.
If the preceding command is SN, the response is the serial number preceded by SN:.
The response is always preceded by RD: or SN:.
I-Code tags & ISO 15693 tags (I-Code compatible mode enabled). The continuous
mode response is always preceded with an RD: even when the preceding command
was SN.
ISO 15693 tags (I-Code compatible mode disabled). If the preceding command is
RD, the response is preceded by RD:. If the preceding command is SN, the response
is the serial number preceded by SN:.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 27 of 36
Example Continuously read the data of an I-Code tag at addresses 101B:
Send A10:L4:RD<EOL>
Receive RD:04223344<CR><LF>
Send A1:D1:MD<EOL>
Receive MD:<CR><LF>
Receive RD:04223344D1D2D34455020304<CR><LF>
Receive RD:04223344D1D2D34455020304<CR><LF>
Receive RD:04223344D1D2D34455020304<CR><LF>
Receive RD:04223344D1D2D34455020304<CR><LF>
Send A1:D0:MD<EOL>
Receive MD:<CR><LF>
Example Continuously read the serial number of an I-Code tag:
Send SN<EOL>
Receive SN:307C7F4500000009<CR><LF>
Send A1:D1:MD<EOL>
Receive MD:<CR><LF>
Receive RD:307C7F4500000009<CR><LF>
Receive RD:307C7F4500000009<CR><LF>
Receive RD:307C7F4500000009<CR><LF>
Receive RD:307C7F4500000009<CR><LF>
Send A1:D0:MD<EOL>
Receive MD:<CR><LF>
Example While not in I-Code compatibility mode, continuously read the serial number
of an ISO 15693 tag:
Send SN<EOL>
Receive SN:307C7F4500000009<CR><LF>
Send A1:D1:MD<EOL>
Receive MD:<CR><LF>
Receive SN:307C7F4500000009<CR><LF>
Receive SN:307C7F4500000009<CR><LF>
Receive SN:307C7F4500000009<CR><LF>
Receive SN:307C7F4500000009<CR><LF>
Send A1:D0:MD<EOL>
Receive MD:<CR><LF>
8.2. ASCII Mode
Controls the mode of communication.
Disabling the ASCII mode should be avoided for new applications. See 10.1 Binary Communication.
This should always be enabled to provide the ASCII mode of communication.
8.3. Interlock Mode
Controls valve lockout on specially equipped SmartCouplers. New applications should keep this
mode disabled.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 28 of 36
8.4. Sleep Inhibit Mode
Not implemented. Always ensure this mode is set.
8.5. I-Code Protocol Mode
Use I-Code Protocol to communicate with Phillips I-Code tags. Use ISO 15693 Protocol to
communicate with various ISO 15693 tags. At most only one of the modes of I-Code Protocol and
ISO 15693 Protocol may be enabled.
With earlier versions of the SmartCoupler software (pre 3.30), the protocol modes did not affect the
protocol used, it was always I-Code.
When enabling ISO 15693 Protocol mode, see 8.9 I-Code Compatibility Mode.
Example Permanently changing from I-Code Protocol to ISO 15693 Protocol:
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Send A5:D0:MD<EOL>
Receive MD:<CR><LF>
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Send A6:D1:MD<EOL>
Receive MD:<CR><LF>
8.6. ISO15693 Protocol Mode
See 8.5 I-Code Protocol Mode.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 29 of 36
8.7. Quiet Mode
Quiet mode selection is only effective while in continuous mode.
In continuous mode and with quiet mode disabled, if no tag is present, the data returned is
0000000000000000.
In continuous mode and with quiet mode enabled, if no tag is present, no data is sent.
Example Example With quiet mode disabled, continuously read the serial
number of an I-Code tag:
Send SN<EOL>
Receive SN:307C7F4500000009<CR><LF>
Send A7:D0:MD<EOL>
Receive MD:<CR><LF>
Send A1:D1:MD<EOL>
Receive MD:<CR><LF>
Receive RD:307C7F4500000009<CR><LF>
Receive RD:307C7F4500000009<CR><LF>
(Tag moved away.)
Receive RD:0000000000000000<CR><LF>
Receive RD:0000000000000000<CR><LF>
Send A1:D0:MD<EOL>
Receive MD:<CR><LF>
Example Example With quiet mode enabled, continuously read the serial
number of an I-Code tag:
Send SN<EOL>
Receive SN:307C7F4500000009<CR><LF>
Send A7:D1:MD<EOL>
Receive MD:<CR><LF>
Send A1:D1:MD<EOL>
Receive MD:<CR><LF>
Receive RD:307C7F4500000009<CR><LF>
Receive RD:307C7F4500000009<CR><LF>
(Tag moved away.)
(No responses from the SmartCoupler.)
Send A1:D0:MD<EOL>
Receive MD:<CR><LF>
8.8. No Logging Mode
Control logging of tag serial numbers. It is no longer implemented as a selection. Logging does not
occur, even if this mode is cleared.
.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 30 of 36
8.9. I-Code Compatibility Mode
In version 3.30, this mode setting allows ISO 15693 tags to have the same beginning usable address
as I-Code tags. I-Code tags have a usable address range of 10 to 3F. ISO tags, with various
address ranges, all start at address 0. To maximize existing code re-use, an I-Code compatibility
mode subtracts 10 from command addresses before sending the physical address to the ISO 15693
tag. See the TI command for information about the current tags block size and maximum address.
Note: all addresses are written in hexadecimal.
This mode setting affects ISO 15693 tags. I-Code tags respond in version 3.30 as before.
Example: With I-Code Compatibility on, write to address 30:
Send A30:D1B,WR<EOL>
Receive WR:<CR><LF>
I-Code Tag physical address 30 written.
ISO-15693 Tag physical address 20 written.
Example: With I-Code Compatibility off, write to address 30:
Send A30:D1B,WR<EOL>
Receive WR:<CR><LF>
I-Code Tag physical address 30 written.
ISO-15693 Tag physical address 30 written.
Example: With I-Code Compatibility on, write to address 8:
Send A8:D1B,WR<EOL>
Receive WR:<CR><LF>
I-Code Tag physical address 8 written.
ISO-15693 No write performed as it is out of range as it is below the
physical address 0.
With I-Code Compatibility on and using IS0 15693 tags, reads of data at address 0 - 7 report the
bytes within the serial number.
Example: With I-Code Compatibility on,
Send SN<EOL>
Receive SN:708090A0B0C0D0E0<CR><LF>
Send A0:L1,RD<EOL>
Receive RD:70<CR><LF>
The write protect scheme used in I-Code tags does not map to ISO 15693 tags. Therefore, no
attempt to map ISO 15693 write protection into reads or writes at address range 8 - B. ISO 15693
reads in the range 8 - F return 0.and writes in the range 0 - F are ignored.
The new commands to read and write the Write Protection (W? and WP) provide a common method to
control protection without knowledge of which tag type is used.
The combination of I-Code Protocol Mode and I-Code Compatibility Mode is reserved and should not
be used.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 31 of 36
8.10. Multidrop Addressing Mode
Multidrop addressing is a technique that allows more than one SmartCoupler to exist on the same
serial line. Communication between the host computer and the individual SmartCoupler is regulated
by allowing only one command or response to travel on the serial line at one time. This is done by
assigning each SmartCoupler on the serial line a unique address in the range 1 to FF. Each line of
information sent from the host to the SmartCouplers needs to be preceded by an address. This is
done by preceding each line by @xx: The @ symbol tells the SmartCoupler that an address is to
follow and the xx represents a two hexadecimal address that corresponds to the SmartCoupler being
addressed. All of the SmartCouplers receive this address, but only the one whose multidrop address
matches the transmitted address will respond. Therefore, only one response occurs on the line at a
time.
The entire command line will be ignored if an incorrect address is transmitted. In the event of an
address that does not match any SmartCoupler address, no SmartCoupler will respond.
Note: The SmartCoupler will disable continuous mode if a non-zero multidrop address is entered as
part of the MA command.
When the setting the multidrop address, only one SmartCoupler should be connected to the serial
line. Ensure that the write key is used to make the multidrop address permanent.
Example Permanently set the multidrop address to CB:
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Send DCB:MA<EOL>
Receive @CB:MA:<CR><LF>
A multidrop address of 0 matches all multidrop address enabled SmartCouplers. Sending a
command with the prefix @00: would cause all such SmartCouplers to respond at once. This usually
will result in garbled combined response. It is useful though if only 1 SmartCoupler is used and its
multidrop address needs to be determined or changed.
Example Query a lone SmartCoupler’s multidrop address which turns out to be 77:
Send @00:SN<EOL>
Receive @77:SN:0000000000000000<CR><LF>
Example Permanently change a lone SmartCoupler’s multidrop address to 0 thereby
disabling multidrop address mode:
Send @00:D55,AA,7F,4E:WK<EOL>
Receive @77:WK:<CR><LF>
Send @00:D00:MA<EOL>
Receive MA:<CR><LF>
The version of SmartCoupler used must be electrically compatible to work with multiple
SmartCouplers. For more electrical interface details, contact Colder Products Company.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 32 of 36
9. Revision History
Version Date Description
1.00.00A 06.12.02 Initial customer release—edited version of SmartCoupler
Software Specification v.0.00.00E
1.00.01A 6.19.02 Added description of data stream transmitted by
SmartCoupler during “normal” mode of operation; p.3
1.00.02A 10.07.02 Changed description of Write Access block function in
chart on p.10.
1.00.03A 12.02.03 Added ASCII command sequence. General manual
reorganization
1.00.03B 01.08.04 Updated commands to reflect new firmware
1.00.04A 02.02.04 Added CH (Clear history), SH
(Send History) commands.
Reorganized MODE set/reset.
1.00.05A 06.17.04 Added MA examples. Added M8 mode to summary
table.
1.00.05B 09.22.04 Corrections to bit designators in set operating modes
command (pg 9)
1.00.06A 11.24.04 Include WE, RE, WK commands found in software Rev
3.13
1.00.06B 2.1.05 Re-organized ASCII commands into 3 tables. Added
example sequences for WE, WK
1.00.06C 4.8.05 & 12.1.05 Added warning about changing baud to Example # 2 on
page 13. Corrections to table 1 on page 8.
3.30.00 2.01.06 Specification version number tracks software version
number.
Added new modes for ISO 15693.
New commands: TI, W?, WP, WV.
Depreciated binary protocol.
Depreciated commands: BR, CH, RH, SH.
Eliminated: F, P.
Created Service Manual.
Table 7 Revision History
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 33 of 36
10. Appendices
10.1. Binary Communication
If you need more information about Binary mode protocol, contact Colder Products Company directly.
The initial protocol “SmartCoupler Command Protocol”, call “Binary”, is now depreciated. Pre 3.30
software supports these commands as a legacy for existing usages. New applications should employ
the ASCII protocol.
In particular, the mode command MD should never be used to disable ASCII Mode.
10.1.1. Changing from Binary to ASCII mode.
All command sequences from the host-controller to the SmartCoupler, while in Binary mode, must
begin with a power cycle or a NUL <00> followed by a delay of at least 2 ms, then followed by six
bytes and finished with the a LF <0A>.
To change a SmartCoupler that is in binary mode to the factory default modes which includes ASCII
mode:
Method 1 Use the “Colder Products Company SMART Coupler Development Tool”
On the main menu, select “Macros” then “Edit…”
Change a macro command to ~HF6009A0000000A.
Close the macro edit by selecting “Return”
Power cycle the SmartCoupler
Execute your edited macro.
Receive 01<0D><0A>
You may also receive:
Receive ER:01<0D><0A>
Method 2 Send to the SmartCoupler via any tool the 7 bytes and receive 4 bytes:
Power cycle the SmartCoupler
Send <F6><00><9A><00><00><00><0A>
Receive <30><31><0D><0A>
Once this is done, you are now temporarily in ASCII mode. To make permanent, perform the
following.
Step 1 Send the write key
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Step 2 Set the mode to ASCII
Send A2:D1:MD<EOL>
Receive MD:<CR><LF>
Step 3 Power cycle the SmartCoupler.
Verify that you are now using in ASCII mode by receiving something like
Receive PU:Smart Coupler 003.13<CR><LF>
Details: The <00><9A> of the Binary command <F6><00><9A><00><00><00><0A> is the
new 16-bit mode settings. <00><9A> is the factory default. Adjust as needed insuring that the
ASCII Mode bit is set.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 34 of 36
10.2. Changing Non-volatile Data
Configuration data is stored in volatile memory (RAM) and non-volatile memory: communication rate
BR, multidrop address MA, continuous read period RT, and operating modes MD, etc. To allow for
maximum flexibility, the application can specify whether the changes to parameters are temporarily
stored in RAM, or also permanently stored in non-volatile memory by preceding the command with a
write key WK.
Non-volatile data writes only occur if preceded by the write key.
To protect against spurious mode changes, the non-volatile memory data is normally locked. It is
unlocked, for the next command only, by sending the write key WK command:
Write Key Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
This is the write key for the SmartCoupler. Once this command is sent, the non-volatile memory can
be written. The key is erased after the next operation the SmartCoupler performs. The memory write
command has to follow the write key command to change non-volatile memory. Additionally, the
SmartCoupler must be in ASCII mode and should be in non-continuous mode. If an erroneous
command is sent after the write key, or if the SmartCoupler performs a read (because it is in
continuous mode) no change will occur to the non-volatile memory.
Commands that write the configuration data may be immediately preceded with the write key
command to also cause the permanent storage in non-volatile memory as well as RAM.
Example: Temporarily set continuous read rate to once per 6.4 seconds.
Send D40:RT<EOL>
Receive RT:<CR><LF>
Example: Permanently set continuous read rate to once per 6.4 seconds.
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Send D40:RT<EOL>
Receive RT:<CR><LF>
Commands that write non-volatile data directly only write if preceded by the write key.
Example: Write the non-volatile memory of the SmartCoupler address F5 and F6:
Send D55,AA,7F,4E:WK<EOL>
Receive WK:<CR><LF>
Send AF5:D009A:WE<EOL>
Receive WE:<CR><LF>
The SmartCoupler reads the configuration data stored in non-volatile memory and loads it into RAM
every time it powers up. The SmartCoupler simply reloads from non-volatile memory if there is a
power interruption. This ensures solid backup of the user’s desired configuration.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 35 of 36
10.3. Block Size and Address Range
The TI command provides information about the current tags block size and maximum address.
10.3.1. Block size
Size: Block size refers to the minimum number of bytes that can be write protected
at once. Block size is usually a power of 2. Write protection is always block
aligned.
I-Code The block size is 4.
ISO 15693 The block size range is 1 to 32 bytes. 4 bytes is a common block size.
10.3.2. Address Range
The usable address range is limited by the SmartCoupler and by the current tag. Avoid
addresses outside the range of the both the SmartCoupler and the current
tag.
Pre V3.30 The SmartCoupler works with a 6-bit address range from 0 to 3F.
V3.30+ The SmartCoupler works with a 16-bit address range from 0 to FFFF.
I-Code tags The maximum address is 3F. The minimum address is 0, although general
application memory begins at 10.
ISO 15693 tags The minimum address is 0. The maximum address, per the ISO
specification, can range from 1 to 1FFF. See the TI command. The
maximum address range values of 7, 1F and FF have been reported in
existing tags. With the I-Code compatibility mode setting enabled, the
address range will be 10 bytes higher for use with the SmartCoupler. See
8.9 I-Code Compatibility Mode.
10.4. Write Protection
A significant feature of RFID tags is the ability to selectively prevent written data from being changed.
Data on the tag is normally readable and writable. Data, a block at a time, can become write
protected via the WP command. Once data is write protected, it can not become write enabled.
The I-Code and ISO 15693 tags present different methods to control write protection. I-Code tags
memory map the write protection bits as part of the data space. ISO tags control write protection in a
separate addressable space from data. The WP and W? allow a common command that work with
either tag type.
I-Code tags write protection status is at data addresses 8 - B. A WP command to an I-Code tag
adjusts the proper bits at these addresses. Directly reading and writing these addresses is also
permitted but not recommended for new applications.
I-Code tags also allow for write protecting the write protect bits, thereby disallowing any changes to
the write protection. There is no equivalent ability with ISO 15693 tags.
Colder Products Company v. 3.30.00 SmartCoupler Communications Protocol
Service Manual
SCCPSM.doc Company Confidential Page 36 of 36
10.5. Writing Data to the Tag
Writes to a tag can be on any byte address and any length, regardless of the tag’s block size.
Optimal performance does occur, though, if the byte address and byte length are block size aligned.
The Write Data to Tag command simply attempts to write data to a tag. Failed communication
between the application and the SmartCoupler may result in an error or timeout, but a failed
communication between the SmartCoupler and tag will not report an error with this command. The
WR: response simple means a write to the tag was attempted.
The Write and Verify Data to Tag commands combines a write with subsequent read and compare of
the data. This command is designed to employ any tag protocol features that help provide a
verification that the data that was intended to be written was written.
Data is written to the tag. After the write, the data is read back. If the data read matches the data
written, this command returns a WV. All other results return failure. See ER
A data compare mis-match returns failure. If the communication to the tag is loss/garbled during the
write or subsequent read, a failure is reported.
Note: A return of a failure does not imply the write portion must have failed. It implies that a
verification of success did not happen. E.g. The write could have worked, but communication to the
tag was lost when trying to read the data back.
Note: If data is written to a write protected block, the write itself fails. This typically results in a
subsequent read and compare mis-match. But if the data that was attempted to be written happened
to be the same as the write protected data, the subsequent read of this write protected data would
compare and report success.
10.6. Most and Least Significant Bits and Bytes
The Least Significant Bit (LSBit) and the Least Significant Byte (LSByte) are the lowest indexed or
addressed values. The LSBit of hexadecimal 1-byte data AA is 0. The LSByte of the serial number
in I-Code tags is at address 0.

Navigation menu