Ingebedde systemen (embedded systems) ftp://telescript.denayer.wenk.be/pub/CD-Microcontrollers/embedded_automotive/ Waarom ‘ingebedde systemen’ als topic in automotive elektronica?
Ingebedde systemen (embedded systems) Welke functionaliteit hebben deze ingebedde systemen? Meten : Analoge grootheden : druk, O2 gehalte , temperatuur (sensoren)
Ingebedde systemen (embedded systems) Analoge grootheden : Druk (vb. luchtdruk in het inlaatspruitstuk Manifold Absoloute Pressure MAP)
Ingebedde systemen (embedded systems) Analoge grootheden : O2 gehalte (Verbrandingsproces en emissie controle)
Ingebedde systemen (embedded systems) Analoge grootheden : Temperatuur: (ECT: Engine Coolant Temp, IAT: Intake Air Temp, EGR :Exhaust Gases Recirculation…)
Ingebedde systemen (embedded systems) Welke functionaliteit hebben deze ingebedde systemen? Meten : Analoge grootheden : druk, O2 gehalte , temperatuur (sensoren) Tijdsmetingen, frequentiemetingen
Ingebedde systemen (embedded systems) Tijdsmetingen: Nokkenas (cam) positiesensor en Krukas (crank) positiesensor bepalen de timing voor de ontsteking
Ingebedde systemen (embedded systems) Welke functionaliteit hebben deze ingebedde systemen? Meten : Analoge grootheden : druk, O2 gehalte , temperatuur (sensoren) Tijdsmetingen, frequentiemetingen Communicatie: wegens modulaire opbouw Netwerken: CAN, LIN, FlexRay
Ingebedde systemen (embedded systems) Netwerken: CAN, LIN, FlexRay HS: High Speed FT: Fault Tolerant SW: Single Wire
Ingebedde systemen (embedded systems) Welke functionaliteit hebben deze ingebedde systemen? Meten : Analoge grootheden : druk, O2 gehalte , temperatuur (sensoren) Tijdsmetingen, frequentiemetingen Communicatie: wegens modulaire opbouw Netwerken: CAN, LIN, FlexRay Berekeningen van algoritmen (motor management)
Ingebedde systemen (embedded systems) Motor management system: Berekeningen van algoritmen Input: Toerental Stand gaspedaal Aangezogen luchthoeveelheid Gevraagde vullingsgraad cilinders Absolute druk inlaatspruitstuk Motortemperatuur Tabellen Openingsduur brandstofinjector en ontstekingstijdstip i.f.v. toerentaltal en vullingsgraad Output: Hoeveelheid geïnjecteerde brandstof Ontstekingstijdstip
Ingebedde systemen (embedded systems) Welke functionaliteit hebben deze ingebedde systemen? Meten : Analoge grootheden : druk, O2 gehalte , temperatuur (sensoren) Tijdsmetingen, frequentiemetingen Communicatie: wegens modulaire opbouw Netwerken: CAN, LIN, FlexRay Berekeningen van algoritmen (motor management) I/O Sturen: DC motoren, stappenmotoren, actuatoren (injectoren)…
Ingebedde systemen (embedded systems) I/O: Output DC motoren, stappenmotoren, actuatoren (injectoren), lampen… Adaptive Front lighting System
Ingebedde systemen (embedded systems) Welke functionaliteit hebben deze ingebedde systemen? Meten : Analoge grootheden : druk, O2 gehalte , temperatuur (sensoren) Tijdsmetingen, frequentiemetingen Communicatie: wegens modulaire opbouw Netwerken: CAN, LIN, FlexRay Berekeningen van algoritmen (motor management) I/O Sturen: DC motoren, stappenmotoren, actuatoren (injectoren)… Detectie: schakelcontacten , impulstreinen…
Ingebedde systemen (embedded systems) I/O: Input Detectie: schakelcontacten , impulstreinen…
Ingebedde systemen (embedded systems) Aan welke eisen moeten deze systemen voldoen? Betrouwbaarheid: Fouttolerant ontwerp: hardware en software Grondige testfase: Hoge performantie met “low cost” hardware!
Ingebedde systemen (embedded systems) Ingebedde systemen zijn (meestal)REAL-TIME. Verwerken van ‘events’ tegen een bepaalde deadline bv. Motor management, ABS systeem, air bag…. De deadline voor ‘real time’ is functie van de toepassing! Snelle of trage systemen kunnen real-time zijn! De impact voor het missen van een deadline maakt een systeem: Hard real-time of Soft real-time
Ingebedde systemen (embedded systems) Hoe worden ingebedde systemen gespecifieerd? Rekenkracht: 8 , 16 , 32 bit,….. Hoeveelheid geheugen (program & data) Beschikbare I/O poorten, analoge I/O Clocksnelheid Stroomverbruik Selectie i.f.v.toepassing…
Ingebedde systemen (embedded systems) Opbouw i.f.v. de vereisten: Voldoet een typisch discreet microprocessorsysteem?
Nadelen diskreet opgebouwd systeem: MTBF n: aantal verschillende componenten qi: hoeveelheid van de ide component ri: FIT rate (failure in time) per miljard werkingsuren (statistisch) meestal f( temp, Vcc, Imax)
Nadelen diskreet opgebouwd systeem: PCB ontwerp EMC problemen Design fouten (door steeds complexere componenten) ‘Time to market’ en kostprijs!
Opbouw i.f.v. de vereisten: Een andere aanpak? Microcontroller
voordelen Single chip Low(er) cost Betrouwbaarheid : MTBF++ minder complexe PCB betere EMC Low(er) cost Veel standaardoplossingen Verschillende fabrikanten op de markt. Vb. INTEL is al meer dan 30 jaar op de markt.
Wat is de tendens op de markt?
meest geschikte controller kiezen in functie van: Voor een gegeven toepassing moet men steeds de meest geschikte controller kiezen in functie van: Beschikbaarheid Ervaring Tools Bibliotheken met beschikbare software Kostprijs van het systeem...
Een aantal voorbeelden van ‘low-end’ tot ‘high-end’ microcontrollers en hun specifieke eigenschappen.
4-bit controllers. low end toepassingen low cost ($0.5) pagers, calculators, low cost speelgoed(tamagochi), uurwerk, fiets km teller. low cost ($0.5) low voltage/power 1,2V-3,6V@1,8μA in actieve toestand!!! low speed 32KHz….128KHz ROM versies!!!!
8 Bit controllers bv. Infineon C537 Medium-end toepassingen Industriële toepassingen, regelaars, keyboards, PLC’s, subsystemen zoals display-units, intelligente sensoren, steppermotor drivers. Low/medium cost (rond $6) 40mA @12MHz en 5V (geen low power) Clock: 3,5 tot 16MHz (niet statisch!) -40…85ºC Industrial Features: Niet ISP! ,2UARTS ,Div/mul unit ,PWM ,12 ch. 10 bit ADC , Watchdog , Timer/counters , 40 programmable I/O lines
16 bit controllers bv. Infineon XC167 High end toepassingen. Reken intensieve toepassingen servo-controllers, PID controllers, DC-motor snelheidsregelingen, PLC’s, Industriële en automotive communicatie (CAN-bus), motor management ECU, ABS,… Medium cost ($15) Speed:2-20 MHz (100nS instr. Exec. Time) Industrial -40…85°C
Features: 128Kb Flash, On chip bootstrap loader, On Chip Debug Support 2 CAN controllers,USARTS,TIMER/COUNTERS,16 CH 10 bit ADC WDT, 103 programmable I/O lines….
32 bit controllers bv. MB91F361 Fujitsu (208 MQFP). Zeer rekenintensieve taken: Laser printers, inktjet printers, communication products (routers, bridges…), High end gaming, muziek instrumenten, GPS systemen, next generation dashboards, ECU’s… Medium cost:($20) -40..85ºC Industrial Speed: 16-64 MHz (programmable)
Features: 512Kb Flash (OS), 16Kb RAM, external bus (32bit), CAN 3CH, stepper motor control, Timer/counters, ADC, DAC, I2C, UARTS 3CH, Sound generator, PPG, LED port, DMA controller, Watchdog timer.
KULeuven, Technologiecampus De Nayer support: 4 bit: geen (ROM versies) 8 bit: 8051 reeks en Atmel AVR reeks ADμC832, C517 (C537), XC888 ,AT89S8252, 89C51CC01,T89C5115 AT Mega 128, 90USB1287, AT 90S2313,AT 90S8535 16 bit: Infineon en Beck C167 16 bit IPC@CHIP SC12 (80186) 32 bit ARM7 TDMI rood = ontwikkelbord beschikbaar
Basis: Intel 8052
Algemene 8052 familie architectuur. CPU-core van Intel (ca. 1980) is identiek, de “extra’s” verschillen! Oorspronkelijke 8052 (40 pin DIL): 8 bit CPU 4 Kb ROM (nu Flashtechnologie) 256 bytes interne RAM drie 16 bit timer/ counter circuits On chip oscillator 4 poorten (8bit) Interrupt controller Single chip gebruik Extern geheugen soms mogelijk!
CPU
Special Function Registers (configuratie I/O + CPU registers) SFR’s zijn de CPU registers en de hardware besturings- en configuratieregisters. SFR’s zitten intern in de controller en kunnen worden aangesproken als een CPU register! De hoeveelheid SFR’s is sterk afhankelijk van het type controller, maar de 8052 basisregisters zijn bij elke controller steeds aanwezig.
Aanspreken van extern geheugen via adres- en databus Extern de CPU (kan ON en OFFCHIP) Intern in de CPU (altijd ONCHIP) 8 bit 16 bit ROMless controller bv. (C537 en C517)
De externe bus architectuur: gemultiplexte adres/data bus 8052 compatibele Controller Bv: C517 van Infineon P2 MSB adresbus (A8-A15) 1 6 bit adresbus ALE Adres latch LSB adres/ LSB P0 databus adresbus AD0-AD7 A0-A7 Databus: 8 bit RD WR P3 PSEN
De externe systeem architectuur. PIN layout 8052(DIL) -4 poorten met alternatieve functie. -Extern geheugen via poorten 0 en 2 als businterface + RD + WR + PSEN
De externe businterface. Infineon C517/ C537 -Alleen nuttig met genoeg poorten, anders single chip! -ALE om adres/databus te demultiplexen.(AddressLatch Enable) -EA om code op te halen uit extern geheugen.(external acces) -PSEN om het externe code- geheugen aan te spreken. (program storage enable)
De microcontroller clock. Het ‘quartz crystal’ als frequentie bepalend element van de clockoscillator. freq
De microcontroller clock. De clock en de relatie tot de systeemtiming De clockfrequentie bepaalt: -instructietijd -stroomverbruik -EMI veel gebruikt:11.059MHz PCB layout: -signaalbanen verbonden met XTAL zeer kort houden. -XTAL kort bij controller! -massavlak!
Instructie-timing bij een 8052 compatibele controller. De systeemclock bepaalt de: -clockphases (P1,P2) -States (S1-S6) , 1state= 2 clockperiodes -machinecycli , 1 machinecyclus = 6 states Na 6 states is een eenvoudige instructie klaar: bv ADD A,#data (bv.1microseconde @12MHz) De instructieset van de controller geeft aantal machinecycli voor elke instructie aan! TIMING! machinecyclus
8052 basis instructies.
Logische bewerkingen CPL A
Datatransfer in interne dataRAM
Datatransfer in externe dataRAM
Lezen van extern codegeheugen.
Booliaanse (bit) instructies. (Carry-bit= bit accu)
Onconditionele spronginstructies.
Conditionele spronginstructies. cjne
De taal voor programma-ontwikkeling. Embedded systemen : assembler blijft nodig! Opstartcode (C verwacht geïnitialiseerde omgeving!) Stack, Chip select logic, DRAM controller… na settings in de IDE genereren de meeste compilers een ‘voorstel’. snelheid Als code complexer en groter wordt, dan zal een HLL handiger zijn. Meestal beperkingen in de taal wegens beperktheid v/d interne hardware maar… In labo: BASCOM8051 = BASIC compiler met uitbreidingen voor microcontrollertoepassingen!
Interne periferie van een 8052 controller Parallelle poorten Interne periferie van een 8052 controller Parallelle poorten. (Geen initialisatie nodig)
8052 Parallelle poorten. 4 bidirectionele basispoorten P0, P1, P2, P3 (SFR’s) 3 delen: LATCH, PORT PINDRIVER, INPUT BUFFER P0 en P2 kunnen gebruikt worden als adres/databus P3 en 2 bits van P1 hebben ook alternatieve functies (alternatieve functies kunnen gelijktijdig als poortpin gebruikt worden!!!)
I/O configuraties typische bit-latch en I/O buffer voor de poorten Q moet ‘1’ zijn bij gebruik van de alternatieve output functie. Bij reset: alle pinnen op ‘1’ !!!! Q inverterende Externe Poortpin Input buffer Bv. naar een timercircuit...
8052 Poortpin als output. Een port pindriver bestaat uit een aantal pFET’s en nFET’s die zorgen voor een ‘open drain’ structuur. Een nFET zal niet geleiden met ‘0’ op zijn gate, een pFET zal dan juist wel geleiden.
8052 Poortpin als input (‘1’ niveau op pin na reset of na write met ‘1’) Extern device dat poortpin van ‘1’ op ‘0’ stuurt, doet P3 sperren! Een ‘0’ naar ‘1’ transitie op een pin verloopt traag tot P3 terug gaat geleiden! Extern device
Schakelgedrag van ‘0’ naar ‘1’ van een pin als input Schakelgedrag van ‘0’ naar ‘1’ van een pin als input. Opgelet bij capacitieve belastingen bv. flat cable! Pull-up weerstand extern bijplaatsen!
De Read-Modify-Write instructies en hun eigenschappen De Read-Modify-Write instructies en hun eigenschappen. Sommige instructies lezen de poortpin andere de poortlatch! RMW instructies lezen de poortlatch!!!!!!!!! (poort is bestemming!) !
RMW instructies lezen de Port Latch! nFET Bv. Infineon C537 VOH (output high voltage)=2,4V@-80µA (source stroom) VOL (output low voltage)= 0,45V@3,2mA (sinc stroom)
Voordelen van de 8052 open drain poortdrivers poortpinnen (die als output werken) kunnen worden doorverbonden met elkaar zonder dat er beschadiging zal optreden van de driver. Dit kan niet bij push-pull uitgangsdrivers! Nuttig bij interfacing van oa. keyboards of bij parallelle communicatie tussen systemen!
8052 Digitale poorten als input Schakelaars verbinden met een ingangspoort. 8051 8051 8051 8051 R A B C D Welke configuratie werkt?
Problemen bij het lezen van contacten / schakelaars / keyboards 5 …30ms 5 …30ms Hardware ontdendering van een ingang Software ontdendering van een ingang?
Schakelaars / contacten Oliedruk schakelaars Thermostaat schakelaar
Keyboard = matrix van schakelaars. (Optmaal gebruik van poortpinnen Keyboard = matrix van schakelaars. (Optmaal gebruik van poortpinnen! Vanaf 6 schakelaars) Vertreksituatie: alle scanlijnen op ‘0’ Interne pull-up Interne pull-up
Optocouplers als input Reflectieve en lichtsluissensoren
Digitale poorten als output Uitgangskarakteristieken standaard 8052 poort VOH 2.4V@ IOH 80uA! Opgelet: na reset staan alle poortpinnen op “1”! alle devices actief laag aansturen!
Poort kan niet genoeg stroom IOH leveren (80uA@2,4V) Kan wel via een externe pull-up weerstand … maar… IOL per 8bit poort? Externe inverter nodig om actief laag te sturen!
Parallelle communicatie tussen twee controllers. Bidirectionele datalijnen Poort x Poort x AT89S8252 AT89S8252 P 3.2/ int0 P 3.2/ int0 Bidirectionele A handshakelijn B Vertreksituatie: beide poorten als ingang en beide handshakelijnen als interruptingang
Timers / counters Tellen van ‘events’. (counter) Meten van tijdsperiodes. (timer) 8 of 16 bit rimpeltellers. Één of meerdere clockinputs. Rollover kan interrupt veroorzaken. Speciale mogelijkheden: Capture, Compare
Timer0 en Timer1 van de 8052 twee identieke timer/counters de tijd bijhouden en/of tijd meten tussen events het tellen van de events zelf genereren van tijdsintervallen het genereren van baudrates voor de seriële poort. Verschillende werkingsmodes. Controle door SFR’s: TMOD en TCON Timer zelf bestaat uit: THx en TLx (x=0,1)
Mode0
Mode1
Mode2
De besturingsregisters: TMOD Niet ‘bitadresseerbaar’ GATE: Gating controle. (‘0’ : enabled, ‘1’ :INT pin moet 1 zijn) C/T: Counter of Timer selectiebit. (‘0’=timer, ‘1’= counter) MODEBITS M1,M0. (bepalen de 4 werkingsmodes)
De besturingsregisters: TCON TR0 en TR1 zetten de timer/counters aan/uit TF0 en TF1 zijn de ‘overflow’ statusbits
Toepassingen met Timer 0 en 1 Toepassingen met Timer 0 en 1. Tijdsmetingen van ‘events’ (eenmalige intervalmeting)
Toepassingen met Timer 0 en 1 Toepassingen met Timer 0 en 1. Tijdsmetingen van ‘events’ (eenmalige intervalmeting)
Genereren van periodische timeroverflows of ‘timeticks’. 16 bit TIMER (mode1)
Genereren van periodische timeroverflows of ‘timeticks’. 16 bit TIMER (mode1) met software reload.
Genereren van periodische timeroverflows of ‘timeticks’. 8 bit TIMER met autoreload.
Timer2 van de 8052 familie (geen standaard) 16 bits timer met speciale eigenschappen: externe reload Grotere tijd tussen ‘timeticks’ zonder tussenkomst van de CPU Toepassing bv. ‘missing’ of ‘late’ pulse detector Te bewaken pulstrein Sync. van de ‘reload’ met de dalende flank
Missing pulse detector
Absolute positiemeting a.d.h.v. lijnsensoren en hoekencoders.
De 4 velden van de ‘scanning reticle’ zijn 1/4 van de onderverdelings-periode (360º/line count) in fase verschoven Differentiëel meten
Absolute positiemeting a.d.h.v. lijnsensoren of hoekencoders.
Absolute positiemeting a.d.h.v. lijnsensoren of hoekencoders. Via interrupts ook softwarematig uit te breiden naar grotere bereiken (extra byte) met dezelfde resolutie! Telleringang (signaal A)
Absolute positiemeting a.d.h.v. lijnsensoren of hoekencoders. (digitale servosystemen) Tellerwaarde geeft steeds de positie weer! Voor lijnsensor met 20pulsen/mm (50μm) geeft dit een bereik van 1638,4mm(1,6m!) met een resolutie van 50μm.
Capture mode. sampling van timerdata bij een “event” (bv. op de dalende flank van een signaal) Te meten signaal Capture interrupt => lezen van de data uit de capture registers!
Periodemeting a.d.h.v. capture mode. Toepassing : Periodemeting a.d.h.v. capture mode.
Compare unit. Basisfrequentie aanpassen door de reloadwaarde van de timer. Pulsbreedte veranderen door compareregister aan te passen.
DC inhoud van PWM signalen.
Spectrum van een PWM signaal Spectrum van het PWM signaal Fbw<<Fpwm Externe low-pass Filtereigenschappen Bandbreedte waarmee men de duty-cycle van het signaal laat veranderen.
PWM DAC Low pass
Motorsturing (H-brug)
(A.d.h.v. een timer met compare unit) Opwekken van meerdere complexe timingsignalen. (A.d.h.v. een timer met compare unit)
Opwekken van meerdere complexe timingsignalen. - Geen timing skew tussen signalen - Geen timingjitter - Tot 8 kanalen (C537)
Watchdog timer -Betrouwbaarheid => -onmogelijk om manueel te resetten -niet snel genoeg -intern of extern Bv. 89S8252 van Atmel Write ‘1’ POF bit uit PCON register
Watchdog timer Reset door power-on of door RST signaal van watchdog timer - Kan eens hij is ingeschakeld, niet meer softwarematig uitgeschakeld worden. - Voor sommige producten (fail save) eist TUV een externe WDT wegens mogelijke fouten bij init. -NOOIT een watchdogtimer a.d.h.v. een andere timertijdbasis resetten op interruptbasis!!!! Problemen bv: -slecht geteste software. -overvloed aan interrupts. -deadlock bij multitasking -EMI probleem Watchdog= on
Seriële poorten data-uitwisseling tussen embedded systemen en PC (user interface) communicatie tussen embedded systemen Asynchrone communicatie. (via een UART) Byte gesynchroniseerde communicatie door freq. verschil Tx en Rx (CMOS niveau’s zijn onbruikbaar voor real world communicatie) Parameters: aantal databits pariteit aantal stopbits bitsnelheid (Baudrate)
Asynchrone comm.op 8051 Bv. MOV SBUF,A SBUF is op hetzelfde adres tweemaal aanwezig: -Eenmaal write only (TX) -Eenmaal read only (RX) RI en TI bit geven status aan. - 8bit uart met variabele baud rate (start, 8 data, stop) - 9 bit uart met vaste baud rate (start, 8 data, instelbare 9de bit, stop) BR=1/32 of 1/64 fosc. - 9 bit uart met variabele baud rate (start, 8 data, instelbare 9de bit, stop)BR= instelbaar
Baud rates -8052 compatibele controllers (extra timer2) Met SMOD=0 geeft 0fdh als reloadwaarde bij 11.059MHZ een bitrate van 9600BPS -8052 compatibele controllers (extra timer2) -C537 twee seriële poorten met dedicated BR generator -Timer3 bij de ADuC832
C537 van Infineon. Voordeel van de dedicated Baudrate generator: met 12MHz Xtal toch standaard Baudrates!
Multiprocessor communicatie Master-Slave of multidrop mode (of open collector) 9 bits mode, 9de bit= data (0) of adres (1) ID op slaves multiprocessor-mode aanzetten (SM2=1) interrupt op adresbyte received slave reset SM2 bit (interrupt on databyte received)
Configuraties bij seriële verbindingen Open collector interface (on board comm.), met LIN driver: LIN-bus! Alternatief: 4000 reeks logica Voordeel: -eenvoudige hardware, one wire Nadeel: -half duplex -snelheid is f(Cpar,Rpull-up) -protocol nodig(master/slave)
Toepassing van de LIN-bus.
LIN-toepassingen Seat: Door/window/seat: Steering Wheel: (very many controls are going to be positioned on the steering wheel) Cruise Control, Wiper, Turning Light, … Optional: Climate Control, Radio, Telephone, etc. Roof: (high amount of wiring) Rain Sensor, Light Sensor, Light Control, Sun Roof … (Rain Sensor needs to be interrogated every 10-20ms) Seat: many Seat Position Motors, Occupancy Sensor, Control Panel Climate: many Small Motors Control Panel Door/window/seat: Mirror,Central ECU, Mirror, Switch, Window Lift, Seat Control Switch, Door Lock, etc.
LIN Concept Technical Solution Low cost single-wire implementation (enhanced ISO 9141) Speed up to 20Kbit/s (limited for EMI-reasons) Single Master / Multiple Slave Concept No arbitration necessary Low cost silicon implementation based on common UART/SCI interface hardware Almost any Microcontroller has necessary hardware on chip Self synchronization without crystal or ceramics resonator in the slave nodes Significant cost reduction of hardware platform Guaranteed latency times for signal transmission (Predictability)
Master / Slave Protocol has control over the whole Bus and Protocol The master controls which message at what time is to be transferred over the bus. It also does the error handling. To accomplish this the master sends Sync Break sends Sync Byte sends ID-Field monitors Data Bytes and Check Byte, and evaluates them on consistance receives WakeUp Break from slave nodes when the bus is inactive and they request some action. serves as a reference with it’s clock base (stable clock necessary)
Master/Slave Protocol Is one of 2-16 Members on the Bus and receives or transmits Data when an appropriate ID is sent by the master. Slave snoops for ID. According to ID, slave determines what to do. either receive data or transmit data or do nothing. When transmitting the slave sends 1, 2, 4, or 8 Data Bytes sends Check-Byte The node serving as a master can be slave, too!
LIN protocol offers message timing predictability Time Triggered Approach Message Length is known Number of transmitted data bytes is known ® minimum length can be calculated Each Message has length budget of 140% of it’s minimum length ® maximum allowed length is known ® distance between beginning of two messages
Data Transmission 13 bit Break $55 Next 13 bit break
Identifier The identifier field is sent by the master node to all LIN nodes This identifier normally contains one of 64 different values and includes 2 parity bits in the 8 bit data The identifier is normally associated with a collection of signals that are subsequently transmitted on the LIN bus In a specific case this can initiate SLEEP mode in the LIN slave nodes – in this case no further data is transmitted on the LIN bus
LIN Message Frame synch break 13 bit synch field identifier message header 0 to 8 data fields checksum message response byte field SCI / UART format start stop 1 2 3 4 5 6 7 LSB
LIN Communication - Data from Slave to Master Master Node LIN Master Task Slave Task Trans Slave Task Rec quartz Slave Node Slave Task Trans Slave Task Rec synch field identifier synch break data byte checksum Single-master / multi-slave protocol Time triggered, no arbitration Identifier denotes message content, not physical address Multicast messages Baud rate synchronization through protocol Power saving sleep mode
LIN Communication - Data from Master to Slave(s) Master Node LIN Master Task Slave Task Trans Slave Task Rec quartz Slave Node A Slave Task Trans Slave Task Rec Slave Node B Slave Task Trans Slave Task Rec
LIN Message Frame
RS232 (EIA232) punt-punt verbinding (unbalanced). signaalspanning , signaaltiming , signaalfunctie, protocol voor informatie-uitwisseling , mechanische connecties (subD connectoren) verschillende fabrikanten gebruiken vereenvoudigde versies er is geen vereenvoudigde standaard=> iedereen gebruikt de opgegeven spanningen en connectoren met eigen verbindingskabels en protocols! Elektrische eigenschappen Ishort max. 500mA
Unbalanced (signaal t.o.v. massa) Nadeel: - verschil in massapotentiaal is niet ondenkbaar bij grotere afstanden - moelijk af te schermen signaaldraden= overspraak (bij hoge frequenties) Gedeeltelijke oplossing: - CAT5 kabel (low cap) gebruiken - slew rate beperken van signalen (niet in standaard) Standaard : 15m en 20Kbps (kabel uit 1960) met laag capacitieve kabel : Praktisch: 25m en 115Kbps tot 200Kbps
Signaalspanningen ‘0’ +8V tot +12V Slew rate wordt beperkt tot 30V/μsec ‘1’ -8V tot -12V
Praktisch Vereenvoudigde verbinding, zonder hardware handshaking, maar met software handshaking XON/XOFF. MAX232
RS422/RS485 balanced verbinding (bv. bij CAN) Common mode spanning (Vcm) wordt onderdrukt door de differentiële ingang van de receiver, dit binnen bepaalde grenzen! Differentiële uitgang Input A Input B Twisted pair cable Data is de verschilspanning tussen A-line en B-line: ‘0’ VA-VB=< -0,2V en ‘1’ VA-VB>= +0,2V ruis is op beide geleiders even groot en wordt dus als CM spanning onderdrukt Twisted pair kabel wordt meestal gebruikt bij dit soort interface hoge snelheden zijn mogelijk (10Mbps) bij grote kabellengte (1km) +afsluitimpedantie!
RS422<=>RS485 1 afsluitweerstand 2 afsluitweerstanden (beide uiteinden)
RS485 driver (SN75176) Er is nog altijd een massaverbinding nodig, ook bij balanced verbindingen!
Grounding bij balanced verbindingen Stroombeperking bij kortsluiting van een signaal met het chassis Er moet een referentiegeleider worden doorverbonden, doch best via enkele weerstanden.
Bus termination & fail save. Termination aan beide zijden van de verbinding: Bij lage snelheden minder van belang (transiënt is uitgestorven wanneer een bit wordt gesampled) Dit kan bij punt-punt verbindingen Moeilijk bij sterverbindingen (stubs kort houden!) Fail save nodig bij: draadbreuk bus ‘turn around’
Galvanische isolatie Waarom? Bij meer dan 32 nodes: repeaters of galvanische scheiding. Groter netwerk = > meer ruis op datalijnen. Men kan het netwerk opsplitsen in kleinere delen door ze galvanisch te scheiden. Netspanning op netwerkkabel! Grotere common mode spanningen mogelijk zonder beschadiging bv. bij indirecte blikseminslag.
EINDE