Introduction The CANflight interface system offers 2 optically isolated CAN 2.0B interfaces according to ISO 11898, an IRIG-B time code input and a 10/100/1000 BaseT Ethernet interface. To minimize CPU load on host computers, the CANflight uses an onboard Xilinx Spartan-3 FPGA with dual Microblaze processors and 8 MByte SRAM to process and store CAN messages.
Page 4
The CANflight is a standalone computer system that utilizes its processing power to relief external computer systems from the tasks of transmitting, receiving, buffering and pre/postprocessing low, medium or high-speed CAN, CANaerospace and ARINC 825 messages. It can handle up to 100 % bus load at the maximum CAN data rate of 1 MBit/s on both channels without data loss.
Page 5
Figure 1-2: CANflight Block Diagram The CANflight CAN 2.0B interfaces are implemented with licensed Bosch C_CAN controller IP cores to ensure compatibility with the Bosch CAN standard and to allow precise hardware timing and control over the transmission and reception of CAN/ARINC825/CANaerospace messages. The Xilinx FPGAs and the CANflight firmware provide local buffering and 60 ns time stamp resolution for all CAN messages and implement ARINC825/CANaerospace specific protocol functions.
Page 6
synchronization of CAN messages is accomplished through an IRIG-B time code input providing 1µs resolution. An integrated µSDHC interface is used for data acquisition storage, system configuration information and firmware upgrades. CANflight is integrated into a rugged aluminum box which is powered from 9-36 VDC allowing it to run from standard 14 V or 28 V DC aircraft power buses according to the EN2282 specification.
Front Panel Connectors and Indicators The CANflight front panel is shown in Figure 2-1, the usage of the various connectors and LEDs is described in Table 2-1. Note that the CAN channels are numbered CH1 and CH2 for indications and connectors but are referred to as channels 0 and 1 for all software functions including the configuration file.
Page 8
Bicolor LED which is illuminated in red during the start of the CANflight firmware or in case of an internal system failure. This Status LED LED flashes green during normal operation (with 90 % on-time versus 10 % off-time). These LEDs flash to indicate that the associated CAN channel is recording CAN messages on the µSDHC card.
Table 2.2 shows the corresponding Ethernet signal assignment for the RJ-45 connector. Signal Name Signal Description Transmit Data + Transmit Data - Receive Data + N.C. Not Connected N.C. Not Connected Receive Data - N.C. Not Connected Table 2-2: RJ-45 Connector Signal Definition CANflight offers a µSD card slot that supports FAT-32 formatted µSD and µSDHC cards.
Page 10
Signal Name Signal Description Reserved Chip Select (active low) Data In Supply Voltage System Clock Supply Voltage Ground Data Out Reserved Table 2-3: µSDHC Connector Signal Definition Figure 2-5 shows the pinout of the 9-36VDC Lock-Tab DC Coaxial Connector. This connector requires a mating 2.5mm/5.5mm plug with the supply on the center contact and the Power Ground connection on the outer ring.
Page 11
Signal Name Signal Description + 5VDC/500mA Data – (Not used on CANflight) Data + (Not used on CANflight) Ground Table 2-4: USB Connector Signal Definition User Manual 21.02.2025 | V2.0 CANflight -10-...
Rear Panel Connectors The CANflight rear panel is shown in Figure 3-1. The CAN1/CAN2 Sub-D rear panel connectors combine the CAN interfaces and the power supply as shown in Figure 3-2, the usage and pin assignment of the connectors is described in Table 3-1. Figure 3-1: CANflight Rear Panel 9 8 7 6 5 4 3 2 1...
Page 13
The CANflight IRIG-B SMA connector accepts a signal according to IRIG Standard 200-04 on the center contact with the reference ground on the outer thread. The mating SMA plug is shown in Figure 3-3. Figure 3-3: Mating IRIG-B SMA Plug User Manual 21.02.2025 | V2.0 CANflight...
Ethernet Interface CANflight uses its Ethernet interface for communication between a (theoretically) unlimited number of other CANflight systems and/or host computers as shown in Figure 4-1. The Ethernet interface auto-negotiates its data rate with switches, routers or other network nodes between 10 and 1000 Mbit/s.
Page 15
Note that delays introduced through switches/routers or through network traffic generated by other network nodes may adversely affect the CANflight communication speed. If response times are vital, point-to-point Ethernet connections between CANflight and host computers should be preferred. CANflight comes with an Application Programmer Interface (API) for the CANflight Ethernet link supporting various operating systems (Linux, Solaris, MacOS, VxWorks, Windows).
CANflight Configuration The CANflight configuration is accomplished through a human readable ASCII configuration file that is stored on a µSD card which is inserted in the CANflight µSD card slot. The configuration file has to have the case-sensitive name “CANFLITE.CFG” to be recognized by the firmware. This file is read by the CANflight firmware from the µSD card slot each time power is applied.
Page 17
from a DHCP server by specifying the IP address as the four letter acronym “DHCP” in capital letters. Baud rate of the specified CAN channel. The following settings are valid and specify the baud rate in kbit/s: CB0= CAN Baud Rate CB1=250 CBx=83 CB1=...
Page 18
IP address of the remote host for communication with the specified IP0= Remote IP CAN channel, consisting of four IP0=192.009.200.051 IP1= Address three-digit decimal numbers in the range of 000-255, separated by dots. UDP port number of the CANflight unit used to receive Ethernet/UDP/IP packets from, as a LP0= Local UDP Port...
Page 19
TOP_MARKER CANaerospace message, either on CAN channel 1 or 2. If ETH is selected, the recording process is controlled through the Ethernet interface. Note that this mode is currently not implemented in the CANflight firmware. Specifies which CAN channels are recorded when the Flight Data DRC= CAN Channel...
Page 20
# MAC/IP addresses and local/remote port numbers for CAN channel 1. IP1=192.009.200.051 LP1=34569 RP1=34570 LS1=0 UR1=0100 RB1=1 # Flight Data Recording Settings. FDR=RUN DRC=1 RFT=0060 # End of CANflight Configuration File For CAN channels which are not accessed via the Ethernet/UDP/IP interface, the corresponding entries in the configuration file for MAC/IP addresses and port numbers may be omitted.
Page 21
setup must match the CANflight configuration. The default values are shown in Table 5.2. These values must be specified correctly to enable communication between CANflight and XCT. Depicted Logical CAN Local (CANflight) Port Remote (Host) Port Channel Number (“LPx=”-Tag) Number (“RPx=”-Tag) Channel CH1/CAN1 34567...
CANflight Firmware Upgrades CANflight allows firmware upgrades to be made through the µSD card interface. The CANflight binary firmware upgrade files have to be stored on a µSD card which is inserted in the CANflight µSD card slot. The files must have the case-sensitive name “mb0.srd” and “mb1.srd” to be recognized by the CANflight firmware which checks for these files each time power is applied.
CANflight Application Programmer's Interface The CANflight Application Programmer's Interface is a Socket Interface Library consisting of a set of functions which provide the interface between applications written in "C" and the CANflight resources using 4.3 BSD datagram sockets. It is provided in source code and allows to be compiled and linked for various operating systems.
Pmc825StartInterface() Synopsis: #include "pmc825.h" int Pmc825StartInterface(PMC825_IF *intf, unsigned int pm825_ip, unsigned int host_ip, int rx_port, int tx_port, int channel) Description: The Pmc825StartInterface() function establishes the connection between the specified channel of a CANflight unit and the host by the means of UDP/IP sockets. It initializes a PMC825_IF interface structure that refers to the CAN channel.
Description: Pmc825RawCanRead() function tries to return one unformatted CAN message from the buffer associated with the CAN channel of the CANflight unit specified through the PMC825_IF interface structure. Return Values: Pmc825RawCanRead() Upon successful completion, returns PMC825_OK. Otherwise, one of the following codes is returned: PMC825_NO_MSG: No message could be read from the module.
Pmc825CanAerospaceRead() function tries to return one CANaerospace formatted CAN message from the buffer associated with the CAN channel of the CANflight unit specified through the PMC825_IF interface structure. Return Values: Pmc825CanAerospaceRead() Upon successful completion, returns PMC825_OK. Otherwise, one of the following codes is returned: PMC825_NO_MSG: No message could be read from the module.
Pmc825Arinc825Read() function tries to return one ARINC 825 formatted CAN message from the buffer associated with the CAN channel of the CANflight unit specified through the PMC825_IF interface structure. Return Values: Pmc825Arinc825Read() Upon successful completion, returns PMC825_OK. Otherwise, one of the following codes is returned: PMC825_NO_MSG: No message could be read from the module.
Return Values: Pmc825CtrlRead() Upon successful completion, returns PMC825_OK. Otherwise, one of the following codes is returned: PMC825_NO_MSG: No message could be read from the module. 7.10 Pmc825CtrlWrite() Synopsis: #include "pmc825.h" int Pmc825CtrlWrite(PMC825_IF *intf, CTRL_MSG *msg) Description: Pmc825CtrlWrite() function tries to write a PMC825 control messages to the buffer associated with the CAN channel of the CANflight unit specified through the PMC825_IF interface structure for transmission.
The XCT Toolbox CANflight is delivered with the eXtended CAN Tool (XCT) software, a powerful CAN, ARINC825 and CANaerospace network toolbox for Linux, MacOS and Windows XP/7. Figure 8-1 shows the main window of XCT. Figure 8-1: XCT Main Window Among other features, XCT contains an ARINC825 Communication Profile reader and editor, realtime data visualization in raw, ARINC825 and CANaerospace formats, network traffic/error statistics and an interface for CANaerospace/ARINC825 Periodic Health Status Messages and Node Services.
Need help?
Do you have a question about the CANflight ARINC-825 and is the answer not in the manual?
Questions and answers