PLC Lite Host Message Protocol Specification

Similar documents
Using the USB and Serial Interfaces

SXH Protocol by Spinel Version 3.0 Date:

Flexi Soft T E L E G R A M M L I S T I N G

Interface Control Document

BC3G-US-SMA API. Rev 2.0

AD-SM2400AP02A-PWRLN. Application Note. SM2400 Bootloader User Guide. Overview

Installation, operation and maintenance manual

RFID B1 Module User Manual

RFID B1 Module User Manual V2.2 16/01/2018

WTS family of Tactile Sensor Modules - Command Set Reference Manual - Firmware Version March 2013

The Cuttle Cart 3. The Intellivision Customizable Menu Cartridge. from. Chad Schell of Schell s Electronics. Copyright 2007 Schell s Electronics

WSG Command Set Reference Manual. Firmware Version July 2011

PLC Suite Host Message Protocol Specification Version May 3, 2012 Copyright Texas Instruments Incorporated,

RS232C Serial Interface for Pirani Diaphragm and Pirani Standard Gauges. Caution. binary 8 data bits 1 stop bit no parity bit no handshake

Diagnostic Port Serial Interface for Capacitance Diaphragm Gauges

Keywords: CRC, CRC-7, cyclic redundancy check, industrial output, PLC, programmable logic controller, C code, CRC generation, microprocessor, switch

RS232C / RS485C Serial Interface for Cold Cathode and Cold Cathode Pirani Gauges

imetos LoRa Data payload structure

CTT MODBUS-RTU COMMUNICATION PROTOCOL TEMPERATURE MONITOR DEVICE

Heat meter PolluStat M-bus communication protocol description

RS232C / RS485C Serial Interface for Pirani Capacitance Diaphragm and Pirani Standard Gauges

HDLC BCC 15.1 Data Link Protocol Description

MCW Application Notes 24 th February 2017

TBS Unify Pro / SmartAudio

variable 1. Start of Packet - is used to provide synchronization when parsing packets. Always 0xFC

variable 1. Start of Packet - is used to provide synchronization when parsing packets. Always 0xFC

Technical Specification. Third Party Control Protocol. AV Revolution

DMTME Multimeters. Communication protocol. Technical specification V1.2 ABB

GNetPlus Communication Protocol

DULCOMETER Multi-parameter Controller dialog DACa

MTR-4. C8 Command to MODBUS Bridge User Manual F-1, No. 631, Chung Der Road, Sec 1, Taichung Taiwan.

Highlights. FP51 (FPGA based 1T 8051 core)

Ethernet to Digital I/O and Analog Input. (Model: IP-IO)

APPENDIX- A REFERENCE IMPLEMENTATION OF BSF-128 ===============================================================

M2M/DMTME Instruments Communication protocol. Technical specification V.2.1 2CSG445011D0201

SIMCom_3G_CSD_Application Note_V1.00

ID: Sample Name: Q3dY56x3hp Cookbook: defaultlinuxfilecookbook.jbs Time: 04:08:56 Date: 21/08/2018 Version:

Wireless M-Bus Host Controller Interface

Mahesh V. Tripunitara and Samuel S. Wagsta, Jr. COAST Laboratory. Purdue University. COAST TR-98/01.

RS-232 Control of the Advantage EQ281/8, EQ282/8 and Advantage SMS200

Signed/Unsigned Integer Arithmetic in C. Vineel Kovvuri

The Roboteq Modbus Implementation User Manual

Input Channels: 4 differential or four single-ended. Address / Baud rate / range configurable by the user

Modbus Protocol Guide for ZP2 Series Control Panels

Verve IPAC Plug-in Wireless AC Module. Software Setup 3. DolphinView Software 3. Preparations 4 Transmit LINK Signals 4.

App Note Application Note: State-Driven Control of a dpasp using a Microchip PIC.

Chapter 2: Secret Key

