logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

FT232R + 2 x uP - konflikt przy nadawaniu z uP do FT232R

Maryush 07 Lis 2010 20:11 1514 5
REKLAMA
  • #1 8715204
    Maryush
    Poziom 22  
    Posty: 884
    Pomógł: 2
    Ocena: 90
    Witam,

    na schemacie przedstawiam sposób w jaki połączyłem dwa mikrokontrolery z układem FT232 odpowiedzialnym za konwersję sygnałów z RS <-> USB. Przy nadawaniu z FT dane są poprawnie odbierane przez obydwa mikroprocesory, transmisja przebiega bez żadnych zakłóceń, problem pojawia się gdy chce nadawać z danego uP, wówczas w terminalu na pc nie otrzymuję wysyłanych znaków, wygląda to tak, jakby linie Tx obydwóch uP wzajemnie się zakłócały. Transmisja jest poprawna, ale tylko wtedy, gdy do linii Rx układu FT podłączony jest tylko jeden uP - ten, który ma nadawać w danej chwili. I teraz pytanie, czy istnieje jakiś sposób, aby przy nadawaniu linie Tx obydwóch procesorów mogły być podłączone do linii Rx bez konieczności odłączania jednego uP w momencie, gdy drugi miałby nadawać?

    FT232R + 2 x uP - konflikt przy nadawaniu z uP do FT232R
  • REKLAMA
  • #2 8715269
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Panie kolego standard RS232 od wieków umożliwia łączenie dwóch urządzeń JEDEN do JEDNEGO . Sam sobie poniekąd odpowiedziałeś na swój problem na czerwono zaznaczając łączące się sygnały Tx. Co więcej tak łącząc szybko doprowadzisz do tego, że któryś procek padnie albo ten jeden pin mu padnie.

    Są oczywiście sposoby obejścia tego. Jednym z nich i podstawowym jest RS485 - poczytaj to nie trudne i można także na FT232RL go zrealizować pięknie, bo jeden z pinów programowalnych CBUSx można ustawić do sterowania kierunkiem linii dla MAX485.

    A drugi taki hmmmm mniej elegancki ale też może działać to zastosowanie diod do separacji sygnałów Tx i to wszystko.
  • REKLAMA
  • REKLAMA
  • #4 8715521
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Musisz zapewnić, żeby na raz aktywna była tylko jedna linia Tx. W tym celu nie potrzebujesz żadnych diod ani innych cudów, wystarczy wyłączać nieużywany transmiter RS232, w efekcie odpowiedni pin przejdzie w stan HiZ (jeśli będzie ustawiony w IO jako wejście). W ten sposób nie będzie zakłócał transmisji. Teraz tylko musisz zapewnić, żeby na raz dwa procesory nie próbowały nadawać. Ale jak rozumiem one tylko mają nadawać po odebraniu jakiegoś pakietu z FT?
  • REKLAMA
  • #5 8715534
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    No sam pomyśl chwilę ;) .... stan gdy linia TX jest nieaktywna to? - to stan wysoki. Zatem gdy żaden układ nie nadaje powinno być 1 prawda ?

    Tylko gdy układ nadaje to zaczynają się pojawiać zera

    nie widzisz już więc jak trzeba wpiąć diody - nawet te które masz? będą się akurat nadawać

    Katodami do linii Tx procków, a ich anody połączone i do linii Rx układu FTDI ale............... ale pamiętaj, że ten sygnał za ich anodami (linię RX) układu FTDI trzeba wtedy podciągnąć do VCC za pomocą rezystorka np 10K

    No i nie możesz dopuszczać do sytuacji żeby dwa procki naraz nadawały .... tego musisz już pilnować programowo - tak jak w RS485 ;) .... ale za to nic się nie upali i transmisja będzie działać

    Dodano po 6 [minuty]:

    Poza tym jak masz te dwa procki obok siebie to możesz jeszcze jakąś linię/pin wykorzystać żeby się np dogadały, co do kolejności nadawania ;) ... no tu już różne kombinacje można robić - co tylko przyjdzie do głowy. A zabezpieczenie diodami zawsze warto dać, bo w programie możesz się pomylić czy coś może pójść nie po twojej myśli (mówię tu o jakimś błędzie w trakcie jego wykonywania/testowania) ... i wtedy bez diod - obciążasz obydwa procki. A szkoda byłoby upalić sobie pin TxD - prawda?
  • #6 8715804
    Maryush
    Poziom 22  
    Posty: 884
    Pomógł: 2
    Ocena: 90
    Bardzo Wam dziękuję za pomoc. Faktycznie wystarczyło przez chwilę pomyśleć, ale już wszystko jasne. Z tym, żeby procki nie nadawały w tym samym momencie nie będzie problemu, bo będą wywoływane konkretnymi instrukcjami z RSa.
REKLAMA