Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

prosty konwerter CAN na RS232

sxat 02 Paź 2011 14:39 5375 10
  • #1 02 Paź 2011 14:39
    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..

    0 10
  • #2 02 Paź 2011 18:04
    kemot55
    Poziom 30  

    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.

    1
  • #3 02 Paź 2011 23:52
    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 ;)

    0
  • #4 03 Paź 2011 09:02
    nibbit
    Poziom 19  

    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 ;).

    0
  • #5 03 Paź 2011 10:51
    kemot55
    Poziom 30  

    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.

    0
  • #6 03 Paź 2011 11:00
    nibbit
    Poziom 19  

    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

    0
  • #7 03 Paź 2011 11:21
    kemot55
    Poziom 30  

    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.

    0
  • #8 03 Paź 2011 11:29
    nibbit
    Poziom 19  

    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.

    0
  • #9 05 Paź 2011 12:16
    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

    0
  • #10 06 Paź 2011 10:54
    BanTir
    Poziom 15  

    jeżeli potrzebujesz opis wtyczek w dim to może coś znajdę, tylko na razie nie mam swojego dysku

    0
  • #11 20 Paź 2011 14:46
    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

    0