Efteruddannelse Embedded C

Post on 24-Feb-2016

54 views 0 download

Tags:

description

Efteruddannelse Embedded C. Modul 4 (Torsdag den 22/4 -2010 ). 21 .04.2010. Modul 1. Indhold: Grundlæggende begreber i RTOS FreeRTOS Eksempler til task USB Standarden Microchips Framework Afrunding på dagen. Features for FreeRTOS. RTOS. Task ( process ) Prioritet Task switch - PowerPoint PPT Presentation

transcript

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