MilCAN-A Stack
The MilCAN Stack is a full-featured implementation of the MilCAN-A protocol (MWG-MILA-001 Revision 3), developed in low-level embedded pure C. It is specifically optimised for bare-metal operation on low-power microcontrollers, making it an ideal choice for both research and commercial applications in resource-constrained environments.
Key Features
Comprehensive Protocol Support:
- Full Implementation: The MilCAN Stack adheres to the MilCAN-A protocol specifications, meeting all compulsory requirements and supporting optional features with certain hardware-dependent restrictions.
- Low-Level Embedded C Optimization: Engineered for low-power microcontrollers operating in a bare-metal environment, prioritizing efficient resource utilization.
Modular Architecture:
- Self-Contained: Operates independently from the main system with dedicated threads and handlers, reducing the complexity for the primary application.
- Real-Time Capabilities: Includes components to offload tasks requiring real-time responses, allowing the main application to operate in non-real-time environments.
Versatile Control Mechanisms:
- Integrated Application Programming Interface (API): Provides a comprehensive API for direct control from your application, facilitating seamless integration and customization.
- MilCAN Module Interface (MMI): Enables communication with the Stack API through various external interfaces such as Serial, USB, Ethernet, and Dual-Port RAM (DPRAM), allowing for control from a separate host computer, ideal for complex system configurations.
Offloading Operation:
- Real-Time Task Offloading: Manages time-critical MilCAN operations, offloading these tasks from your application to eliminate the need for complex real-time scheduling, leading to simplified development and reduced processing overhead.
- Extensive Function Set: The API empowers developers to create MilCAN applications of varying complexity, catering to both basic message exchange and intricate data processing requirements.
Key MilCAN-A Functions
- Sync Master / Sync Slave operation. Full Sync Slot timing configuration.
- Configuration Mode Master / Slave mode.
- Prioritised queuing.
- Primary Type and filtering.
- Dynamic Node ID and speed (250kbit, 500kbit, 1000kbit) change.
- Automated synchronous message transmission.
- Automated multi-frame transmission and reception.
- Automated MilCAN Request response message triggering.
Integration Methods
- Direct Linking: The core library can be directly linked to the application, providing native API access.
- External Interface: The Stack can be operated through the MilCAN Module Interface, allowing for flexible system architectures and remote operation.
MilCAN Module Interface
The MMI is an interface module to access the MilCAN Stack API from an external component using a dedicated command set and control mechanism. It operates transparently to the MilCAN Stack and is passive to the MilCAN protocol operation (does not interfere with the control of the MilCAN Stack). It includes a Data Link Wrapper that operates as an abstraction layer for transferring MilCAN Module Interface commands via a dedicated point-to-point data-link, handling all communication with the MilCAN Stack. A Hardware Abstraction Layer (HAL) module is also used for the specific protocol and transport medium (RS232, USB, etc), making the MMI easily adaptable to any hardware interconnect.
Customer Benefits
- Accelerated Development: By eliminating the need for low-level protocol development, the MilCAN Stack significantly reduces development time, allowing engineers to focus on core application logic.
- Optimized Performance: The Stack’s optimized code ensures efficient operation on resource-constrained microcontrollers, maximizing performance within the embedded system environment.
- Simplified Application Design: Real-time task offloading fosters streamlined application design and improves overall maintainability.
- Flexible Control Interface: Offers both direct application integration and external control via the MMI, ensuring optimal system design for specific requirements.
- Proven Reliability: Successfully used in both research and commercial applications, demonstrating robust performance and flexibility.
Track Record
- Research Projects: Supported academic and industrial research into MilCAN-A protocol implementations and applications.
- Commercial Products: Integrated into military commercial devices used in defence procurement prototypes and in-service vehicles.
Updated 2024/06/15