1 SETTING UP GENERAL FUNCTION TYPE PROTOCOL MESSAGES COMMAND RETURN CODES... 6 TRANSACTION EXAMPLES...

on a 35 mm top-hat rail (in accordance with DIN EN TH35) Ambient temperature Operation: C Storage: C

AquaCER with TTL OUTPUT

Revision History. Rev Date Author Description A 27 Aug 99 Emil Farkas Initial release. Approvals: Author. VP. Engineering

Specifiche generali protocollo MODBUS-RTU Rev. 10 (inglese) REVISIONS

SPARC INTERNATIONAL. Version1 SPARC Keyboard Specification

// and verify that there is a sine wave with frequency <FREQUENCY> and

//

PCD1.A2000-A20. E-Line S-Serie RIO 6Rel 16A. Features. General technical data. Dimensions and installation

RS-232 Control of the Advantage DRI

Request for Comments: XXXX November Registration of a Georgian Character Set draft-giasher-geostd8-00.txt

Control Flow Integrity with ptrace()

PCD1.W5200-A20. E-Line S-Serie RIO 8AO. Features. General technical data. Dimensions and installation

Computer Control of the Advantage DRC 4+4

StarPRNT ios SDK User s Manual

Modbus Map: Conext XW/XW+ Device

BENCHTOP INSTRUMENT. Digital AC/DC Power Meter. Operation Manual V1.0

#include <stdio.h> // // Global CONSTANTS

GSA GAT PROTOCOL V Game Authentication Terminal

Version. Table of Contents

Motors I Automation I Energy I Transmission & Distribution I Coatings. Modbus RTU CFW300. User s Manual

Motors I Automation I Energy I Transmission & Distribution I Coatings. Modbus RTU CFW500. User s Manual

Developer Notes INSTEON Thermostat v012. Developer Notes. INSTEON Thermostat. Revision History

Modbus RTU CFW100. User s Manual. Phone: Fax: Web: -

DATA SHEET. article numbers P125-1b & P125-1g

Motors I Automation I Energy I Transmission & Distribution I Coatings. Modbus RTU CFW701. User s Manual

JDICON 400/500 JDICON 401/501. B Interface Description. Universal process controller

S1C17 Series Small Memory Programming

OEM API Specification

TI PLC (Flex) Development Kit User Guide

Modbus communication protocol

CSEE bit AES decryption. Shrivathsa Bhargav Larry Chen Abhinandan Majumdar Shiva Ramudit. Spring 2008 Project Design Document

Description. thanos ModBus. thanos SR ModBus

1CAPI INFORMATION VALUES. August Software Reference CAPI Information Values 1

1 Introduction Revision History... 4

MODEL TDAI-2170 INTEGRATED AMPLIFIER EXTERNAL CONTROL MANUAL

GPS Tracker Communication Protocol

CS 4400 Fall 2018 Midterm Exam 2 Practice (Version 2)

Primitive Specification for SSS Philip Hawkes, Michael Paddon, Gregory G. Rose, Miriam Wiggers de Vries

JMY501H User's Manual

ECE251: Intro to Microprocessors Name: Solutions Mid Term Exam October 4, 2018

MODBUS Communication Protocol

ESP8266 Application Note Firmware Download Protocol

Application Note BDLxxxx RS232 SERIAL INTERFACE COMMUNICATION PROTOCOL (SICP V1.82)

Garmin Image (IMG) File Format. Herbert Oppmann

Protocol Description. thanos ModBus. thanos SR ModBus

Planar Simplicity Series

Modbus User s Programming Manual for Protocol 3

JMY504M User's Manual

Quick Talking to ControlLogix (PCCC-style)

MICROPROCESSOR CONTROLLER RE15

TCG Algorithm Registry

Version 1.5 8/10/2010

Transcription:

