I2CPROGXv1.3.zip

Programator elementów I2CPROGXv13 oraz STK200+ (dla bascom?)

Programator elementów I2C „PROGXv13” umożliwia programowanie układów pamięci 24CXX, PCF8583, PCF8593 oraz Syntezy TSA6057. Powstał jako narzędzie ułatwiające budowanie urządzeń z tymi układami, być może kiedyś również z innymi na magistrali I2C. Dla ułatwienia program współpracuje z programatorem STK200, po zastosowaniu dodatkowej diody łączącej linie „MOSI” oraz „MISO” –stanowiącej sygnał „DATA”. Linia „SCK” pozostaje linią zegara „SCL” (dwa rezystory podciągające SDA oraz SCL do + powinny się znajdować w którymś miejscu magistrali I2C). Jeżeli jednak zdecydujemy się na zbudowanie programatora zaproponowanego przeze mnie (do nazwy STK200 pozwoliłem sobie dodać „+” jako, że stanowi on skromne rozwinięcie konstrukcji podstawowej). Otrzymamy możliwość współpracy (właściwie wzajemnego nie przeszkadzania sobie) programu PROGX z kompilatorami BASCOM 51 oraz BASCOM AVR. Daje to możliwość zaprogramowania w dowolnym momencie procesora, lub zapisu/odczytu z układu I2C znajdującego się na wspólnej magistrali z procesorem (Oczywiście pod warunkiem prawidłowego podłączenia linii SPI oraz I2C z programatorem STK200+). Uzyskano to dzięki wystawianiu przez programator sygnału RESET dla procesora, w momencie potrzeby dostępu do I2C przez PROGX. Procesor w stanie RESET zwalnia wszystkie wyprowadzenia i pozwala na swobodny dostęp do dołączonego układu I2C. W zależności czy programujemy AVR, czy 51kę należy odpowiednio ustawić jumper JP2 ustalający polaryzacje sygnału RESET. Jumper JP1 umożliwia wyłączenie części programatora I2C (oraz podającej RESET) w przypadku używania programu nie pozostawiającego portu LPT w „należytym porządku” (wymagane stany wysokie na 4 i 5 pinie db25 po zaprogramowaniu procesora) . Oprócz BASCOMów również PonyProg2000 nie sprawiał problemów przy współpracy (sam nie oferuje niestety możliwości programowania I2C przez STK200). Program PROGX został napisany w BASIC dla DOS. Mimo to funkcjonuje poprawnie w Windows XP w „DOS virtual machine”. Jednak związane są z tym pewne anomalie o których poniżej. Z niewiadomych mi powodów program uruchomiony w zminimalizowanym oknie, lub w pełnym ekranie , bez odpalenia wcześniej np. PonyProg2000 (który używa biblioteki DLLPORTIO co jest zapewne kluczowe w tym przypadku). Rozpoznaje programator, na . nieistniejącym w systemie porcie LPT (u mnie &H3BC). W tym „trybie” program wykazuje błędne działanie w zakresie zapisu pamięci EEPROM (odczyt jest poprawny, choć nieco powolny) . Pełno wartościowe funkcjonowanie uzyskuje się dopiero w momencie uruchomienia PonyProga2000 (można go co ciekawe zaraz zamknąć J), oraz odpalenia PROGX w wersji pełnoekranowej. Wówczas program prawidłowo rozpoznaje port z zainstalowanym programatorem (u mnie&H378). Dodatkowo we właściwościach uruchamiania programu ms-DOS należy zaznaczyć wykrywanie bezczynności na minimum, w przeciwnym razie podczas długiego zapisu/odczytu, program będzie zwalniał swoje działanie do czasu użycia klawiatury lub myszy. Czas odczytu 65kB pamięci wynosił około 45s (procesor P4 3300). Czas zapisu zależny od możliwości użytej pamięci około dwóch minut. Z resztą możliwości proponuję się zapoznać uruchamiając program. Obsługa jest prosta, dodatkowo wyświetlana jest podpowiedź o aktywnych klawiszach. Ciekawostką może się okazać edytor pamięci, zaprojektowany w nieco inny, bardzo intuicyjny dla mnie sposób. Na koniec parę słów o układzie programatora. Jak widać na schemacie nie przedstawia sobą nic nadzwyczajnego. Jeden bufor HC244, kilka tranzystorów i zworek. Całość działa poprawnie od 1.8V do 5.5V. Umożliwiając programowanie układów pracujących w tym przedziale napięć (jeżeli ich parametry na to pozwalają). Kondensatory 47p poprawiały zachowanie układu przy użyciu HCT244, który można w ostateczności zastosować, jednak możliwe są błędy dla napięć zasilania od 3-4.5V, w zależności od układu (serii?). Niestety programator został zbudowany tylko na płytce uniwersalnej. Schemat PCB jest więc niedostępny (każdy może sobie wykonać według własnego uznania na podstawie pliku sch. dla EAGLEa). Jak już wspomniano przy rezygnacji z budowy rozszerzonej wersji programatora pozostaje nadal możliwość współpracy PROGX z układami przez standardowy STK200 wzbogacony o diodę oraz opcjonalnie rezystory podciągające linie do +VCC jeśli brak ich w układzie. Przy prawidłowym podłączeniu program sam rozpozna rodzaj programatora wyświetlając jego typ („stk200” lub „stk200+”) . W przypadku nie rozpoznania programatora jako numer użytego portu LPT zostanie wyświetlone ”H???” Program wraz z programatorem polecam głównie osobom programującym w BASCOMIE oraz używających układów na I2Cbus. Możliwość szybkiej modyfikacji oraz odczytu parametrów układów może być bardzo pomocna, oraz oszczędzić wiele czasu związanego z przełączaniem programatorów lub/i wyjmowaniem układów z podstawek. Ostatni pomysł jakim była implementacja obsługi syntezy TSA6057 jest natomiast dedykowana dla radio amatorów chcących zbudować lub przetestować swój pierwszy nadajnik/odbiornik współpracujący z tą szeroko opisywaną i popularną PLL. Odpowiednio przeliczone częstotliwości mogą być pomocne, nawet w przypadku użycia programu jako kalkulatora J (w zalaczniku dodatkowo zdiecia prototypu)

  • I2CPROGXv1.3.zip
    • stk200+_pro1.JPG
    • stk200+.sch
    • stk200+_pro2.JPG
    • PROGXv13.rtf
    • stk200+.GIF
    • PROGXV13.EXE


Pobierz plik - link do postu
  Szukaj w 5mln produktów