Suzuki Klub Polska - Forum Dyskusyjne - www.suzukiklub.pl

Forum dyskusyjne dla użytkowników samochodów marki Suzuki.
Dzisiaj jest 28-03-2024, 21:57

Strefa czasowa UTC+01:00




Nowy temat  Odpowiedz w temacie  [ Posty: 1 ] 
Autor Wiadomość
Post: 12-11-2015, 12:32 
Offline

Rejestracja: 14-02-2008, 21:30
Posty: 54
Lokalizacja: krak-off
Udało mi się w końcu rozgryźć komunikację z wyświetlaczem - dzięki czemu teoretycznie można wyrzucić fabryczne radio i wstawić inne, jednocześnie dodając urządzenie, którym zamiast radia będzie można ustawić chociażby aktualny czas na wyświetlaczu fabrycznym, albo kontrolować tekst w dolnej linii wyświetlacza (tam gdzie nazwa stacji).

Wyświetlacz jest kontrolowany przez magistralę I2C wzbogaconą o dodatkowy sygnał MRQ

Protokół bazowany jest na protokole wyświetlacza TID Opla
http://wiki.carluccio.de/index.php/Opel_TID

Różnice: Opel zależnie od wersji wyświetlacza TID używa 2 lub 3 bajty danych na symbole (ikonki) i 8 lub 10 znaków tekstowych.
W Ignisie mamy 4 bajty na symbole i 11 bajtów na tekst.


Format ramki danych dla Ignisa dla dolnej linii wyświetlacza:

Address = 0x9E
symbol_0
symbol_1
symbol_2
symbol_3
text_0
text_1
text_2
text_3
text_4
text_5
text_6
text_7
text_8
text_9
text_10



Generalnie można wprost użyć biblioteki do Opla bez żadnych modyfikacji, żeby kontrolować wyświetlanie 8 znaków tekstu.
Gotowy software na platformę Arduino ( http://forum.arduino.cc/index.php?topic=78634.15 OpelTID1.1 )

I2C Address dla wyświetlacza Ignisa to 0x9E (Opel 8 znaków 0x94, Opel 10 znaków 0x9A)

Zarówno symbole jak i text mają zakres 0x00-0x7F ale są wysyłane z bitem parzystości (dany bajt przesuwamy o jeden bit w lewo, a na najmłodszym

dodajemy bit parzystości - algorytm wyliczania w funkcji tid_data()).

Ikonki w Ignisie:
symbol_0 bit0 - []
symbol_0 bit1 - AS
symbol_0 bit2 - EON
symbol_0 bit3 - STEREO
symbol_0 bit5 - RDS
symbol_1 bit3 - CR/ML
symbol_1 bit4 - DOLBY
symbol_1 bit6 - CD
symbol_2 bit2 - DISC
symbol_2 bit4 - RDM
symbol_2 bit5 - TRA
symbol_3 bit0 - CASSETTE
symbol_3 bit1 - RPT
symbol_3 bit3 - P (litera P od symbolu "TP")
symbol_3 bit4 - T (litera T od symbolu "TP")
symbol_3 bit5 - PTY
symbol_3 bit6 - REG

Format ramki danych dla Ignisa do ustawiania zegarka:

Address 0x46
byte0 - 0x03 (clock)
byte1
byte2 - 0x00
byte3 - 0x00


byte1 - bit0 (0x01) - godziny
lub
byte1 - bit1 (0x02) - minuty

byte1 - bit2 (0x04) - zmniejszanie
lub
byte1 - bit3 (0x08) - zwiększanie


Przy zwiększaniu/zmniejszaniu oryginalne radio zapala również bity 4,5,6 (0x70) ale nie jest to konieczne dla poprawnego działania.

Wybór godzin (godziny migają na wyświetlaczu)
0x46 0x03 0x01 0x00 0x00

Wybór minut minuty migają na wyświetlaczu)
0x46 0x03 0x02 0x00 0x00

Zmiana godzin w górę
0x46 0x03 0x09 0x00 0x00 (lub 0x46 0x03 0x79 0x00 0x00)
Zmiana godzin w dół
0x46 0x03 0x05 0x00 0x00 (lub 0x46 0x03 0x75 0x00 0x00)

Zmiana minut w górę
0x46 0x03 0x0A 0x00 0x00 (lub 0x46 0x03 0x7A 0x00 0x00)
Zmiana minut w dół
0x46 0x03 0x06 0x00 0x00 (lub 0x46 0x03 0x76 0x00 0x00)

Ustawienie wybranej godziny (zakończenie ustawiania)
0x46 0x03 0x00 0x00 0x00

Wyświetlacz samoczynnie zakończy ustawianie po około 10s od ostatniej komendy 0x46

Schemat złącza do wyświetlacza jest tutaj http://kacsa-ignis.hu/display/

Gdy wyjmiemy wyświetlacz z auta do jego pracy konieczne jest:
UB+ ~12V (podtrzymanie)
GND - masa
IGN - +12V - włącza wyświetlacz (górna linia)
ANT_REM - włącza obsługę dolnej linii przez radio (ten sygnał radio załącza zanim zacznie komunikować się z wyświetlaczem)

SDA - I2C data
SCL - I2C clock
MRQ - dodatkowy sygnał sterujący

Dużo prościej podłączyć się w samochodzie z wtyczki radiowej po odpięciu samego radia (opis wtyczki http://kacsa-ignis.hu/radio4/), potrzebujemy:
CS1 1 DISPLAY_MRQ
CS1 2 DISPLAY_SCL (uwaga, na węgierskiej stronie jest błąd, SDA i SCL są zamienione)
CS1 3 DISPLAY_SDA (uwaga, na węgierskiej stronie jest błąd, SDA i SCL są zamienione)
CS3 5 AUTOMATIC ANTENNA (to jest połączone z ANT_REM wyświetlacza)
IGN jest załączane oczywiście po przekręceniu kluczyka w stacyjce w pozycję ACC

Jeszcze kilka informacji odnośnie fabrycznego wyświetlacza:
Temperatura wyświetlana jest przez pomiar termistora podpiętego do TMP i TMP_GND.
Spalanie wyświetlane jest na podstawie sygnału FUEL i FUEL_GND (sygnał PWM, wypełnienie PWM określa wartość spalania)
SPalanie pojawia się tylko jeśli na pinie GALA pojawiają się impulsy od prędkości (GALA musi zmieniać swój stan logiczny) natomiast sama wartość

spalania chyba nie zależy od tego sygnału (prawdopodobnie prędkość jest już wliczona w sygnał FUEL).


Na górę
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat  Odpowiedz w temacie  [ Posty: 1 ] 

Strefa czasowa UTC+01:00


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Technologię dostarcza phpBB® Forum Software © phpBB Limited
Polski pakiet językowy dostarcza phpBB.pl
[ GZIP: On ]