PLC Lite Host Message Protocol Specification Version 0.6 Oct. 20, 2014 Copyright Texas Instruments Incorporated, 2009-2014 The information and/or drawings set forth in this document and all rights in and to inventions disclosed herein and patents which might be granted thereon disclosing or employing the materials, methods, techniques, or apparatus described herein are the exclusive property of Texas Instruments. No disclosure of information or drawings shall be made to any other person or organization without the prior consent of Texas Instruments. Texas Instruments Proprietary Information

Revision History Revision Status Date Comment 0.1 Draft 05/10/2011 Initial draft 0.2 Revision 12/16/2011 Added band information message 0.3 7/31/2011 Clean up 0.4 0.5 Revision Revision 8/21/2012 04/08/2014 Added variable addressing and clean up Added SET_INFO and GET_INFO for TX PGA ttn. Fixed the length field for message header/updated Tag field in message header 0.6 Revision 10/20/2014 Added L_SDU format and updated Address filtering description. Added CRC16 implementation Section. Sign Off List Group Name Date Comment

Table of Contents 1.0 INTRODUCTION... 4 2.0 MESSAGE FORMATS AND APIS... 4 2.1 MESSAGE FORMATS... 4 2.2 HOST MESSAGE DEFINITIONS... 6 2.2.1 DATA_TRANSFER (0x00)... 6 2.2.2 GET_SYSTEM_INFO (0x01)... 8 2.2.3 LOAD_SYSTEM_CONFIG (0x0C)... 10 2.2.4 SET_INFO (0x04)... 12 2.2.5 GET_INFO (0x14)... 13 2.3 CRC16 IMPLEMENTATION... 14

Host Message Protocol Specification for PLC Lite 1.0 Introduction This specification describes the Application Specific Interface (APIs) during run time of TI Power Line Communication Device. The API can be implemented in a host MCU (or on a PC) that also implements some custom application features and requires power line communications. The messaging protocol works on hardware peripheral interfaces such as UART, SPI, USB, Ethernet, etc. 2.0 Message Formats and APIs 2.1 Message Formats Figure 1 shows the message format that is used for host to PLC communications. Little Endian format (least significant octet first, most significant octet last) is used for messages. All messages are 16-bit aligned. Messages are padded with 0 to 1 octets if necessary to meet the 16-bit alignment. A pad octet contains value 0 (zero). Messages are formatted as: message header + message body + (padding) as described in Figure 1. Message Header Message Body (0-1) padding octets Figure 1 Message Format Figure 2 Shows the Message Header Format. bits Offset 0 1 Message Type 1 1 ORG RESV SEQ 2 2 Message Figure 2 Message Header Format

Message Type ORG RESV Message Type identifier. Message origination. A value of 1 represents the message originated from the host, and value of 0 represents the message originated from the receiver. Reserved bits, ignored. SEQ Sequence Number. This is the 4 bit message sequence number, starting with 0 and incrementing by 1 for each message sequence. The Sequence Number should be set to 0 unless specified in the message definition. Message A 16 bit number representing the length of the message payload. Figure 3 Message Header s

2.2 Host Message Definitions 2.2.1 DATA_TRANSFER (0x00) The DATA_TRANSFER message is used to transfer application data to/from the host. DATA_TRANSFER message can be either initiated by host (TX) or by PLC (RX). The contents of the DATA_TRANSFER are determined by the current device mode (see GET_SYSTEM_INFO). The DATA_TRANSFER message may be RPY capable (please refer to the specific DATA_TRANSFER mode for details). 1. Message Sequence for Data Transmit from host to PLC in Push Mode (PRIME): DATA_TRANSFER.Request: (message from host to PLC) DATA_TRANSFER.Request is used to command the PLC to transmit an L_SDU to the media. 2 Header CRC 2 Payload CRC 2 Mode Var Data Header CRC Payload CRC Mode Data The CRC16 of the message header. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. The CRC16 of the message payload data. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. A value of 0x01 defines this as a DATA_TRANSFER.Request L_SDU data to be sent. L_SDU format is given below. Source Address Destination Address Payload Source/Destination Address fields should be present only when MAC Rx address filter is enabled via LOAD_SYSTEM_CONFIG. The address fields can be placed anywhere in the payload based on Address Offset via LOAD_SYSTEM_CONFIG. This specific example shows offset of 0. The source/destination address size will be set based on Address via LOAD_SYSTEM_CONFIG. DATA_TRANSFER.Confirm: (message from PLC to host) The DATA_TRANSFER.Confirm is used to indicate to the host the status of the L_SDU transmission.

