EfteruddannelseEmbedded CModul 4 (Torsdag den 22/4-2010)
21.04.2010
Modul 1
Indhold:1) Grundlæggende begreber i RTOS
1) FreeRTOS2) Eksempler til task
2) USB1) Standarden2) Microchips Framework
3) Afrunding på dagen
Features for FreeRTOS
RTOS
1) Task (process)2) Prioritet3) Task switch4) Preemption vs cooperative5) Scheduler6) Semaphor
1) Binary2) Counting
7) Mutex8) Priority inversion / priority inheritance9) Deadlock10) Queues11) Gatekeeper/monitor
Def. Af task
Oprettelse af en Task
Def. Prioritet, task switch
Prioritet for task
Eksempel på task switching pga. funktion
Cooperative OS
Preemption
Scheduler
Lidt mere komplet model af kernel
FreeRTOS’s Scheduler
Windows sheduler (XP)
Linux scheduler
Andre bloking funktioner
Slet task
Task relaterede funktioner
Funktioner til håndtering af semaphore
Semaphore anvendt til synkronisering
Brug af semaphore til sync
Counting semaphore
Mutex
Priority Inversion
Priority inheritance
Deadlock (deadly embrace)
http://users.erols.com/ziring/diningAppletDemo.html
Queues (forskellig data)
Queues
Dynamisk memory management
Gatekeeper task
Øvelse
• I kataloget src/Modul4 lægger et eksempel på et RTOS (freeRTOS), som kan kører på en PIC18F processor!!. Download den modificerede udgave og tilføj en ekstra task (taskC).
• Hver gang der trykkes på menu knap skal taskC kører (og udskrive et C på seriel port) løs dette ved hjælp af en semaphore. (hint en semaphore kan godt sendes fra en ISR, eller man kan lave en task der aftaster menu knap med et passende interval)
USB
1)USB standarder2) USB topologi3) USB stik og kabel4) USB signaler5) Øvelse
USB standarter
Superspeed, USB 3, 5Gbps
USB wireless, 480Mbps max 3m
USB 2, 480Mbps
Full og low speed, 12 Mbps/1,5Mbps
USB 2, 480Mbps m/On-The-Go
Full og low speed, 12 Mbps/1,5Mbps m/On-The-Go
USB’s Fordele for brugerne
• Let at anvende• Meget udbredt, findes på mange typer udstyr• Automatisk konfiguration• Let at forbinde, ingen fejl muligheder• Hot plug• Ingen bruger opsætning• Kan levere strøm til udstyr (max 500mA)• Hastighed• Pålidelighed• Lav pris• Strømspare funktion• Findes i wireless
USB’s fordele for udviklere
• Findes med forskellige transfer typer der er velegnet til forskellige formål.
• Understøttet af mange OS• Understøttes af meget HW• Omfattende SW til rådighed
Sammenligning af USB med andre interfaces
USB’s Topologi
Opsætning med udstyr
Variabel hastighed
USB stik, Up- downlink
USB plug
Stik og forbindelser
På D-, D+ ligger et differentielt signalPå nom. 3,3V
Highspeed port
Krav til USB kabel
Kabel
Signal niveauer
Signaler og enkodning
Signaler og encodning
Signaler og enkodning
USB HW
USB HW
NRZI og bit stuffing
Pakkeformat
USB HW
Transmission af frames
USB HW
• Frame interval (”keep alive”).
• High speed bus: Microframe: 125üs +/- 62.5ns
• Full/low speed bus:Frame: 1ms +/- 500ns
USB HW
USB HW
USB HW
Power.
Fra VBUS , unit load: 100mA
Low power bus: VBUS , 1 unit loadHigh power bus: VBUS , 1 unit load (konfiguration)
1..5 unit load (descriptor)
Self power: VBUS , 1 unit load Ekstern power
Suspend current: 500üA/unit load
USB specfikation
USB HW
Eksempel: embedded USB controller og tranciever
USB HW
Transfer - types
Endpoint - transfer
Endpoint - transfer
Endpoint - transfer
Endpoint - transfer
Endpoint - transfer
Endpoint - transfer
Endpoint - transfer
USB Packet - type
USB protokolTransfer - endpoint typer
• Control transfer• Interrupt transfer• Bulk transfer• Isochronous transfer
Transfer - transactions• Token packet• Data packet• Handshake packet• SOF packet
Pipes• Stream pipes
(alle formater, host/devise)• Messages pipes
(USB format, host)
USB Transaction - packet
USB Packet - PID
USB Packet - type
USB protokol
Øvelse
Lav øvelse i Lab6.docx
Afrunding på dagen
• Opsummering• Tak for i dag