29.01.2015 Views

Delphi and the DS502 NEXUS Interface - dSPACE

Delphi and the DS502 NEXUS Interface - dSPACE

Delphi and the DS502 NEXUS Interface - dSPACE

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!