2 Header CRC 2 Payload CRC 2 Mode 2 Status Header CRC The CRC16 of the message header. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. Payload CRC The CRC16 of the message payload data. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. Mode A value of 0x02 defines this as a DATA_TRANSFER Confirm Data The status of the request(00 00) 2. Message Sequence for Data Receive initiated by PLC: DATA_TRANSFER.Indication: (message from PLC to host) DATA_TRANSFER.Indication is used to indicate an L_SDU has been received and passed to the host. 2 Header CRC 2 Payload CRC 2 Mode Var Data Header CRC Payload CRC Mode Data The CRC16 of the message header. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. The CRC16 of the message payload data. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. A value of 0x03 defines this as a DATA_TRANSFER Indication L_SDU data that was sent.

2.2.2 GET_SYSTEM_INFO (0x01) The GET_SYSTEM_INFO message is used to retrieve information from the PLC device. It is always initiated by the host. Message Sequence initiated by host: 2 Header CRC 2 Payload CRC 4 Firmware Version 2 PLC Device Serial Number 16 PLC Device Serial Number 1 Device Type 1 Device Mode 2 Hardware Revision 6 Reserved 1 Port 1 PHY Mode 8 Reserved 2 Address (1/2/4 bytes) 2 Address Offset 2 Band 2 Start Tone 2 MAC Rx address filter (Enable/Disable) Var Address 1 Var Address 2 Var Address 3 Header CRC Payload CRC Firmware Version Serial Number Serial Number Device Type The CRC16 of the message header. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. The CRC16 of the message payload data. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. A 32-bit value representing the firmware version, in the format of MAJOR.MINOR.REVISION.BUILD The length of valid octets in the 16 octet serial number. A 16 octet value representing the device serial number. The device type. The following are the supported device types: Device Type 1 PRIME IEC-432-LLC convergence 2 PRIME IP convergence 3 G3

Device Mode Hardware Revision Port PHY Mode Address Address Offset MAC Rx address filter Address 1/2/3 4 FLEX 5 PLC Lite Device Application Mode dependant on the Device Type is as follows: Device Mode Value P to P Mode 3 Device is operating in point to point test mode for all device types. PHY Mode 5 Device is operation in PHY Mode for all device types. The hardware revision. A value of zero (0) represents pre Rev D hardware, otherwise the revision is the hardware revision (Rev D would be indicated by 68 (0x44, D )). Rev D hardware has an onboard EEPROM, older hardware does not. The SCI port (always fixed as SCI-A for PLC-Lite) PHY robust mode (0-non-ROBO; 1-Robo) Address length for the source address and destination address in either unicast, multicast, or broadcast mode (can be 1/2/4 byte long). Address offset (in bytes) for the Address location in the data Payload. Enable (1) or disable (0) the MAC level address filtering for the received signal. Default setting is DISABLE Source, Destination and multicast or broadcast address used for Address filtering at the MAC level.

