Download CAN Stack development for Space

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

VMEbus wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Airborne Networking wikipedia , lookup

Internet protocol suite wikipedia , lookup

CAN bus wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Transcript
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