Cześć.
Jestem w trakcie budowania interfejsu diagnostycznego obsługującego protokół KWP1281.
Wykorzystuję mikrokontroler ESP32. Jakiś czas temu zrobiłem sobie prototyp na płytce stykowej wykorzystując tylko tranzystory i rezystory.
Zastanawiam się (i tutaj pytanie do Was) czy moje ogólne podejście jest dobre. Wiadomo, że linia K to pojedynczy przewód który obsługiwany jest przez RX i TX mikrokontrolera. W internecie można znaleźć proste schematy do obsługi komunikacji wykorzystując 2 tranzystory w torze RX -> linia K. Problem w tym, że wtedy to co wyślemy na linię k, leci od razu do RX więc mikrokontroler odbiera to co sami wysłaliśmy. Można to obsłużyć programowo. Ja obsłużyłem to sprzętowo - to co leci na RX mikrokontrolera "filtruję" używając bramki NAND na której wejścia podaje TX oraz negację linii K. Wszystko działa fajnie i sprawnie lecz z racji tego, że jest to oparte na tranzystorach zajmuje trochę miejsca i jest po prostu niewygodne, zwłaszcza, że tak jak pisałem, mam to na płytce stykowej
. Postanowiłem użyć układu L9637 gdyż myślałem, że on sam "odwali" za mnie tą negację. Myślałem, że układ działa w ten sposób, że jeśli wysyłam coś na linię K, to na wyjściu RX układu będę miał stały stan wysoki. Niestety na wyjściach RX i TX układu ciągle jest to samo. Co prawda obszedłem to programowo czyszcząc bufor serial portu po każdym wysłaniu czegoś ale nie zbyt podoba mi się to rozwiązanie. Pytanie czy takie działanie układu L9637 jest poprawne czy po prostu ja coś zepsułem?
Jestem w trakcie budowania interfejsu diagnostycznego obsługującego protokół KWP1281.
Wykorzystuję mikrokontroler ESP32. Jakiś czas temu zrobiłem sobie prototyp na płytce stykowej wykorzystując tylko tranzystory i rezystory.
Zastanawiam się (i tutaj pytanie do Was) czy moje ogólne podejście jest dobre. Wiadomo, że linia K to pojedynczy przewód który obsługiwany jest przez RX i TX mikrokontrolera. W internecie można znaleźć proste schematy do obsługi komunikacji wykorzystując 2 tranzystory w torze RX -> linia K. Problem w tym, że wtedy to co wyślemy na linię k, leci od razu do RX więc mikrokontroler odbiera to co sami wysłaliśmy. Można to obsłużyć programowo. Ja obsłużyłem to sprzętowo - to co leci na RX mikrokontrolera "filtruję" używając bramki NAND na której wejścia podaje TX oraz negację linii K. Wszystko działa fajnie i sprawnie lecz z racji tego, że jest to oparte na tranzystorach zajmuje trochę miejsca i jest po prostu niewygodne, zwłaszcza, że tak jak pisałem, mam to na płytce stykowej