Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één...

117
Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! • Waaraan moet het systeem voldoen? Betrouwbaarheid: fouttolerant ontwerp&test Performantie met “low cost” hardware!

Transcript of Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één...

Page 1: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Ingebedde systemen (embedded systems)

• Wat is een embedded systeem? Voordelen?

Meestal voor één toepassing.

Eenvoudig: meestal microcontroller!

• Waaraan moet het systeem voldoen?

Betrouwbaarheid: fouttolerant ontwerp&test

Performantie met “low cost” hardware!

Page 2: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Embedded systemen

• Hoe krachtig zijn embedded processoren? Rekenkracht:4 , 8 , 16 , 32 , 64 bit,…..

Hoeveelheid geheugen (program & data)

Beschikbare I/O poorten

Clocksnelheid

Stroomverbruik

• Selecteer i.f.v.toepassing…

Page 3: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Embedded systemen

• Embedded systemen zijn (meestal)REAL-TIME. Verwerken van ‘events’ tegen een bepaalde deadline

• bv. ABS systeem, cruise control….

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

Page 4: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Wat is een microcontroller?

CPU

X-talOsc.

PORADRES

DECODER

ROM(FLASH)(EPROM)

(EEPROM)

SRAM

ADRESBUS

DATABUS

PAR.POORT

SER.POORT

TIMERCOUNTER

• Een typisch diskreet microprocessorsysteem.

Page 5: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Nadelen• MTBF

– n:aantal verschillende componenten– qi: hoeveelheid van de ide component– ri: FIT rate (failure in time) per miljart werkingsuren (statistisch)

meestal f( temp, Vcc, Imax)

Page 6: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Nadelen

• PCB ontwerp• EMC problemen• Design fouten (steeds complexere componenten)

• ‘Time to market’ en Kostprijs!

Page 7: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

• Een typisch microcontrollersysteem

Page 8: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

voordelen• Single chip

– Betrouwbaarheid : MTBF++– minder complexe PCB– betere EMC

• Lower(er) cost• veel standaardoplossingen

bv. INTEL meer dan 25 jaar op de markt.

Page 9: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Wat is er op de markt?

Page 10: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

• Voor een gegeven toepassing moet men steeds de

meest geschikte controller kiezen in functie van:

Beschikbaarheid Ervaring tools bibliotheken met beschikbare software kostprijs...

Page 11: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

4-bit controllers.• low end toepassingen

– pagers, calculators, games (tamagochi), uurwerk,fiets km teller.

• low cost ($2.5) • low voltage/power

– 1,2V-3,6V@1,8μA active!!!

• low speed– 32KHz….128KHz

• ROM versies!!!!

Page 12: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

8 Bit controllers bv. Infineon C537• Medium-end toepassingen

Industriële toepassingen, regelaars, keyboards, PLC’s, subsystemen zoals display-units, sensoren, stepperdrivers.

• Low/medium cost (rond $8)• 40mA @12MHz en 5V (geen low power)• Clock: 3,5 tot 16MHz (niet static!)• -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

Page 13: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.
Page 14: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

16 bit controllers bv. Infineon XC167

• High end toepassingen.– Reken intensieve toepassingen (bv. servo-

controllers, PID controllers, motorsnelheidsregelingen), PLC’s, Industriële communicatie (CAN-bus), automotive (motor management, ABS,…)

• Medium cost ($20)• Speed:2-20 MHz (100nS instr. Exec. Time)• Industrial -40…85°C

Page 15: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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….

Page 16: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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.

• Medium cost:($25)• -40..85ºC Industrial• Speed: 16-64 MHz (programmable)

Page 17: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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.

Page 18: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De Nayer support:• 4 bit: geen (ROM versies)• 8 bit: 8051 reeks en Atmel AVR reeks

– ADμC832, C517,XC888 ,AT89S8252, 89C51CC01,T89C5115

– AT Mega 128, AT 90S2313,AT 90S8535

• 16 bit: Infineon en Beck– C167– 16 bit IPC@CHIP SC12 (80186)

• 32 bit ARM7 TDMI

rood = ontwikkelbord beschikbaar

Page 19: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

CPU

X-talOsc.

PORADRES

DECODER

ROM(FLASH)(EPROM)

(EEPROM)

SRAM

ADRESBUS

DATABUS

PAR.POORT

SER.POORT

