Witam, mam problem z którym męczę się już sporo czasu.
Chcę połączyć Siemensa s65 z Atmegą162 przez sprzętowy USART Atmegi. W najprostszym rozwiązaniu mógłbym wybrać ATmegę w wersji zasilanej 3V, aby uzyskać kompatybilność napięć. Niestety takiej nie mam, a układ, na razie prototypowy musi być kompatybilny z GPSem na 5V, więc kwestią do rozwiązania jest sposób podłączenia Siemensa do zwykłej ATmegi 162.
Schemat mojego układu wygląda następująco.
Transmisja od strony procesora jak widać zrealizowana jest na diodzie Zenera plus 500 ohowy rezystor. Daje to 5mA prąd diody zgodny z kartą katalogową. Na diodzie mam 2,66V czyli OK.
Konwersję napięć z 2,5 V które daje TXSiemensa na potrzebne 5V procesorowi zrealizowałem na dwóch tranzystorach. Zgodnie z kartą katalogową ATmega uzna za stan wysoki 0,6Vcc czyli 3V, więc taką konwersję musiałem przeprowadzić. Oczywiście po próbach bez konwersji kiedy komórka nie odpowiadała i myślałem, że w tym tkwi problem. Niestety jak się okazało nie tylko w tym.
Prosty program wysyła "AT" na USART1 do którego zgodnie ze schematem podłączony jest Siemens, a odpowiedź zwraca USART0 podłączony do komputera. Oczywiście odpowiedzi nie ma.
Co ciekawe komórka podłączona identycznie z tym, że bezpośrednio przez MAX232 na COM komputera, odzywa się bez problemu, czyli wszystkie połączenia w tym sensie są dobre i spełniają swoją rolę.
Gdzie robię błąd? Czym w tym problemie różni się transmisja i odbiór przez MAX od transmisji i odbioru z ATmegi? Tu i tu 5V, tu i tu sygnały według standardu RS232.
Program jest dobry, sprawdziłem na kilka sposobów
Chcę połączyć Siemensa s65 z Atmegą162 przez sprzętowy USART Atmegi. W najprostszym rozwiązaniu mógłbym wybrać ATmegę w wersji zasilanej 3V, aby uzyskać kompatybilność napięć. Niestety takiej nie mam, a układ, na razie prototypowy musi być kompatybilny z GPSem na 5V, więc kwestią do rozwiązania jest sposób podłączenia Siemensa do zwykłej ATmegi 162.
Schemat mojego układu wygląda następująco.
Transmisja od strony procesora jak widać zrealizowana jest na diodzie Zenera plus 500 ohowy rezystor. Daje to 5mA prąd diody zgodny z kartą katalogową. Na diodzie mam 2,66V czyli OK.
Konwersję napięć z 2,5 V które daje TXSiemensa na potrzebne 5V procesorowi zrealizowałem na dwóch tranzystorach. Zgodnie z kartą katalogową ATmega uzna za stan wysoki 0,6Vcc czyli 3V, więc taką konwersję musiałem przeprowadzić. Oczywiście po próbach bez konwersji kiedy komórka nie odpowiadała i myślałem, że w tym tkwi problem. Niestety jak się okazało nie tylko w tym.
Prosty program wysyła "AT" na USART1 do którego zgodnie ze schematem podłączony jest Siemens, a odpowiedź zwraca USART0 podłączony do komputera. Oczywiście odpowiedzi nie ma.
Co ciekawe komórka podłączona identycznie z tym, że bezpośrednio przez MAX232 na COM komputera, odzywa się bez problemu, czyli wszystkie połączenia w tym sensie są dobre i spełniają swoją rolę.
Gdzie robię błąd? Czym w tym problemie różni się transmisja i odbiór przez MAX od transmisji i odbioru z ATmegi? Tu i tu 5V, tu i tu sygnały według standardu RS232.
Program jest dobry, sprawdziłem na kilka sposobów