Delphi and the DS502 NEXUS Interface - dSPACE
Delphi and the DS502 NEXUS Interface - dSPACE
Delphi and the DS502 NEXUS Interface - dSPACE
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Delphi</strong> <strong>and</strong> <strong>the</strong> <strong>DS502</strong> <strong>NEXUS</strong> <strong>Interface</strong><br />
Mark M c Farl<strong>and</strong> <strong>and</strong> Rick Skertic<br />
Slide #1<br />
Delco Electronics Systems
Introduction<br />
<strong>Delphi</strong> has been using Rapid Algorithm Development (RAD)<br />
tools in its st<strong>and</strong>ard tool chain to develop new application for<br />
several years. Most of this work has been done using <strong>the</strong><br />
Algorithm Bypass processes. The interface between <strong>the</strong> ECU<br />
<strong>and</strong> <strong>the</strong> Autobox or MicroAutobox has traditionally been done<br />
using a Dual Port Memory (DPM) board. Due to <strong>the</strong> fact that<br />
<strong>Delphi</strong> uses a wide spectrum of processors we have had to<br />
develop several DPMs each with its own test connector <strong>and</strong><br />
mechanical configuration.<br />
With <strong>the</strong> event of <strong>the</strong> <strong>NEXUS</strong> debug port <strong>Delphi</strong> saw <strong>the</strong><br />
opportunity to make this <strong>the</strong> universal tool interface for<br />
calibration, debug, <strong>and</strong> RAD. <strong>dSPACE</strong> <strong>and</strong> <strong>Delphi</strong> jointly<br />
worked to created <strong>the</strong> <strong>DS502</strong> in order to use <strong>the</strong> <strong>NEXUS</strong> port<br />
for RAD applications.<br />
Slide #2<br />
Delco Electronics Systems
<strong>DS502</strong> Front View<br />
Slide #3<br />
Delco Electronics Systems
<strong>DS502</strong> Side View<br />
Slide #4<br />
Delco Electronics Systems
<strong>DS502</strong> Features<br />
! St<strong>and</strong>ardized robust Nexus connector<br />
! Wide input operating range 4.8 to 32V<br />
! 26V jumpstart protection<br />
! Isolated power supply to prevent ground loops.<br />
! Passthrough connector for multiple tool connection<br />
! Interrupts can be generated through watchpoints or <strong>the</strong> EVTO<br />
pin.<br />
! Protection buffers to prevent power moding problems with <strong>the</strong><br />
ECU<br />
Slide #5<br />
Delco Electronics Systems
Configurable Development System (CDS),<br />
<strong>DS502</strong> & Debugger<br />
Slide #6<br />
Delco Electronics Systems
Development Tools<br />
! CDS<br />
– The CDS is a rapid prototyping hardware platform used by <strong>Delphi</strong> to meet<br />
customer dem<strong>and</strong>s for quick turns on proto-hardware. This unit utilizes a variety<br />
of drop-in processor cards to meet customer requirements.<br />
! <strong>DS502</strong><br />
– The <strong>DS502</strong> provides RAD support for multiple processors <strong>and</strong> <strong>the</strong>refore helps to<br />
preserve <strong>the</strong> tool chain while different solutions, to <strong>the</strong> customer requirements,<br />
are evaluated.<br />
! Debugger<br />
– <strong>NEXUS</strong> debuggers are supplied by Ashling, Lauterbach, <strong>and</strong> WindRiver.<br />
Slide #7<br />
Delco Electronics Systems
Interrupt Latency<br />
! The <strong>DS502</strong> supports <strong>the</strong> interrupt process using ei<strong>the</strong>r<br />
watchpoint messages or <strong>the</strong> EVTO line.<br />
! Interrupt latency was measured at ~24uS.<br />
– This was measured using a simple model that increments a signal input <strong>and</strong><br />
writes it back.<br />
Slide #8<br />
Delco Electronics Systems
Data Exchange Rates<br />
! The Nexus port has non-intrusive access to <strong>the</strong> CPU’s bus, in<br />
most cases.This allows data to be exchanged without <strong>the</strong> ECU<br />
having to run special code. The <strong>NEXUS</strong> port can access this<br />
data as ei<strong>the</strong>r discrete elements or as a block of data. The<br />
access of data in blocks is faster but <strong>the</strong> flexibility of <strong>the</strong> discrete<br />
element approach has its own advantages.<br />
! It should be noted that <strong>the</strong> data rate is directly tied to <strong>the</strong><br />
operating frequency of <strong>the</strong> processor. In <strong>the</strong> Power PC <strong>the</strong><br />
request going into <strong>the</strong> processor are clocked at 1/2 <strong>the</strong> CPU’s<br />
clock rate <strong>and</strong> <strong>the</strong> data coming out of <strong>the</strong> CPU is clocked at <strong>the</strong><br />
CPU’s clock rate.<br />
! The data rate is also dependant on <strong>the</strong> number of pins used to<br />
transfer <strong>the</strong> information. The MPC565 <strong>NEXUS</strong> port support 1 or<br />
2 input pins <strong>and</strong> 1 or 8 output pins.<br />
Slide #9<br />
Delco Electronics Systems
Discrete Element Data Exchange Rates<br />
! When using <strong>the</strong> <strong>NEXUS</strong> port to exchange individual pieces of<br />
data each read requires 6.8 uS <strong>and</strong> each write requires 21.7 uS<br />
on average.<br />
– Processor running at 40 MHz.<br />
! The process of performing <strong>the</strong> RAD process adds an overhead<br />
of 80.3 uS to <strong>the</strong> process. This includes interrupt latency <strong>and</strong><br />
communications processes.<br />
– Processor running at 40 MHz.<br />
! The actual time needed to perform <strong>the</strong> algorithm has to be<br />
added to <strong>the</strong> above numbers.<br />
! By accessing <strong>the</strong> data as discrete elements <strong>the</strong> developer has<br />
<strong>the</strong> highest degree of freedom in specifying <strong>the</strong> data to be<br />
exchanged. Because <strong>the</strong> data is written directly to <strong>the</strong><br />
parameter locations in <strong>the</strong> ECU, <strong>the</strong>re is little overhead in <strong>the</strong><br />
ECU to support <strong>the</strong> process.<br />
Slide #10<br />
Delco Electronics Systems
Discrete Block Data Exchange Rates<br />
! When using <strong>the</strong> <strong>NEXUS</strong> port to exchange blocks of data each<br />
read requires 0.608 uS <strong>and</strong> each write requires 3.3 uS on<br />
average.<br />
– Processor running at 40 MHz.<br />
! The process of performing <strong>the</strong> RAD process adds an overhead<br />
of 80.3 uS to <strong>the</strong> process. This includes interrupt latency <strong>and</strong><br />
communications processes.<br />
– Processor running at 40 MHz.<br />
! The actual time needed to perform <strong>the</strong> algorithm has to be<br />
added to <strong>the</strong> above numbers.<br />
! By accessing <strong>the</strong> data as blocks <strong>the</strong> highest throughput rates<br />
can be achieved, but <strong>the</strong>re is a higher impact to <strong>the</strong> ECU. The<br />
data ei<strong>the</strong>r has to be blocked by <strong>the</strong> software engineer ahead of<br />
time or code has to be added to <strong>the</strong> ECU to distribute <strong>the</strong> data.<br />
– Blocking <strong>the</strong> data is inflexible <strong>and</strong> requires constant maintenance.<br />
– When generic hooks are implemented to distribute <strong>the</strong> data both processors<br />
cycles <strong>and</strong> ECU resources are used.<br />
Slide #11<br />
Delco Electronics Systems
Robust Test Connector<br />
! The <strong>NEXUS</strong> committee officially approved <strong>the</strong> 51 pin test connector that<br />
<strong>Delphi</strong> proposed as <strong>the</strong> Nexus Connector type “C Robust” in <strong>the</strong> 1.5 version<br />
of <strong>the</strong> specification which will be made public before June 2002<br />
! This connector has <strong>the</strong> following features<br />
– Supports up to 2 data inputs <strong>and</strong> 8 data outputs.<br />
– Supports 150 MHz. operation.<br />
– Mechanically sound for <strong>the</strong> in-vehicle environment.<br />
– Small mechanical footprint.<br />
– This 51 pin interface is robust enough to meet <strong>the</strong> needs of <strong>the</strong> in-vehicle environment.<br />
» Temperature<br />
» Vibration<br />
» Mating<br />
– Same connector can be used for both Nexus <strong>and</strong> OCDS.<br />
– A significant number of grounds are present for de-coupling.<br />
Slide #12<br />
Delco Electronics Systems
<strong>Delphi</strong>’s Bypass-Technique<br />
Processor Resource Impact<br />
! FLASH Image<br />
– Communications Code<br />
» ~512 bytes<br />
– Algorithm Hooks<br />
» ~20 bytes pre algorithm<br />
! RAM Image<br />
– Stack<br />
» ~40 bytes per interrupt that is active<br />
– Communications Area Discrete Access<br />
» ~64 bytes<br />
Slide #13<br />
Delco Electronics Systems
<strong>Delphi</strong>’s Bypass-Technique<br />
Processor Resource Impact<br />
! RAM Image (continued)<br />
– Communications Area Block Access<br />
» The size of <strong>the</strong> area is directly dependent on <strong>the</strong> amount of data that is to be<br />
exchanged <strong>and</strong> how intrusive <strong>the</strong> process is into <strong>the</strong> development process.<br />
! Least Intrusive<br />
– 255 bytes 18 Parameters exchanged<br />
– 512 bytes 55 Parameters exchanged<br />
– 1024 bytes 128 Parameters exchanged<br />
! Most Intrusive<br />
– 255 bytes 65 Parameters exchanged<br />
– 512 bytes 194 Parameters exchanged<br />
– 1024 bytes 450Parameters exchanged<br />
Slide #14<br />
Delco Electronics Systems
<strong>DS502</strong> Features<br />
! The <strong>DS502</strong> supports a passthrough connector for <strong>the</strong> <strong>NEXUS</strong> bus allowing<br />
o<strong>the</strong>r tools access to <strong>the</strong> bus.<br />
Slide #15<br />
Delco Electronics Systems
Tools<br />
! <strong>Delphi</strong> has been using a configuration tool that allows <strong>the</strong> user<br />
to graphically associate model parameters to ECU parameters.<br />
– Configuration control<br />
– Automatically re-associates model parameters with ECU parameter with each<br />
compile.<br />
– Creates <strong>the</strong><strong>DS502</strong> setup file for <strong>the</strong> user.<br />
– ASAP II compatible<br />
Slide #16<br />
Delco Electronics Systems
RAD Configuration Tool<br />
Slide #17<br />
Delco Electronics Systems
DS 502 Demo<br />
! This Demonstration is being done with <strong>the</strong> MPC565.<br />
! The process is monitored by <strong>the</strong> <strong>Delphi</strong> Calibration Tool, <strong>the</strong><br />
Instrumentation Tool Set (ITS) using a CAN Calibration Protocol<br />
(CCP) link.<br />
! This demo will show <strong>the</strong> following features.<br />
– Soft Start / Stop<br />
– Bypass<br />
– Tap<br />
– Replace<br />
– On <strong>the</strong> fly algorithm switching<br />
Slide #18<br />
Delco Electronics Systems
ControlDesk<br />
Slide #19<br />
Delco Electronics Systems
Advantages<br />
! The 51 pin <strong>NEXUS</strong> connector can be used both as <strong>the</strong> universal<br />
tool interface <strong>and</strong> as <strong>the</strong> interface to production units.<br />
– Reprogramming<br />
– Data Acquisition<br />
– System Diagnostics<br />
– RAD Work<br />
» When this interface is available on a production ECU, RAD work can be<br />
started immediately for <strong>the</strong> software of carryover programs.<br />
! Cost effective solution for application that run 6.25 mS or<br />
greater cycle times using <strong>the</strong> following criteria.<br />
– %5 throughput hit for <strong>the</strong> process.<br />
– Exchanging 50 parameters between <strong>the</strong> ECU <strong>and</strong> <strong>the</strong> RPS.<br />
! The <strong>DS502</strong> can be used across several processor families so<br />
<strong>the</strong> same tool chain can be used on many different projects.<br />
– Motorola SPS Power PC<br />
– Infineon Tricore<br />
Slide #20<br />
Delco Electronics Systems
Advantages<br />
! Because <strong>the</strong> <strong>NEXUS</strong> port allows <strong>the</strong> RAD System to directly<br />
access any location in <strong>the</strong> ECU memory map, <strong>the</strong> data that is to<br />
be processed can be very flexible. The user can redefine what<br />
ECU RAM data is to be used by <strong>the</strong> processor at any time. The<br />
skilled users can also access <strong>the</strong> peripherals that are available<br />
to <strong>the</strong> ECU.<br />
! Because <strong>the</strong> ECU doesn’t have to h<strong>and</strong>le <strong>the</strong> moving of <strong>the</strong><br />
data, <strong>the</strong> hooks that <strong>the</strong> ECU runs are streamlined.<br />
– Lower impact to available FLASH<br />
– Less software maintenance<br />
! This process can be used on “off <strong>the</strong> shelf” development<br />
boards.<br />
– This means that <strong>the</strong> RAD process can be started earlier in <strong>the</strong> development<br />
phase.<br />
Slide #21<br />
Delco Electronics Systems
Disadvantages<br />
! The <strong>NEXUS</strong> port will steal cycles in some cases that can effect<br />
<strong>the</strong> timing of some code.<br />
! Slower data acquisition rates don’t support some applications.<br />
! The access cycles used by <strong>the</strong> MPC565 <strong>NEXUS</strong> port show up<br />
on <strong>the</strong> logic analyzer <strong>and</strong> have to be manually processed by <strong>the</strong><br />
user.<br />
– This issue has been brought to Motorola’s attention<br />
! All tools can’t access <strong>the</strong> <strong>the</strong> <strong>NEXUS</strong> port at <strong>the</strong> same time. A<br />
port arbitration protocol needs to be implemented.<br />
– Currently being addressed by <strong>the</strong> IEEE ISTO-Nexus5001 Forum, Software Subcommittee<br />
Slide #22<br />
Delco Electronics Systems
! The <strong>DS502</strong> allows one tool to be used across multiple<br />
processor families.This streamlines <strong>the</strong> cost of <strong>the</strong> tools<br />
<strong>the</strong>mselves,but also cuts cost by removing learning curve<br />
issues.<br />
Conclusions<br />
! The <strong>NEXUS</strong> interface also allows for more generic, less<br />
intrusive hooks. This allows hooks to be ported from program to<br />
program with less maintenance.<br />
! The <strong>NEXUS</strong> interface is more that fast enough to h<strong>and</strong>le 80% of<br />
all RAD work being done on automotive engine controllers. This<br />
allows for a common interface to be used over may programs<br />
simplifying <strong>the</strong> tool availability issues.<br />
Slide #23<br />
Delco Electronics Systems