TIMERCOUNTER

Basis 8051CPU

X-talOsc.

PORADRES

DECODER

ROM(FLASH)(EPROM)

(EEPROM)

SRAM

ADRESBUS

DATABUS

PAR.POORT

SER.POORT

TIMERCOUNTER

Page 20: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Algemene 8051 familie architectuur.

• Oorspronkelijke 8051(40 pin DIL):– 8 bit CPU– 4 Kb ROM (nu Flash)– 128 bytes interne RAM– twee 16 bit timer/ counter circuits– On chip oscillator– 4 poorten (8bit)– Interrupt controller

Single chip gebruik

CPU-core van Intel (ca. 1980) is identiek, de “extra’s” verschillen!

Extern geheugen soms mogelijk!

Page 21: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Memory map 8051

GPR

00000001

0002

00000001

0002

FFFDFFFEFFFF

FFFD

00040003

00040003

FFFFFFFE

XRAMDATA memory

ROMCODE memory

PROGRAMMA

CPU

Registers

SFR

PIOSIOAD

Timers

00

02

FFFE

8180

FEFF

01

8081

Data bus

Adres bus

RD#

WR#

PSEN#

8 bit 8 bit

MOVC@DPTR

MOVX@DPTR

I/O & control

Read/Write16 bit adres 8 bit adres

Read/WriteRead only

Controlebus

Extern de CPU Intern in de CPU

Page 22: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De externe systeem architectuur.Externe geheugenchips zijn via een adres-databus aanspreekbaar)

ROMCodegeheugen

XRAMDatageheugen

Externe datageheugenruimte

Externe codegeheugenruimte

0000h

FFFFhFFFFh

0000h

0FFFh

1000h

Intern Codegeheugen(ROM)

ROMless controller bv. (C537 en C517)

Codegeheugen:

-Code fetch

-MOVC A,@A+DPTR

Datageheugen: bv.

-MOVX A,@DPTR

/PSEN /RD /WR

4Kb

64Kb

Intern Datageheugen(RAM)

Page 23: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De externe systeem architectuur.De externe codegeheugenruimte van de ADuC832

Hier geen extern geheugen meer mogelijk! (NOP)

Page 24: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De externe bus architectuur.P2

P0

ALE

P3

RDWRPSEN

8051 compatibeleController Bv: C517 van Infineon

Adreslatch

16-bitadresbus

databus

MSB adresbus (A8-A15)

LSBadresbusA0-A7

LSB adres/databus

AD0-AD7

Page 25: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De externe systeem architectuur.

PIN layout 8051(DIL)

-4 poorten met alternatieve functie.

-extern geheugen via poorten 0 en 2 als businterface +

RD+WR+PSEN

Page 26: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De pin functies van de ADuC832

Page 27: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De externe businterface.

-Alleen nuttig met genoeg poorten, anders single chip!

-RST bij 8051 actief hoog!

-ALE om adres/databus te demultiplexen.

-EA om code op te halen uit extern geheugen.

-PSEN om het externe code-geheugen aan te spreken.

Infineon C517/ C537

Page 28: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De externe timing.Het ‘quartz crystal’ als frequentie bepalend element van de clock-oscillator.

Z

freq

Page 29: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De externe timing.

Xtal1 Xtal2

De clock en de relatie tot de systeemtiming

Clockfrequentie bepaald:

-instructietijd

-stroomverbruik

-EMI

veel gebruikt:11.059MHz

PCB layout:

-signaalbanen verbonden met Xtal zeer kort houden.

-Xtal kort bij controller!

-massavlak!

Page 30: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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)

Instructieset geeft aantal machinecycli voor elke instructie aan! TIMING!

machinecyclus

Instructie-timing bij een 8051 compatibele controller.

Page 31: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Timing van de buscontrolesignalen.Setup- en holdtime van het externe geheugen (eventueel periferie) nakijken bij interfacing!

Single chip: ALE kan meestal uitgeschakeld worden i.v.m. EMI!

Page 32: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

SOFTWAREDe interne 8051 familie architectuur.

Programmeermodel

- ACCUmulator (A)

- Processor Status Word (PSW)

- B register

- Datapointer DPTR (16 bit)

- Program Counter (16-bit)

- Interne registers (geheugenlocaties)

- Special Function Registers (SFR’s)

Page 33: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De interne registers

RS0,RS1

SFR’s hebben een vaste resetwaarde!

Let op bij poorten!

Register = geheugenlocatie die deel uitmaakt van de CPU

Page 34: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De SpecialFunctionRegister’s.(SFR’s)

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 8051 basis is bij elke controller steeds aanwezig.

SFR’s zijn de CPU registers en de hardware besturings- en configuratieregisters.

Page 35: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Interne registerstructuur van de 8052. :extra 128 interne registers (RAM)

Page 36: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De systeemstack en de CALL instructie.

instructie ninstructie n+1instructie n+2instructie n+3call subroutineinstructie n+5instructie n+6

XXYY

Externe controller-geheugen met

instructiesAdres vande

instructies16-bits

Interne controller-geheugen

Stack-pointer register(wijst naar intern

geheugen in decontroller)

07h08h09h

0Ah0Bh

SP+1

SP+1

YYXX

SP na reset

SP 8-bit

subroutine

return

1

2

3

4 5

opslaanLSB

opslaanMSB

Program counter 16-bit

PC = subroutine

6

7

8

9

PChigh =XXSP-1

PClow =YYSP-1

Jump to XXYY

Jump to subroutine

PChigh PClow

MOV SP,#end_of_var

PC (16) na reset :0000H

PC geeft adres volgende instructie aan:

• adres volgende instructie

• adres waarnaar gesprongen wordt

Page 37: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Formaat: MNEMONIC [BESTEMMING],[BRON]

MNEMONIC: de omschrijving van wat de instructie doet.vb: MOV = VERPLAATS

ADD = TEL OP...

BESTEMMING: het register waarop de bewerking wordt uitgevoerd, of de bestemming van het te verplaatsen getal, soms optioneel.

vb: 030H = adres register 30HA = de accumulatorR0 = verkort adresseerbaar register, ....

BRON: het register of het getal dat aangeeft van waar de tweede operand moet komen, of wat de tweede operand is. Deze parameter is niet steeds aanwezig (optioneel).

MOV A ,AMOVC Rn ,RnMOVX DIRECT ,DIRECT

@Ri ,@Ri@DPTR ,@DPTRDPTR ,#GETAL 8/16 BITC ,@A+DPTRBIT ,@A+PC

,C,BIT

8051 basis instructies.

Page 38: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Logische bewerkingen

CPL A

Page 39: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Datatransfer in interne dataRAM

Page 40: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Datatransfer in externe dataRAM

Page 41: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Lezen van extern codegeheugen.

Page 42: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Booliaanse (bit) instructies. (Carry-bit= bit accu)

Page 43: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Onconditionele spronginstructies.

Page 44: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Conditionele spronginstructies.

cjne

Page 45: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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 wegens beperktheid v/d interne hardware

• Ftp:// telescript.denayer.wenk.be /pub/

Page 46: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Interne periferie van een 8051 controller

Parallelle poorten.(Geen initialisatie nodig)

Page 47: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

• 4 bidirectionele basispoorten P0, P1, P2, P3 (SFR’s)• 3 delen: LATCH, OUTPUT DRIVER, 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!!!)

Parallelle poorten.

Page 48: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

I/O configuraties

Portbitlatch

Portpindriver

&D

CLK

Q

Q

ReadLatch

Int.Bus

Writeto

Latch

Readpin

Alternatieveinput

functie

Alternatieveoutputfunctie

• typische bit-latch en I/O buffer voor de 4 poorten

Q moet ‘1’ zijn bij gebruik van de alternatieve output functie.

Bij reset: alle pinnen op ‘1’ !!!!

Bv. naar een timercircuit...

inverterende

Externe Poortpin

Page 49: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Poortpin als output.Een portdriver 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.

DelayOR

1 OSC. PERIOD

Actief bijeen ‘0’ naar

‘1’ flankWeakpull-up

Actief alsV-portpin >

1..1,4V

Page 50: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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

Page 51: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Schakelgedrag van ‘0’ naar ‘1’ van een pin als input.Opgelet bij capacitieve belastingen bv. flat cable!

Pull-up weerstand extern bijplaatsen!

2 4 6 8 10 12 14 16 18 20

1

2

3

4

5

T (uS)

V poortpin

A B Met P3

Zonder P3

P3 komt ingeleiding

Page 52: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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-Instructie

Omschrijving

ANL Logische AND bv. ANL P1,AORL Logische OR bv. ORL P2,AXRL Logische EX-OR bv. XRL P3,AJBC Jump als bit 1 is en clear bit bv. JBC P1.1, labelCPL Complement bit bv. CPL P3.0INC Increment bv. INC P2DEC Decrement bv. DEC P3DJNZ Decrement and jump if not zero bv. DJNZ P2,labelMOV PX.Y,C Move carrybit in bit Y van poort XCLR PX.Y Clear bit Y van poort XSETB PX.Y Set bit Y van poort X!

Page 53: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

RMW instructies lezen de Port Latch!

Portbitlatch

&D

CLK

Q

Q

ReadLatch

Int.Bus

Writeto

Latch

Readpin

Alternatieveinput

functie

Alternatieveoutputfunctie

Vcc

InternePull-up

Vcc Vcc

Actief lagesturing

Actief hogesturing

nFET

Bv. Infineon C537

VOH (output high voltage)=2,4V@-80µA(source stroom)

VOL (output low voltage)= 0,45V@3,2mA(sinc stroom)

Page 54: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Voordelen van de 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!

Page 55: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Schakelaars verbinden met een ingangspoort.

A B C

Welke configuratie werkt?

Digitale poorten als input

8051 8051 8051

R

8051

D

Page 56: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Keyboard/switch basics.+5V

Naar de controlleringang

+5V

GND

Schakelaaropen

Schakelaardicht

Schakelaaropen

Contactdender

Schakelaar ingedrukt t

5 …30ms 5 …30ms

Page 57: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Hardware ontdendering van een ingang

Software ontdendering van een ingang?

Page 58: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Oliedruk schakelaars

Thermostaat schakelaar

Switches

Page 59: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Keyboard =switchmatrix.(Optmaal gebruik van poortpinnen! Vanaf 6 schakelaars)

AT89S8252

"0"

1

1

1

Scanlijnen

1

1

1

1

Leeslijnen

Keyboard matrix

POORT X

Interne pull-up

Interne pull-up

Vertreksituatie: alle scanlijnen op ‘0’

Page 60: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Optocouplers als input

Reflectieve en lichtsluissensoren

Page 61: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Digitale poorten als outputUitgangskarakteristieken standaard 8051 poort

Opgelet: na reset staan alle poortpinnen op “1”! alle devices actief laag aansturen!

Page 62: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Externe invertor nodig om actief laag te sturen!

Poort kan niet genoeg stroom IOH leveren (80uA@2,4V)

Page 63: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Parallelle communicatie tussen twee controllers.

AT89S8252 AT89S8252

Poort x Poort x

P 3.2/ int0 P 3.2/ int0

Bidirectionelehandshakelijn

Bidirectionele datalijnen

Vertreksituatie: beide poorten als ingang en beide handshakelijnen als interruptingang

A B

Page 64: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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

Page 65: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Timer0 en Timer1 van de 8051

• 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)

Page 66: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Mode0

Page 67: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Mode1

Page 68: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Mode2

Page 69: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De besturingsregisters: TMOD

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)

Niet ‘bitadresseerbaar’

Page 70: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De besturingsregisters: TCON

TR0 en TR1 zetten de timer/counters aan/uit

TF0 en TF1 zijn de ‘overflow’ statusbits

Page 71: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Toepassingen met Timer 0 en 1.Tijdsmetingen van ‘events’ (eenmalige intervalmeting)

OSC Div 12

1

&

TF0TL0

(8 Bits)TH0

(8 Bits)T0 pin

Gate

INT0 pin

TR0Control

C/T =0

C/T =1

Interrupt

5V

Gnd

Externevent

Set&Cleareddoor hardware

Resetten voorintervalmeting

INT0 kan gelijktijdiggebruikt worden als een

interruptingang en als gate.

>

t

‘1’

t

Timerincrements elke µSEC.

1µSEC onzekerheid 1µSEC onzekerheid

Page 72: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Toepassingen met Timer 0 en 1.Tijdsmetingen van ‘events’ (eenmalige intervalmeting)

FFFFh

0000h

Timeroverflow

IRQTimer

IRQgate

t

IRQTimer

IRQTimer

IRQTimer

Tellerregister16 bit

Gatesignaal

65556µSEC@12MHz

65556µSEC@12MHz

65556µSEC@12MHz

65556µSEC@12MHz

5555h

21845µSEC@12MHz

t

Gate tijd= 4x65536µSEC +21845 µSEC

C/T=0TR0=1

GATE=1RESET TH0,TL0

Startmeting

IRQ Timer : INC “COUNTER”

IRQ gate : lees TH0, TL0 en “COUNTER” en bereken de tijd

COUNTER TH0 TL0

Overflows tellen

Stop:Gate dicht

Page 73: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Genereren van periodische timeroverflows of ‘timeticks’.

• 16 bit TIMER (mode1)

65536µSEC@12MHz

t0000h

FFFFh

16 bit timer (mode1)zonder reload

TimerIRQ TimerIRQ TimerIRQ

Timer overflow

Page 74: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Genereren van periodische timeroverflows of ‘timeticks’.• 16 bit TIMER (mode1) met software reload.

t0000h

FFFFh

TimerIRQTimerIRQ TimerIRQ

Timer overflows

TimerIRQ TimerIRQ

XXYY“preload”

(FFFF-XXYY) . f/12

Timing jitter!

Interruptroutine bij timeroverflow:stop timer: TR0=0reload timer: TH0=XX

TL0=YYstart timer: TR0=1“toepassing” bv. Sturen van poortpinnenRETI

Interrupt latency time = constant !!!

timingjitter

= geschikt als “timetick”

Accumulatie van timingfouten!!

Page 75: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Genereren van periodische timeroverflows of ‘timeticks’.8 bit TIMER met autoreload.

FFh

00h

THxreloadwaarde

t

timeroverflows

timerIRQ

timerIRQ

timerIRQ

timerIRQ

timerIRQStart timer

TLx en THxladen

(FFh-reload).12/f

DJNZ COUNTER,BACKMOV COUNTER,#SKIP_IRQ

BACK: RETI

Toepassing

timerIRQ Initialisatie: MOV COUNTER, #SKIP_IRQ

Page 76: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Timer2 van de 8051 familie (8052)• 16 bits timer met speciale eigenschappen: externe reload'Missing or late pulse' detector. (netspanningsuitval)

Sync. van de‘reload’ met dedalende flank

Grotere tijd tussen ‘timeticks’ zonder tussenkomst van de CPU

Toepassing bv. ‘missing’ of ‘late’ pulse detector

Te bewaken pulstrein

Page 77: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Missing pulse detector

Timeroverflow

TR2= ‘on’EXEN2= ‘on’

Geenoverflow

IRQ

okNiet ok

Vanaf hierdetectie

Pulsontbreekt

T2EXpin

ok

ReloadXXYY

0000h

FFFFh

TL2,TH2 laden

OverflowIRQ

t

t

Page 78: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Absolute positiemeting a.d.h.v. lijnsensoren en hoekencoders.

Page 79: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

De 4 velden van de ‘scanning reticle’ zijn 1/4 van de onderverdelings-periode (360º/line count) in fase verschoven

Differentiëel meten

Page 80: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Absolute positiemeting a.d.h.v. lijnsensoren of hoekencoders.

A

Bcw

Bccw

D Q

Clk

A

B Direction T2EX pin

Count T2 pin

Page 81: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Absolute positiemeting a.d.h.v. lijnsensoren of hoekencoders.

0000h

underflow

overflow

Direction(ook softwarematig tecontroleren =pin P1.1)

P1.0

Telleringang

(signaal A)

Via interrupts ook softwarematig uit te breiden naar grotere bereiken (extra byte) met dezelfde resolutie!

Page 82: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Absolute positiemeting a.d.h.v. lijnsensoren of hoekencoders.(digitale servosystemen)

Direction

Count

FFFFh

0000h

7FFFh

Preload

Up Down

t

Start beweging

‘0’ positie‘home’

t

t

Up

TR2=’on’

+ - +

+

-

Voor lijnsensor met 20pulsen/mm (50μm) geeft dit een bereik van 1638,4mm(1,6m!)

met een resolutie van 50μm.

Tellerwaarde geeft steeds de positie weer!

Page 83: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Capture mode. • sampling van timerdata bij een “event”

(bv. op de dalende flank van een signaal)

Timer2 in CAPTURE mode

Interrupts tellenvoor software‘teller extentie’

Te meten signaal

Capture interrupt => lezen van de data uit de capture registers!

