Projekty
Krokový motor je synchrónny motor otačajúci sa v krokovom režime.
Veľmi jednoducho povedané, ide o motor využívajúci sa v presných systémoch a spôsob pohybu (otáčania), je na základe počtu vykonaných krokov.
Podľa počtu krokov je možné motor otočiť do ľubovoľnej polohy, prípadne do určitého uhla.
Počet krokov na otáčku uverejňuje výrobca, avšak väčšina krokových motorov je stavaná pre 48 krokov na jednu otáčku.
Krokové motory majú vysoký krútiaci moment pri nízkych otáčkach. Výhodou je možnosť pohybu po krokoch do ľubovoľnej pozície bez použitia spätnej väzby. Krokové motory sú však otvorené systémy. U bežných zariadeniach nám tento fakt extrémne nevadí, ale pri presných systémoch zariadení, akými sú roboti, by nám tento fakt určite vadil.
Otvorený systém
Pojem otvorený systém znamená, že motor je bez spätnej väzby. Spätná väzba je akýsi bod, kedy je detekovaný problém. Problémy, ako také, krokových motorov môžu nastať pri zaťažení rotora, slabom budení cievok, a iných.
V týchto okamihoch môže dochádzať k prešmyknutí rotoru - vynechanie kroku/krokov. Jednoducho povedané, máme motor nastavený na 24 krokoch, čo je pol otáčky. Rotor motora zaťažíme, dôjde k prešmyknutiu - vykonaniu napr. 3 krokov navyše a motor nevykoná presne pol otáčky ale viac.
Nemožnosť detekovania tochto stavu chyby sa nazýva otvorený systém bez spätnej väzby.
Na detekovanie tochto stavu sa používajú motory so spätnou väzbou (uzavretým systémom).
Prešmyknutie rotora je detekované pomocou Foto Interruptu. Po prešmyknuťí alebo nevykonaní krokov sa tento fakt odzrkadlí interne (SW) a procesor tento fakt spracuje a upraví. Foto interupty detekujú každý jeden krok a vykonanie kroku inkrementujú (počítaju počet krokov fyzicky vykonaných rotorom. Pokiaľ dôjde k chybe, interrup zaznamená nízku (nevykonanie krokov) alebo vysokú (prešmyknutia) hodnotu počtu krokov a vypočíta, koľko krokov treba vykonať (pridá/uberie) do požadovanej hodnoty 24 krokov.
Nevýhody
Krokové motory majú prakticky len pár nevýhod s ktorými je nutné sa oboznámiť pri vývoji zariadení
-- Vysoké pracovné teploty: pri zaťažení nedochádza k prehrievaniu krokových motorov, ale pracovná teplota sa
pohybuje od 50 C - 110 C.
Pri teplote 120 C dochádza k poškodeniu izolácie vinutí a ku skratom.
Použitie krokových motorov by malo byť na železných konzoliach a v dobre
vetranom prostredí.
Teplotu je možné znížiť aickým úplným odpojením napájania VDD pri neaktivite
či prehriatiu.
-- Riziko poškodenia riadiaceho modulu: Krokové motory majú prevažne napájanie od 12V / 24V, i viac.
Pri napájaní krokového motoru je nutné pripojenie vykonať pri vypnutom stave
napájania zariadenia. Moduly (výkonové tranzistory, ci tanzistorové polia alebo
H-Mostíky) sú navyše extrémne náchylné na rázové preťaženie.
Unipolárne krokové motory
Unipolárne krokové motory majú 6 vývodov, niekedy 5, nakoľko sú dva vývody spojené do jedného vývodu VDD.
Vnútorná schéma zapojenia vinutí:
Stator krokového motora je tvorený dvoma vinutiami L1, L2.
Vinutia obsahujú stredný vývod na pripojenie napájania VDD.
Ostatné vývody A-B sú napojené na výkonové tranzistory - Colector . Emitor je vyvedený na GND.
Pokiaľ chceme použiť na budenie cievok výkonné tranzistory, musíme tranzistorom integrovať ochranu.
Príklady takéhoto použitia sú napríklad tu: >>ČLÁNOK<<
Vzhľadom k rozmerom výkonových tranzistorov a k faktu, že výkonové MOSFET sú náchylné na poškodenie statickým nábojom, použijeme obvody ULN2003/ULN2803.
Ide o vysoko-nápäťové a vysoko-prúdové Darlingtonové Tranzistorové polia.
Datasheed : Download
Bipolárne krokové motory
Bipolárne krokové motory nemajú narozdiel od unipolárnych vyvedené stredné vodiče vinutia.
Vnútorná schéma zapojenia:
Z dôvodu absencie stredných vývodov, bipolárne riadenie potrebuje zložitejšiu logiku budenia cievok.
Každý vývod potrebuje samostatnú dvojicu sériovo zapojených NPN - PNP tranzistorov. Na každom vývode vinutí môže byť buť kladné napätie, alebo uzemnenie GND.
Takého zapojenie tranzistorov nazývame H (hight) - Bridge. U krokových motorov, kde sú na statore dve vinutia, ide o duálny H-Bridge systém. Ovládanie ako také je naročnejšie než pri unipolárnych krokových motorov.
Porovnanie
Ponúka sa nám otázka toho lepšieho riešenia a výberu. Výber krokových motorov v závislosti na použitom režime ovládania a logike budenia závisí na zapojení, kde chceme motor použiť.
Prevažne každý Unipolárny motor sa dá použiť ako Bipolárny - vynechaním stredových vývodov vinutí a použitím duálneho H-Bridge.
Unipolárny režim ovládania motorov má menšiu spotrebu - menší odpor vinutí použitím stredových vývodov.
Riadenie využíva menšiu zložitosť logiky, nakoľko každý vývod (okrem GND) má len jeden výkonový tranzistor na budenie.
Zároveň unipolárny režim má menší krútiaci moment rotora.
Bipolárne motory majú väčšiu spotrebu - väčší odpor vinutí, logika riadenia je zložitejšia - každý vývod obsahuje 2 tranzistory.
Krútiaci moment je však väčší.
Galéria
USB ako také ponúka možnosti takzvaných USB Device Class. Aby nebolo potrebné
ku každému zariadeniu dodávať vlastný ovládač, sú zariadenia rozdelené do jednotlivých
tried. Host disponuje jedným ovládačom pre jednu triedu a tudíž jedným ovládačom pre
všetky zariadenia v triede. USB Device Class obsahujú podtriedy v ktorých sú zavedené
komunikačné protokoly. Pri adresovaní zariadenia systém zvolí taký režim prenosu, aké má
dané zariadenie nakonfigurované. Konfigurácia zariadenia je nastavená v jeho descriptore
Pri starších typoch procesoroch, ktoré nepodporujú USB rozhranie, sa hardwarovo vytvorí
takzvaný USB - RS-232 bridge.
Ide o prevodník rozhraní [HOST USB ⇐⇒ RS-232 MCU].
USB bridge sa dá riešiť aj prostredníctvom SW. Novšie typy MCU Unit, ktoré podporujú USB interface umožňujú implementovať firmware, ktorý programovo vytvorí premostenie komunikácie priamo v procesorovej jednotke.
Jednou z USB device class je trieda Communications and CDC Control, tabuľka 1. Firmaware nastaví MCU Unit do módu CDC. Pri adresovaní host CDC zariadenie zavedie do režimu CDC. Zariadenie pripojené k hostu ako CDC je pripojené cez USB rozhranie, ale v počítači sa tvári ako virtuálny COM Port, teda ako rozhranie RS-232.
Podtriedy triedy CDC (Communications and CDC Control)
Koncové body ako zariadenia nakonfigurované do triedy, Communications and CDC Control„sú rozšírené o
Communications Interface Class - CIC a využívajú podtriedu Abstract Control Model - ACM triedy CDC,
tabuľka 2. Ako nadstavbu komunikačného protokolu využíva V.250 - (kód triedy: 01h), čo je sada
štandardov pre modemy.
Podtrieda ACM implementuje 5 rozhraní pre zabezpečenie komunikácie:
SendEncapsulatedCommand, GetEncapsulatedResponse, SetLineCoding, GetLineCoding, SetControlLineState.
SendEncapsulatedCommand - slúži na vyslanie príkazu vo formáte, ktorý podporuje kontrolný protokol
triedy communications class - V.250.
GetEncapsulatedResponse - používa sa pri požadovaní odpovedi na formát kontrolného protokolu - triedy
comunications class.
SetLineCoding - používa sa na kódovanie dát na linke. Umožňuje hostovi špecifikovať formát vlastnosti znakov.
Pri emulácii RS-232 je táto funkcionalita dôležitá. Host a terminál si musia byť vedomé akou rýchlosťou sa
dáta prenášajú, aký počet stop bitov bol prenesený a o paritnom bite.
GetLineCoding - umožňuje hostovi zistiť aktuálne nakonfigurovanú linku a prevziať si kódované parametre.
SetControlLineState - generuje riadiaci tok signálov RS-232. Kontrola linky signálu (Control Line Signal) CLS.
SetLineCoding, GetLineCoding - pri kódovaní je použité známkovanie dát. Dáta sa známkujú bitmi za sekundu.
Pri prenose sa používajú stop-bity, ktoré sa môžu zabaľovať po: 0 - 1, 1 - 1.5, 2-2. Paritný byt môže
nadobúdať hodnoty od 0-4 : 0 = None, 1 = Odd, 2 = Even, 3 = Mark, 4 = Space. Dáta sa môžu odosielať v 5, 6, 7, 8 alebo 16 bitových rámcoch.
Grafická schéma na obrázku 3 (prevzatý z webu http://www.lpcware.com).
Jednotlivé triedy zariadení USB Device Class sa nachádzajú v triednej vrstve (Class Layer), ktorá je medzi aplikačnou a fyzickou vrstvou procesora. Komunikácia Class Layer je obojsmerná pre obe vrstvy. Fyzická a aplikačná vrstva navzájom komunikujú a sú riadené pomocou firmware MCU.
Implementácia vrstiev pri logickej komunikácií, obrázok 4 (prevzatý z webu http://www.hw.cz), sa rozdeľuje na funkčnú vrstvu, vrstvu zariadenia a fyzickú vrstvu. Implementácia na jednotlivých vrstvách sa v hostu a v zariadení líši.
Funkčná vrstva je u hosta tvorená klientskym, obslužným softwarom, zatiaľ čo u MCU je
tvorená metódami (funkciami). Logický komunikačný tok sa odohráva medzi jednotlivými vrstvami zariadení, pričom logicky komunikujú len rovnaké vrstvy oboch zariadení. Reálny komunikačný tok prebieha len na fyzickej vrstve, cez
ktorú sú obe zariadenia prepojené. Device layer je u hosta implementovaná systémovým softwarom (driverom) USB, pri MCU jetvorená logickým zariadením. Na fyzickej vrstve má host zavedený radič, pri MCU je zavedené USB rozhranie.
Odosielané dáta hosta sa spracujú od aplikačnej vrstvy, cez vrstvu zariadenia a po fyzickej vrstve sa v podobe
binárneho kódu odošlú po zbernici do koncového bodu, v ktorom sa od fyzickej vrstvy, cez vrstvu zariadenia,
spracovávajú až k aplikačnej vrstve.
Descriptor zariadenia
Descriptory sú dátové štruktúry v ktorých je konfigurácia zariadenia. Poznáme descriptory rozhrania, zariadenia, koncového bodu, nastavení, ladiace (debug) a podobne. Všeobecne, jeden descriptor rozhrania môže špecifikovať
ďalšie descriptory koncových bodov. Descriptory ďalej definujú počet rozhraní a konfiguráciu zbernice. V prípade
descriptora zariadenia, po zapojení zariadenia do USB zbernice je host schopný zistiť informácie o zariadení ako názov,
verziu, triedu USB Device Class,... Každé zariadenie ma univerzálne PID - identifikačné číslo, podľa ktorého host
vie s akým zariadením má komunikovať v prípade, že je na zbernici viacej koncových bodov. Pri komunikácií s hostom,
koncový bod odosiela svoj descriptor.
Descriptor zariadenia je v tomto prípade nakonfigurovaný:
descriptor.c |
ROM USB_DEVICE_DESCRIPTOR device_dsc=
{ 0x12, // velkost descriptora (v bytoch) USB_DESCRIPTOR_DEVICE, // typ descriptora zariadenia 0x0200, // verzia specifikacie USB v BCD formate CDC_DEVICE, // kod triedy 0x00, // kod podtriedy 0x00, // kod pouziteho protokolu USB_EP0_BUFF_SIZE, // maximalny pocet paketov pre koncoy bod 0) 0x04D8, // Id vyrobcu 0x000A, // Id Produktu CDC RS−232 Emulation Demo 0x0100, // cislo verzie prouktu v BCD formate 0x01, // index stringu vyrobca 0x02, // index stringu produktu 0x00, // index stringu serioveho cisla zariadenia 0x01 // pocet moznyh konfiguracii }; |
Descriptor konfigurácie
Descriptor nastavenia sa ako descriptor zariadenia taktiež nachádza priamo v koncovom bode. Obe konfigurácie sú
zavedené v pamäti Flash MCU. Descriptor nastavení rozširuje konfiguráciu ďalších descriptorov a definuje navyše
descriptor rozhraní, descriptor špecifikácie CDC triedy a descriptor koncového bodu. Pri firmware ako pri univerzálnom
celku, descriptor nastavenia rozširuje viacero koncových bodov z dôvodu možnosti použitia rôznych typov prenosov.
Ukážka descriptoru konfigurácie:
descriptor.c |
ROM BYTE configDescriptor1[]=
{ 0x09, // velkost descriptora (v bytoch) USB_DESCRIPTOR_CONFIGURATION, // typ descriptora nastavenia 67,0, // celkova dlzka dat pre descriptor 2, // cislo rozhrania 1, // Index hodnoty tejto konfiguracie 0, // Index stringu konfiguracie _DEFAULT | _SELF, // atributy ( pri inite zbernice ) 50, // maximalna spotreba energie (2X mA) 9, // velkost descriptora rozhrania (v bytoch) USB_DESCRIPTOR_INTERFACE, // typ descriptora rozhrania 0, // cislo rozhrania 0, // alternativne nastavenie 1, // pocet koncovych bodov v tomto interface COMM_INTF, // kod triedy ABSTRACT_CONTROL_MODEL, // kod podtriedy V25TER, // kod pouziteho protokolu 0, // Index stringu rozhrania 0x07, // velkost descriptora koncoveho bodu (v bytoch) USB_DESCRIPTOR_ENDPOINT, // typ descriptora nastavenia _EP01_IN, // adresa koncoveho bodu _INTERRUPT, // druh prenosu 0x08,0x00, // velkost 0x02, // tnterval prenosu }; |
RS-232 rozhranie
RS-232 je sériová linka poskytujúca asynchrónny prenos dát.
Signály sú reprezentované napäťovými úrovňami voči zemi.
Obsahuje jeden pár vodičov každého smeru IN/OUT, po ktorých sú jednotlivé bity odosielané za sebou.
Prenos dát je full-duplex, terminál s hostom môžu prijímať/odosielať dáta v reálnom čase.
Dáta sú cez RS-232 odosielané do Terminálu v sekvenciách (rámcoch) za sebou. Komunikácia začne prebiehať
po vyslaní START bitu host zariadením, jednotlivé rámce sa začnú do terminálu odosielať. Po prenesení
všetkých rámcov, host odošle STOP bit pre ukončenie spojenia s terminálom.
RS-485 rozhranie
Pomocou tohto rozhrania môže súčasne komunikovať 32 vysielačov a 32 prijímačov, čo sa využíva
pri viacerých koncových bodov napojených na jednej zbernici naproti RS-232, kde sa komunikácia reprezentuje
ako Point-to-Point. Neaktívne hostovké zariadenia , tak ako aj koncové body, musia byť pri neaktivite v stave
vysokej impedancie, aby neovplyvňovali komunikáciu medzi aktívnymi zariadeniami. Viacero koncových bodov
môže poskytovať služby potrieb viacerým hostom, no v reálnom čase môže byť aktívny len jeden host.
Pri vysielaní sa používa diferenciálne kódovanie dát. Kódovanie dát reprezentujú dve polarity.
Pri prenose host začne komunikáciu START bitom, pričom začne vysielať 8 bitový rámec, za ktorým doplní
paritný bit a spojenie ukončí 2x STOP bitom.
RS-422 rozhranie
RS-422 je staršia varianta rozhrania RS-485, ktorá sa taktiež používa v priemyselných terminálov. Princíp a činnosť
RS-422 je ten istý ako u RS-485. Rozdiely medzi oboma rozhraniami sú tie, že rozhranie RS-422 je mupltidrop, na
rozhraní je len jedno host zariadenie a maximálne 10 end-pointov. End-pointy je možné u oboch rozhraniach od hostu
umiestniť maximálne 1200m.
USB rozhranie
USB (Univerzal Serial Bus) je typ rozhrania, ktoré bolo vyvinuté za účelom čo najuniverzálnejšej komunikácie medzi
zariadeniami. Ide o sériovú polo duplexnú linku, ktorá podporuje takzvané módy prenosov pre rôzne typy
zariadení:
Riadiace
Asynchrónne: Bulk, Interrupt
Izochrónne - vzorkovanie a prevedenie na číslicovú formu
Jedným z črtov USB je princíp Plug-and-Play. Ide o možnosť pripojenia zariadenia k hostu bez toho, aby sa host
musel resetovať. Po pripojení nastane rozpoznanie zariadenia a konfigurácia zariadenia. Spustenie ovládača
pripojeného zariadenia a následne komunikácia. Klientske zariadenie je možné v reálnom čase kedykoľvek odpojiť
bez výskytu interných chýb. Na rozdiel od ostatných zariadení, komunikačný protokol USB spočíva v odosielaní
paketov dvoch typov :
Riadiace pakety
Dátové pakety
Izochrónny prenos
Izochrónny prenos sa používa pri prenose v reálnom čase - video, zvuk. Pri chybe alebo zlyhaní prenosu sa dáta
znovu nepreposielajú, pretože dáta by neboli v reálnom čase aktuálne. Tento druh prenosu (dáta) požadujú určité
oneskorenie a konštantnú šírku prenosového spojenia. Pri izochrónnym prenose sa jedná vždy len o jednosmerný
prenos dát. Maximálna veľkosť paketu pre full-speed je 1203 bytov. Nízko rýchlostné zariadenia v režime low-speed
tento druh prenosu nepodporujú. Koncový bod pri nadväzovaní spojenia, musí definovať
oneskorenie - interval prístupu k usb zbernici. Zároveň musí dáta odosielať s nižšou paritou. Pokiaľ koncový bod
nemá spracované dáta na odoslanie, odosiela prázdny mikrorámec
Asynchrónny prenos
Asynchrónne prenosy, takzvané interrupty, sú nepravidelné a časovo citlivé. Prerušenia ako také vznikajú v koncovom
bode alebo v hostovkom zariadení (počítač). Pri vyvolaní udalosti je volaný iterrupt, ktorý čaká na svojom end-pointe,
kým si ho prevezme host. Tieto prenosy sú určené pre zariadenia, ktoré nepotrebujú odosielať dáta často, ale vyžadujú
znovu odosielanie dát v prípade chyby (myš). Pri tomto prenose sa kladú požiadavky, aby boli dáta prijaté v čo
najkratšom čase a boli uprednostnené pred prenosmi bulk a izochrónnymi prenosmi. Maximálna veľkosť dát je pre
low-speed 8 bytov, pre fullspeed 64 bytov, pre hight-speed 1024 bytov. Pokiaľ koncový bod nemá spracované dáta na
odoslanie, odosiela signál "nak".
Prenos Bulk
Bulk prenosy sú určené pre prenos malých, nepravidelne odosielaných dát, pri ktorých sa vyžaduje aby boli prenesené
správne. Pokiaľ nastala chyba, dáta sa znovu prepošlú. Ďalšou požiadavkou je kvalita prenosu. Využívajú sa pri USB
tlačiarňach. Bulk prenosy sú v poradovníku s najmenšou prioritou a pri komunikácii s USB sa zinicializujú ako posledné.
Prenosová rýchlosť je pri full-speed 8-16-32-64 bytov, pri hight-speed maximálne 512 bytov. Zariadenia typu low-speed
(nízko rýchlostné) tento druh prenosu nepodporujú.
Riadiace prenosy
Riadiace prenosy (Control Transfer) sú využívané systémovým SW pre konfiguráciu koncového bodu hneď po jeho
pripojení. Prenos zaháji host odoslaním transakcie SETUP. Po nej sú do koncového bodu odosielané ďalšie dodatočné dáta. Doručenie dát je kontrolované proti chybám a je bezdrôtové. Po konfigurácii host odošle transakciu STATUS,
ktorá ho informuje o stave prevádzanej konfigurácie zariadenia. Pomocou tohto typu prenosu je možné pristupovať
k častiam koncového bodu. Taktiež slúži na zistenie informácií o pripojenom zariadení - názov, typ,
vnútornú konfiguráciu, podporované end-pointy a podobne.
Rýchlosť pre low-speed 8 bytov, pre full-speed 64 bytov, pre high-speed 8,16,32,34 bytov. Pri adresovaní zariadenia, Host odošle riadiace signály, tak ako aj pri potvrdení prijatia dát. Tým je zabezpečená bezchybnosť prenosu dát.
Riadiacimi paketmi sa kontrolujú prípadné chyby, ktoré pri prenose nastali.
V tejto sekcií sú popísané základné teoretické články bez ktorých sa pri návrhoch nezaobídeme.
Nie je možné popísať dopodrobna všetko, preto sa zameriam na základné veci a princípy fungovania prenosov medzi jednotlivými riadiacimi a hostujúcimi jednotkami, čo neskôr budeme využívať.
Mcus - Headers
V tejto časti sú uverejnené hlavičkové súbory, ktoré jednotlivé projekty budú využívať.
Hlavičkové súbory implementujú nutnú konfiguráciu procesora + implementujú užitočné funkcie a prostredie na uľahčenie práce s procesorom.
Implementáciu budem postupne rozširovať o ďalšie zaujímavé funkcie. Obsah kódov bude vydávaný v
nízko-úrovňovom jazyku C.
1. config_diall.h |
2. config_words.h |
Programovanie procesora zrealizujeme prostredíctvom ISP rozhrania s programátorom ASIX Presto --návod tu--.
ISP
Než začnem s návrhom zapojenia, ujasníme si, čo to ISP je a čo knemu potrebujeme. ISP, alebo inak (In-System Programming) je rozhranie MCU, ktoré umožňuje programovanie procesorovej jednotky, zapojenej priamo na vývojovej doske, bez nutnosti jej odpájania.
Interface
Samotné rozhranie ISP procesora pozostáva z MCLR (reset), PGED (PGEData - dáta), PGEC (PGEClock - hodinový vstup). Procesor obsahuje niekoľko voliteľných pinov na pripojenie ISP programátora, PGED1-PGED3, PGEC1-PGEC3. Na pripojenie ISP si môžme zvoliť ľubovoľnú dvojicu.
Poznámka*: Piny namapované na PGEC/PGED môžu byť využité ako Input/Otput, ale v čase programovania, nesmú ako Input prijímať logickú "1" ! Programovanie by zlyhalo.
Programovanie budeme realizovať ako HT (Hight-Voltage). Pre tento účel využijeme zo samotného programátora vývody Vdd a Gnd .
Programátor vs. MCU
Zapojenie na piny MCU:
MCLR - VPP
PGED - DATA/MOSI
PGEC - CLOCK
Vdd - Vdd
Gnd - Gnd
Iné programovanie ako LV, BOOT Loader alebo "samostatné programovanie", realizovať nebudeme.
Návrh zapojenia PIC24FJ64GB002
Riadiaca jednotka U1 je pinmi 2, 3 ako PGED3/PGEC3 pripojená na ISP rozhranie. PGED sa využíva ako
dátový vstup/výstup, PGEC ako vstupný hodinový impulz Clock programátora. Reset MCU MLRC je na rozhranie
ISP privedené ako VPP. Napájanie ISP je pripojené na lokálne napájanie VDD2. Tlačidlo BTN1 je
pripojené k MCLR procesora ako reset privedené ku GND rezistorom R1. Na odpore R1 vznikne úbytok
napätia a zabráni sa poškodeniu programátora. Rezistor R3 je zapojený ako pull-down rezistor na
udržanie log. 0 na pine MCLR. Rezistor R3 je použitý ako pull-up rezistor na pine MCLR. Ako filtračný člen
medzi VDD2 a GND je použitý kondenzátor C1.
PIC 24FJ64GA002 - Programming
Systém programovania je totožný ako pri mcu PIC24FJ64GB002, avšak je nutné zmeniť piny 2, 3 ako PGED3/PGEC3 na 4, 5 ako PGED1/PGEC1.
Návrh zapojenia PIC24FJ64GA002
PIC 24FJ64GB004 - Programming
Systém programovania je totožný ako pri mcu PIC24FJ64GB002, avšak je nutné zmeniť piny 2, 3 ako PGED3/PGEC3 na 21, 22 ako PGED1/PGEC1.
Návrh zapojenia PIC24FJ64GB004
MCU nakonfigurujeme prostredníctvom poistiek procesora. Pomocou poistiek sa nastavia vnútorné
jednotky a módy, v ktorých má MCU pracovať. Taktiež konfiguračnými bitmi nastavujeme obmedzenie, či
prípadné vypnutie modulov, ktoré v procesoru nevyužívame, tak ako aj zabezpečenie čítania, prístupu k pamäti
vrátanie možnosti dolaďovania SW vybavenia MCU.
Ide o 16 bitovú, monolitickú jednotku v prevedení TQFP.
Obsahuje tri pracovné registre PORTA (5 pins), PORTB (14 pins), PORTC (10 pins), vnútorný Oscilátor (31 kHz - 8 MHz, 32 MHz - 4X PLL), podporuje USB (On-The-Go).
Vnútorná pamäť FLASH (64 kB), SRAM (8kB).
Ďalej podporuje rozhrania: I2C zbernicu, IrDA, SPI, UART/USART, umožňuje obojsmerne obsluhovať v režime master 16 koncových zariadení - endpointov.
Periférie: Brown-out Detect/Reset, LVD, POR, PWM, WDT.
Rýchlosti:
režim Host (Master) - low-speed, full-speed
režim Slave - full-speed
Registre:
PORTA -> porty: RA0, RA1, RA2, RA3, RA4
PORTB -> porty: RB0, RB1, RB2, RB3, RB4, RB5, RB7, RB8, RB9, RB10, RB11, RB12, RB13, RB14, RB15
PORTC -> porty: RC0, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9
TRISA
TRISB
TRISC
Celkovo obsahuje 44 vývodov.
Mcu nemá namapované v bitovom registry PORTB porty RB6, RB12.
Napájanie: 2V - 3.6V
Rozpis jednotlivých pinov a ich funkcie:
Projekty pre tento druh procesoru budú písané v nízko-úrovňovom jazyku C.