TL866CS, uniwersalny programator
$40.86
Właśnie dlatego kupiłem nowocześniejszy model, który nie wymaga portu COM ani LPT.
Recenzje tego urządzenia już tu są, więc moja będzie raczej niewielkim
Kupiłem ten programator jeszcze latem, ale zabrałem się za niego dopiero teraz, głównie dlatego, że zamiast dobrze mi znanego XP mam teraz Windows 7 x64. Poza tym mam teraz znacznie mniejszy wybór dostępnych portów.
Programatory można podzielić na kilka grup, choć w wielu przypadkach podział jest dość umowny, bo niektóre mogą pracować w różnych trybach.
Na początek podział ze względu na sposób sterowania: „programowe”, „sprzętowe” i autonomiczne.
Programatory programowe to najprostsze urządzenia. Nie zawierają żadnych mikrokontrolerów, a całym procesem steruje komputer. Ich wadą jest silne uzależnienie od „sprzętu” i niemal całkowity brak możliwości pracy przez konwertery USB-COM i USB-LPT.
Zalety to prostota — czasem wystarczy kilka przewodów, a czasem jeden lub kilka układów logicznych.
Programatory sprzętowe. Mają na pokładzie mikrokontroler, który pełni rolę „pośrednika” między komputerem a programowanym układem. W takim przypadku program korzysta ze standardowego protokołu transmisji danych, więc można używać konwerterów. Poza tym takie programatory zwykle zapewniają bardziej stabilne programowanie, ze skutecznością bliską 100%.
Autonomiczne. Umożliwiają programowanie całkowicie bez udziału komputera.
Jest też podział na programatory szeregowe i równoległe.
Szeregowy — dane są zapisywane bit po bicie. Trwa to długo, ale potrzeba mniej przewodów.
Ta zasada jest stosowana również w programowaniu układów w systemie.
Równoległy — zapisujemy od razu po jednym bajcie. Jest szybciej, ale układ jest bardziej skomplikowany i potrzeba więcej przewodów. Często takie programatory są „sprzętowe”, choć były też wersje podłączane do portu LPT. Ponadto w niektórych sytuacjach programator równoległy może pomóc odblokować układy, z którymi nie radzi sobie programator szeregowy.
Są też programatory z programowaniem wysokonapięciowym (można na przykład odblokować mikrokontrolery z wyłączonym wejściem resetu) oraz z trybem debugowania w układzie.
Przy naprawdę dużej determinacji program można wprowadzić nawet ręcznie, za pomocą zwykłych przełączników. Trwa to bardzo długo i jest żmudne, ale da się.
Przygotowując recenzję i testując programator, przypominałem sobie, z czego właściwie korzystałem wcześniej.
Jeśli kogoś to interesuje, pokażę, ale osoby o słabych nerwach lepiej niech nie patrzą :)
Może ktoś pokaże swoje rozwiązania.
Programator dostałem w niewielkim kartonowym pudełku. Dokładnie w takiej samej postaci pokazano go na stronie producenta.
Programator w minimalnym zestawie, który obejmuje:
1. Programator
2. Kabel USB
3. Płytę z oprogramowaniem
4. Kartę gwarancyjną.
Karta gwarancyjna nie ma większego znaczenia, a na dysk nawet nie zaglądałem, bo po prostu pobrałem potrzebne mi oprogramowanie. Link do niego podam na końcu.
Z całej zawartości przyda się chyba tylko kabel, i to całkiem dobrej jakości.
Widziałem już ten programator w innych recenzjach, więc wiedziałem, czego się spodziewać. Małe, szare pudełko z podstawką na górze.
Z jednej strony znajduje się gniazdo USB, i to właściwego typu — takiego, jakie powinno być montowane w urządzeniach, a nie mini ani micro.
Z drugiej strony jest tylko miejsce na złącze.
Na górze znajduje się tak zwana podstawka ZIF. W urządzeniach DIY najczęściej stosuje się zwykłe podstawki. Sam też tak robię — to tanie i całkiem wygodne rozwiązanie. Ale porządna podstawka jest znacznie wygodniejsza, zwłaszcza w urządzeniach uniwersalnych. Otwierasz, wkładasz układ, zamykasz i gotowe :)
Na spodzie jest tylko naklejka z numerem seryjnym i adresem producenta.
Rozebrałem go jeszcze przed pierwszym uruchomieniem, głównie z ciekawości. Rozbiera się banalnie prosto: cztery wkręty i po sprawie. Nie spodobały mi się tylko dwie rzeczy: brak nóżek i dość krótkie wkręty.
Płytka drukowana. A właściwie „kanapka” z dwóch płytek. Z zewnątrz wszystko wygląda świetnie.
W oczy rzuca się mnóstwo elementów — miejscami płytka jest nimi dosłownie usiana.
Lutowanie jest staranne, wszystko czyste. Tylko po co ktoś starł oznaczenie mikrokontrolera? O ile wiem, to coś firmy Microchip, choć w gruncie rzeczy nie ma to większego znaczenia.
Po lewej widać układy przetwornic zasilających, a pośrodku całą masę diod. Tak duża liczba elementów wynika z tego, że każdy styk podstawki może być sterowany indywidualnie, a dokładniej — całkowicie niezależnie. Dlatego możliwości programowania ogranicza tylko oprogramowanie.
Oprócz złączy łączących płytki są jeszcze dwa przewodowe wyprowadzenia, którymi płytki zostały ze sobą przylutowane. Widać też obok miejsce na kolejne złącze.
Z drugiej strony również jest miejsce na złącze. Mogę się mylić, ale o ile dobrze rozumiem, służy ono do programowania mikrokontrolera zamontowanego w programatorze.
Pierwszą część oględzin mam za sobą, próbuję go uruchomić.
Instaluję program, potem podmieniam oryginalny plik programu na spolszczony i uruchamiam. Przed właściwym uruchomieniem programu pojawia się takie okienko.
Jeśli je zamknąć, oprogramowanie działa, ale to powiadomienie irytuje przy każdym uruchomieniu.
Przy okazji, instalacja oprogramowania przebiegła zaskakująco gładko. Uruchomiłem instalator, sam zainstalował sterowniki i po zakończeniu wszystko działało. Aż mnie to zdziwiło, bo psychicznie byłem już przygotowany na problemy. Przypomnę, że test przeprowadzałem pod Windows 7 x64.

Po uruchomieniu widzimy dobrze znane wielu osobom okno programu do obsługi programatora.
W przypadku różnych programatorów może się ono nieco różnić, ale ogólna zasada pozostaje taka sama: u góry znajdują się różne tryby pracy (zapis, odczyt, weryfikacja, kasowanie itp.) oraz wybór układów.
Niżej jest okno, w którym wyświetlane są zapisywane lub odczytane dane. Podobnie jak w pozostałych programach, można je edytować.

Ponieważ wyskakujące okno ciągle mnie irytowało, w pierwszej kolejności postanowiłem zaktualizować oprogramowanie samego programatora.
Wchodzimy do menu „Narzędzia” i wybieramy opcję „Nowe oprogramowanie układowe”.
Jest tam też opcja „Autodiagnostyka” — bardzo przydatna funkcja.

Następnie straszą nas groźnym komunikatem w rodzaju: uważaj, co robisz, bo jeśli coś pójdzie nie tak, nie będziemy już mogli ci pomóc :)
W gruncie rzeczy sprawa jest poważna — nieudana aktualizacja oprogramowania układowego może rzeczywiście przysporzyć sporych problemów.
Klikamy przycisk „Programuj” i liczymy na to, że komputer się nie zawiesi, a prądu nie wyłączą. W moim przypadku wszystko poszło dobrze, oprogramowanie zaktualizowało się bez problemów.

Ale tak naprawdę była to dopiero połowa całego procesu. Potem postanowiłem przerobić mój programator TL866CS na wygodniejszą wersję TL866A.
Są dwa sposoby:
1. Przeprogramowanie mikrokontrolera programatora za pomocą innego programatora, a dokładniej kilku przewodów, portu LPT i specjalnego programu.
2. Przeprogramowanie bootloadera, czyli w zasadzie „programowa” modyfikacja.
Pierwszy sposób uważa się za bardziej prawidłowy, ale jest też trudniejszy. Drugi jest znacznie prostszy, ale podobno po aktualizacji programu trzeba będzie powtórzyć całą operację. Ponieważ nie planuję często aktualizować programu, zdecydowałem się na drugi sposób. Informacje i plik pochodzą stąd.
W tym celu uruchamiamy plik TL866.exe z folderu „Przeprogramowanie”.

Następnie wskazujemy plik update.dat. Znajduje się on w folderze, w którym zainstalowaliśmy oprogramowanie programatora.
Klikamy przycisk „Reflash”. Po raz ostatni dają nam możliwość zmiany zdania, ale nie korzystamy z niej.
Mam nadzieję, że wszyscy rozumieją, że wszystkie te czynności wykonujecie na własne ryzyko?

Na końcu powinno pojawić się takie okienko. Jeśli się nie pojawi, to najpewniej trzeba będzie skorzystać z przewodów i portu LPT.

Gotowe, teraz mamy TL866A.
Ta modernizacja pozwala programować mikrokontrolery nie tylko w podstawce samego programatora, ale także w układzie. Oczywiście można wylutować kontroler z płytki i zaprogramować go w programatorze, ale jeśli trzeba to zrobić więcej niż raz, znacznie łatwiej podłączyć sześć przewodów i zrobić to bez wylutowywania.

Samo zaktualizowanie oprogramowania nie wystarczy — trzeba jeszcze przylutować złącze. Zostawiłem to na sam koniec, bo nie miałem 100% pewności, czy przeprogramowanie się powiedzie.
Przeszukałem domowe zapasy i znalazłem złącza oraz przewód.
Pierwotnie producent przewidział zastosowanie właśnie takiego złącza.
Nazywa się NS25-W6K.

Można je zamontować nawet bez rozbierania kanapki z płytek. Na przykład ja umieściłem je na miejscu bez użycia pęsety ani żadnych innych narzędzi. Co prawda miałem tylko złącze trójstykowe, ale to nie zmienia istoty sprawy.
Nie miałem jednak pod ręką odpowiedniego złącza, więc użyłem innego, również sześciostykowego i o podobnym rastrze (moje ma 2.5 mm, a powinno mieć 2.54 mm).

Moim zdaniem znacznie wygodniej byłoby jednak użyć złącza typu IDC.
Takie złącze ma dużą zaletę: nie ma zatrzasku, a przewód jest w nim solidnie zamocowany i nie da się go wyrwać.
Jest jednak problem: żeby estetycznie zamontować takie złącze, powinno mieć 12 styków, a dostępne są wersje 10- i 14-stykowe. Trzeba więc albo użyć wersji 10-stykowej i połączyć jeden z pinów przewodem, albo 14-stykowej, pozostawiając jeden styk niewykorzystany (jeśli używamy tylko jednego rzędu pinów).
Takich złączy użyłem w swoim starym programatorze i sprawdziły się tak dobrze, że nie ma sensu szukać lepszych. Na zdjęciu złącze BH-10R 10-stykowe.

Złącze, które miało być zamontowane fabrycznie, nieco wystaje poza obrys płytki, ale moim zdaniem powinno wystawać jeszcze bardziej. To kolejny powód, by zastosować inny typ złącza.
W moim przypadku bez lutownicy się nie obejdzie.
Na początek wylutowujemy diody LED, zapamiętując wcześniej, jak były wlutowane. Na płytce biegun dodatni jest wprawdzie oznaczony kwadratowym polem lutowniczym.
Następnie, stopniowo podgrzewając dwa piny, które trzymają obie połówki razem, i jednocześnie rozsuwając płytki, rozdzielamy je.
Teraz możemy zobaczyć, co kryje się w środku.
A w środku widać mnóstwo małych tranzystorów, złącza i dławiki układu zasilania.
Przetwornice podwyższające napięcie. Ogólnie rzecz biorąc, moim zdaniem układ zasilania jest całkiem dobrze zaprojektowany. Zresztą cała konstrukcja jest przemyślana.
Przypadkiem zauważyłem bezpiecznik samoresetujący na linii zasilania USB. To też dobrze — mniejsze ryzyko uszkodzenia portu komputera w razie awarii.
Na drugiej płytce również jest cała garść małych tranzystorów — najpewniej tych, które nie zmieściły się na pierwszej.
Obejrzeliśmy, idziemy dalej.
Przed kolejnym krokiem zdążyłem już przygotować narzędzia do wyłamania zaślepki na złącze, ale niespodziewanie okazało się, że można ją po prostu wyjąć. Miła niespodzianka :)
Przylutowuję pocynowany przewód do złącza. Najpierw chciałem po prostu użyć wyprowadzeń z jakichś elementów, ale potem pomyślałem, że jeśli zastosuję sztywne, pocynowane przewody, złącza nie trzeba będzie przyklejać. Oryginalne złącze utrzymuje się na płytce dzięki sztywności swoich wyprowadzeń.
Składamy wszystko do kupy, przylutowujemy diody LED i montujemy całość w obudowie.
Przed kolejną czynnością trzeba zdecydować, według którego pinoutu złącza będziemy pracować.
W przypadku Microchipa wszystko jest proste i jasne, ale z Atmelem nie jest już tak łatwo. Istnieją dwa standardowe warianty złącza ICSP: 6- i 10-pinowy.
Zwykle staram się używać wersji 6-pinowej, bo jest bardziej kompaktowa, ale 10-pinowa uchodzi za bardziej poprawną i została zaproponowana przez samego Atmela. Oczywiście nic nie stoi na przeszkodzie, żeby zrobić przejściówkę albo po prostu dwa kable, ale w każdym razie warto trzymać się tych dwóch standardów — może się to później przydać.

Może komuś będzie tak łatwiej zrozumieć, jak poprowadzić połączenia złącza.

Ostatecznie wybrałem wariant 6-pinowy, chociaż samo złącze mam 10-pinowe, więc podłączam tylko sześć środkowych pinów.
Wszystkie skrzyżowania przewodów zostawiam po stronie złącza podłączanego do programatora. Nie mam zaciskarki, więc musiałem lutować.
Oczywiście sprawdzam, co z tego wyszło. Biorę płytkę z tej recenzji i próbuję odczytać jej zawartość.
Aby korzystać ze złącza do programowania zewnętrznego, wybieramy odpowiednią opcję w ustawieniach programu. Przy okazji można też zdecydować, czy zasilać urządzenie.
Prąd jest ograniczony i z jakiegoś powodu ciągle pojawiał mi się błąd przeciążenia portu programatora. Musiałem więc przytrzymywać przycisk zasilania programowanego urządzenia, a w ustawieniach programatora wyłączyć zasilanie.

Prędkość odczytu w tym trybie nie jest zbyt duża — odczyt Atmegi644 trwał 13 sekund.

Po krótkich testach z innymi mikrokontrolerami i upewnieniu się, że wszystko działa, przeszedłem do rzadszych prób, choć to już raczej z czystej ciekawości.
Biorę pamięć EPROM 27C256 ze starego komputera i odczytuję ją.
Przy okazji, w przypadku układów kasowanych promieniowaniem UV dostępna jest przydatna opcja sprawdzania, czy układ jest czysty — w tym trybie programator sprawdza, czy został całkowicie skasowany.
Układ ma około 30 lat, ale daje się odczytać :) Prawie na pewno jednak odczyt zawiera błędy, bo takie pamięci EPROM z czasem mają tendencję do „przeciekania”.

Dobrze, dla eksperymentu biorę jeszcze jeden podobny układ, pochodzący z jakiegoś bardzo starego komputera 80286.
Tutaj wygląda na to, że błędy pojawiają się już na samym początku odczytu i są bardziej wyraźne — widać to po odczytanym tekście.

Za wygodne rozwiązanie mogę uznać listę ostatnio używanych układów.
Podczas testów sprawdzałem też starsze układy Atmela, na przykład 89C2051 — nie zauważyłem żadnych problemów.
W ogóle lista obsługiwanych mikrokontrolerów jest dość długa.

Potem chciałem znaleźć swojego starego Sinclaira, żeby odczytać jego pamięć ROM, ale nie wpadł mi w ręce, więc przeszedłem do czegoś, co bardzo mile mnie zaskoczyło w tym programatorze. Dziwne tylko, że nikt specjalnie nie zwracał na to uwagi.
Urządzenie umożliwia testowanie układów logicznych, a także układów statycznej i dynamicznej pamięci RAM.
Było to dla mnie odkrycie, bo zawsze traktowałem to urządzenie wyłącznie jako programator.

Potem sprawdzałem wszystko, co wpadło mi w ręce. Na początek prosta logika.

Ponieważ większość naszych układów (choć zdecydowanie nie wszystkie) ma swoje odpowiedniki wśród układów importowanych, można testować również je.
Następnie układ statycznej pamięci RAM K537RU10. Jest wprawdzie odpowiednikiem importowanego układu 6216, ale nie znalazłem go na liście, więc sprawdziłem go jako 6116.

Potem przyszła kolej na rejestr przesuwny 555IR27, ale po sprawdzeniu dwóch układów urządzenie w obu przypadkach zgłaszało błąd. Co więcej, błędy były różne, a wyniki „pływały”. Układy były wylutowane z jakiegoś urządzenia, więc możliwe, że są uszkodzone.

Bierzemy nasz układ KR1533IR9, znajdujemy odpowiednik i wszystko działa bez zarzutu.

Trafił się jeszcze układ 155IE9W, tu również wszystko jest w porządku.

Chciałem jeszcze sprawdzić nasze układy K565RU7, ale na liście układów programatora nie znalazłem ich importowanego odpowiednika :(
Poza tym chciałem sprawdzić, czy programator odblokuje mikrokontrolery ATtiny15L (i podobne), w których wyłączono pin resetu. Znalezione przeze mnie układy nie były jednak zablokowane (albo udało się je odblokować), a jedyny znaleziony ATtiny15L, którego nie dało się odczytać ani skasować, był wylutowany. Oczywiście można spróbować najpierw go zablokować, a potem skasować, ale mam niewiele tych mikrokontrolerów, a obecnie nie da się ich kupić, więc zostawiłem je na ewentualne podmiany.
Na tym można właściwie zakończyć. Nie będę wymieniał zalet ani wad, bo programator bardzo mi się spodobał. Przeróbka na wersję A okazała się banalnie prosta, a przy tym dodaje przydatne funkcje. Zupełnym zaskoczeniem była dla mnie możliwość testowania układów logicznych. Komuś może się to wydać drobiazgiem, ale dla mnie to bardzo przydatna funkcja. Pamięci RAM raczej nie będę testował, bo rzadko mam z nimi do czynienia, ale może się to przydać przy ewentualnej diagnostyce.
Jakość wykonania również bez zarzutu. Konstrukcja jest nieco niewygodna przy rozbieraniu, bo płytki są w dwóch miejscach przylutowane do siebie, ale w praktyce raczej nie będzie potrzeby ich rozdzielać.
Zgodnie z obietnicą, w ramach uzupełnienia: program ze sterownikiem, program do aktualizacji firmware'u, schemat oraz lista obsługiwanych układów. Lista jest stale uzupełniana, więc może być już dłuższa. Link do pobrania.
Z kuponem TL866CSS programator kosztuje 37 dolarów. Mnie wyszedł nieco drożej, bo w tamtym czasie nie było kuponu, a skorzystałem z punktów.
To już wszystko. Jak zawsze czekam na pytania, a w ramach bonusu mam małą zagadkę. Pierwsza osoba, która poda prawidłową odpowiedź, dostanie plusa do karmy (jeśli jeszcze go nie dostała).
$40.86
Tę stronę znaleziono, wyszukując:
чем запрограммировать ь xc 866, атмега 644ра tl866 plus, tll программатор, https://www.kirich.blog/obzory/tehnicheskie-obzory/224-tl866cs-universalnyy-programmator, инструкция на русском tl866 ii plus программирование nand, stk300 megaavr starter kit, tl866 версии, tl866 распиновка, распиновка программатора minipro tl866cs, программатор пзу своими руками, пзу 27128 программатор, программатор пзу 556-й и 155-й серий, tl866cs фото плат, программатор универсальный 27 и 25, firmware cs-pro audio, программатор для 27с240-10, программатор для уф пзу, программатор пзу, внутрисхемное программирование на tl866 plus, программа для tl866ii plus, tl866ii cs, программатор 573рф2 на tl866, печатная плата для программатора tl866, тл866 что за приставка spi driver, как прошить микросхему atmega 16a au 1534a программатором tl866iiplus
чем запрограммировать ь xc 866, атмега 644ра tl866 plus, tll программатор, https://www.kirich.blog/obzory/tehnicheskie-obzory/224-tl866cs-universalnyy-programmator, инструкция на русском tl866 ii plus программирование nand, stk300 megaavr starter kit, tl866 версии, tl866 распиновка, распиновка программатора minipro tl866cs, программатор пзу своими руками, пзу 27128 программатор, программатор пзу 556-й и 155-й серий, tl866cs фото плат, программатор универсальный 27 и 25, firmware cs-pro audio, программатор для 27с240-10, программатор для уф пзу, программатор пзу, внутрисхемное программирование на tl866 plus, программа для tl866ii plus, tl866ii cs, программатор 573рф2 на tl866, печатная плата для программатора tl866, тл866 что за приставка spi driver, как прошить микросхему atmega 16a au 1534a программатором tl866iiplus
Wyniki z tej recenzji znajdują się w bazie pomiarów: Narzędzia
Produkty w obniżonych cenach
Może Cię zainteresować
Produkty w obniżonych cenach
Wesprzyj projekt
Wszystkie materiały na stronie i porady są bezpłatne, ale będziemy wdzięczni za wsparcie projektu i kanału!
Komentarze3
Omów na forumMasz pytanie lub własne doświadczenia? Omów artykuł z autorem i czytelnikami — na forum wygodnie pokazuje się schematy i zdjęcia.
Przejdź na forumKomentować mogą zarejestrowani czytelnicy. Rejestracja zajmuje minutę, a zalogować się można za pomocą tego samego konta co na forum.
Zaloguj sięRejestracja
















































Komentarze są publikowane w języku oryginału.