Page 84: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Toepassing :

Periodemeting a.d.h.v. capture mode.

Capture1

Capture2

0000h

FFFFh

1713h

E01fh

t

t

T2EX

Tellerwaarde

time= (capture2 - capture1)x 12/f

TimeroverflowIRQ

CaptureIRQ

CaptureIRQ

overflow

Timer2 in CAPTURE mode

Interrupts tellenvoor software‘teller extentie’

Page 85: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Compare unit.

S

R

QPort x.y

16 bit timer (autoreload)

16 bit compareregister16 bit

digitalecomparator

match

Timeroverflow

• Basisfrequentie aanpassen door de reloadwaarde van de timer.

• Pulsbreedte veranderen door compareregister aan te passen.

Page 86: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

DC inhoud van PWM signalen.

DC inhoud

Page 87: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Spectrum van een PWM signaal

Filtereigenschappen

Spectrum van het PWM signaal

Externe low-pass

Bandbreedte waarmee men de duty-cycle van het signaal laat veranderen.

Fbw<<Fpwm

Page 88: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

t

Vout

• PWM DAC

Low pass

Page 89: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

• Motorsturing (H-brug)

Page 90: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Opwekken van meerdere complexe timingsignalen.

(A.d.h.v. een timer met compare unit)

Page 91: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Opwekken van meerdere complexe timingsignalen.

- Geen timing skew tussen signalen

- Geen timingjitter

- Tot 8 kanalen (C537)

Page 92: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Watchdog timer

WDTENWDTRSTPS0,PS1,PS2

ResetCPU

Prog.prescaler

Watchdogtimer

Onafhankelijkeoscillator

Osc.

Power onPOF bit=’1'RST heeft

geen invloed

(Power Failure)

Bv. 89S8252 van Atmel

POF bit uit PCON register

-Betrouwbaarheid => -onmogelijk om manueel te resetten -niet snel genoeg

-intern of extern

Write ‘1’

Page 93: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Watchdog timer

Main loopPOF='0"

normale hoofdprogramma(oneindige lus met bepaalde

maximum-timing)

watchdog reset

POF='1'?

Systeeminitialisatie

N

Jok Error handler(error counter??)

nok

Watchdog reset

Shut down

Interrupt handler

Power-on 'POF'='1'

Bv: programma-loop= 26mSEC watchdog=32 mSEC

- 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!!!!

Reset door power-on of door RST signaal van watchdog timer

Problemen bv:

-slecht geteste software.

-overvloed aan interrupts.

-deadlock bij multitasking

-EMI probleem

Watchdog= on

Page 94: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Seriële poorten

• Asynchrone communicatie. (via een UART) Byte gesynchroniseerde communicatie door freq. verschil Tx en Rx

LSB MSB0V

+5V

EvenPAR

Startbit

0 0 0 0 00 1 Stop / rust1 1 1Stop /rust

t

CMOSniveaus

• data-uitwisseling tussen embedded systemen en PC (user interface)

• communicatie tussen embedded systemen

(CMOS niveau’s zijn onbruikbaar voor real world communicatie)

Parameters:

• aantal databits

• pariteit

• aantal stopbits

• bitsnelheid (Baudrate)

Page 95: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Asynchrone comm.op 8051

SBUF

Ontvangstbuffer

Transmitter

Receiver

Baud rategenerator

SCON

TxD

RxD

Data van ennaar de CPU

- 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

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.

Page 96: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

SCON SFR

Page 97: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Baud rates

Bitrate=

SMOD

32X T1

T1 = F oscillator12x[256-(TH1)]

TH1= reloadwaarde TIMER1

2SMOD= controlebit uit PCON SFR

-8052 compatibele controllers (extra timer2)

-C537 twee seriële poorten met dedicated BR generator

-Timer3 bij de ADuC832

Met SMOD=0 geeft 0fdh als reloadwaarde bij 11.059MHZ een bitrate van 9600BPS

Page 98: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

C537 van Infineon.Voordeel van de dedicated Baudrate generator: met 12MHz Xtal toch standaard Baudrates!

Page 99: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

SCON SFR

Page 100: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Multiprocessor communicatie• Master-Slave of multidrop mode

TxD RxD RxD RxD RxDTxD TxD TxD

Master Slave

Adres=1 Adres=2 Adres=3

Slave Slave

Bv. RS485

• 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)