2.2.3 LOAD_SYSTEM_CONFIG (0x0C) The LOAD_SYSTEM_CONFIG message is used to set the system configurations. 2 Header CRC 2 Payload CRC 2 Band Info TLV ID = 0x09 2 Band Info TLV = 0x04 2 Band 2 Start Tone 2 PHY Mode TLV ID = 0x0B 2 PHY Mode = 0x2 2 PHY Mode 2 MAC TLV ID = 0x0A 2 MAC TLV = 0x04 2 Address 2 Address Offset 2 MAC Rx address filter (Enable/Disable) Var Address 1 Var Address 2 Var Address 3 Header CRC The CRC16 of the message header. A value of 0 denotes no CRC16 present. See Section 2.3. for CRC details. Payload CRC The CRC16 of the message payload data. A value of 0 denotes no CRC16 present. See Section 2.3. for CRC details. Three configuration types are supported in this message: 1. Type 1 (MAC ID, 0x07) Type ID MAC ID (0x0A) The length of this type (0x04). Address Address length for the source and destination address in either unicast, multicast or broadcast mode (can be 1/2/4 byte long). Address Offset Address offset (in bytes) for the Address location in the data Payload (Note that the offset should not be greater than payload length). MAC Rx address filter Enable (1) or disable (0) the MAC level address filtering for the received signal. Default setting is DISABLE. Address 1/2/3 Destination addresses used for address filtering at the MAC level

* This is dynamically allocated in the HCT lib. 2. Type 2 (Band Info, 0x09) Type ID Band Info (0x09) The length of this type (0x04) Band 0-full-band; 1-half-band Start Tone Start tone index (only valid when half-band is selected) 3. Type 3 (PHY Mode, 0x0B) Type ID PHY Mode (0x0B) The length of this type (0x02) PHY Mode 0-non-Robo; 1-Robo

2.2.4 SET_INFO (0x04) The SET_INFO message is used by host to set certain system parameters in the PLC device. This message is always initiated from host. SET_INFO Request: 2 Header CRC 2 Payload CRC 2 INFO_Type 2 INFO_ var INFO_Value Header CRC Payload CRC INFO_Type INFO_ INFO_Value The CRC16 of the message header. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. The CRC16 of the message payload data. A value of 0 denotes no CRC16 present. See Section 2.3 for CRC details. Type of information being set of INFO_Value, in octets Value depending on the INFO_Type One configuration type is supported in this message: 1. INFO_Type = 0x0009, TX PHY Attenuation / Gain Parameters: 1 TX Gain / Attenuation 1 TX PGA Attenuation TX Gain / Attenuation TX PGA Attenuation N.A. 0 = 0 db, 1 = -3 db, 2 = -6 db SET_INFO Reply: 2 Status Status The status of the request. 0: success

2.2.5 GET_INFO (0x14) The GET_INFO message is used by host to retrieve certain system parameters in the PLC device. This message is always initiated from host. A GET_INFO TLV ID is sent to the device, and the device will reply the GET_INFO TLVs. GET_INFO Request: 2 Get Info TLV ID GET_INFO Reply: 2 Status 2 TLV ID 2 TLV var TLV Value Status TLV ID TLV TLV Values The status of the request. 0: success The ID of the information need to get TLV for the ID TLV Value for the ID One configuration type is supported in this message: 1. TLV ID = 0x0009, TX PHY Attenuation / Gain Parameters: 1 TX Gain / Attenuation 1 TX PGA Attenuation TX Gain / Attenuation TX PGA Attenuation N.A. 0 = 0 db, 1 = -3 db, 2 = -6 db

2.3 CRC16 implementation The Cyclic-Redundancy Check 16bit (CRC16) implementation is a polynomial of (x^16 + x^12 + x^5 + x^0) and is calculated with a seed value of 0 and is not inverted upon completion. A sample implementation is as follows: static unsigned short crctable[256] = { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 }; void CRC16_UpdateChecksum(unsigned short *pcrcvalue, const void *data, int length)

{ unsigned short crc; const unsigned char *buf = (const unsigned char *) data; crc = *pcrcvalue; while (length--) { crc = (crc << 8) ^ crctable[(crc >> 8) ^ *buf++]; } *pcrcvalue = crc; } unsigned short CRC16_BlockChecksum(const void *data, int length) { unsigned short crc; crc = 0; CRC16_UpdateChecksum(&crc, data, length); return crc; }