Efteruddannelse Embedded C Modul 4 (Torsdag den 22/4-2010)
Modul 1 Indhold: 1)Grundlæggende begreber i RTOS 1)FreeRTOS 2)Eksempler til task 2)USB 1)Standarden 2)Microchips Framework 3)Afrunding på dagen
Features for FreeRTOS
RTOS 1)Task (process) 2)Prioritet 3)Task switch 4)Preemption vs cooperative 5)Scheduler 6)Semaphor 1)Binary 2)Counting 7)Mutex 8)Priority inversion / priority inheritance 9)Deadlock 10)Queues 11)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)
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 standarder 2) USB topologi 3) USB stik og kabel 4) USB signaler 5) Ø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 signal På nom. 3,3V
Highspeed port
Krav til USB kabel
Kabel
Signal niveauer
Signaler og enkodning
Signaler og encodning
Signaler og enkodning
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
Power. Fra V BUS, unit load: 100mA Low power bus: V BUS, 1 unit load High power bus: V BUS, 1 unit load (konfiguration) 1..5 unit load (descriptor) Self power: V BUS, 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
USB Packet - type
USB protokol Transfer - 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