Measuring system based on standard FlexRay and diagnostics methods development Jan Malinský CTU FEE in Prague, Technicka 2, 166 27 Praha 6, Czech Republic E-mail:
[email protected]
Analog IN
The FlexRay node was designed in order to build up a FlexRay network to be used for developing diagnostic methods. The block diagram of the designed FlexRay node is shown in fig.1. The node consists of a 32-bit microcontroller STR710 from ST Microelectronic company (ARM7TDMI core), a FlexRay controller MFR4300 from Freescale and two bus drivers TJA1080 from Philips. The FlexRay communication protocol version 2.1 is implemented in the MFR4300, and the bus driver TJA1080 does not contain the bus guardian. The device is also equipped with digital inputs/outputs, analog inputs, USB 2.0, CAN and RS232 interfaces. Application and Digital I/O
address data RD WR
!
!
#
"
TxEN
Tx
Rx
TxEN
Tx
Rx
CS
RS 232
In cars today the most commonly used automotive communication standard is CAN (Communication Area Network). The FlexRay network is not supposed to replace the CAN bus. Instead, FlexRay will serve in communication for systems called X-by-wire. These systems will remove some hydraulic and mechanical parts from the cars. The removed parts will be replaced by sophisticated electronic systems that are more flexible, less expensive to build and easier to maintain. Examples of X-by-wire systems included drive-by-wire, steer-by-wire or brake-by-wire. The robustness of the standard provides the high safety level required in these applications. The FlexRay is a serial differential bus and offers many reliability features not available in CAN. The medium access control is based on TDMA (Time Division Multiple Access), and thus it is deterministic and suitable for X-by-wire applications. The standard supports a redundant communication channel enabling fully duplicated network configuration. There is a maximal baud rate of 10 Mbps on both channels. Each of the FlexRay nodes can contain a bus guardian prohibiting bus access in case of node
FLEXRAY NODE DESIGN
CAN bus
INTRODUCTION
malfunctions and as a result the node could violate the TDMA algorithm. The FlexRay frame is protected by a 24-bit CRC (cyclic redundancy check) twice. The first CRC, the so-called header CRC, is computed over the header of the frame. The second CRC is calculated over all the fields of the frame, including the header CRC. For more detail regarding the standard FlexRay, please see references [1], [2] or [3]. By reason of the high safety requirement it is necessary to develop methods for testing the reliability and robustness of this standard. As a result, a device was designed to enable the generation of any predefined error, which could then be transmitted to a FlexRay network. These errors replicate various faults in the network (physical layer) or in the communication controller (link layer). These errors can be caused either by physical faults or by an improperly configured communication controller.
USB 2.0
Abstract – This paper deals with a measuring system based on the new automotive communication standard FlexRay, and also deals with FlexRay diagnostic methods development. The FlexRay standard is supposed to be used commercially in the near future. The main goal is the creation of a FlexRay network consisting of several FlexRay nodes. Each of the nodes is equipped by many digital and analog outputs and inputs, and as a result there can be connected many sensors in order to achieve data acquisition. The network provides a good basis for the development of FlexRay test methods, as well as their implementation and evaluation. This paper is focused on one particular choice of test method and its implementation into a FPGA (Field Programmable Gate Array) by using VHDL (Very Hardware Description Language). The implemented device is a generator enabling the generation of predefined errors in order to test the behaviour of other nodes. For example it can be necessary to test how nodes will respond to a faulty frame CRC (cyclic redundancy check). For this case it is required to transmit a frame where the CRC is damaged. No commercial device has been equipped by feature like this so far.
#
"
Figure 1. The block diagram of FlexRay node
Figure 2. The realization FlexRay node
configuration software is written in the C language. Figure 2 shows a photograph of the node prototype. The larger board is a motherboard containing the microcontroller and interface connectors. The microcontroller can be programmed with using JTAG connector. The smaller board (FlexRay board) is made up of a FlexRay controller, FlexRay bus drivers and two FlexRay connectors (channel A and B). Both boards have interface which allow them to be connected together. MEASURING SYSTEM In order to research the standard and develop test methods and their implementation and evaluation a demonstrational measuring system based on the standard FlexRay was created. The system is shown in fig.3 and consists of six nodes. The configuration and application software is implemented in the embedded microcontroller of each node. Which kind of application software is used depends on the node function. Node no. 1 is equipped with 8 analog inputs. The node contains one 8-bit analog – digital converter. The inputs are switched using an input multiplexer. This fact could cause some problems when both channels need to be measured at the same time. This is particularly relevant in electrical power measuring, where it is necessary to sense the voltage in one channel and the current in the other channel. But by using the multiplexer in front of the analog – digital converter the voltage and the current will not be sampled at the same time. Thus there will be analog outputs
1
2
temperature sensor
slot no.3
tn s lo 1 o.
slot n o.2
analog inputs
3
FlexRay bus
4
slot no.4
5
6 display
digital inputs
digital outputs
Figure 3. The FlexRay network
oscilloscope
indispensable uncertainty of measurement. This uncertainty can be reduced with using a linear interpolation method partially in accordance with reference [4]. A digital number corresponding to the input voltage value is transmitted in the appropriate FlexRay time slot. Node no. 6 receives data from the same time slot and displays the voltage value. This node also takes and shows data from the slot in which node no. 3 has transmitted the measured temperature value. The data showing the temperature value is also received and is also converted to output voltage by node no. 2. Node no. 4 scans eight digital inputs (one byte) and node no.5 displays this digital number using LED. In order to transfer the data, the nodes use predetermined time slots. Each of the nodes is also associated with a synchronization slot. Thus there are six synchronization slots to which nodes transmit synchronization frames. With regard to the TDMA algorithm these frames are necessary for the properly timed synchronization of every node. TEST METHODS There are many FlexRay analyzers in the market today. These analyzers provide state and time analysis. This is not enough for full testing. If FlexRay testing is to be performed properly it is necessary to used equipment which enable more features than are contained in commercial analyzers. The main test method provides the possibility to generate a FlexRay frame with predefined errors (e.g. CRC error), as will be described below. The common FlexRay controller is not able to generate errors. This function has not been provided with any devices so far. There are two possible ways to create it. The first possibility is to implement the FlexRay controller as an IP (Intellectual property) function into an FPGA. By using a standard communication controller on a chip (e.g. MFR4300) it would not be possible to generate predefined errors because the standard controller is not able to do it. However, if this FlexRay controller is implemented in an FPGA as an IP function, the controller will be more flexible for providing non-standard features. On the other hand, implementing the FlexRay controller is very complicated. It would be necessary to create all features by reason of reaching behaviour as a common controller. For example it would be necessary to implement synchronization and startup algorithms [1]. This device would be connected to the network as an extra node. It would be able to generate predefined errors but not capable of changing the data stream of any node. And so in general terms there are two main disadvantages to this first possible solution. The first disadvantage is the complication of creating a FlexRay controller in an FPGA. The second disadvantage is the impossibility of changing the data stream of any node directly. The second possibility is much better than the first, and will be the focus of remainder of this paper. The main idea consists in a generating device that would be attachable between any FlexRay node and
high – level system
FlexRay bus
FlexRay node No. 1
Bus driver
generating device
Bus driver FlexRay node No. 2
FlexRay node No. 3
FlexRay node
FlexRay node
BP
FlexRay node
Tx
No. 4
No. 5
FlexRay node No. 6
FlexRay node
high – level system
autodetect changing point selection
BM
write signal generation
bus driver Rx
WR
Input part
1
FIFO no. 1 RD RD
Tx RD
FIFO No. 2
Rx
bus driver
No. 7
Figure 4. The generating device connection
the network - as is shown in fig.4 (the FlexRay node no.1 is not connected to the bus directly, but is instead attached by means of a generating device). This equipment has predefined ways of changing, receiving and transmitting data streams. Instead of having behaviour as a normal node, the device inverts some predefined parts of the data stream, or adds some new data into the original stream. Of course there is not only the mentioned generating device but also two FlexRay bus drivers. By attaching the equipment in this way a time delay is added in the path. This delay is short enough to be corrected by a clock synchronization mechanism. A node, which is affected by this delay (in fig.4 it is node no.1), corrects it by using offset correction. This correction is implemented in every FlexRay controller in agreement with the standard. For more information dealing with the clock synchronization mechanism it is possible to reference [1]. The design of the generating device was created in FPGA by using VHDL and it is shown in fig.5. It consists of several important parts. An input part serves for metastable states elimination (there is asynchronous input to the synchronous system), bit synchronization, and filtering possible of disturbance by using the over sampling method. The FIFO memory no.1 is intended for capturing the data stream in case of the need for inserting an extra data stream from FIFO memory no. 2. In this case the read pointer is stopped and the write pointer is running. In cases where extra data is not used, the data stream is read from FIFO memory no.1 directly and both pointers are running. A chosen data stream can be inverted
BP
BM
high – level system
FlexRay bus
Figure 5. The generating device design
with inverter. The changing point selection is a state machine (changing point selection) determining the point where the inserted data stream or the negated bit is initiated. Information about displacement of this point is obtained from a high level system (i.e. PC) via USB. The point is selected with the user on the basis of the communication cycle schedule. There can be many possibilities for scheduling, depending on the FlexRay network configuration. The communication cycle schedule is found out by block autodetect. This information is trasmitted to the high level system. Autodetect is a state machine which is able to discover how the unknown network was configured. As a result, this generating device is not independent of the network configuration and does not require any settings before it is connected to the unknown network. This generating device provides a basis for FlexRay testing methods. It allows the generation of any predefined error. FUTURE RESEARCH The nodes will likely be designed using other hardware platforms. The Freescale company is developing an MC9S12XF512 family of MCUs containing FlexRay controller on a chip. Consequently the node design will be simpler. The built up FlexRay network is not only useful for demonstration. The purpose of this network is to support future research dealing with FlexRay diagnostic methods and their implementation. Next it
will be necessary to determine which errors generated by created devices are important to simulate. Further research is supposed to use time automata. The time automata allow description of discrete event systems and their behaviour. By using time automata it would be possible to find out any deviation from the standard. CONCLUSION The demonstrational measuring system based on the standard FlexRay, including six nodes, was developed. The system serves to educate the standard and also provides a good basis for future research on test methods. If the FlexRay should be used in communication for X-by-wire systems it will be necessary to develop methods for reliability testing. A test method was developed enabling the generation of any predefined error in FlexRay bus. This important feature has not available in any commercial FlexRay analyzer so far. And so it laid the foundations for future developments in testing.
ACKNOWLEDGMENT This research is supervised by Ing. Ji í Novák Ph.D, Doc. Ing. Petr Kocourek, CS.c and is supported by the Czech Ministry of Education project No. 1M0568 Josef Božek Research Center of Engine and Automotive Engineering. REFERENCES [1] FlexRay Consortium, FlexRay Protocol Specification V2.1 Rev. A, 2005. [2] FlexRay Consortium, FlexRay Electrical Physical Layer Specification V2.1 Rev. A, 2005. [3] Malinsky, J.: FlexRay communication development. Proceedings EDS 06 IMAPS CS International Conference Brno, Czech Republic, pp. 34-37. ISBN 80-214-3246-2. [4] Haasz, V. - Rozto il, J. – Novák, J.: Digital Measuring Systems. Prague CTU, 2000. 315 p. ISBN 80-01-02219-6. [5] Kreidl, M. – Novák, J. – Houfek, P. – Doubek, J.: Diagnostic Systems. Prague CTU, 2001. 352p. ISBN 80-01-02349-4.
M icí systém na bázi standardu FlexRay a vývoj diagnostických metod J. Malinský Katedra m ení, Fakulta elektrotechnická, VUT Praha, Technická 2, 166 27 Praha 6 E-mail :
[email protected] Anotace: Tento lánek se zabývá vývojem m icího systému založeném na novém automobilovém komunika ním standardu FlexRay. Dále se zabývá vývojem diagnostických metod pro testování systém standardu FlexRay. Jeden z cíl je vytvo it FlexRay sí skládající se z n kolika FlexRay stanic. Každá stanice je vybavena digitálními a analogovými vstupy/výstupy na které je možno, za ú elem sb ru dat, p ipojit adu r zných senzor snímajících jak elektrické tak i neelektrické veli iny. Vytvo ená sí slouží jak pro výukové ú ely, tak i jako dobrý základ pro vývoj diagnostických metod a jejich ov ování. lánek se dále zam uje na jednu vybranou testovací metodu. Jedná se o aktivní metodu založenou na zám rném generování chyb v komunikaci vybraných stanic. Tyto generované chyby simulují skute né chyby, které by se mohly vlivem rušení, poruchy komunika ního adi e i budi e v provozu vyskytnout. Tímto se otevírá možnost sledovat chování a reakci FlexRay automobilových jednotek na libovoln uživatelsky vygenerovanou chybu . Práce p edstavuje dva možné sm ry jak injektování chyb do FlexRay sít implementovat a uvádí jejich výhody a nevýhody. lánek též analyzuje možnosti vzniku vedlejších ú ink této testovací metody (ovlivn ní m eného objektu m icím p ístrojem). Za tímto ú elem je vyvíjen model FlexRay sít pomocí asovaných automat . Použitím tohoto modelu bude možné p edvídat v jaké mí e se vedlejší ú inky p ipojeného generátoru chyb v dané síti s danou konfigurací projeví.
ÚVOD Spole n se sou astným trendem nár stu elektronických systém v automobilech p išel požadavek na nový komunika ní standard. Nový standard si vyžádala p edevším technologie x-bywire, která umož uje vy adit z automobil n které stávající mechanické a hydraulické vazby a nahradit je inteligentními, spolehlivými elektronickými systémy. Jedná se p edevším o následující technologie: steer-by–wire, neboli p enos úhlu nato ení volantu na nato ení kol elektronickou cestou, break-by-wire poskytující p enos polohy brzdového pedálu na ak ní zásah brzdového systému elektronickou cestou, drive-by-wire jinými slovy p enos polohy rychlostního pedálu elektronicky. Systémy x-by-wire pro automobily byly p evzaty z letadel (systémy fly-by-wire), kde spolehliv fungují již adu let. Tyto systémy pokládají základy pro nové inteligentní automobily, kde ídící systém je informován o úmyslech idi e (zato it, zabrzdit, zrychlit atd.) elektronickou cestou a spole n s dalšími elektronickými systémy a senzory rozhoduje o bezpe nosti požadavku idi e a následn , pro v tší bezpe nost posádky, m že zasáhnout do ízení vozidla. Standard musí být vysoce spolehlivý a musí zde být definovaná doru itelnost zprávy v daném asovém intervalu (nap íklad po sešlápnutí brzdového pedálu idi em musí být bezpodmíne n do ur ité doby zajišt no doru ení tohoto požadavku brzdovému systému). Po léta používaný automobilový komunika ní standard CAN (Communication Area Network) díky své kolizní p ístupové metod CSMA/CR (Carrier Sense Multiple Access with Collision Resolution) nemusí
vždy zaru it požadovanou latenci dat a to zejména pro rámce s nižší prioritou (vyšším identifikátorem). Zejména z tohoto d vodu CAN není vhodný pro x-by-wire systémy. Za tímto ú elem vzniklo konsorcium FlexRay, jež se sestává z p edních spole ností automobilového a elektronického pr myslu. Toto sdružení vyvinulo nový komunika ní standard téhož názvu vhodný pro x-by-wire aplikace do automobil . FlexRay je založený na p ístupové metod TDMA (Time Division Multiple Access). Použitá p ístupová metoda d lení do asových slot není jediná vlastnost kv li které je FlexRay vhodný pro komunikaci mezi x-by-wire systémy. Standard je vybaven celou adou zabezpe ovacích mechanizm . Jako p íklad je možnou uvést existenci redundantního komunika ního kanálu nebo zabezpe ení rámce dvojím CRC sou tem. Pro hlubší studium tohoto nového standardu lze doporu it literaturu [1], [2] a [6] zabývající se popisem nejnov jší verze 2.1.
M
ICÍ SYSTÉM
Vývoj FlexRay stanice Jako základ pro vývoj a ov ování testovacích metod bylo t eba vyvinout FlexRay stanice a z nich postavit sí . V dob vývoje této stanice ješt nebyla na trhu k dispozici žádná stanice ke koupi. Dnes je možno od ady firem zakoupit stanice jako vývojové moduly (hardwarové koncepce: procesor + externí integrovaný adi , adi integrovaný p ímo v procesoru nebo externí adi implementovaný v FPGA). Ovšem pro nabytí pot ebných a nezbytných zkušeností s fyzickou
a linkovou vrstvou protokolu je nutné i nadále se zabývat vývojem vlastní FlexRay stanice. Bylo zvoleno v té dob jediné možné ešení tj. procesor + externí komunika ní adi MFR4300 od spole nosti Freescale [9]. Na obr. 1: je blokové schéma této navržené FlexRay stanice. Stanice se skládá z mikrokontroléru STR710 od spole nosti ST adresa data RD
!!
WR
"(
Obr. 1:
" # $% !&!
Tx
TxEN
Rx
TxEN
Tx
' "
Rx
RS 232
Analog IN
CAN bus
USB 2.0
Digital I/O
CS
" # $% !&!
'" " "(
Blokové schema FlexRay stanice
Microelectronic [11], výše zmi ovaného adi e a dvou budi sb rnice TJA 1080 od Philips (též jediných na trhu dostupných). Po zapnutí stanice procesor konfiguruje adi a poté má funkci zpracování p ijatých dat (tzn. tvo í aplika ní vrstvu). Konstrukce byla rozd lena do dvou samostatných desek (základní deska a p ídavný FlexRay modul). V tší deska je základní deska s procesorem a konektory periferií. Lze ji využít zcela samostatn . Je možno komunikovat p es 1xCAN, 1xUSB a 2x RS232. Základní deska je též vybavena konektory pro spojení procesoru s p ídavným FlexRay modulem skládající se z FlexRay komunika ního radi e a budi sb rnice s vyvedenými FlexRay kanály A a B. Ob desky spojené dohromady, tvo ící jednu FlexRay stanici, jsou zachyceny na obr. 2:.
Obr. 2:
FlexRay stanice
Stavba FlexRay sít Plánem je vybudovat ze stanic, popsaných v p edchozím odstavci, FlexRay sí ítající kolem 10 uzl . Každá stanice by m la svoji specifickou funkci danou aplika ním softwarem v procesoru. Jedná se o snímání analogových i digitálním výstup ze senzor polohy (volant, pedály), zobrazení nam ených údaj pocházejících od jiných stanic a pohybování p íslušnými mechanizmy. Sí bude
sloužit nejenom pro výukové a demonstra ní ú ely, ale také pro ov ování navržených testovacích metod, které budou p edm tem následující kapitoly.
NAVRŽENÉ TESTOVACÍ METODY Dnes již existuje na trhu celá ada analyzátor sb rnice FlexRay. Jedná se ve své podstat vždy o digitální osciloskopy nebo logické analyzátory s implementovaným softwarem, jenž umož uje interpretovat zachycený signál dle standardu FlexRay. P ístroje je možno využít pro asovou i stavovou analýzu, tj. pouze pro pasivní odposlech. Toto ovšem není dostate né pro plné testování chování za ízení standardu FlexRay, uvážíme-li r zné okolnosti, které mohou nastat. Jestliže má FlexRay sloužit pro automobilové aplikace x-by-wire, je nezbytn nutné vyvinout testovací metody a testovací za ízení, které umožní hlubší diagnostiku FlexRay za ízení z hlediska jeho bezpe nosti a robustnosti. Tato práce dále nasti uje dv testovací metody, které dosud nejsou dostupné žádnými komer n nabízenými p ístroji a mohly by tak položit základ pro vývoj budoucích nových sofistikovan jších diagnostických nástroj a metod. První metoda spo ívá v za ízení, jež by umožnilo jakýmkoliv uživatelsky nadefinovaným zp sobem pozm nit (poškodit) rámec pocházející od dané stanice (nap íklad zám rné poškození CRC sou tu nebo vložení dodate ného bitového toku do definovaného místa p vodního rámce). Ú elem je simulovat poruchy na sb rnici i rušení, které by m ly za následek stejnou destrukci bitového toku a sledovat reakce ostatních stanic, jež tyto poškozené rámce p ijímají. Této metod generátoru chyb je v nována jedna z následujících podkapitol. Druhý p ístup, dále v textu zmi ovaný, je založen na metod HIL (Hardware in the Loop) [7]. Tato metoda dovoluje testovat FlexRay za ízení, aniž by fyzicky muselo být sou ástí systému (FlexRay sít automobilu), ve kterém za normálních okolností pracuje. Nezbytnou sou ástí této metody je i modelování standardu FlexRay pomocí asovaných automatu, jež bylo provedeno s využitím softwarového nástroje UPPAAL [8]. Tato druhá metoda je podrobn ji nastín na v následující podkapitole. Metoda HIL (Hardware in the Loop) Filosofie metody HIL (Hardware in the Loop) spo ívá v testování za ízení, jež je sou ástí n jakého v tšího systému, aniž by fyzicky do tohoto systému muselo být zapojeno. Zbytek systému je u této metody reprezentován v rohodným modelem. Na obr. 3: je blokové schéma metody HIL. Tato metoda je realizována pomocí speciálního testovacího nástroje. Tento nástroj umož uje modelovat zbytek systému, ke kterému bude testované za ízení ve skute nosti p ipojeno. Testované za ízení se tak chová a komunikuje s okolím, jako by bylo do
Testovací nástroj
Model zbytku systému
Testované za ízení
Tester
Výsledky testu Obr. 3:
Testovací metoda HIL
skute ného systému p ipojeno. Další ástí testovacího nástroje je samotný tester, jenž generuje p íslušný test prost ednictvím modelu zbytku systému, sleduje reakci testovaného za ízení a vyhodnocuje test. Metoda HIL je asto v automobilovém pr myslu využívána. Testované za ízení bývá elektronická ídící jednotka. Model pak nej ast ji p edstavuje elektromechanickou ást automobilu, která je jednotkou ízena. Z pohledu standardu FlexRay systémem rozum jme n jakou sí skládající se z FlexRay stanic. Testované za ízení je pak jedna ze stanic v síti. Testovací nástroj tak modeluje zbytek FlexRay sít automobilu a provádí uživatelem zadané testy. Model zbytku sít byl vytvo en a jeho správnost verifikována pomocí softwarového nástroje UPPAAL, jenž umož uje namodelovat systém pomocí asovaných automat . Práce se zatím zam ila pouze na ást standardu FlexRay, konkrétn proceduru startu FlexRay sít . Modelem tohoto procesu vytvo eném v nástroji UPPAAL se zabývá jedna z následujících kapitol. P edpokládá se, že testovací nástroj by m l být realizován pomocí programovatelného hradlového pole FPGA (Field Programable Gate Array). Model v testovacím nástroji by m l být konfigurovatelný podle parametr modelované sít , po tu a typu stanic (stanice se statusem startovní i normální). Jedná se tedy o implementaci vytvo ených model v UPPAAlu do FPGA popisem v jazyce VHDL a to bu ru n nebo automaticky pomocí n jakého vhodného nástroje. Jinými slovy by to tedy mimo jiné vedlo na implementaci FlexRay adi e jako IP funkce do hradlového pole (model jedné stanice vytvo ený v FPGA) v etn tvorby aplika ních vrstev jednotlivých stanic v síti použitých. To je velká nep íjemnost, uvážíme-li velkou složitost linkové vrstvy tohoto standardu a r znorodou škálu aplika ních vrstev, které se mohou v automobilové síti vyskytovat. Metoda zám rného generování chyb Tato metoda je založena na myšlence jedné i více stanic v síti, které by byly schopné uživatelským zp sobem chybovat ve své komunikaci, tj. generovat FlexRay rámce s jakoukoliv
definovanou chybou. Jsou p edpokládány chyby projevující se zm nou hodnoty bitu i jeho ásti a zm nou zpožd ní. Tyto chyby reprezentují skute né chyby, které se ve eventuáln mohly vyskytnout bu na fyzické vrstv vlivem rušení nebo na linkové vrstv jako chyba v komunika ním adi i. Cílem je sledovat reakce ostatních stanic na tyto chyby. Otázkou však z stává, jak p inutit stanici definovan chybovat ve své komunikaci. To je úloha na první pohled tém ne ešitelná, nebo automobilová FlexRay jednotka bude vesm s kompaktní celek bez možnosti jakéhokoliv zásahu uvnit . Dokonce i kdyby byl možný bezproblémový p ístup do jednotky, tak uvnit se bude nacházet standardní adi , který v žádném p ípad není možno donutit uživatelským zp sobem chybovat ve své komunikaci. V podstat existují dva p ístupy jak tuto p ekážku obejít. První možností je odpojit FlexRay jednotku u níž požadujeme, aby ve své komunikaci chybovala a tuto jednotku nahradit novou p ídavnou stanicí, speciáln za tímto ú elem konstruovanou (viz. obr. 4:). U této speciální stanice se p edpokládá, že do ní bude umožn n bezproblémový p ístup a bude realizována pomocí adi e v hradlovém poli jako IP funkce. Takový adi m že být vytvo en p esn dle pot eby a tudíž i bez problému definovaným zp sobem chybovat ve své komunikaci. Toto ešení má ovšem dv velké nevýhody. První spo ívá ve velké složitosti tvorby kompletního adi e standardu FlexRay do FPGA. Bylo by t eba implementovat všechny aspekty standardu jako jsou nap íklad mechanizmus startu sít i synchroniza ní algoritmus [1]. Druhou nevýhodou je skute nost, že by p ídavná stanice musela mít implementovánu stejnou aplika ní vrstvu jako odpojená stanice nehled k tomu, že každá stanice v síti má jinou aplika ní vrstvu. To jsou dv stejné obtíže, které byly uvedeny v p edchozí podkapitole týkající se metody HIL. nová FlexRay stanice
FlexRay stanice .1
FlexRay stanice .2
rozpojeno
FlexRay stanice .3
Obr. 4:
FlexRay stanice .4
FlexRay stanice .5
Náhrada jedné ze stanic
Druhá možnost generování chyb odstra uje ob nevýhody p edchozího ešení. Myšlenka tohoto ešení je zapojit do série mezi danou stanici, jejíž bitový tok chceme ur itým zp sobem poškodit, a sb rnici tzv. m ni . Tento m ni by se synchronizoval na bitový tok, který by ob ma sm ry transparentn tímto za ízením procházel. V ur itém, uživatelem vybraném, míst tohoto bitového toku by
došlo ke zm n daného po tu bit i vložení p ídavné bitové sekvence. Tento p ístup nevyžaduje implementaci komunika ního FlexRay protokolu ani aplika ní vrstvy konkrétní stanice, jako tomu bylo u první možnosti. Bude zde pouze implementován automat umož ující výše popsanou funkci synchronizace na ur itou sekvenci bit a jejich poškození i asové zpožd ní. Stanice, jejíchž bitový tok je t eba poškodit, z stane dále zapojena do sít na rozdíl od prvního p ístupu popsaného v p edchozím odstavci. Nebude však p ipojena p ímo, ale p es výše popsané za ízení. Jedinou otázkou z stává, do jaké míry tento m ni svým zpožd ním ovlivní provoz sít . Podle prvních odhad by synchroniza ní mechanizmy stanic v síti zapojených m ly být schopny se s tímto zpožd ním vypo ádat do takové míry, že by nem lo dojít ke zhroucení komunikace na síti. P esto ale, jak bude dále ukázáno, k ur itému ovlivn ní sít dojde. FlexRay stanice .1
budi sb rnice
m ni
budi sb rnice
FlexRay stanice .2
FlexRay sb rnice
FlexRay stanice .3
Obr. 5:
FlexRay stanice .4
FlexRay stanice .5
FlexRay stanice .6
FlexRay stanice .7
Zapojení m ni e do sít
Tato kapitola se dále bude v novat poslední jmenované možnosti, tj. m ni i p ipojeném mezi FlexRay stanici a sb rnici a schopném definovan m nit bitový tok. Zapojení takového m ni e do sít je možno sledovat na obr. 5:, kde je nazna ena FlexRay sí skládající se ze sedmi stanic. Stanice .2 je na rozdíl od ostatních p ipojena práv p es m ni . Na rozhraní m ni – FlexRay stanice a m ni – FlexRay sb rnice je za azen vždy ješt budi sb rnice z d vodu nekompatibility elektrických FlexRay signál se signály m ni e (FPGA). V etn budi e obsaženého uvnit FlexRay stanice jsou na cest mezi sb rnicí a FlexRay adi em celkem t i budi e. To bude mít za následek v tší zpožd ní signálu, které by m lo být korigováno synchroniza ními mechanizmy v adi i. Po et budi v cest by mohl být redukován za p edpokladu možnosti p ipojení m ni e p ímo do stanice mezi budi a adi , ímž by došlo k eliminaci dvou externích budi . Taková možnost bude ale u testovaných stanic (automobilových jednotek) z ejm málo pravd podobná pokud se tedy s tímto nepo ítalo již p i návrhu stanice. Proto je nezbytné se dále zabývat variantou - t i budi e na cest mezi sb rnicí a adi em a jejími odpovídajícími zpožd ními.
MODELOVÁNÍ
Testovací metoda zám rného generování chyb, která byla popsána v p edchozí kapitole, založená na použití m ni e p idává do komunika ní sít p ídavné zpožd ní. Stejn tak jako každý m icí p ístroj ovlivní m ený objekt, tak i tento m ni svým p ídavným zpožd ním ovlivní testovanou sí . P i rozboru dopadu tohoto zpožd ní je t eba se p edevším zam it na ovlivn ní startovního a synchroniza ního mechanizmu jednotlivých stanic. Za ú elem odhadování vlivu zpožd ní na fungování t chto mechanizm je t eba vytvo it model sít respektující startovní a synchroniza ní mechanizmus. Startovní mechanizmus a jeho modelování Standard FlexRay je založen p ístupové metod TDMA (Time Division Multiple Access), kde komunikace probíhá v asových slotech. Z tohoto d vodu zde musí existovat mechanizmus umož ující nastartování sít . Jinými slovy stanice si mezi sebou musí definovat po átek komunika ního cyklu a zkontrolovat stejné rozvržení asového schématu. V této kapitole bude ve stru nosti popsán start FlexRay sít (tzv. clusteru) od okamžiku vzbuzení jednotlivých stanic, p es jejich integraci do sít , až po dosažení normálního aktivního stavu. Úplný popis lze nalézt v [1] p íp. [12]. Na obr. 6: je zjednodušený pohled na startovní mechanizmus v síti FlexRay. P ed zapo etím startu sít musí být jednotky nejprve vzbuzeny a následkem toho se nacházet ve stavu p ipraven (p ipraven na za len ní se do sít ). V každé FlexRay síti musí existovat dv stanice, které mají status startující. Tyto dv stanice nejprve mezi sebou navážou komunikaci Definice asového rozvrhu
1. stanice
2. stanice
status: startující
status: startující
Komunika ní sí FlexRay (p ístupová metoda TDMA)
3. stanice
4. stanice
5. stanice
status: nestartující
status: nestartující
status: nestartující
Obr. 6:
Zjednodušený pohled na startovní mechanizmus
pomocí tzv. startovních rámc . Tím definují asové schéma a ostatní stanice se statusem nestartovní, které jsou startovním stanicím pod ízené, se na základ t chto startovních rámc jsou schopny do sít integrovat. Toto za len ní do komunikace bude pro nestartovní stanici úsp šné pouze pokud má stejné asování jaké nastolily startovní stanice. Pokud vše prob hne korektn , tak se na sb rnici nachází dvojice startovních rámc od obou startovních stanic v každém komunika ním cyklu. Podle t chto rámc ,
které mají zárove funkci synchroniza ní, všechny ostatní nestartovní stanice v síti provedou po áte ní synchronizaci svých asových základen. Všechny stanice v síti p ejdou do normálního aktivního stavu, ímž je sí nastartována a p ipravena k provozu. Pokud ovšem n která nestartující stanice bude mít jiné asování, než jaké bylo nastoleno startujícími stanicemi, nikdy se ji nepoda í k síti p ipojit, ímž se p edejde narušení komunikace na b žící síti. V p ípad , kdy si neodpovídají asová schémata mezi startovními stanicemi, nedojde k nastartování sít v bec, a tudíž ani k rozjezdu automobilu. Vra me se zp t k m ni i zapojeném mezi stanici a sb rnici. Ten svým zpožd ním ovlivní na asování p íslušné stanice a tím i start sít . V extrémních p ípadech by se dokonce mohlo stát, že sí vlivem tohoto m ni e nenastartuje v bec a to zejména v p ípad , kdy byla na asována na sice ješt akceptovatelné, ale již hrani ní hodnot . Za ú elem odhadování vlivu m ni e na start sít bylo t eba vytvo it model sít respektující startovní mechanizmus. Ten byl vytvo en pomocí asovaných automat v softwarovém nástroji UPPAAL. Software pochází z univerzity Uppsala a slouží k modelování diskrétních real-time systém . Vytvo ený model byl následn verifikován p íslušnými dotazy. Model umož uje sestavit sí z libovolného po tu uzl a každému uzlu je možno nastavit jeho vlastní konfiguraci ( asové parametry). Na tento model je možno se ptát dotazy o úsp šnosti i neúsp šnosti startu sít p ípadn sledovat start sít v závislosti na ase. Test je t eba rozd lit na dva p ípady – bu bude zpožd na startovní stanice nebo nestartovní. Podrobný popis tohoto modelu p esahuje rámec tohoto lánku. Všechny podrobnosti je možno nalézt v [12]. Synchroniza ní mechanizmus a jeho modelování Každý uzel v síti odvozuje asování od své lokální asové základny. Rychlosti t chto asových základen samoz ejm nemohou být p esn stejné a navíc vlivem rušivých veli in, jako je nap . teplota, se m ní. Následkem toho mají z globálního pohledu r zné stanice v síti nestejné trvání nejmenšího asového kvanta (tzv. mikrotiku - uT) odvozeného od asové základny. Ve standardu FlexRay se rozlišují dv chyby, které mohou vlivem nestejných asových základen nastat. První chyba se nazývá chyba rychlosti a je dána nestejnou dobou trvání jednoho uT. Druhá chyba, dedukovaná chybou rychlosti, je nazývána chyba ofsetu. Díky ní nenastávají za átky komunika ních cykl pro všechny uzly ve stejný okamžik. Pokud by se sí nechala v b hu bez jakékoliv synchronizace, došlo by ke zvýšení chyby ofsetu na hodnotu p i které by již asování nevyhovovalo toleran nímu asovému schématu. Standard FlexRay provádí synchronizaci pomocí tzv. synchroniza ních rámc , které jsou v každém komunika ním cyklu vysílány synchroniza ními stanicemi. Ostatní stanice tyto rámce p ijímají
a po ítají rozdíl mezi p edpokládaným a skute ným asem p íchodu v jednotkách svého lokálního asu. Za jeden komunika ní cyklus tak každá stanice nasbírá soubor t chto asových rozdíl od všech synchroniza ních stanic v síti. Na základ t chto m ení je schopna nastavit korek ní hodnoty své asové základny. Podrobn jší popis toho mechanizmu p esahuje rámec tohoto lánku. Více podrobností je možno je možno nalézt v [1] p íp. [6]. Vložené zpožd ní (za azení m ni e) k dané stanici ovlivní korek ní hodnoty u všech ostatních uzl v síti. Problém je t eba rozd lit na dva p ípady, bu dojde ke zpožd ní stanice, které má status synchroniza ní a nebo se zpozdí stanice se statusem nesynchroniza ní. Vliv zpožd ní bude možno p edpovídat pomocí modelu. Model bude, stejn jakou u startovního mechanizmu, vytvo en pomocí asovaných automat s využitím nástroje UPPAAL. Bude tak možno sledovat vývoj korek ních hodnot v závislosti na ase pro model sít bez vloženého zpožd ní a se zpožd ní a vzájemn je mezi sebou porovnávat.
ZÁV R Sou astná komer n nabízená testovací technika za ízení standardu FlexRay je založena pouze na pasivním odposlechu sb rnice. To je evidentn nedosta ující a tak se tato práce pokusila nazna it cesty, jakými by bylo možno se v budoucnosti vydat p i vývoji nových testovacích metod za ízení standardu FlexRay. Sou ástí práce je též vývoj FlexRay sít . Nejprve byla nastín na metoda „HIL“ a byly ukázány obtíže provázející její p ípadnou implementaci. Další popsaná metoda „zám rné generování chyb“ by m la umožnit p edstírání chybné funkce stanice na úrovni linkové nebo chybné fyzické vrstvy mezi danou stanicí a zbytkem sít . Metoda bude samostatn použitelná p edevším v p ípad , kdy je fyzicky k dispozici celý systém (tj. celá testovaná FlexRay sí ). V práci bylo pojednáno o implementaci této metody založené na chybovém generátoru, tzv. m ni i. Poslední ást tohoto lánku analyzovala možný negativní dopad zapojeného m ni e na FlexRay sí . Vytvo enými modely je možno tento dopad p edpovídat a na základ tohoto u init rozhodnutí o závažnosti ovlivn ní následných test . Analýza se zam uje na startovní a synchroniza ní mechanizmus.
POD KOVÁNÍ Tato práce je podporována z projektu ministerstva školství . 1M0568 – Výzkumné centrum spalovacích motor a automobil Josefa Božka
LITERATURA
[1] FlexRay
Consortium, FlexRay Specification V2.1 Rev. A, 2005.
Protocol
[2] FlexRay
Consortium, FlexRay Electrical Physical Layer Specification V2.1 Rev. A, 2005.
[3] Malinský,
J.: FlexRay Communication Development. Proceedings EDS 06 IMAPS CS International Conference Brno, Czech Republic, pp. 34-37. ISBN 80-214-3246-2.
[4] Malinský, J.: Measuring System Based on
Standard FlexRay and Diagnostics Methods Development. Applied Electronics 2007, International Conference, Pilsen: University of West Bohemia, pp. 129-132. ISBN – 978-807043-537-3.
[5] Malinský, J.: Referen ní systém FlexRay,
Realizace.-Prov. org. Výzkumné centrum spalova ích motor a automobil Josefa Božka Praha, dat. prov. – za . 2006-09-01 ukon . 200612-31.
[6] Malinský, J.: Komunika ní standard FlexRay.
P ednáška – sb rnicové systémy (38SS), b ezen 2007, FEL VUT Praha, Katedra M ení.
[7] Krákora, J., Hanzálek, Z.: Testing of Hybrid Real- time System Using FPGA Platform. IEEE Symposium on Industrial Embedded Systems – IES 2006 [CD-ROM]. Lyon: CNRS-ENS, 2006, ISBN 1-4244-0777-X.
[8] P ednáškové slide UPPAAL. Katedra techniky FEL VUT Praha.
[9] Komunika ní
adi MFR http://www.freescale.com
4300,
ídící
datasheet
[10] Rodina
16-bit procesor MC9S12XF s integrovaným adi em standardu FlexRay, datasheet http://www.freescale.com
[11] Procesor
STR710 (ST Microelectronics) datasheet, http://www.st.com/stonline
[12] Malinský, J.: Metodika pro základní diagnostiku sb rnice FlexRay, odborná studie 2007, Katedra m ení FEL VUT Praha