poniedziałek, 5 grudnia 2011

Pioneer BCT 1430 i Ejtag Tiny Tools

Programator Ejtag Tiny Tools możemy użyć do zaprogramowania tunera Pioneer BCT 1430.
Tuner oparty jest na procesorze STI 5510, jest to procesor z rodziny ST20 i program Ejtag Tiny Tools posiada obsługę procesorów z tej rodziny.

Do zaprogramowania tunera BCT 1430 będziemy potrzebować:

- programator EJTAG z krótkimi odcinkami przewodów (długośc maksymalnie 20 cm) zakończonymi pinami do wpięcia w grzebień

- kabel LPT pełny 1 do 1 z obydwiema końcówkami męskimi

- zasilanie EJTAG-a, ja do tego celu używam baterii pastylkowej 3V z krótkimi odcinkami przewodów

Programowanie tunera Pioneer BCT 1430
W tunerze BCT 1430 musimy odszukać gniazdo JTAG oznaczone jako CN 2002.
Jeżeli nie ma wlutowanych pinów, musimy je wlutować.
Sygnały JTAG w gnieździe CN 2002 są takie:
Pin 19 - TRST
Pin 15 - TDO
Pin 13 - TDI
Pin 11 - TCK
Pin 9 - TMS
Pin 20 - GND

Podłączamy więc krótkimi odcinkami przewodów EJTAG do tunera zgodnie z opisem sygnałów, czyli TRST do TRST, TDI do TDI itd...
Sygnały w EJTAGu są takie

Podłączamy zasilanie 3V do EJTAG-a.
Wszystko robimy na tunerze wyłączonym z sieci 220V.
Łączymy EJTAG kablem LPT z komputerem.

sobota, 3 grudnia 2011

O programatorze Ejtag Tiny Tools

Programator Ejtag Tiny Tools umożliwia programowanie pamięci flash w różnych tunerach satelitarnych.

Jest to programator uniwersalny i w przeciwieństwie do zwykłego JTAG-a umożliwia zaprogramowanie pamięci w większej liczbie tunerów satelitarnych.

Gotowy EJTAG wygląda tak


Ejtag Tiny Tools obsługuje tunery oparte na procesorach:

1. Ali M3327, 29

2. NEC EMMA2L (L) (uPD6111h) i NEC EMMA2SL (uPD61217)

3. ARM7 / 9 - Conexant CX24138-43

4. Obsługuje procesory MIPS takie jak Broadcom, BRECIS itp.np. Dm500

5. Procesory ST20 - STI 5518 i pochodne


Pozwala zaprogramować tunery Ferguson z rodziny FX z procesorem NEC, tunery oparte na procesorze Ali (Globo, Opticum) jak i wszystkie tunery z proceseroem ST20, czyli Sti5518 (Fergusony z rodziny AF).

EJTAG posiada standardowe sygnały JTAG, czyli TRST, TDI, TDO, TMS, TCK, GND.

Do poprawnej pracy wymaga zewnętrznego zasilania 3,3V, można je pobrać z wyjścia przetwornicy tunera.
Ja do zasilania EJTAG-a używam baterii pastylkowej 3,3V, takiej jaka jest w płytach głownych komputerów.

Ejtag Tiny Tools możemy zbudować samemu, schemat znajduje sie poniżej

Płytkę do EJTAG-a możemy wykonać w domu metodą termotransferu, niżej negatyw to wykonania płytki.


Niżej do pobrania jest też gotowy plik w formacie word do wydrukowania na drukarce laserowej.
-- > EJTAG

Do wykonania EJtaga Tiny Tools będziemy potrzebować:
- płytkę Ejtaga
- układ 74HC244
- gniazdo LPT
- gniazdo zasilania
- 1 rezystor 1K
- 4 rezystory 100 om
- 3 rezystory 22K
- 6 pinów
- kondensator 100nF

Do zasilania Ejtaga używam baterii pastylkowej, takiej jaka jest stosowana w płytach głownych komputerów.

EJTAG_TT i Ferguson FX 6600

Za pomocą programu EJTAG Tiny Tools można zaprogramować flash w tunerze Fergoson FX 6600.
Do programowania używamy interfejsu Ejtag Tiny Tools.
Schemat znajduje się na zdjęciu poniżej.

Gotowy programator można zakupić na Allegro lub zbudować we własnym zakresie, wygląda jak na zdjęciu niżej

Ejtag wymaga zewnętrznego zasilania 3,3 V, można je pobrać z tunera lub zewnętrznego zasilacza.




Sygnały JTAG są takie jak zdjęciu niżej

Są to: TRST, TDI, TDO, TMS, TCK, GND.
Takie same sygnały mamy w EJTAG-u

Rozkręcamy tuner oczywiście nie podłączony do zasilania 220V i podłączamy ze soba poszczególne sygnały, czyli TRST w tunerze z TRST w EJTAG-u itd...


EJTAG wymaga zasilania 3.3V, można je pobrać z tunera, ja do zasilania EJTAG-a używam baterii pastylkowej 3,3V takiej, jaka jest w płytach głownych komputerów.
Łączymy Ejtag kablem LPT do gniazda w komputerze.

Teraz ważną rzeczą jest zrobienie zworki w tunerze, aby wszedł w tryb debug, co umozliwi nam wszystkie operacje na pamięci flash, w tym odczyt, zapis i kasowanie.

Zworkę robimy w miejscu oznaczonym jako R38, na zdjęciu niżej pokazano to miejsce i dodatkowo oznaczone jest cyfrą 1.


Wykonanie zworki w miejscu oznaczonym cyfrą 1 powoduje zwarcie tego miejsca do masy, ewentualnie można punkt 1 zewrzeć za pomocą krótkiego odcinka przewodu do masy tunera.

