Implementing Industrial Communication Protocols on UNISOC FPGA
Protocol Selection Guide
Choose the appropriate protocol based on your application requirements. Modbus RTU/TCP is simple and widely used for basic industrial communication. CAN is ideal for automotive and distributed control systems. EtherCAT provides high-performance real-time Ethernet for motion control applications.
Modbus Implementation
Modbus RTU can be implemented using the UART peripheral with software protocol handling. For Modbus TCP, use the embedded Ethernet MAC with a lightweight TCP/IP stack. UNISOC provides reference designs for both variants. The FPGA logic handles the timing-critical UART framing while software manages the protocol state machine.
CAN Controller Design
Implement a CAN controller in FPGA logic following the ISO 11898 standard. The design includes bit timing logic, message filtering, and transmit/receive buffers. Connect to an external CAN transceiver for physical layer interface. Multiple CAN interfaces can be implemented in a single FPGA.
EtherCAT Slave Implementation
EtherCAT requires precise timing and hardware acceleration for best performance. Implement the EtherCAT Processing Unit (ESC) in FPGA logic with dedicated DMA for process data exchange. Use the USC9002's PCIe interface for high-speed host communication. Reference designs include support for CoE (CANopen over EtherCAT) protocol.
💡 FAE Insights
📋 Customer Cases
Challenge
Needed to support multiple industrial protocols in a single module
Solution
Implemented Modbus RTU/TCP, CANopen, and EtherCAT on USC9002 FPGA
Results
Single hardware platform supports all required protocols, reducing inventory and development costs
Frequently Asked Questions
1. What is the maximum CAN baud rate supported?
The FPGA-based CAN controller supports baud rates up to 1 Mbps, compliant with CAN 2.0B specification. For detailed specifications and application support on unisoc products, refer to the datasheet or contact our team.
2. Can multiple protocols run simultaneously?
Yes, multiple protocol controllers can be instantiated in the same FPGA, subject to available logic resources. For detailed specifications and application support on unisoc products, refer to the datasheet or contact our team.
3. Is EtherCAT conformance tested?
The reference EtherCAT slave implementation has passed ETG conformance testing. Custom implementations should undergo similar testing. For detailed specifications and application support on unisoc products, refer to the datasheet or contact our team.
4. What transceivers are recommended?
For CAN, use isolated transceivers like TI ISO1050 or Analog Devices ADM3050. For EtherCAT, use standard Ethernet PHYs with IEEE 1588 support. For detailed specifications and application support on unisoc products, refer to the datasheet or contact our team.
5. Are protocol stacks provided?
Reference implementations include basic protocol stacks. For full-featured stacks, third-party or open-source options can be ported. For detailed specifications and application support on unisoc products, refer to the datasheet or contact our team.