Kuris laikas naudoju RS485 sąsają. Kaip žinia ji yra diferencialinė, pusiau dvikryptė (angl. Half duplex) sąsaja, kai vienu metu gali veikti tik vienas siųstuvas linijoje. Tokiu atveju būtina įjungti siųstuvą tik duomenų siuntimo metu.
Darant sąsaja mikrovaldiklio plokštėje nieko kito nebelieka kaip tik panaudoti viena mikrovaldklio koją krypties valdymui.
Tačiau derinant visą sistemą, yra poreikis visa tai daryti kompiuteriu. Darant sąsaja kompiuteriu krypties valdymui yra keletas variantų:
-panaudoti „modemines“ kojas (RTS, DTS). Išbandžiau, bet tai nėra patogus variantas, nes tenka rankiniu būtų „tampyti“ šias kojas.
-panaudoti NE555 ar kitokią užlaikymui realizuoti, esant duomenų siuntimui TX koja.
-panaudoti mikroschemą su tam skirtomis funkcijomis. Tai pasirodė pats patogiausias variantas.
Taigi, suprojektavau ir pagaminau USB-RS485 keitiklį kompiuteriui, su automatiniu krypties junginėjimu, bei indikacija (RX ir TX). Prijungus šį adapterį ir naudojant bet kurią programą (Teminalą, Putty, savo rašytas ar kitas), visiškai nereikia rūpintis, kad tai RS485 sąsaja, kuri veikia pusiau dvikrypčiame režime. Tiesiog siunčiant duomenis įjungiamas siųstuvas ir išjungiamas imtuvas, o baigus siųsti išjungiamas siųstuvas ir įjungiamas imtuvas.
Šį USB – RS485 adapterį puikiai naudoju net su routeriu, turinčiu Linux OS ir USB sąsają 🙂
Pasigyrei? Laimingas? mesk schema, rodyk ka pats padarei, ka prikurei, ka ismetei, ka pakeitei… db standartine ft232 pajungimo schema is datasheet http://oscope.narod.ru/pics/usb_ft232r_sch_conv_rs485fd.png
Gal ir tapo smagiau, kai mano projektuotas keitiklis suveikė 🙂
Panaudojau ne FTDI FT232, o Silicon Labs CP2103.
Žinoma, kad schema nebus labai sudėtinga, tačiau schemos sudarymas, PCB braižymas ir pačio USB-RS485 keitiklio gamyba suvalgė nemažai laiko. Taip pat, pagaminus pirmąją USB-RS485 keitiklio versiją buvo rasta rimta klaida, kuri vėlesnėje versijoj ištaisyta.
Informacijos paruošimas projekto atkartojimui reikalauja papildomo laiko, bet atsižvelgsiu į Jūsų pageidavimą ir visą informaciją pateiksiu.
Dariau toki adapteri su FT232RQ nes dalinai palaiko hardwarini 485 transyverio valdyma, bet tik iskilo nedidele problema kai siuncia tuo paciu gauna taigi (pagal gamintojo Dat.scheeta) reikia papildomos logikos nutildymui. Domina ar siame sprendime kazkas patobulinta ar tiesiog naudojamame softe pasalinamas echo.
Mano USB – RS485 sprendime aido (angl. echo) nėra, tai išspręsta aparatiniame lygmenyje (angl. hardware).
FTDI aprašyme siūloma RS485 lygių keitiklio siųstuvą ir imtuvą valdytis atskirai. Manau čia ir bus problema, nes pagal aprašymą keitiklio imtuvas (jo valdymas) yra įjungtas visą laiką.
Jei siųstuvas valdomas teisingai (įjungiamas tik siuntimo metu), galima bandyti prijungti imtuvo valdymą prie siųstuvo valdymo.
Kadangi RS485 lygių keitiklio siųstuvas išjungiamas neinvertuotu signalu, o imtuvas valdomas invertuotu signalu, viskas turėtų būti gerai. Aš šitaip esu padaręs savo schemoje.