„Nagyteljesítményű mikrovezérlők” változatai közötti eltérés

A VIK Wikiből
Fodi (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
Fodi (vitalap | szerkesztései)
208. sor: 208. sor:
Az SPI Frame 6 byte-ból áll, a CRC kikapcsolható.
Az SPI Frame 6 byte-ból áll, a CRC kikapcsolható.


45. Mutassa be a FAT file rendszer felépítését, röviden foglalja össze, hogy mi az a FAT tábla, és mi az a Directory tábla!
===Mutassa be a FAT file rendszer felépítését, röviden foglalja össze, hogy mi az a FAT tábla, és mi az a Directory tábla!===


* A partíciók egyenlő clusterekre vannak bontva
* A partíciók egyenlő clusterekre vannak bontva
234. sor: 234. sor:




46. Milyen felépítése van a ChanFatFS programcsomagnak, milyen szolgáltatásokat nyújt, és tipikusan milyen funkcionalitásokat kell  
===Milyen felépítése van a ChanFatFS programcsomagnak, milyen szolgáltatásokat nyújt, és tipikusan milyen funkcionalitásokat kell  
egy ilyen programnál portolni, ha saját rendszerünkben szeretnénk használni?
egy ilyen programnál portolni, ha saját rendszerünkben szeretnénk használni?===
 
Tipikusan beágyazott rendszerekhez létrehozott FAT fájlrendszer, platformfüggetlen.
Application -> FatFS module -> (LowLevel disk I/O, RTC Clock)
 
Portolás: Disk drive inicializáció, Disk drive státusz lekérdezés, szektor olvasás. Ha nem readonly Szektorírás és Disk specifikus tulajdonságok (disk_ioctl). get_fattime: rendszeridő lekérdezés.


47. Milyen vezetékek futnak egy USB 2.0 kábelben, mi ezek szerepe? Milyen USB csatlakozókat használnak? Rajzolja fel egy up-/downstream USB FS transzíver sémáját! Melyik hol található? Mi a lényeges különbség? Miben tér el az LS és FS transzíver?
47. Milyen vezetékek futnak egy USB 2.0 kábelben, mi ezek szerepe? Milyen USB csatlakozókat használnak? Rajzolja fel egy up-/downstream USB FS transzíver sémáját! Melyik hol található? Mi a lényeges különbség? Miben tér el az LS és FS transzíver?

A lap 2014. május 29., 13:54-kori változata

Nagyteljesítményű mikrovezérlők
Tárgykód
VIMIM342
Általános infók
Kredit
4
Tanszék
MIT
Követelmények
Házi feladat
1 db
Vizsga
írásbeli
Elérhetőségek

Ellenőrző kérdések a „Nagyteljesítményű mikrovezérlők” tárgyhoz

1. Mutassa be, a mikrovezérlő piac alakulását és fő trendjeit az ARM Cortex magú vezérlők megjelenéséig. Milyen főbb vezérlő családok jelentek meg, ezeknek milyen jellegzetességeik voltak!

1976: Intel 8048, 8049

  • 8 bit
  • 10 MHz
  • 1-2k ROM, 64-256 byte RAM

1980: Intel 8051

  • 8 bit ALU és adat
  • 16bit cím
  • UART
  • Power saving mode
  • 128 byte RAM, 4kByte ROM, 4*8 bi-dir I/O, 2*16bit counter/timer

1993: PIC

  • EEPROM alkalmassá teszi amatőr felhasználásra
  • 1K EEPROM program, 64byte EEPROM adat, 36 byte SRAM

1997: Atlem IPS Flash

  • AVR mag
  • In-System programozható normál feszültségen
  • 8kB Flash, 512B SRAM, 512B EEPROM, UARt, SPI, PWM, 32 I/O

2003: Első ARM7-es alapú mikrovezérlő

  • 2006: Cortex M3

2. Mutassa be az ARM cég filozófiáját és a hagyományos ARM magok: ARM7, ARM9, ARM11 jellegzetességeit

  • Processzor magok tervezésével foglalkozik, közvetlenül nem gyárt
  • Széles termékskála, legelterjedtebb 32bit-es család
  • ARM7-9-10-11-> növekvő teljesítmény és fogyasztás
  • ARM7 -> Cortex M
  • ARM9 -> Cortex R
  • ARM 10/11 -> Cortex A

3. Ismertesse az ARM7 magok jellemzőit: utasításkészlet, architektúra működési módok. Interrupt kezelés!

  • Kevés utasítás, kis komplexitás
  • 3 elemű pipeline
  • Load-Store Architektúra, általános regiszterek
  • 5 működési mód
    • FIQ
    • Supervisor
    • Abort
    • IRQ
    • Undefined
  • Alacsony szintű interrupt kezelés
  • 2 utasításkészlet:
    • 32 bit ARM
    • 16 bit THUMB (30%-kal kisebb, 40%-kal lassabb)

4. Hasonlítsa össze a 8bites és 32bites mikrovezérlők lábszámának és Flash memóriájának, valamint árának a változását az elmúlt 5-10 évben!

5. Hasonlítsa össze a 8bites és 32bites mikrovezérlők sleep fogyasztásának és mőködési feszültség tartományának, valamint perifériakészletének alakulását az elmúlt 5-10 évben!

6. Ismertesse a 8bites és 32bites mikrovezérlők választása mellett és ellen szóló legfőbb érveket!

8bit:

  • Alacsonyabb ár
  • Erre specializált 8bites esetén alacsonyabb fogyasztás
  • A 8bites mindig robusztusabb
  • Erős gyári támogatás, egyszerűbb chip, egyszerűbb fejlesztés

32bit:

  • Az árkülönbség egyre csökken
  • mA/MIPS-ben sokkal jobb, mint a 8bites
  • Lemaradás sleep-áramfelvételben és feszültségtartományban folyamatosan csökken


7. Mutassa be az ARM Cortex mag sorozatának (M, R, A) jellegzetességeit! Melyik Cortex-es sorozat melyik hagyományos mag sorozat kiváltására készült!

8. Mutassa be a Cortex M3 processzor mag fő jellemzőit (architektúra, főbb blokkok,újdonságok az ARM7-hez képest)!

  • THUMB-2 Utasítás készlet: Nincs külön ARM és THUMB, egyszerre tartalmaz 16 és 32 bites utasításokat
  • Egyszerűbb programozó modell az ARM7-hez képest
  • Nagyobb teljesítményű utasítások, mint az ARM7-en
  • Hozzáférési módok
    • Privileged (volt Supervisor, minden erőforráshoz hozzáfér)
    • Unprivileged (Felhasználói mód, néhány utasítás letiltva, System control Space regiszterek nem hozzáférhetőek)
  • Működési módok
    • Thread mód (normál, lehet privilegizált és nem is)
    • Handler mód (Kivétel / Interrupt kezelés, privilegizált)
  • 2 külön Stack -> rosszul működő alkalmazás nem tudja kilőni az oprendszert
    • Main stack: OS-nek és interruptoknak fenntartva
    • Process stack: Thread mód számára

9. Mutassa be röviden a Cortex M3 alapú vezérlők memória szervezésének jellemzőit.Milyen főbb cím tartományok vannak, mi az a bit banding, mi a non-aligned memóriahozzáférés. Mik a főbb különbségek az ARM7 alapú vezérlőkkel szemben!

10. Mutassa be a Cortex M3 utasítás végrehajtását (pipe-line), programozói modelljét(load and store), regiszter készletét!

11. Mutassa be a Cortex M3 mőködési módjait és hasonlítsa ezeket össze az ARM7mőködési módjaival!

12. Mutassa be a Cortex M3 standard perifériáit (System timer, NVIC, debugg blokkok) és az ezek által nyújtott elinyöket!

13. Mutassa be a piacon kapható legelterjedtebb Cortex M3 alapú mikrovezérlő sorozatokat!

14. Mutassa be a legelterjedtebb ARM7 magú és Cortex M3 magú sorozatok belső felépítésének fejlidését az elmúlt 8 évben!

15. Mutassa be a Reset és elindulás folyamatát az STM32F107 és az LPC1768 vezérli esetében!

16. Mi az a Flash gyorsító modul, miért szükséges. Mutassa be röviden a hasznát és a mőködését!

17. Mutassa be egy tipikus Cortex M3 magú vezérli órajel hálózatát. Magyarázza meg az egyes órajel osztások értelmét és szükségességét.

18. Mutassa be röviden a CMSIS-t (Cortex Microcontroller Software Interface Standard).

19. Mutassa be egy általános 32 bites mikrovezérlő GPIO lábainak kezelését. Milyen a 8bites vezérlőkre nem jellemzi problémák léphetnek fel az STM32F107 esetében a GPIO lábak kezelésénél. Nagyteljesítményő mikrovezélik (VIMIM342)

20. Mutassa be egy modern Timer blokk által nyújtott lehetiségeket. Milyen Timer megvalósítások lehetségesek egy 32 bites vezérlinél?

21. Mutassa be az SPI kommunikáció jellegzetességeit és mutasson példát tipikus SPI buszon keresztül kommunikáló perifériákra.

22. Mutassa be az I2C kommunikáció jellegzetességeit és mutasson példát tipikus I2C buszon keresztül kommunikáló perifériákra.

23. Mutassa be az USART periféria tipikus felhasználási lehetiségeit! 24. Mutassa be a mikrovezérlőkben található AD és DA átalakítók tipikus tulajdonságait és mőködését.

25. Hasonlítsa össze a Cortex M3 NVIC-ét az ARM7 megszakításkezelési lehetiségeivel.

26. Mutassa be az NVIC interrupt vektor tábla szervezésének főbb jellegzetességeit (nem kell tudni fejbil az IT tábla felépítését). Hány periféria megszakítást támogat az NVIC, mindegyiket ki szokták ezek közül használni?

27. Mutassa be az NVIC priorítás kezelésének alapjait. Mire jók a megszakításmaszk regiszterek, és mi az értelme a Vector Table offset regiszternek?

28. Mutassa be a Cortex M3 NVIC-jének megszakítás végrehajtási folyamatát! Mi az a tail-chaining, mi történik ilyenkor?

29. Mutasson példát a DMA kezelés használatára! Milyen átviteli és mőködési lehetiségeket kínál egy általános DMA blokk. Milyen paramétereket kell általában beállítani egy DMA átvitelhez?

30. Mutassa be röviden az STM32F1xx vezérlők DMA blokkjának mőködését. Milyen problémákat okozhat a memória – memória átvitel esetében a cirkuláris buffer beállítás használata? Hogyan próbálják a DMA hatékonyságát növelni az új sorozatú vezérlőknél (memória elrendezés)?

31. Röviden mutassa be a beágyazott operációs rendszerek és az asztali operációs rendszerek közötti különbségeket! Miért célszerő egy operációs rendszer porttal kezdeni egy 32 bites vezérli fejlesztését, milyen járulékos dolgokat hoz általában magával egy kész operációs rendszer port?

32. Röviden mutassa be a µC-OS felépítését és jellegzetességeit!

33. Röviden mutassa be az eCos felépítését és jellegzetességeit!

34. Röviden mutassa be a FreeRTOS felépítését és jellegzetességeit!

35. Mutassa be, hogy milyen lehetiségeink vannak a mikrovezérlők aktív fogyasztásának befolyásolására 8 bites és 32 bites mikrovezérlők esetében. Hasonlítsa össze nagyvonalakban a 8 bites és 32 bites mikrovezérlők aktív fogyasztásának alakulását az elmúlt pár évben.

36. Mutassa be, hogy egy általános 8 bites és 32 bites mikrovezérlőnek milyen energiatakarékos módjai vannak (általánosan jellemzi módok kellenek, nem kell tudni, hogy melyik vezérlinél hogy hívják ezeket).

37. Tipikusan miért vannak hátrányban a 32 bites vezérlők a 8 bites társaikhoz képest az energiatakarékos fogyasztás (passzív állapotok) tekintetében. Milyen technikákat, trükköket vetnek be ezek kompenzálására?

38. Mi az a ROM monitor (más néven GDB stub), tradicionálisan hogy és hol lehet használni, miért nem a legjobb megoldás a modern 32 bites mikrovezérlők esetében?

39. Mi az a GDB, milyen jellegő parancsok használhatóak a GDB-ben a target debuggolására? Mi az a GDB RSP, milyen tulajdonságai vannak, miért játszik fontos szerepet a beágyazott rendszerek debuggolásában!

40. Mi az az Open-OCD, milyen főbb komponensekbil áll, mire kell odafigyelni, amikor kész Open-OCD forításokat próbálunk használni saját eszközünkhöz?

41. Mutassa be nagyvonalakban, hogy milyen lépések játszódnak le akkor, amikor egy Eclipse-es GDB, alapú debugger felületen le szeretnénk egy debugg állapotban lévi target egy változójának értékét kérdezni az OpenOCD segítségével!

42. Mutassa be, hogy milyen blokkokból áll a Cortex M3 Coresight debug rendszere, mennyivel nyújtanak ezek a blokkok több lehetiséget egy tradicionális hibakereséshez képest.

43. Mik azok az SD kártyák, milyen főbb típusaik vannak? Milyen alapvető lehetőségek vannak a fizikai illesztésüknél, és mik ezeknek az előnyei és hátrányai?

Secure Digital Memory Card. Standard (-2GB), SDHC (4-32GB) és SDXC(32GB-2TB) változatok elérhetőek. Az interfészek között van különbség, de lefelé kompatibilisek.

Típusai:

  • SD Card - 32 x 24 mm
  • MiniSD Card - 21.5 x 20 mm
  • microSD Card - 15 x 11 mm

Minimális sebesség: 8 Mb/s, Class szám adja meg a sebességet. Leggyorsabb a Class 10. Kommunikációs módok:

  • One-bit SD mode: Külön parancs és adat csatotrna
  • Four-bit SD mode: Extra adattáblák
  • SPI mode: Egyszerűsített kommunikációs elsősorban mikrokontrolllerek részére

Mutasson egy rövid példát az SD kártyák kezelésére SPI módban: írás, olvasás, törlés (nem kell a pontos parancsszámokat tudni, elég, egy átviteli ábra mindegyikből)!

Az SPI Frame 6 byte-ból áll, a CRC kikapcsolható.

Mutassa be a FAT file rendszer felépítését, röviden foglalja össze, hogy mi az a FAT tábla, és mi az a Directory tábla!

  • A partíciók egyenlő clusterekre vannak bontva
  • Minden file egy vagy több clustert foglal el. Egy file a clusterek láncolt listájával megadható.
  • Sokszor az összetartozó clusterek nem egymás mellett vannak -> Fragmentálódás

Boot sector:

  • Bootloadert tartalmaz
  • Nem mindig az első szektor

FS Information sector:

  • Csak FAT32-ben
  • Szabad terület gyors nyilvántartása

File allication Table (FAT) Table

  • Leíró lista, ami térképet ad a partíció clustereihez
  • Tartalmazza
    • Következő cluster száma
    • End of Clusterchain jelzés
    • Bad Cluster jelzés
    • Reserved Cluster jelzés
    • 0 Ha a cluster nem használt

Directory Table

  • Speciális file
  • Minden file vagy directory egy 32byte-os blokkal azonosítódik
  • Tartalmazza: Név, Kiterjesztés, Attribútumok, Utolsó hozzáférés, Cluster cím, Méret


===Milyen felépítése van a ChanFatFS programcsomagnak, milyen szolgáltatásokat nyújt, és tipikusan milyen funkcionalitásokat kell egy ilyen programnál portolni, ha saját rendszerünkben szeretnénk használni?===

Tipikusan beágyazott rendszerekhez létrehozott FAT fájlrendszer, platformfüggetlen. Application -> FatFS module -> (LowLevel disk I/O, RTC Clock)

Portolás: Disk drive inicializáció, Disk drive státusz lekérdezés, szektor olvasás. Ha nem readonly Szektorírás és Disk specifikus tulajdonságok (disk_ioctl). get_fattime: rendszeridő lekérdezés.

47. Milyen vezetékek futnak egy USB 2.0 kábelben, mi ezek szerepe? Milyen USB csatlakozókat használnak? Rajzolja fel egy up-/downstream USB FS transzíver sémáját! Melyik hol található? Mi a lényeges különbség? Miben tér el az LS és FS transzíver?

48. Milyen állapotokat vehet fel az USB két adatvezetéke? Az egyes állapotokhoz adjon példát: mikor kerülnek ezek a buszra? A fizikai rétegben milyen bitkódolást használ az USB átvitel?

49. Mutassa be egy USB csomag általános felépítését! Milyen főbb csoportokba oszthatók a csomagok, mi ezek jellemzije? Jellemezze az USB négy transzfer típusát! Mikor melyiket érdemes/kell használni? Mondjon példákat!

50. Mi az az USB pipe és az endpoint, mi a különbség az IN és OUT típusú endpoint között? Milyen viszonyban van az eszköz-, konfiguráció-, interfész- és a végpont leíró? Melyik "mire való"?

51. Tipikusan milyen TCP/IP protokollok szükségesek egy beágyazott megvalósításban? Röviden mutassa be ezeknek a szerepét!

52. Milyen megvalósítási problémákkal egyszerősítésekkel találkozhatunk egy beágyazott TCP/IP protokoll stack esetében (IP-, ICMP-, TCP korlátok, memóriakezelés, párhuzamosság)? Kis teljesítményő, kis eriforrású vezérli esetében miért nem mindegy, hogy TCP, vagy UDP alapú alkalmazási rétegbeli protokollt használunk?

53. Mutasson be röviden két beágyazott TCP/IP protokoll stack-et és jellemezze iket!

54. Mutassa be röviden a Cortex M0 mag jellegzetességeit, miben különbözik a Cortex M3 magtól és az ARM7 magtól! Mi az a WIC (Wake-up Interupt Controller) és miért fontos az energiatakarékosság szempontjából?

55. Milyen elinyei lehetnek egy 32 bites vezérlinek egy 8 bites vezérlivel szemben energiatakarékos alkalmazásoknál (miért lehet fontos a hatékony utasítás végrehajtás)?

56. Milyen piaci szegmenst céloznak meg az NXP LPC11xx sorozatai alapvetien miben különböznek ezek a vezérlők a Cortex M3 sorozatú társaiktól?

57. Mutassa be a Cortex M4 mag jellegzetességeit! Mik azok a SIMD és MAC utasítások és miért lehetnek ezek hatékonyak jelfeldolgozásra?

58. Mutassa be az NXP LPC4300-as sorozatának felépítését! Milyen szerepet szánnak az M0-ás és az M4-es magnak, mutasson erre példát!