logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

prosty konwerter CAN na RS232

sxat 02 Paź 2011 14:39 6515 10
  • #1 9985298
    sxat
    Poziom 12  
    Witam,

    Potrzebuje nawiązać komunikację pomiędzy samochodem z CAN a moim modułem... będę chciał przełapać kilka informacji na temat stanu wciśniętych przycisków na kierownicy do sterowania CB radiem - wszystko leci po magistrali CAN..., teraz jestem na etapie zrobieniu interfejsu do testów - więc konwertera RS232 na CAN... - aby móc odseparować potrzebne dla mnie informacje...


    Znalazłem w internecie opis układu TJA1041(http://www.nxp.com/documents/data_sheet/TJA1041A.pdf) + MAX232 czy to już wystarczy do stworzenia konwertera CAN na RS232, - podobny układ USB2CAN to wydatek rzędu ponad 300 złotych, a tu miałbym to za 20 złotych+godzinka do złożenia..
  • #2 9985998
    kemot55
    Poziom 31  
    Raczej zapomnij o porcie szeregowym i CAN. Zdecydowanie niekompatybilne ze względu na sposób transmisji informacji. CAN "pluje" ramką o długości np 100 bitów, podczas gdy RS zasuwa paczkami po 10 bitów (uwzględniając start i stop). Także sugeruję TJA+jakiś procesor ze sprzętową obsługą CAN (ST, PIC) i oczywiście portem szeregowym + MAX232 lub lepiej po USB.
  • #3 9987577
    sxat
    Poziom 12  
    kemot55 napisał:
    Raczej zapomnij o porcie szeregowym i CAN. Zdecydowanie niekompatybilne ze względu na sposób transmisji informacji. CAN "pluje" ramką o długości np 100 bitów, podczas gdy RS zasuwa paczkami po 10 bitów (uwzględniając start i stop). Także sugeruję TJA+jakiś procesor ze sprzętową obsługą CAN (ST, PIC) i oczywiście portem szeregowym + MAX232 lub lepiej po USB.


    Co daje mi sprzętowa obsługa CAN w procesorze? pytam bo znam tylko MCS-51... i na ile to możliwe chciałbym uprość konstrukcję do minimum, aby się połączyć otrzymać dane, a później mogę się bawić dalej ;)
  • #4 9987869
    nibbit
    Poziom 20  
    Kolega się chyba błędnie zsugerował że RXD i TXD w tym scalaku to UART który można podłączyć pod MAX232 i wysłać do kompa. A na pinie RXD będziesz miał taką ramke:
    http://pl.wikipedia.org/wiki/Controller_Area_Network

    Trzeba to podłączyć pod interfejs CAN w uP, i dopiero wtedy wysyłać do PC przez UART. Nie wiem jakie prędkości transmisji są w samochodzie ale pamiętaj że CAN może chodzić do 1Mbps a COM w PC no w skrajnym wypadku do 256kbps.

    Jakbyć ten RX podłaczył do MAXa232 to PC by wyświetlał Ci bzdury bo on czeka na ramkę typu: bit startu, 8-9 bitów danych, ewentualnie parzystość i na końcu bit stopu. Więc chyba logiczne że to się nie uda.

    W Twoim wypadku polecam ten konwerter, sam go używam ;).
  • #5 9988106
    kemot55
    Poziom 31  
    Generalnie procesor odczyta strumień z CAN i "poukłada" go w 8-bitowe elementy (odpowiednio adres, dane, CRC itp.).
    W sumie jak chcesz uniknąć procesora to można by było spróbować przerzucić ten strumień przez FTDI odpowiednio skonfigurowane (ale na pewno nie jako wirtualny RS po stronie PC). Za to wtedy zabawę będziesz miał z PC'tem bo trzeba napisać program odbierający ten strumień (biblioteka DLL dla FTDI) i go samodzielnie podzielić (mało tego sprawdzić czy CRC strumienia jest OK). Moim zdaniem szybciej się kupi komercyjny konwerter.
    Z drugiej strony uwaga na wstrzyknięcie czegokolwiek do sieci CAN samochodu. Znajomy w ten sposób odstrzelił wszystkie poduszki łącznie z napinaczami pasów (i trochę przygłuchł :-))
    A wstrzyknąć można bardzo łatwo. Dlatego jeżeli się nie bawiłeś wcześniej magistralą "na stole" to bezpieczniej jest coś kupić co da się ustawić tylko na odsłuch.
    A jaki to konwerter poleca kolega nibbit bo nie znalazłem odnośnika?
    ps.
    I na marginesie: przez FTDI do komputera przejdzie transmisja szeregowa 500-750kBod (testowane, głownie zależy od stabilności/częstotliwości rezonatorów). Wbudowany w komputer UART jest w tym temacie znacznie bardziej ograniczony.
  • #6 9988137
    nibbit
    Poziom 20  
    Cytat:
    Generalnie procesor odczyta strumień z CAN i "poukłada" go w 8-bitowe elementy (odpowiednio adres, dane, CRC itp.).
    W sumie jak chcesz uniknąć procesora to można by było spróbować przerzucić ten strumień przez FTDI odpowiednio skonfigurowane (ale na pewno nie jako wirtualny RS po stronie PC)


    Jaki procesor? Bo jeśli masz na myśli PC i RS232 to się nie uda. Pisałem że UART czeka na bit startu, i na końcu stopu i wiele bitów by po prostu nie przesłał. Całkowicie dwa rózne standardy transmisji i nie da się zrobić tego bez procesora z CAN.

    A o analizatorze autor wspominał na początku wątku:
    http://sygmi.canbus.pl/pl/produkty/urzdzenia-can/details/1/1/1.html
  • #7 9988184
    kemot55
    Poziom 31  
    Nigdzie nie napisałem, że odbiorę ramkę CAN za pomocą UART'a i PCta. Ja robię konwersję "o strukurze" CAN->TJA->STM32->FTDI->PCET (miałem pod ręką gotową elektronikę).
    Natomiast sam układ FTDI można wprowadzić w tryb "BitBand". I za pomocą "układu" CAN->TJA->FTDI->PCET[DLL(FTDI)+aplikacja] (chyba, bo tego nie próbowałem) i przerzucić ramkę do PC'ta (jako strumień bitów) i ją przerabiać. Ale do sterowania radiem CB używanie konwertera w postaci PC'ta w samochodzie jest pomysłem raczej kosmicznym.
    Myślę, że da się kupić jakiś tańszy konwerter.
  • #8 9988197
    nibbit
    Poziom 20  
    A to przepraszam, źle Cię zrozumiałem. Z tym przerzucaniem bitów to hmmmm, jeśli nawet da się to sprzętowo zrobić to dochodzi jeszcze kwestia dekodowania całej ramki czyli to co robi za nas interfejs CAN w uC. Czyli CRC i wszystko pozostałe co tam w środku jest. Mi by się nie chciało :). W uC odrazu dostajesz informację ID, długość i dane.
  • #9 9995036
    sxat
    Poziom 12  
    Macie racje, zrobię to na stole, nabyłem moduł DIM (konsole od volvo) w która mam zamiar zintegrować cbradio... działa ona na LS CAN - 150kbit/s -- .. może się uda od volvo wyciągnąć specyfikację tego modułu było by łatwiej się do tego dorwać.. - bez rozkręcania niczego.. tylko wcisnąć się w kable L I H CAN i tyle.. - i zestawie to na stole - jest do dobry pomysł - biorąc pod uwagę że moduł od anglika można nabyć już za 50 zeta..., XPROG za kolejne 150 do procków motoroli - podobno na tym to działa, a Willema mam, wiec chyba wybiorę PICA z CAN może się uda w to wejść ;) , dziękuje wszystkim za naświetlenie sprawy
  • #10 9998070
    BanTir
    Poziom 15  
    jeżeli potrzebujesz opis wtyczek w dim to może coś znajdę, tylko na razie nie mam swojego dysku
  • #11 10046660
    sxat
    Poziom 12  
    Mam opis, są tam interesujące linie CAN L i H, + napięcie ref i tyle.. - wyrwałem od znajomego z serwisu, problem jest taki że cykam się nad spowodowywaniem błędów w systemie, aby dojść jaką wysłać ramkę aby wyświetlić tam tekst na wyświetlacz... np z modułu ABS, czy DSTC - w sumie tylko te komunikaty są wysyłane bezposrednio z modułu...kontroli, bo reszta tłumaczeń i oznaczeń zapisywane zostały w bezposrednio w pamieci dima.. - w sumie brakuje trochę informacji na ten temat, a volvo centrum milczy... mówią że nie mają... ale spokojnie - rozjedziemy to... ;) będę się bawił na angliku który na częsci przyjedzie... to coś zdziałam
REKLAMA