Witam,
mam proste pytanie odnośnie komunikacji komputera PC z pomocą mikrokontrolera z wykorzystaniem standardu RS485. Przeczytałem trochę na temat różnych rozwiązań i możliwości wysłania danych wykorzystując różne sposoby generowania sygnału DE do max485 z RS232 i znalazłem kilka stron które opisują jeden sposób wykorzystujący układ czasowy NE555. Jednej rzeczy nie moge w nim zrozumieć i mam nadzieję że mi pomożecie.
Na stronie AVT jest artykuł o konwerterze PC-RS232-RS485 http://serwis.avt.pl/manuals/AVT530.pdf. Ten sam artykuł jest w książce "Programowanie mikrokontrolerów PIC w języku C".
Zastanawia mnie zasada działania NE555 w tym przypadku. W układzie jak na schemacie z pliku PDF dołączony rezystor 3k9 i kondensator 10nF generują impuls wysoki na nóżce OUT NE555 o długości około 39-40us gdy wykryją bit startu na MAX232 co umożliwia przełączenie MAX485 w tryb nadawania. Po tym czasie na wyjściu OUT NE555 znika stan wysoki i RS485 przechodziw stan odbioru. Z tego ja rozumiem że mam 39-40us [ln(3) * 3900Ohm * 0,000000010pF] na wysłanie całego bajta a w tekście jest napisane:
Dodatkowo jak sprawdzałem kod programu to ustawiona jest prędkość 1200b/s czyli jeden bit trwa około 833us czyli nie zdąże wysłać nawet bitu startu.
Czy ktoś może mi to wytłumaczyć?
mam proste pytanie odnośnie komunikacji komputera PC z pomocą mikrokontrolera z wykorzystaniem standardu RS485. Przeczytałem trochę na temat różnych rozwiązań i możliwości wysłania danych wykorzystując różne sposoby generowania sygnału DE do max485 z RS232 i znalazłem kilka stron które opisują jeden sposób wykorzystujący układ czasowy NE555. Jednej rzeczy nie moge w nim zrozumieć i mam nadzieję że mi pomożecie.
Na stronie AVT jest artykuł o konwerterze PC-RS232-RS485 http://serwis.avt.pl/manuals/AVT530.pdf. Ten sam artykuł jest w książce "Programowanie mikrokontrolerów PIC w języku C".
Zastanawia mnie zasada działania NE555 w tym przypadku. W układzie jak na schemacie z pliku PDF dołączony rezystor 3k9 i kondensator 10nF generują impuls wysoki na nóżce OUT NE555 o długości około 39-40us gdy wykryją bit startu na MAX232 co umożliwia przełączenie MAX485 w tryb nadawania. Po tym czasie na wyjściu OUT NE555 znika stan wysoki i RS485 przechodziw stan odbioru. Z tego ja rozumiem że mam 39-40us [ln(3) * 3900Ohm * 0,000000010pF] na wysłanie całego bajta a w tekście jest napisane:
Cytat:W momencie wykrycia bitu startu, na wyjœciu OUT układu US4 pojawia się stan wysoki, który przełącza układ MAX485 w tryb nadawania i umożliwia wysłanie danych. Po wysłaniu odpowiedniego bituCytat:następuje automatyczne przełączenie układu MAX485 w tryb odbioru. Takie sterowanie trybem pracy umożliwia zwolnienie linii już w około 40 us po zakończeniu wysyłania danych, co jest istotne w przypadku odczytu danych z dołączonych modułówtutaj nie rozumiem czemu bitu a nie bajtu
Dodatkowo jak sprawdzałem kod programu to ustawiona jest prędkość 1200b/s czyli jeden bit trwa około 833us czyli nie zdąże wysłać nawet bitu startu.
Czy ktoś może mi to wytłumaczyć?