Gdy zworkę mamy już wykonaną sprawdzamy wszystkie połączenia i włączamy tuner do sieci 220V i po chwili rozłączamy zworkę lub punkt 1 odłączamy od masy.

Tuner mamy w trybie debug i możemy przystąpić do programowania pamięci flash.

Do programowania będziemy uzywać programu EJTAG Tiny Tools.
Do poprawnego działania tego programu jest wymagane zainstalowanie sterownika giveio.sys

Wersja instalacyjna sterownika giveio.sys jest do ściągnięcia niżej.
-- > GIVEIO

Ściągamy plik wypakowujemy archiwum zip i instalujemy giveo.

Po instalacji sprawdzamy czy sterownik giveio jest uruchomiony, w tym celu wchodzimy w menadżer urządzeń klikamy Start -> Panel sterowania -> System ->> klikamy zakładkę Sprzęt i Menadżer urządzeń, teraz klikamy Pokaż ukryte urządzenia.

Teraz klikamy w Non-Plug and Play Driver i szukamy sterownika giveo

Klikamy 2 razy w giveo i wchodzimy w zakładkę Driver

Widzimy, że sterownik giveo jest uruchomiony, więc zostawiamy tak i zamykamy menadżer Urządzeń.

Jeżeli sterownik giveo nie jest uruchomiony klikamy start i ustawiamy na automatyczny start w Startup na Automatic.

Teraz już możemy zająć się samym programem Ejtag Tiny Tools.
Program ściagamy z poniższego linku
-- > EJTAG Tint tools

Wypakowujemy archiwum zip i uruchamiamy program klikając EJTAG_TT_1.0.6.17.exe

Zmieniamy język na Angielski.

W Settings w Port ustawiamy odpowiedni adres portu LPT, aby sprawdzić jaki ma adres portu LPT wchodzimy w Mendżer urządzeń i szukamy portów LPT, wchodzimy we włąsciwości portu LPT i w zakładce Zasoby sprawdzamy jaki mamy Zakres Wejścia/Wyjścia.


Jak widać Zakres We/Wyj jest 0378-037F, w programie Ejtag Tiny Tools ustawiamy, więc odpowiednio port na $378.

Dalej w Settings zaznaczamy ptaszkiem Use DMA, pozostałe Reset PIO, Ali SDRAM, Watchdog pozostawiamy puste niezaznaczone.

Teraz musimy wybrać odpowiedni rodzaj procesora na jakim oparty jest tuner.
Tuner Ferguson FX 6600 oparty jest na procesorze NEC UPD61110, a więc w Processor type zaznaczamy NEC EMMA2.

Teraz musimy ustawić rodzaj pamięci flash jaki mamy w tunerze.
Ustawiamy na AMD 16 bit i zaznaczamy ptaszkiem Fast AMD/SPI, 16/8 Byte Mode niezaznaczamy i pozostawiamy puste.

Teraz musimy ustawić początkowy adres pamięci flash na 1FC00000.

Na razie z ustawień programu byłoby wszystko, klikamy Connect.
Jeżeli mamy wszystko poprawnie połączone i tuner mamy w trybie debug ze zworką w punkcie R38 do masy, program Ejtag Tiny Tools powinien wykryć procesor jako UPD61110/12 (EMMA2LL).

Jeżeli nie wykryje poprawnie procesora, to nie mamy poprawnego połączenia EJTAGA z tunerem lub tuner nie jest w trybie Debug.

Dalej program powinien wykryć pamięć flash i wyświetlić odpowiednią informację w programie, czyli jak na poniższym obrazku Found flash: ManufactureID = 0020 DeviceID = 22C4.

Dla nas ważne jest DeviceID = 22C4, ponieważ musimy odpowiednio wyedytować plik EJTAG.ini, który znajduje sie w katalogu z programem Ejtag Tiny Tools.
Otwieramy plik EJTAG.ini w notatniku i go edytujemy.

W kwadratowym nawiasie wpisujemy nasze Device ID takie jakie wykryło nam w programie czyli 22C4, reszte wpisujemy tak jak na powyższym obrazku czyli:
[22C4]
4000=Region0
6000=Region1
8000=Region2
10000=Region3
20000=Region4
30000=Region5
40000=Region6
50000=Region7
60000=Region8
70000=Region9
80000=Region10
90000=Region11
A0000=Region12
B0000=Region13
C0000=Region14
D0000=Region15
E0000=Region16
F0000=Region17
100000=Region18
100000=FlashSize

Gdy wpiszemy nasze DeviceID i rozmiar (FlashSize) i adresy (Region) pamięci flash zapisujemy plik EJTAG.ini i zamykamy go.

Teraz ponowanie klikamy Connect i powinny uaktywnić się klawisze Read - służący do odczytu pamięci flash, Write - służący do zapisu pamięci flash, Erase flash - służący do kasowania pamięci flash.

Teraz musimy ustawić sobie długość (rozmiar) pamięci flash.
Dekoder FX 6600 posiada flash o pojemności 2MB, ustawiamy więc dłogość pliku na Offset: 0 i Lenght: 200000.
Pierwsze co powinnyśmy zrobić to zapisać sobie pamięć flash.
Klikamy więc Read i zapisujemy sobie pamięć flash, program w trakcie odczytu pownien wyglądać jak niżej.

Po odczycie kasujemy pamięć flash klikajac Erase i na koniec zapisujemy dump pamięci.
Po zakończeniu wyłączamy tuner, zdejmujemy zworkę i odłączamy EJTAG.

Niżej jest do pobrania pełny 2MB poprawny dump pamięci do dekodera FX 6600.
-- > Dump 2MB FX6600

Powodzenia w ratowaniu FX6600 !