Skocz do zawartości

[Bascom] Emulator zmieniarki na Atmedze8 Beta V


Gunslinger

Pomocna odpowiedź

Temat nie związany z robotką, aczkolwiek zahaczający o transmisję. Chce zbudować emulator zmieniarki do radia Beta V. Muzykę będę odtwarzał z modułu audio z alledrogo, ale potrzebuje układu, który oszuka radio że zmieniarka jest podpięta, oraz chce odbierać 3 sygnały. Poprzedni utwór, następny, stop/play. Po przeszukaniu całego internetu znalazłem wycinek z protokołu transmisji między zmieniarką a radiem Protokuł oraz emulator zmieniarki, który tylko oszukuje radio na PIC Emulator . Nie wiem od jakiej strony zacząć rozpracowywać tą transmisję. Mam radio i Atmegę8 do testów, ale nie wiem od czego zacząć.

Link do komentarza
Share on other sites

Muszę Cię zmartwić. Budowanie takich rzeczy wymaga dużo wiedzy i sprzętu. Budowanie od zera a nie kopiowanie już istniejących rozwiązań. Co więcej, reverse engineering (bo tak to się nazywa) protokołu wymaga posiadania obu urządzeń, bo jedno coś wysyła (komendę, challenge) a drugie coś odpowiada (dane, response). A bez tej drugiej części transmisji nie będziesz wiedział co odesłać nawet jeśli zrobisz układ prawidłowo podłączony do linii komunikacyjnych. Już samo to podłączenie nie musi być proste, bo samych fizycznych interfejsów może być bez liku. Tak więc jeśli nie masz obu urządzeń, trochę aparatury (oscyloskop, analizator cyfrowy) i doświadczenia, jesteś skazany na szukanie gotowców. Widzę, że coś już znalazłeś i dobrze. Szukaj dalej. Musisz znaleźć opis protokołu na tyle szczegółowy by móc z tego wyczytać co odpowiadać na konkretne zapytania radia kierowane do zmieniarki. To po tym radio "wie", że na drugim końcu kabelka coś jest. A jeśli znalazłeś gotowy przepis na skonstruowanie urządzenia (np. emulatora zmieniarki) od początku do końca, musisz je zrobić tak jak jest to przedstawione (jeśli na PIC to na PIC) albo skazujesz się na przerabianie kodu i schematu tego urządzenia na swoje. To też łatwe nie jest. Nie dość, że będziesz musiał poznać i zrozumieć kod źródłowy to jeszcze umieć go przepisać na inny procesor, inne jego peryferia i na koniec dopisać sterowanie czymś Twoim (dodatkowe przyciski). Może napisz ile umiesz? Czy swobodnie programujesz procesory AVR, czy znasz PICe, czy swobodnie posługujesz się sprzętem pomiarowym i masz doświadczenie w wymyślaniu i projektowaniu protokołów komunikacyjnych. Jeżeli w tej prostej ankiecie gdzieś odpowiedziałeś "nie", raczej szukaj gotowca. Do skutku.

Link do komentarza
Share on other sites

A jest jakiś programik aby przekształcić plik .hex z emulatora na zrozumiały kod? Szukałem, znalazłem program, ale nie chce odpalić na Win 7. Tak to mógłbym się wzorować na tamtym układzie.

Link do komentarza
Share on other sites

Plik wynikowy (hex lub bin) możesz zamienić jedynie na kod asemblerowy i to niezbyt czytelny, bo nie zawierający sensownych nazw zmiennych, etykiet czy funkcji. Mając dużo doświadczenia w pisaniu programów asemblerowych (i znając od podszewki sam procesor) jesteś w stanie - po długiej i bardzo żmudnej pracy - wyczaić co poszczególne instrukcje, potem całe funkcje a na koniec ich sekwencje robią. Widząc poziom Twoich pytań od razu radzę: nie tędy droga.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

No nic. Zakupie elementy i zbuduje tamten emulator. Będzie przynajmniej aux in. A potem jaki będzie najprostszy sposób aby zobaczyć co się dzieje na lini transmisji i rozkodowanie tych 3 komunikatów? Dało by rade na Atmedze8 i wyświetlaczu 2x16?

Link do komentarza
Share on other sites

Jeżeli malutki PIC dał radę, to ATmega z powodzeniem zrobi to samo. Skoro będziesz już miał działający link udający zmieniarkę, to wyjścia są dwa:

1. Podłączasz oscyloskop i sprawdzasz co wysyła radio i co odpowiada emulator po to by je oszukać. To zapewnia minimum funkcjonalności. Potem wysyłasz z radia potrzebne Ci komendy (następne nagranie, następna płyta itp) i patrzysz co przychodzi. Może się zdarzyć, że zmieniarka coś wtedy powinna odpowiedzieć. Jeżeli emulator tego nie robi a radio będzie zwisać lub wypisywać jakieś komunikaty o błędach, jesteś w kropce i bez oryginalnego urządzenia się nie obejdzie. Może da się od kogoś pożyczyć? Natomiast jeśli radio będzie wysyłało komunikaty w ciemno bez oczekiwania na odpowiedź, możesz je na oscyloskopie obejrzeć, zapamiętać lub przerysować, zdekodować i już wiesz co robić gdy będziesz zastępował PICa ATmegą. Będziesz po prostu musiał w niej reagować na nowe komendy (oprócz tego obowiązkowego wstępnego "dogadywania się") i przekazywać je do odtwarzacza mp3.

2. Czytasz o tym konkretnym PICu - to naprawdę prosty procesorek na poziomie małego ATtiny, deasemblujesz kod emulatora i wyczajasz co on robi. Nie zrobisz tego od razu, ale po tygodniu siedzenia już będziesz miał jakieś pojęcie a po dwóch raczej to rozkminisz. No i staniesz się ekspertem od architektury i programowania PICów w asemblerze 🙂 Potem piszesz w C na ATmegę to samo co robi tamten program i stopniowo go rozbudowujesz. Mając LCD możesz teraz używać nowej płytki jak analizatora protokołu i po prostu wypisywać co radio Ci przysyła gdy czegoś od zmieniarki chce.

W obu przypadkach wciąż istnieje niebezpieczeństwo, że radio będzie czekało na jakąś odpowiedź a bez oryginalnej zmieniarki nie wymyślisz co odesłać, chyba że znajdziesz gdzieś w sieci opis tego protokołu. Może ktoś już to jednak zrobił? Wystarczy tabelka z kodami poleceń i koniecznymi odpowiedziami. To by pozwoliło napisać własny program prawie w ciemno.

Link do komentarza
Share on other sites

Dzięki za wskazówki. Zacząłem się doszkalać w zakresie transmisji. Właśnie czytam artykuł forbota o SPI. Może mi coś rozjaśni. Potem zajmę się rozkminianiem sposobu transmisji w zmieniarce.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.