+ All Categories
Home > Documents > Efteruddannelse Embedded C

Efteruddannelse Embedded C

Date post: 24-Feb-2016
Category:
Upload: cecil
View: 54 times
Download: 0 times
Share this document with a friend
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
Popular Tags:
80
Efteruddannelse Embedded C Modul 4 (Torsdag den 22/4-2010) 21.04.2010
Transcript
Page 1: Efteruddannelse Embedded  C

EfteruddannelseEmbedded CModul 4 (Torsdag den 22/4-2010)

21.04.2010

Page 2: Efteruddannelse Embedded  C

Modul 1

Indhold:1) Grundlæggende begreber i RTOS

1) FreeRTOS2) Eksempler til task

2) USB1) Standarden2) Microchips Framework

3) Afrunding på dagen

Page 3: Efteruddannelse Embedded  C

Features for FreeRTOS

Page 4: Efteruddannelse Embedded  C

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

Page 5: Efteruddannelse Embedded  C

Def. Af task

Page 6: Efteruddannelse Embedded  C

Oprettelse af en Task

Page 7: Efteruddannelse Embedded  C

Def. Prioritet, task switch

Page 8: Efteruddannelse Embedded  C

Prioritet for task

Page 9: Efteruddannelse Embedded  C

Eksempel på task switching pga. funktion

Page 10: Efteruddannelse Embedded  C

Cooperative OS

Page 11: Efteruddannelse Embedded  C

Preemption

Page 12: Efteruddannelse Embedded  C

Scheduler

Page 13: Efteruddannelse Embedded  C

Lidt mere komplet model af kernel

Page 14: Efteruddannelse Embedded  C

FreeRTOS’s Scheduler

Page 15: Efteruddannelse Embedded  C

Windows sheduler (XP)

Page 16: Efteruddannelse Embedded  C

Linux scheduler

Page 17: Efteruddannelse Embedded  C

Andre bloking funktioner

Page 18: Efteruddannelse Embedded  C

Slet task

Page 19: Efteruddannelse Embedded  C

Task relaterede funktioner

Page 20: Efteruddannelse Embedded  C

Funktioner til håndtering af semaphore

Page 21: Efteruddannelse Embedded  C

Semaphore anvendt til synkronisering

Page 22: Efteruddannelse Embedded  C

Brug af semaphore til sync

Page 23: Efteruddannelse Embedded  C

Counting semaphore

Page 24: Efteruddannelse Embedded  C

Mutex

Page 25: Efteruddannelse Embedded  C

Priority Inversion

Page 26: Efteruddannelse Embedded  C

Priority inheritance

Page 27: Efteruddannelse Embedded  C

Deadlock (deadly embrace)

http://users.erols.com/ziring/diningAppletDemo.html

Page 28: Efteruddannelse Embedded  C

Queues (forskellig data)

Page 29: Efteruddannelse Embedded  C

Queues

Page 30: Efteruddannelse Embedded  C

Dynamisk memory management

Page 31: Efteruddannelse Embedded  C

Gatekeeper task

Page 32: Efteruddannelse Embedded  C

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

Page 33: Efteruddannelse Embedded  C

USB

1)USB standarder2) USB topologi3) USB stik og kabel4) USB signaler5) Øvelse

Page 34: Efteruddannelse Embedded  C

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

Page 35: Efteruddannelse Embedded  C

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

Page 36: Efteruddannelse Embedded  C

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

Page 37: Efteruddannelse Embedded  C

Sammenligning af USB med andre interfaces

Page 38: Efteruddannelse Embedded  C

USB’s Topologi

Page 39: Efteruddannelse Embedded  C

Opsætning med udstyr

Page 40: Efteruddannelse Embedded  C

Variabel hastighed

Page 41: Efteruddannelse Embedded  C

USB stik, Up- downlink

Page 42: Efteruddannelse Embedded  C

USB plug

Page 43: Efteruddannelse Embedded  C

Stik og forbindelser

På D-, D+ ligger et differentielt signalPå nom. 3,3V

Page 44: Efteruddannelse Embedded  C

Highspeed port

Page 45: Efteruddannelse Embedded  C

Krav til USB kabel

Page 46: Efteruddannelse Embedded  C

Kabel

Page 47: Efteruddannelse Embedded  C

Signal niveauer

Page 48: Efteruddannelse Embedded  C

Signaler og enkodning

Page 49: Efteruddannelse Embedded  C

Signaler og encodning

Page 50: Efteruddannelse Embedded  C

Signaler og enkodning

Page 51: Efteruddannelse Embedded  C

USB HW

Page 52: Efteruddannelse Embedded  C

USB HW

Page 53: Efteruddannelse Embedded  C

NRZI og bit stuffing

Page 54: Efteruddannelse Embedded  C

Pakkeformat

Page 55: Efteruddannelse Embedded  C

USB HW

Page 56: Efteruddannelse Embedded  C

Transmission af frames

Page 57: Efteruddannelse Embedded  C

USB HW

• Frame interval (”keep alive”).

• High speed bus: Microframe: 125üs +/- 62.5ns

• Full/low speed bus:Frame: 1ms +/- 500ns

Page 58: Efteruddannelse Embedded  C

USB HW

Page 59: Efteruddannelse Embedded  C

USB HW

Page 60: Efteruddannelse Embedded  C

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

Page 61: Efteruddannelse Embedded  C

USB specfikation

Page 62: Efteruddannelse Embedded  C

USB HW

Eksempel: embedded USB controller og tranciever

Page 63: Efteruddannelse Embedded  C

USB HW

Page 64: Efteruddannelse Embedded  C

Transfer - types

Page 65: Efteruddannelse Embedded  C

Endpoint - transfer

Page 66: Efteruddannelse Embedded  C

Endpoint - transfer

Page 67: Efteruddannelse Embedded  C

Endpoint - transfer

Page 68: Efteruddannelse Embedded  C

Endpoint - transfer

Page 69: Efteruddannelse Embedded  C
Page 70: Efteruddannelse Embedded  C

Endpoint - transfer

Page 71: Efteruddannelse Embedded  C

Endpoint - transfer

Page 72: Efteruddannelse Embedded  C

Endpoint - transfer

Page 73: Efteruddannelse Embedded  C

USB Packet - type

Page 74: Efteruddannelse Embedded  C

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)

Page 75: Efteruddannelse Embedded  C

USB Transaction - packet

Page 76: Efteruddannelse Embedded  C

USB Packet - PID

Page 77: Efteruddannelse Embedded  C

USB Packet - type

Page 78: Efteruddannelse Embedded  C

USB protokol

Page 79: Efteruddannelse Embedded  C

Øvelse

Lav øvelse i Lab6.docx

Page 80: Efteruddannelse Embedded  C

Afrunding på dagen

• Opsummering• Tak for i dag


Recommended