_jta_ napisał: Z tego, co widzę, ECU MASTER ma parę szybkości nadawania: 1M, 500k - na pewno potrzeba czegoś, co może nadawać z potrzebną szybkością. Pytanie, czy potrzebne jest tylko nadawanie, czy także wykrywanie kolizji, bądź odbieranie, bo od tego będzie zależeć stopień trudności. Jaki jest format bajtu, na ile trzeba trafić z szybkością? To pewnie określa jakiś standard, trzeba by poszukać jego opisu, pozbierać informacje...
Od strony sprzętowej wystarczy jakiś mikrokontroler ze sprzętowym FDCAN, np. STM32G0B1/C1 do tego transciever CAN który będzie mógł pracować z prędkością do 1Mbit. Reszta to już tylko układy dopasowujące sygnały wyjściowe, ADC, przetwornica lub stabilizator LDO.
Samo uruchomienie CAN to naprawdę parę linijek kodu jeśli się skorzysta z bibliotek HAL: skonfigurowanie FDCAN, ustawienie FIFO, ewentualnie filtra odbiorczego, przygotowanie buforów Rx i Tx, i przypisanie odpowiednich callbacków. Wystarczy przejrzeć przykłady z repozytorium biblioteki HAL lub przeczytać i zrozumieć sekcję "How to use this driver" z pliku drivera HAL FDCAN.
_jta_ napisał: Ale trzeba się liczyć z tym, że wyczytanie i zrozumienie, jak się robi łączność przez CAN, zajmie więcej czasu, niż zarobienie 600 zł...
I dlatego większość trzeba powierzyć sprzętowi, który to ogarnie. Ty od strony programowej będziesz tylko obsługiwał gotowe dane jakie będą trafiać do mailboxów, albo też przygotowywał swoje komunikaty gdzie interesować cię będzie w zasadzie tylko ile bajtów z 8 (CAN2.0) / 64 (FDCAN) chcesz wysłać i jaki nadasz im ID (numer i format standard/extended).
Jedyny problem w tym, że jeśli chcesz się wpiąć w istniejącą sieć CAN (np. w samochodzie) to nie możesz nadawać numerów ID jakie ci się podobają tylko takie, które nie występują w normalnej transmisji ECU<->DEVICE na danej magistrali. Zatem trzeba będzie najpierw nieco posniffować magistralę.