-
Data: 2014-03-29 13:39:14
Temat: Przesyłanie większych ilości danych przez CAN
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Kontynuuję temat, który już kiedyś tutaj poruszałem.
Jak wspominałem, potrzebuję rozwiązania, które umożliwiłoby mi
przesyłanie przez magistralę CAN danych o rozmiarze większym, niż
pozwala na to pojedyncza ramka (8 bajtów). Chciałbym skomunikować
urządzenia przy pomocy komend AT, przesyłać teksty do wyświetlenia na
zdalnym LCD itp.
Proste zapisywanie komend w jakimś buforze odbiorczym nie wchodzi w grę,
bo jak wiadomo magistrala CAN jest magistralą multimaster. Istnieje więc
możliwość, że w trakcie odbierania wiadomości od jednego urządzenia,
wtrąci się jakieś inne i poszczególne ramki przemieszają się w jednym
buforze odbiorczym. Stosowanie osobnego bufora dla każdego z odbiorców
nie wchodzi w grę w małych MCU, a więc widzę tutaj jedynie dwa rozwiązania:
1. Jakieś sprytne wydzielanie z bufora tylko tego, czego nam potrzeba,
już po stwierdzeniu odebrania końca wiadomości. Ramki składające się na
przychodzące wiadomości od niepasujących nadawców trzeba by wtedy
przepisywać do innych komórek, robiąc coś w rodzaju "defragmentacji",
uważając jednocześnie, by nic nie zostało nadpisane w momencie
jednoczesnego przyjścia przerwania RX.
2. Upewnienie się, że nic nie zacznie nadawać kolejnej wiadomości, zanim
nie skończymy odbierać obecnej. Innymi słowy urządzenie wysyła prośbę o
nawiązanie połączenia. Jeśli mamy wolną linię (i pusty bufor) wysyłamy
mu ACK. Od tego momentu do otrzymania końca wiadomości (albo timeoutu) w
buforze zapisywane są tylko ramki z tego adresu. Zapytania od innych
chętnych do nawiązania transmisji skutkują prośbą o chwilowe wstrzymanie
się.
Nie chciałbym wyważać otwartych drzwi, jeśli istnieje już jakieś
rozwiązanie. Ktoś kiedyś polecał standard ISO-TP. Znalazłem dzisiaj coś
takiego:
https://github.com/openxc/isotp-c
Wikipedia mówi, że ten standard pozwala na przesyłanie 4095 bajtów
danych. To znacznie więcej, niż potrzebuję (myślę, że 200 bajtów to aż
nadto). Jednak w opisie biblioteki trafiłem na fragment, który wyowłał u
mnie konsternację:
"The current version supports only single frame ISO-TP messages. This is
fine for OBD-II diagnostic messages, for example, but this library needs
some additional work before it can support sending larger messages."
Ktoś może mi powiedzieć o co chodzi? To chyba jakaś pomyłka? Po co
tworzyć taką bibliotekę, skoro koniec końców nie potrafiłaby ona
przesłać więcej danych, niż potrafi obsłużyć sprzętowo sam kontroler
CAN? Jeśli jednak przy pomocy tej biblioteki mógłbym wysyłać i odbierać
większe porcje danych, to czy istnieje szansa, że odpalę ją na jednym z
większych ośmiobitowych AVR-ów (Mega644, Mega128, AT90CAN128)?
Następne wpisy z tego wątku
- 29.03.14 14:01 Marek
- 29.03.14 14:12 Atlantis
- 29.03.14 22:31 Marek
- 30.03.14 00:19 Atlantis
- 30.03.14 13:55 Marek
- 30.03.14 18:10 Atlantis
- 30.03.14 20:45 RtB
- 30.03.14 21:57 Atlantis
- 31.03.14 01:52 Marek
- 31.03.14 01:48 Marek
- 31.03.14 09:55 Atlantis
- 31.03.14 09:51 Atlantis
Najnowsze wątki z tej grupy
- stara idea nowe hardware
- Dzwonek gong z transformatorem
- espnow przerywa na jeziorze?
- 8080
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
Najnowsze wątki
- 2024-07-17 Lublin => Full Stack Java Developer <=
- 2024-07-17 Lublin => Java Full Stack Developer (+Angular) <=
- 2024-07-17 Turek => IT Project Manager (experience with C#) <=
- 2024-07-17 Warszawa => Mobile React Native Developer <=
- 2024-07-05 eSIM na czym polega
- 2024-07-15 Roaming poza unią
- 2024-07-16 Jak tanio dzwonic do Wielkiej Brytani?
- 2024-07-16 Dzień bez ICE
- 2024-07-15 Spalinówki płoną doszczętnie
- 2024-07-15 Pojemność akumulatora
- 2024-07-15 Elektryk8i dalej płoną.
- 2024-07-15 Motodziennik #284 NOWY MG HS z hybrydą oraz wraca FORD CAPRI (jako SUV)
- 2024-07-14 [FILM] SAMOCHODY ELEKTRYCZNE DO WIELKIE ŚCIEMA? TYLKO FAKTY!
- 2024-07-14 Znieczulica w narodzie
- 2024-07-13 Protect Your PC with IObit Malware Fighter Pro 11.3.0.1346 Multilingual