Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CAN Stack development for Space Emily Crudo 14/06/2017 ESA UNCLASSIFIED - For Official Use Content 1. CAN Network Engineering and SW impact 2. CAN SW for Space current status 3. Experiences: Leonardo, Luxspace 4. TEC-SW/TEC-ED GSTP ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 2 CAN Network Engineering and SW impact ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 3 CAN Network engineering - Network complexity: - Number of Nodes - Master/Slaves - Type of nodes (FPGAs, Microcontrollers, Processors) - Mission profile, amount of data, needed baud rate, .. - Packets dimension - Application SW data production - Time profiling of the data exchanged on the bus ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 4 CAN Network engineering: HW selection • Processor (GR712/GR740/SCOC3) • Microcontroller • AL Integrated Solution (CANOpen Controller IP Core) Did you consider the SW? ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 5 HW Selection and SW impact for intelligent units 1. SW development phase complexity depends on the node and its functions: •Driver •HPL •Application SW CAN manager SW development effort ESA Standards applicable to SW development 2. Final Application SW performance: How the HPL influence the Application SW? e.g interrupts to be served: number and timing SW performances schedulability analysis and the achievable Bus budget ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 6 CAN SW for Space current status ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 7 CAN Bus OSI layers and Space SW 7. Application Layer HLPs: CANOpen DeviceNet 6. Presentation Layer 5. Session Layer 4. Transport Layer Partially implemented in Higher Layer Protocols 1. Physical Layer ESA UNCLASSIFIED - For Official Use 2. CANOpen HW solution for slaves node (CCIP core) 3. No other simpler protocol 3. Network Layer 2. Data Layer 1. CANOpen protocol ECSS Specification No Qualified Lib CAN Protocol No Space Qualified driver available Emily Crudo | 14/06/2017 | Slide 8 ESA Standards applicable to SW development Specified by ECSS Software Standards ECSS-E-ST-40C : Software Engineering (Tailored by Software Development Plan) ECSS-Q-ST-80C : Software Product Assurance (Tailored by Software Product Assurance Plan) ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 9 Software Life Cycle Effort VS SW Categories An idea of the SW Development effort estimation: Category Lines/Hour OBC Cat B A B C D Payloads ESA UNCLASSIFIED - For Official Use 0.25 1.00 3 From 16 to 32 Cat B/C Emily Crudo | 14/06/2017 | Slide 10 CAN Bus protocol Driver 1. CAN Bus Drivers are needed and are linked to the HW architecture: Processors: GR712/GR740 SCOC3 …. can_open can_close can_read can_write can_get_state can_start can_stop can_flush …. 2. Current OS does not have space qualified drivers for CAN. (E.g RTEMS) ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 11 Higher level protocols CANOpen • HW implementation (CCIPcore) for the SLAVE MASTER node need a SW implementation • SW implementation (ECSS-E-ST-50-15 tailoring) 1.Using existing commercial implementation 2.New development Easier testing: Existing commercial tools for • network emulation and SW testing • Can be too complex for simple data networks Others A Simplified protocol with a simpler implementation Require the development of the testing tools ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 12 Example: RTEMS drivers (CAN protocol) Number of lines 1350 Max complexity around 20 Payload (Cat C) 450h OBC (Cat B) 1350h CANOpen qualification based on commercial implementation (vector, CAN Festival) Number of lines: around 4000 Cyclomatic Complexity: >> 10 (e.g from 40 to 150) ESA UNCLASSIFIED - For Official Use Payload (Cat C) 1330h OBC (Cat B) 4000h Emily Crudo | 14/06/2017 | Slide 13 2 different experiences: Leonardo, Luxspace ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 14 Experiences • Exomars 2020 • ESAIL • CANOpen Protocol • CANOpen Protocol • Dill&SPDS EU and Remote Terminal Board: • OBC: Slaves of the Exomars Rover CAN Network • HW selected for these units: CCIP core ESA UNCLASSIFIED - For Official Use Master network with Payload units • HW: GR712 (with RTEMS) Emily Crudo | 14/06/2017 | Slide 15 usage of CCIPC DSEU ARCHITECTURE RTB ARCHITECTURE - Leon2 based : AT697F + RTAX2000 - FPGA RTAX2000 - CAN interface based on SITAEL IPCORE CCIPC 3.9 - CAN interface based on ESA UNCLASSIFIED - For Official Use SITAEL IPCORE CCIPC 3.9 Emily Crudo | 14/06/2017 | Slide 16 usage of CCIPC DSEU Configuration: RTB Configuration: 1 Object Dictionary with 888Bytes buffer for TC 16 RPDO, 12 used 1 Object Dictionary with 888Bytes buffer for TM 16 TPDO, 16 used; 8 asynchronous PDO messages are 1. TCs and TMs are transmitted via SDO block. Two buffer guaranty the TM and TC integrity 2. Hand shake protocol between Master and Slave nodes: For receiving/ transferring TC/TM is necessary that a proper sequence of transfer IRQs is received/ transmitted, in a proper timing 1. 2TPDO are transmitted every 100ms so that all TM PDO are transmitted within 1 s (period 800ms) 3. The transfer of TC has higher priority with respect to TM ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 17 usage of CCIPC DSEU ASW characteristics: RTB characteristics : • No communication driver has to be implemented: communication based on shared memory • The RTB has no SW: the exchange of info by means of RPDO/ TPDO is completely performed by F/W • The communication is based on hand shake: • State machine for TM and state machine for TC shall be implemented by ASW • I/P version is the same as the DSEU I/P Core for maintenance purpose • All cases of unexpected ISR value, unexpected with respect to state machines, or timeout shall be handled • The design, programming, simulation, tests started after the DSEU development => Leonardo exploits experience on DSEU • “TM retry” feature shall be implemented for facing the “TC priority” feature • This part needs to be qualified • Difficulty to inject failures for covering qualification of unexpected / timeout ISR • The development, programming and tests phase were very fast with respect to CANOpen for DSEU and did not point out any major problem ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 18 usage of CCIPC Main issues: 1. The SITAEL development environment is based on free SW; this from one side reduces the cost of the application, but, on the other side, makes difficult the maintenance on the upgraded free domain SW version. Problem with: • Perl V5.10.0, perl-Tk V804.028 • dcf specification and validation is not quite effective (Leonardo generated the dcf from this environment and then forwarded it to the Customer which verifies it in Vector- CANOe environment) 2. TC and TM have fixed length 888; variable length seems to be available but it was considered by Leonardo a risk to implement, test and qualify it. 3. TC/ TM Traffic: Customer declared that in one 100ms window 1TC and 1 TM are allowed. Leonardo experienced that: • For loading a SW image, the better configuration is to send via RVIS 1TC/ 250ms • For dumping, the better configuration is to transmit one TM Dump / 200ms ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 19 Tailored CANOpen SW Introduction to ESAIL • European SAT AIS Constellation • ARTES 21 • LuxSpace is prime contractor • Low cost ESA AIS mission • 100 kg • 3 axis stabilized platform • High performance AIS payload • High speed C-Band downlink • Launch planned in 2018 ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 20 Tailored CANOpen SW • Network Configuration ECSS Tailoring • Heart beat message • Boot message • Node State Machine • Bus selection Luxspace Implementation as per ECSS •Cold redundant bus architecture • Emergency messages ESA UNCLASSIFIED - For Official Use currently not used Emily Crudo | 14/06/2017 | Slide 21 Tailored CANOpen SW • All PDO definitions (mapping/parameters) are hardcoded • SDO´s to configure units and when sending/receiving data not fitting in a PDO. • Current OBC SW implementation metrics: Total Lines of Executable Code: 1571 lines Complexity: 10 Max Nesting level: 5 Currently under testing with the different units using CAN ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 22 TEC-SW/TEC-ED GSTP ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 23 TEC-SW/TEC-ED GSTP: CAN System & SW Stack consolidation Objective: to identify necessary complementary requirements by: 1. gathering the problems in the use of CAN in various missions 2. clarify identified open issues (e.g. redundancy concept, use of CANOpen, large data unit transfer, boot loader protocol for remote programming, etc) 3. identifying growth potential for CAN (e.g. CAN-FD, multi-master, asynch control) Output: • Guidelines on how to use CAN according to the system configuration • Pre-qualified software drivers or test suite • Simplified HPL (independent from the HW execution and from the HW driver) ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 24 Contacts Emily Crudo System Software Engineer Systems, Software and In-Orbit Demonstration Department ESTEC Keplerlaan 1, PO Box 299 NL-2200 AG Noordwijk, The Netherlands [email protected] | www.esa.int T +31 71 565 6129 | F +31 71 565 5420 ESA UNCLASSIFIED - For Official Use Emily Crudo | 14/06/2017 | Slide 25