(of open collector)

Page 101: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Configuraties bij seriële verbindingen• Open collector interface (on board comm.), met LIN driver: LIN-

bus!

+

-

+6V

+

-

+6V

+

-

+6V

Open collector

Open collector

Open collector

Comparator

Comparator

Comparator

Pull-up

Gemeenschappelijke lijn

TxD

RxD

TxD

TxD

RxD

RxD

Master

+12V

Voordeel:

-eenvoudige hardware, one wire

Nadeel:

-half duplex

-snelheid is f(Cpar,Rpull-up)

-protocol nodig(master/slave)

Alternatief: 4000 reeks logica

Page 102: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

CAN

CAN

Power Train

Light

Sub-Bus

ITS

Window Lift

InteriorLight

Lock

Mirror

Lock

Mirror

Lock

Lock

Seat

Htng

Seat

Htng

Instruments

CentralBody Ctrl

Climate

Universal Motor

Universal Panel

Light

Roof

1 backbone, 13 nodes8 subnets, 1-8 local nodes52 nodes total

St-Wheel Panel

x6Htng

Htng

Seat

Wiper

Trunk

WHtg

Universal Light

Toepassing van de LIN-bus.

Page 103: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Roof:(high amount of wiring)

Rain Sensor, Light Sensor, Light Control, Sun Roof …(Rain Sensor needs to be interrogated every 10-20ms)

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.

Climate: many Small MotorsControl Panel

Seat:many Seat Position Motors,Occupancy Sensor,Control Panel

• Door/window/seat: Mirror,Central ECU, Mirror, Switch, Window Lift,Seat Control Switch,Door Lock, etc.

LIN-toepassingen

Page 104: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

LIN Message Frame

synch break 13 bit

synch field identifier

message header

0 to 8 data fields checksum

message response

byte fieldSCI / UART format

start stop

0 1 2 3 4 5 6 7

LSB

Page 105: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

LIN Message Frame

Page 106: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

RS232 (EIA232) punt-punt verbinding (unbalanced).

• Elektrische eigenschappen

Signaal generator Signaal onvanger

Verbindings-kabel

<50 Ohm 3K...7K Ohm

Ro RL

Co CL

<2500pF

Vo

<±25VEL

<±2V

Pin 7 Ground Pin 7 Ground

Informatie overdracht

connectorpinnen

• 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!

Ishort max. 500mA

Page 107: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

+/- 12V

Foutspanning door verschillendmassapotentiaal

RS232levelCMOS level

RS232level CMOS level

Single-ended(unbalanced)

communication

verbindingskabel

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

Page 108: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Signaalspanningen

Spanning

Space

mark

Space

Logisch ‘0’

Logisch ‘1’

+25V

+3V

-25V

-3V

Transitiegebied

‘0’ +8V tot +12V

‘1’ -8V tot -12V

Slew rate wordt beperkt tot 30V/μsec

Page 109: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.
Page 110: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Praktisch

Embeddedsystem

PC

2

3

7

3

2

7

Transmitted data

Received data

Signal ground

MAX232 Vereenvoudigde verbinding, zonder hardware handshaking, maar met software handshaking XON/XOFF.

Page 111: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

RS422/RS485 balanced verbinding (bv. bij CAN)

Vcm

Common mode spanning (Vcm) wordt onderdrukt door de differentiële ingang van de receiver, dit binnen bepaalde grenzen!

Input A

Input B

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!

Differentiële uitgang

Twisted pair cable

Page 112: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

RS422<=>RS485

1 afsluitweerstand 2 afsluitweerstanden (beide uiteinden)

Page 113: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

RS485 driver (SN75176)Er is nog altijd een massaverbinding nodig, ook bij balanced verbindingen!

VCC1 VCC2

GND1 GND2

A

A

OUT

IN

Massaverbinding blijft nodig

Isignaal

Page 114: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Grounding bij balanced verbindingen

Er moet een referentiegeleider worden doorverbonden, doch best via enkele weerstanden.

Stroombeperking bij kortsluiting van een signaal met het chassis

Page 115: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

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’

Page 116: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

Galvanische isolatieWaarom?

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.

Page 117: Ingebedde systemen (embedded systems) Wat is een embedded systeem? Voordelen? Meestal voor één toepassing. Eenvoudig: meestal microcontroller! Waaraan.

EINDE