Fórum témák

» Több friss téma
Cikkek » PIC 18F4550 USB útmutató I
PIC 18F4550 USB útmutató I
Szerző: Gory, idő: Jún 1, 2007, Olvasva: 39771, Oldal olvasási idő: kb. 2 perc
Lapozás: OK   1 / 4
A PIC 18F4550 USB-s képességeit bemutató cikksorozat bevezető része, mely a bootloaderről szól.

A Microchip USB Bootloader használata

Előszó:


Egyre népszerűbb mostanában a saját fejlesztésű hardvereket USB kapcsolattal ellátni. Akár azért, hogy egy esetleges szoftverfrissítés azon keresztül legyen megoldva, akár azért, mert a PC-vel szükséges valami interakciót vagy megjelenítést biztosítani az eszköznek. Léteznek cél chipek erre a célra, de én most mégis egy PIC mikrokontroller alkalmazásáról adok egy remélhetőleg érthető leírást. Konkrétan a 18F4550 típusról lesz szó, ami egyszerűen beszerezhető itthon is. Előnye a bonyolult cél IC-kkel szemben, hogy létezik DIP tokozású verziója is, és ha már mikrokontrollert alkalmaz az ember a kigondolt feladat megoldására, akkor a PC-re kapcsolás is megoldható vele egy füst alatt.  Ezen kívül kevesebb speciális tudást igényel, ha már úgyis ismeri a PIC-eket az ember, akkor nem sok többletinformáció kell az USB kapcsolat megvalósítására. Olyan amatőröknek mint mi, elegendő. Egy cikksorozatban megpróbálom körüljárni ezt a területet, igyekszem később majd mindenre valami működő példát is mutatni, sőt lehet hogy még hasznosat is. Nem tudom megmondani előre hány részes lesz a sorozat, de az már biztos hogy legalább egy. (Sőt több mint egy). Remélem hogy egy elég nagy űrt sikerül befoltozni, főleg a magyar nyelvű „howto"-k terén.

Az USB szabályrendszerére és technikai hátterére nem térnék ki, akit ez érdekel az már úgyis utána nézett. Nem valami olvasmányos, ellenben baromi hosszú az irodalom. Szerencsére ez minket nem feszélyez, egyelőre elég, ha felismerjük melyik az USB port. Annyit említek csak meg, ami a tárgy szempontjából fontos, hogy létezik Host és Slave egység egy USB kapcsolatban. A Host a felsőbbrendű, ő irányítja a hozzá kapcsolódó Slave-ket. Egyszerűbben fogalmazva a Host az, amibe a többi USB-s dolgot bele lehet dugdosni. Például a számítógép a Host és egy MP3 lejátszó a Slave.

A PIC 18F4550 csak és kizárólag Slave funkciót képes ellátni, tehát az ezzel készült áramkörökbe nem tudunk semmi USB-s másik eszközt beledugni. Csakis őt tudjuk egy másikba, többnyire számítógépbe. Ezt azért említem meg, mert sokan akarnak például MP3 lejátszót vagy egyebeket a PIC-hez „interfészelni", de ez erre nem alkalmas, ahhoz bonyolultabb chipet kell választani. A továbbiakban a PC és a PIC 18F4550 közt akarunk majd kommunikálni.

Az USB működési szisztémájából azt érdemes még kiemelni, hogy úgynevezett osztályok vannak definiálva, amik gyakorlatilag csoportokba sorolják az USB-n keresztül működő eszközöket. A PIC 18F4550 esetében ezt az osztályt a bele írt szoftver és a számítógépre telepített driver határozza meg, tehát többféle osztályt is megvalósíthatunk vele. A Microchip szerencsére előre legyártott nekünk több firmware-t is, amik az ilyen osztályok összes nyűgét leveszik a vállunkról, nekünk csak a saját kódunkat kell megírni.

Ezek az instant firmwarek a következők:

Communication Device Class (soros port USB-s emulációjához)
Human Interface Device Class (például egy USB-s egér)
Mass Storage Class (pendrive)
Custom Device Class (ez bármi lehet)
Bootloader

A cikksorozatban igyekszem majd mindegyikre elméleti és gyakorlati szempontból is kitérni. Amikor az eszközt a számítógéphez akarjuk illeszteni, akkor eldöntjük, hogy melyik osztályba soroljuk, aszerint hogy melyik osztály tulajdonságai a legjobbak az általunk óhajtott adatátvitelhez. Ezután abba a gyári vázba írjuk a kódot. Hogy mik az osztályok, a tulajdonságaik, és melyiket mire szokás használni majd később következnek, és remélem világossá is válnak, ha idáig nem azok.


A cikk még nem ért véget, lapozz!
Következő: »»   1 / 4
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem