We can provide you with a kit that will help you on your way for the development quickly and easily.
The kit comes with:
- Protocol stack (C code)
- Example HAL reference design (C code) for STM32 running on a Nucleo board with Cortex M4 microcontroller. This will show you how to implement to 7 to 10 C functions of the embedded HAL and it will help you write your own HAL for your chosen micro
- User documentation
- X-Analyser Professional CAN, CANopen, J1939 and NMEA2000 analyser which is useful for your continual software development and also eases support to you from Warwick Control
- Kvaser Leaf Light CAN to USB interface
- HAL for Kvaser CAN interface (which includes support for running on a virtual CAN channel on the PC)
- 1 year email support
- The source code will be licensed to your company site and can be compiled and included in your products for no additional royalties. You are not allowed to pass the source code on to a third party.
The overall aim for this kit is that it is ideal for customers wishing to port the stack onto their own target hardware and they can use the STM32 as a reference to help them.
The advantage of the Kvaser HAL is that the protocol stack can be built in a PC environment using the free Microsoft Visual Studio C compiler and run on a PC. This is particularly useful when a customer does not have target hardware available or the hardware is not ready. The stack can communicate with Warwick Control’s protocol analyser software X-Analyser (see www.xanalyser.co.uk) either via a real CAN bus using a Kvaser CAN interface or a simulated CAN bus using virtual CAN drivers.
Note:
- You will need to download the free Atollic TrueStudio compiler and IDE for the STM32 if you wish to be able to rebuild the project for the Nucleo board.
- For NMEA2000 product certification testing, the stack reference design on the Nucleo will pass with the current test tool out of the box. This means that once you have made your application changes, less work will be required to get your device to pass the NMEA2000 Product Certification
- A diagnostic stack (UDS-light option) is available for vehicle based application with a basic ISO-TP and basic offering of UDS services
This protocol stack can also be ported to other microcontrollers as a custom engineering project. Please contact us for further information.
NMEA2000 | / J1939 | |
Protocol Stack | Feature | Support |
Feature | NMEA2000 Stack Feature STM32 Protocol Stack Kit | J1939 Stack Feature |
Address Claim (PGN 60928 / EE00) Tx on start startup | Yes (Mandatory) | |
ISO Request / Request PGN (PGN 59904 / EA00) for Address Claimed (PGN 60928 / EE00) | Address Claimed (EE00) (Mandatory) Other PGNs – user to implement | Yes (Optional) |
ISO Request / Request PGN (PGN 59904 / EA00) for Product Info (PGN 126996 / 1F014) | Fully implemented. Values need changing for target product (Mandatory) | Yes (Optional) |
ISO Request / Request PGN (PGN 59904 / EA00) for Config Info (PGN 126998 / 1F016) | Fully implemented. Values need changing for target product (Mandatory) | Not Required |
ISO Request / Request PGN (PGN 59904 / EA00) for Tx/Rx PGN List (PGN 126464 / 1EE00) | Fully implemented. Values need changing for target product (Mandatory) | Not Required |
Commanded Address (FED8) (BAM) | Mandatory | Not Required |
Broadcast Announcement Message (BAM) (EC00, EB00) | Mandatory for Commanded Address | Optional |
Connected Management Data Transfer (CMDT) (EC00, EB00) | Mandatory | Optional |
Fast Packet Protocol | Mandatory | Optional |
Heartbeat (PGN 126993 / 1F011) | Mandatory | Not Required |
Complex Request (PGN 126208 / 1ED00) for Address Claimed (PGN EE00) | Address Claimed (EE00) (Mandatory) Other PGNs – user to implement | Not Required |
Complex Command (PGN 126208 / 1ED00) | Mandatory Example implementation | Not Required |
CAN Error Monitoring (Receive Error Counter and Bus State) | Yes (Optional) | Yes (Optional) |
Device Online Manager (Track Devices Online) | Yes (Optional) | Yes (Optional) |
UDS/ISO-TP | Not Required | Transport Protocol Implemented with Framework for Some Basic Services |
J1939-73 Diagnostics | Not Required | Not implemented User to use the stack’s BAM and ISO request services to implement DM01 etc. |
(mandatory=mandatory for protocol, optional=optional protocol feature
Add-On Option for NMEA2000 Protocol Stack – Battery & Power PGNs
This is an option for customers of the NMEA2000 Protocol Stack which provides a reference design in C code for NMEA2000 Battery & Power related PGNs that passes the automated tests of the v3 NMEA2000 Certification Tool out of the box. It provides handler functions for sending and receiving PGNs, interpretation of the fields and handling of Complex Requests/Commands. The following PGNs are provided:
LOAD CONTROLLER STATE CONTROL – 0x1F20C
AC INPUT STATUS – DEPRECATED 0x1F20F
AC OUTPUT STATUS – DEPRECATED 0x1F210
DC DETAILED STATUS – 0x1F212
CHARGER STATUS – DEPRECATED – 0x1F213
BATTERY STATUS – 0x1F214
INVERTER STATUS – DEPRECATED – 0x1F215
CHARGER CONFIGURATION STATUS – 0x1F216
AGS CONFIGURATION STATUS – 0x1F218
BATTERY CONFIGURATION STATUS – 0x1F219
INVERTER CONFIGURATION STATUS – 0x1F217
AGS STATUS – 0x1F21A
AC POWER / CURRENT – PHASE A – 0x1F300
AC POWER / CURRENT – PHASE B – 0x1F301
AC POWER / CURRENT – PHASE C – 0x1F302
AC VOLTAGE / FREQUENCY – PHASE A – 0x1F303
AC VOLTAGE / FREQUENCY – PHASE B – 0x1F304
AC VOLTAGE / FREQUENCY – PHASE C – 0x1F305
CONVERTER (INVERTER/CHARGER) STATUS – 0x1F306
DC VOLTAGE / CURRENT – 0x1F307
ISO-TP-Light
The ISO-TP-Light option is an add-on C source code library for customers using NMEA 2000/SAE J1939 who need a basic Unified Diagnostic Services stack.
It is a C source code option for ISO15765 with physical addressing only. It provides a framework for implementation of UDS such as:
$10 Session Control
$14 Clear DTCs
$19 Read DTCs
$22 Read Data By Identifier
$27 Security Access
$2E Write Data By Identifier
$3E Tester Present
These are a selection of services that are a typical minimum to provide some simple diagnostics. The framework is simple so that other services can be added.
Other Hardware Abstraction Layers
We can also provide source code HALs the following targets:
Linux using Socket CAN
PIC18F
We can provide you with a kit that will help you on your way for the development quickly and easily.
The kit comes with:
- LIN protocol stack (C code) – LIN versions 1.x and 2.x
- Example HAL reference design for STM32 as a LIN Master. This will show you how to implement functions of the embedded HAL and it will help you write for/port to your own HAL for your chosen micro
- Development board with protocol stack and example application running as a LIN Master
- User documentation
- X-Analyser LIN analyser which is useful for your continual software development and also eases support to you from Warwick Control
- Kvaser Leaf LIN to USB interface
- 1 year email support
- The source code will be licensed to your company site and can be compiled and included in your products for no additional royalties. You are not allowed to pass the source code on to a third party.
The overall aim for this kit is that it is ideal for customers wishing to port the stack onto their own target hardware and they can use the STM32 as a reference to help them.
This protocol stack can also be ported to other microcontrollers as a custom engineering project. Please contact us for further information.
CANopen Protocol Stacks
We can provide CANopen protocol stacks for a variety of microcontrollers, Windows and Linux.
It can help you develop your CANopen device quickly for application profiles such as:
CiA 401: Device profile for generic I/O modules
CiA 402: Device profile for drives and motion control (servo controller, stepper motor controller, frequency inverter)
CiA 404: Device profile for measuring devices and closed-loop controllers
CiA 406: Device profile for encoders (rotating and linear)
CiA 408: Device profile for proportional valves and hydraulic transmissions
CiA 410: Device profile for inclinometers
CiA 412: Set of device profiles for medical devices (e.g. colimator, dosimeter)
CiA 413: Set of device profiles for truck gateways
CiA 414: Set of device profiles for weaving machines (e.g. feeder)
CiA 415: Application profile for road construction machine sensors
CiA 416: Application profile for building door control systems
CiA 417: Application profile for lift control systems
CiA 418: Device profile for battery module
CiA 419: Device profile for battery charger
CiA 420: Set of device profiles for extruder downstream devices
CiA 421: Application profile for train vehicle control networks (integration platform on vehicle sublevel)
CiA 422: Application profile for municipal vehicles (e.g. garbage trucks)
CiA 423: Application profile for rail vehicle power drive systems (e.g. diesel engine)
CiA 424: Application profile for rail vehicle door control systems
CiA 425: Set of device profiles for medical add-on devices (e.g. contrast media injector)
CiA 426: Application profile for exterior rail vehicle lighting
CiA 430: Application profile for auxiliary rail vehicle devices (e.g. cooling fans, engine pre-heating)
CiA 433: Application profile for interior rail vehicle lighting
CiA 434: Profiles for laboratory automation systems
CiA 436: CANopen application profile for construction machineries
CiA 437: Application profile for grid-based photovoltaic systems
CiA 443: Profile for SIIS level-2 devices
CiA 444: Set of device profiles for crane add-on devices (e.g. spreader)
CiA 445: Device profile for RFID reader
CiA 446: Interface profile for AS-Interface gateways
CiA 447: Application profile for special-purpose car add-on devices
CiA 450: CANopen device profile for pumps
CiA 452: device profile PLCopen motion control
CiA 453: Device profile power supply
Please contact us for further information providing information on your microcontroller, operating system, compiler, application and project timing requirements.
DeviceNet Slave Protocol Stack Kit
We can a provide DeviceNet protocol stack kit comprising of: • DeviceNet slave source code • Documentation • Protocol analyser tool and CAN interface Please contact us for further information.