MIKRO KNJIGA
    od 1984. god.

    Prikaži 7 puta
    veću sliku


    Projektovanje ugrađenih sistema pomoću ARM Cortex-M razvojne ploče od 0 do 1
    Autor: Jason Lang
    Strana: 550 ► Ostali detalji
    Oblast: ElektrotehnikaMikrokontroleri
    A A A
    Dodaj u podsetnik - Wish List
    Ova knjiga je studija slučaja u ugrađenom sistemu, uključujući razmatranje hardvera, inicijalizaciju procesora, razvoj drajvera niskog nivoa i dizajn interfejsa aplikacije za proizvod. Iako ovo opisujemo kroz specifičnu primenu Cortex-M3 razvojne ploče, naša misija je da pomognemo čitaocu da izgradi osnovne veštine koje su izuzetno važne da bi postao odličan u razvoju proizvoda. Kompletna razvojna ploča je dostupna da biste povećali uticaj ove knjige i da biste radnu platformu koju kreirate, zatim, koristili kao osnovu za dalji razvoj i učenje.

    Detaljan opis
    Hobisti mogu da kombinuju odlične funkcionalne sisteme pomoću platformi, kao što su Arduino ili Raspberry Pi, ali je neophodno da inženjeri i dizajneri proizvoda imaju osnovno znanje o projektovanju ugrađenih sistema. Postoji vrlo malo dostupnih izvora u kojima se opisuju razmišljanje, strategije i procesi koji će vam dati uvid u dizajn hardvera i razvoj drajvera niskog nivoa i uspešnu izradu potpuno ugrađenog sistema. Mnogi inženjeri na kraju nauče na teži način ili nikada stvarno ne nauče.

    ARM procesori su u suštini sveprisutni u ugrađenim sistemima. Projektanti koji izrađuju nove uređaje moraju da znaju osnove ovih sistema i da budu u stanju da podele velike komplikovane ideje na delove kojima se može upravljati. Uspešan razvoj proizvoda znači da treba da pročitate obimnu dokumentaciju da biste mogli da razumete kako da postignete ono što vam je potrebno, a zatim da sastavite sve da biste kreirali robusni sistem koji će pouzdano funkcionisati i biti održiv u godinama koje dolaze.

    Ova knjiga je studija slučaja u ugrađenom sistemu, uključujući razmatranje hardvera, inicijalizaciju procesora, razvoj drajvera niskog nivoa i dizajn interfejsa aplikacije za proizvod. Iako ovo opisujemo kroz specifičnu primenu Cortex-M3 razvojne ploče, naša misija je da pomognemo čitaocu da izgradi osnovne veštine koje su izuzetno važne da bi postao odličan u razvoju proizvoda. Kompletna razvojna ploča je dostupna da biste povećali uticaj ove knjige i da biste radnu platformu koju kreirate, zatim, koristili kao osnovu za dalji razvoj i učenje.

    Program Embedded in Embedded se bavi podučavanjem osnovnih veština koje inženjerima pomažu da izgrade čvrste temelje znanja koji se mogu primeniti u svakom okruženju za projektovanje. Sa skoro 20 godina iskustva u industriji autor govori o razvoju veština kritičkog mišljenja koje zahtevaju kompanije i koje su od suštinskog značaja za uspešno projektovanje. U ovoj knjizi se podjednako razmatraju odlični procesi projektovanja, kritičko razmišljanje, pa čak i društveni aspekti koji su važni za programere, koliko i tehnički dizajn hardvera i firmvera.

    O autoru
    Jason Long je dizajnirao i koristio proizvode, od GPS uređaja za praćenje do vojnih komunikacionih sistema. On je 1999. godine pokrenuo univerzitetski program Embedded in Embedded (EiE), a 2010. godine osniva svoju kompaniju „Engenuics Technologies“ specijalizovanu za inženjersko obrazovanje. Jason je viši član organizacije IEEE.

    Sadržaj
    Predgovor
    POGLAVLjE 1 POČETAK
    1.1 Mikro šta?
    1.2 32-bitni procesor
    1.3 Programi mikrokontrolera
    1.4 Radnitakt
    1.5 Funkcije
    1.5.1 Brojčani sistemi
    1.5.2 Omov zakon
    1.6 Prekidači
    1.7 Svetleće diode (LED-ovi)
    1.8 Tranzistori
    1.9 Napajanja
    1.9.1 Linearni regulatori
    1.9.2 Prekidačka napajanja
    1.10 Hardver razvojne ploče
    1.11 Blok dijagrama
    1.12 Ulaz napajanja
    1.13 Glavni procesor, JTAG, radni takt i veze
    1.14 ANT 2.4 GHz primopredajnik
    1.15 Korisnički IO: LCD, LED-ovi, dugmad, zujalica
    1.16 Link ploča
    1.17 Rezime

    POGLAVUE 2 RAZVOJNO OKRUŽENJE I UPRAVLJANJE VERZIJAMA.
    2.1 Integrisano razvojno okruženje IAR
    2.2 Instalacija lAR-a
    2.3 Podešavanje novog projekta
    2.4 Datoteke u novom projektu
    2.5 IAR simulator i debager
    2.6 Druge programerske alatke
    2.6.1 Tera Term
    2.6.2 GitHub Desktop
    2.6.3 ANTware II
    2.6.4 nRFgo Studio
    2.6.5 Windows postavke
    2.7 Upravljanje verzijama pomoću Git-a

    POGLAVLJE 3 ARM CORTEX-M3 ASEMBLERSKI JEZIK, 91
    3.1 Registri jezgra, 91
    3.2 Instrukcije, 93
    3.3 Sintaksa asemblerskog jezika, 94
    3.4 Instrukcije za učitavanje i skladištenje, 101
    3.5 Hello World na asemblerskom jeziku, 103

    POGLAVLJE 4 UGRAĐENI C, 115
    4.1 Dokumentacija, 115
    4.2 Doxygen, 117
    4.2.1 Dokumentovanje "pravih informađja", 117
    4.2.2 Kreiranje konfiguracione datoteke, 118
    4.2.3 Blokovi specijalnih komentara, 120
    4.2.4 Doxgen tagovi u kodu, 122
    4.2.5 Doxygen primer, 123
    4.3 Konvencije kodiranja, 125
    4.3.1 Definicije tipova, 125
    4.3.2 Mađarska notacija, 126
    4.3.3 Definicija pretprocesorskih simbola, 127
    4.3.4 Zagrade { } , 127
    4.3.5 Iskazi switch, 127
    4.3.6 Razmak, 128
    4.3.7 Globalne promenljive, 128
    4.3.8 Doxygen tagovi, 129
    4.3.9 Deklaracije funkcija, 129
    4.3.10 Deklaracije stanja, 130
    4.3.11 Tabulatori i uvlačenje, 130
    4.3.12 Prioritet operatora, 130
    4.4 Pregled C datoteke projekta, 131
    4.4.1 Pristupanje registrima, 135
    4.5 Kako pokrenuti procesor, 137
    4.5.1 Watchdog tajmer, 137
    4.5.2 Inicijalizacija radnog takta i napajanja, 139
    4.5.3 Implementiranje podešavanja radnog takta, 141
    4.6 Inicijalizacija GPIO-a, 143
    4.7 Programske strukture, 144
    4.7.1 Beskonačna petlja, 144
    4.7.2 Operativni sistemi, 146
    4.7.3 Nadređena petlja mašine stanja, 147
    4.8 Implementiranje SM nadređene petlje, 151
    4.8.1 Inicijalizacija, 1 52
    4.8.2 Nadređena petlja stanja mašine, 152
    4.9 helloworld.c, 155
    4.10 Sledeći koraci, 159

    POGLAVLJE 5 GPIO I LED DRAJVER, 161
    5.1 SAM3U2 ulazi i izlazi opšte namene, 1 61
    5.2 Spoljni hardver, 1 62
    5.2.1 Dodela pinova, 163
    5.3 PIO periferija, 168
    5.4 PIO unutrašnji hardver, 169
    5.4.1 Logički blok dijagram, 170
    5.5 PIO registri, 1 74
    5.6 Dodavanje novog zadatka, 1 78
    5.7 LED drajver, 1 81
    5.8 Implementacija drajvera, 184
    5.9 Treptanje, 1 88
    5.9.1 Datoteka mape, 191
    5.10 Poglavlje za vežbu, 1 93

    POGLAVLJE 6 PREKIDI I DRAJVERI DUGMADI, 194
    6.1 Prekidi, 1 94
    6.2 Prekidi na mikrokontroleru SAM3U2, 195
    6.2.1 Prekidi zavise od hardvera, 196
    6.2.2 Prekide treba konfigurisati pomoću firmvera, 196
    6.2.3 Prekidi se mogu omogućiti i onemogućiti globalno, 197
    6.2.4 Prekid „prisiljava" procesor da pokrene rutinu za obradu prekida.197
    6.2.5 Prekidi imaju prioritete, 198
    6.2.6 Prekidi mogu (i hoće) da se dešavaju bilo kada, bilo gde, 199
    6.2.7 Prekidi zahtevaju očuvanje konteksta, 199
    6.2.8 Prekidi postavljaju flegove koje treba izbrisati, 200
    6.2.9 ISRtreba da bude kratak i brz, 200
    6.3 Izvori korisničkog vodiča za prekid, 200
    Odeljak2.15 Model izuzetka, 200
    Odeljak 12.5.4 Vektorska tabela, 200
    Odeljak 12.5.5 Prioriteti izuzetaka, 201
    Odeljak 12.5.7.5. Unos izuzetka, 202
    Odeljak 12.9 Unutrašnje funkcije, 202
    Odeljak 12.19 Nested Vectored Interrupt Controller, 202
    Odeljak 11.1 Identifikatori periferija, 203
    6.4 Prekidi i C, 204
    6.4.1 Vektorska tabela, 204
    6.4.2 Prioriteti, 204
    6.4.3 Omogućavanje i onemogućavanje izvora prekida periferija, 205
    6.5 Prekidi periferija, 208
    6.5.1 GPIO prekidi, 208
    6.5.2 Prekidi tajmera/brojača, 208
    6.5.3 Prekidi komunikacionih periferija, 209
    6.5.4 Drugi prekidi periferija, 209
    6.6 Pregled i podešavanje drajvera dugmeta, 209
    6.6.1 Debaunsiranje, 209
    6.6.2 Istorija dugmeta ili detekcija ivice, 210
    6.6.3 Duži pritisak dugmeta, 210
    6.7 Rad dugmeta, 210
    6.7.1 Dugme definicija tipova (typedefs), 212
    6.8 PIO prekidi, 213
    6.9 API dugmeta, 223
    6.10 Vežba za poglavlje, 225

    POGLAVLJE 7 Spavanje, sistemski otkucaj i periferija tajmera, 226
    7.1 Spavanje, 226
    7.2 Konfiguracija sistemskog otkucaja, 227
    7.2.1 Vreme otkucaja i CTRL INIT vrednosti, 228
    7.3 Periferija tajmera, 234
    7.4 Istaknute stavke tajmera brojača (Timer Counter), 236
    7.5 Registri brojača tajmera, 238
    7.6 Drajver tajmera, 241
    7.7 API tajmera, 242
    7.8 Vežba za poglavlje, 247

    POGLAVLJE 8 MODULISANJE ŠIRINE IMPULSA, 248
    8.1 PWM koncepti, 248
    8.2 PWM na lakši način: SAM3U2 PWM periferija, 250
    8.3 Istaknute stavke periferije, 251
    8.4 PWM i zvuk, 252
    8.5 EiE hardverzvuka, 253
    8.6 PWM registri, 254
    8.7 Audio drajver razvojne ploče, 257
    8.7.1 Inicijalizacija audio funkcije, 258
    8.7.2 Audio API funkcije, 259
    8.7.3 Funkcije PWMAudioOn() i PWMAudioOff(), 262
    8.8 PWM na teži način: bit bashing, 263
    8.9 LED PWM projektovanje, 264
    8.10 Zvučni bitovi, 270
    8.1 1 Više korisničkih zadataka, 272
    8.12 Vežba za poglavlje, 274

    POGLAVLJE 9 DMA I RAZMENA PORUKA, 275
    9.1 Prenos podataka, 275
    9.2 Konflikti resursa, 277
    9.3 Direktan pristup memoriji - DMA, 278
    9.3.1 PDC registri, 282
    9.3.2 PDC prekidi, 284
    9.3.3 Prenos pomoću DMA-a, 285
    9.3.4 Prijem pomoću DMA, 286
    9.4 Povezane liste, 286
    9.5 Hardverske greške, 289
    9.6 EiE zadatak razmene poruka, 292
    9.6.1 Strukture podataka zadatka razmene poruka, 294
    9.6.2 Zaštićene funkcije zadataka razmene poruka, 299
    9.7. Slanje poruka javnih funkcija, 309
    9.7.1 QueryMessageStatus(), 309
    9.8 Mašina stanja razmene poruka, 31 1
    9.9 Vežba za poglavlje, 312

    POGLAVLJE 10 SERIJSKA KOMUNIKACIJA I BAGOVI, 313
    10.1 Pregled RS-232 serijske komunikacije, 313
    10.1.1 Taktovanje, 316
    10.1.1 Signaliziranje, 318
    10.2 Greške podataka, 319
    10.3 ASCII, 321
    10.4 Skladištenje i prikaz znakova, 322
    10.5 SAM3U2 periferija, 325
    10.5.1 Istaknute stavke periferije, 326
    10.5.2 Baud Rate Generator, 328
    10.6 UART registri, 330
    10.6.1 EIE UART drajver, 332
    10.6.2 UART strukture podataka zadataka, 333
    10.6.3 Funkcije UART drajvera, 335
    10.7 UART prekidi, 342
    10.8 Dizajn UART drajvera, 343
    10.8.1 Prenos podataka, 343
    10.8.2 Prijem podataka, 347
    10.9 Dodela dinamičke memorije, 349
    10.10 Zadatak debagovanja, 352
    10.11 API za debagovanje, 353
    10.11.1 DebugPintfO, 354
    10.11.2 DebugPrintNumber(), 355
    10.12* Citanje unosa znakova, 356
    10.12.1 Debug lnitialize(), 3 57
    10.12.2 DebugRxCallback(), 358
    10.13 Programerski pristup debagovanju, 359
    10.14 Kontrolni kodovi terminala, 369
    10.15 Vežba za poglavlje, 370

    POGLAVLJE 11 SPI KOMUNIKACIJA POMOĆU I2C, 371
    11.1 SPI signaliziranje, 371
    11.2 SPI hardver, 377
    11.3 SPI registri, 378
    11.4 EIE SPI drajver, 382
    11.5 Master prenos, 385
    11.6 Master slanje, 385
    11.7 Slave prenos, 386
    11.8 Slave prijem, 386
    11.9 Slave prenos sa kontrolom toka, 386
    11.10 Slave slanje i kontrola toka, 387
    11.11 Chip Select, 387
    11.12 SPI strukture podataka, 388
    11.13 SPI funkcije drajvera zajedno sa UART-om, 390
    11.14 Nove SPI funkcije drajvera, 391
    11.14.1 SspRequest(), 391
    11.14.2 SspRelease (), 392
    11.14.3 SspAssertCS() / SspDeassertCS() , 394
    11.14.4 SspReadByte() / SspReadData(), 394
    11.14.5 SspQueryReceiveStatus() , 395
    11.14.6 SspGenericHandler() , 397
    11.15 Ssp mašina stanja, 403
    11.16 Interfejs Blade priključne ploče, 407
    11.17 Primer projekta za Blade, 409
    11.17.1 Konfiguracione podrazumevane vrednosti i interfejs Blade firmvera 409
    11.17.2 UserAppl lnitialize(), 412
    11.17.3 UserApplSM, 41 3
    11.18 Vežba za poglavlje, 414

    POGLAVLJE 12 I2C I ASCII LCD, 416
    12.1 Inter-lntegrated Circuit (l2C) komunikacija, 416
    12.2 I2C hardver, 417
    12.3 I2C signaliziranje, 419
    12.4 EiE TWI hardver, 422
    12.5 I2C (TWI) na procesoru SAM3U2, 422
    12.6 TWI i PDC, 423
    12.7 TWI registri, 425
    12.8 TWI drajver, 427
    12.8.1 TWI strukture podataka, 428
    12.8.2 TWI funkcije drajvera, 429
    1 2.9 TWI mašina stanja i ISR, 434
    12.9.1 TWI Transmit, 434
    12.10 TWI drajver, 439
    12.10.1 NACK i greške, 442
    12.11 ASCII LCD, 444
    12.11.1 Hardver LCD-a, 445
    12.11.2 LCD kontroleri, 446
    12.11.3 Interfejs LCD-a, 447
    12.12 Character i Control Data režimi, 449
    12.13 Korišćenje LCD kontrolera, 450
    12.14 Kontrolni bajt sa bitovima Co i Rs, 451
    12.14.1 RAM za adrese znakova, 452
    12.14.2 Skup komandi za LCD, 453
    12.14.13 Inicijalizacija LCD-a, 454
    12.15 LCD aplikacija, 457
    12.15.1 LcdCommand(), 458
    12.15.2 LcdMessage(), 458
    12.15.3 LcdClearChars(), 459
    12.16 Vežba za poglavlje, 460

    POGLAVLJE 13 * ANALOGNO-DIGITALNA KONVERZIJA, 461
    13.1 Osnove ADC-a, 461
    13.1.1 Kvantizacija, 461
    13.1.2 Uzorkovanje, 461
    13.1.3 Propusni opseg i alijasing, 462
    13.1.4 Nikvistova frekvencija, 463
    13.1.5 Rezolucija, 464
    13.1.6 Isecanje (Clipping), 465
    13.2 Karakteristike ADC-ova, 465
    13.2.1 Preciznost, greška i ENOB, 466
    13.2.2 Nedostajući kodovi, 467
    13.2.3 Referentne napone, 467
    13.2.4 Šum, 468
    13.2.5 Pojedinačno i diferencijalno merenje, 468
    13.2.6 Obrada signala, 469
    13.3 EiE ADC hardver, 470
    13.4 SAM3U2 12-bitna ADC periferija, 471
    13.4.1 ADC registri, 472
    13.5 EIE ADC drajver, 475
    13.5.1 ADC inicijalizacija, 477
    13.5.2 ADC prekid, 478
    13.5.3 ADC mašina stanja, 478
    13.6 EIE ADC API, 479
    13.6.1 void Adcl 2AssignCallback() , 479
    13.6.2 bool Adcl 2StartConversion() , 480
    13.7 Vežba za poglavlje, 481

    POGLAVLJE 14 ANT RADIO SISTEM, 483
    14.1 ANT bežični radio, 484
    14.2 Izrada ANT steka, 485
    14.2.1 ANT fizički sloj, 486
    14.3 Dokument ANT Message Protocol and Usage, 487
    14.3.1 ANT protokol: odeljci od 1 do 4, 487
    14.3.2 Odeljak 5 ANT protokola: parametri kanala, 488
    14.3.3 ANTIDkanala, 489
    14.3.4 Tipovi podataka prenosa, 490
    14.3.5 Odeljak 6 ANT protokola: Uparivanje, 491
    14.3.6 Odeljak 7 ANT protokola: ANT interfejs, 492
    14.3.7 Odeljci 8 i 9 ANT protokola: Primeri i dodaci, 493
    14.4 Upravljanje porukama, 494
    14.4.1 Razmena poruka sa zatvorenim kanalom, 494
    14.4.2 Razmena poruka kada je kanal otvoren, 496
    14.5 Debagovanje ANT sistema, 497
    14.6 Programiranje ANT podsistema, 498
    14.6.1 Dizajn firmvera ant.c i ant_apl.c, 499
    14.6.2 Strukture podataka, 500
    14.6.3 Serijski drajveri i ANT hardverski interfejs, 502
    14.6.5 ANT_TICK i ANT_DATA, 528
    14.7 ANT mašina stanja, 536
    14.7.1 Inicijalizovanje ANT SM-a, 536
    14.8 Implementiranje ANT mašine stanja, 539
    14.9 Rezima API-ja, 542
    14.9.1 ANT konfiguracija, 543
    14.9.2 ANT poruke podataka, 546
    14.10 Vežba za poglavlje, 549
    14.1 1 Zaključak, 550


    Detaljni podaci o knjizi
    Naslov: Projektovanje ugrađenih sistema pomoću ARM Cortex-M razvojne ploče od 0 do 1
    Izdavač: EHO
    Strana: 550 (cb)
    Povez: meki
    Pismo: latinica
    Format: B5
    Godina izdanja: 2019
    ISBN: 978-86-80134-23-9
    Naručite
    Cena:
    1.770,00 DIN
    Cena za inostranstvo:
    18,00 EUR
    Kom.:

    Naručite telefonom:
    +381 11 3055010
    +381 11 3055015





    Ocene i mišljenja čitalaca
    Budite prvi koji će svoje mišljenje podeliti sa drugima (morate biti prijavljeni)


    Pitanja, odgovori, mišljenja...
    Prijavite se ovde i pošaljite vaša mišljenja i pitanja našim urednicima i čitaocima

    Poruku poslaoPoruka
    IDI NA VRH STRANE
    Ⓒ 1984-2019 Mikro knjiga