Fórum témák
» Több friss téma |
Cikkek » 28C16 EEPROM Programozó PIC16F887 mikrokontrollerrel 28C16 EEPROM Programozó PIC16F887 mikrokontrollerrel
Szerző: tomcii, idő: Kedd, 20:02, Olvasva: 104, Oldal olvasási idő: kb. 4 perc
Az applikáció nagyvonalakban:
A programozóhoz egy saját fejlesztésű Windows alkalmazás is készült C# nyelven, WinForms környezetben. Az alkalmazás célja az volt, hogy egyszerű kezelőfelületet biztosítson a 28C16 EEPROM memória olvasásához, írásához, és szerkesztéséhez. A szoftver nem univerzális EEPROM kezelőként készült, hanem kifejezetten ehhez a hardverhez és firmware-hez lett optimalizálva. Emiatt a kommunikáció egyszerű, gyors és könnyen követhető maradt. Technológia Az alkalmazás:
alapokra épül. A kommunikáció hagyományos soros porton keresztül történik, amelyet az MCP2221A USB-UART illesztő biztosít. A program induláskor:
Kommunikációs architektúra A PC-s alkalmazás és a PIC firmware között egyszerű ASCII parancsprotokoll működik.
A kommunikáció logikai felépítése: Windows App A PC csak magas szintű parancsokat küld, például: R 0x0000 A firmware végzi:
Ez nagy előny, mert az alkalmazásnak nem kell közvetlenül hardverszintű memóriakezeléssel foglalkoznia. Soros kapcsolat kezelése Az alkalmazás a Kapcsolódáskor:
A firmware-rel történő első kapcsolatfelvétel során az alkalmazás egy egyszerű ping parancsot küld: P Erre a programozó válaszol: PING: OK EEPROM-PGM HW V2 tomcii Ez biztosítja, hogy valóban a megfelelő eszközhöz kapcsolódott a szoftver. Belső memória buffer Az alkalmazás a teljes EEPROM tartalmát RAM-ban tárolja: private byte[] _buffer = new byte[2048]; Ez a buffer reprezentálja:
A legtöbb művelet ezen a belső bufferen dolgozik. Ez lehetővé teszi:
Hex editor nézet A program egyik központi része a saját hex editor felület. A megjelenítés:
felépítést használ. A nézet tartalmaz:
Példa: 0000 48 45 4C 4C 4F 20 57 4F 52 4C 44 FF FF FF FF HELLO WORLD.... A hex editor
Ez nagyon retro debugger/EPROM programmer hangulatot ad az alkalmazásnak. EEPROM olvasása
Az olvasás blokkos módban történik. Az alkalmazás:
A firmware-nek küldött parancs: D 0x0000 0x40 A firmware válasza:
A szoftver:
Ezután automatikusan frissül:
A blokkos olvasás sokkal gyorsabb, mint byte-onként lekérdezni az EEPROM teljes tartalmát. EEPROM írása Íráskor az alkalmazás végigmegy a teljes 2048 byte-os bufferen. Minden byte-ra külön írási parancs kerül kiküldésre: W 0x0123 0xAA
A firmware:
Sikeres válasz: OK 0123 AA
EEPROM törlése
![]() A 28C16 EEPROM egyik előnye, hogy az EPROM memóriákkal ellentétben nincs szükség UV-fényes törlésre, vagy speciális programozófeszültségre. A memória tartalma egyszerűen felülírható normál 5 V-os működés mellett, ezért a teljes törlés gyakorlatilag abból áll, hogy a firmware minden címet A firmware támogat egy úgynevezett „Fast Erase” működést is, amely során a teljes memória blokkos, automatikus végigírása történik. Ilyenkor a programozó gyors egymásutánban végigmegy az összes memóriahelyen, miközben az írás után polling alapú visszaellenőrzést végez, így biztosítva, hogy a törlés valóban sikeresen megtörtént. Az alkalmazás minden válasz után ellenőrzi:
Írás közben progress bar mutatja az aktuális állapotot. BIN fájl kezelés Az alkalmazás képes:
Betöltéskor:
Ha a fájl kisebb 2048 byte-nál:
Ez lehetővé teszi:
Naplózás Az alkalmazás minden fontos eseményt naplóz:
Példa:
Ez fejlesztés közben rendkívül hasznos volt hibakereséshez és kommunikációs problémák diagnosztikájához. Műveletkezelés és megszakítás Az alkalmazás figyeli, hogy fut-e aktív művelet:
Valamint támogatja a megszakítást is:
Ez különösen fontos:
A felhasználó megszakíthatja a folyamatot anélkül, hogy az alkalmazás instabillá válna. Timeout kezelés A soros kommunikáció egyik legfontosabb része a timeout kezelés. Az alkalmazás:
Ez fejlesztés közben különösen hasznos volt, mert:
nem fagyott meg a teljes alkalmazás. Felhasználói felület A kezelőfelület szándékosan egyszerű maradt. Főbb elemek:
A cél nem modern “flat design” GUI készítése volt, hanem egy klasszikus, műszer jellegű EEPROM programmer alkalmazás létrehozása. Ez szándékosan idézi a régi:
hangulatát. Miért különösen hasznos ez a felépítés? Az alkalmazás egyik legnagyobb előnye, hogy a hardver és a firmware szinte teljesen leválasztja a PC-t az EEPROM fizikai kezeléséről. A Windows alkalmazásnak:
A PIC firmware mindezt elintézi. Ez:
A PC-s alkalmazás egy egyszerű, de jól használható kezelőfelületet biztosít a 28C16 EEPROM programozóhoz. A szoftver:
A projekt különlegessége, hogy:
egyaránt saját fejlesztésű, így a teljes rendszer működése átlátható és könnyen továbbfejleszthető maradt. Az utolsó oldalon fogom összegezni a projektet, valamint közzétenni az utánépítéshez szükséges fájlokat, és az alkatrészlistát is. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |






