CSMA / CD-tai CSMA / CA RS-485-verkoston

S

Sobakava

Guest
Olen imlementing täydellinen duplex RS-485-verkko (2pairs varten lähettää, 2 kenkäpareina vastaanottaa) kanssa mikro.

Se perustuu master-orjat arkkitehtuuri nyt.

Haluaisin toteuttaa multi-master bus myös.Onko mahdollista CSMA / CD / CA laitteistoja tai ohjelmistoja tavalla?Vai onko olemassa jotain
eri tehdä usean päällikön bussia?

Ja ...Jolle suojaa diodi olet käyttäen RS-485?

Terveisin

 
Miksi et käytä sarjapäätettä pöytäkirjasta 485?Se on helpompaa.8051 mikro on erityinen 9 bittinen UART tilassa käytetään monen viestintää.Tutustu www.atmel.com joitakin asiakirjoja tästä aiheesta.

/ pisoiu

 
Kuinka käyttää 9th bittiä multi-master-viestintään?

 
Yleensä tämä tila on käytetty seuraavasti: Master lähettää osoitteeseen byte kanssa 9bit asetettu.Orja on ohjelmoitu keskeyttää, kun 9-bittinen on aktiivinen.Orja tarkistaa, onko osoite lähetetään ottelut oma osoite, ja jos on, niin orja programm sarjaportti sivuuttaa
9. bit.Tämän jälkeen välisestä tietojenvaihdosta dominointisuhdetta tapahtuu, kaikki 9 bit off, mikä aiheuttaa muita orjia sivuuttaa tietoja.Kun olet valmis, orja asettaa sarjaportti on herkkä 9th bittinen uudelleen.Toteuttaa monen, sinun täytyy käyttää joitakin temppuja.On selvää,
että vain yksi päällikkö voi puhua kerrallaan.Käytä timeslot algorythm.Määritä timeslot jokaisen päällikön.Master voi aloittaa yhteydessä orja vain silloin, kun timeslot on aktiivinen.Kun sen timeslot on aktiivinen, hän voi lähettää osoitteen orjia.Käytä lähetti paketin syncronise muut mestarit.Lopulta käyttää 2 tavua pakettimuotoista viestinnän osoite, yksi tavu kanssa päällikön osoite, yksi slave's.Tietäen päällikön osoite laitteen puhua auttaa muiden päälliköiden synkronoida timeslots.

/ pisoiu

 
samalla, kun käytät timeslots, miten aloittaa ensimmäiset tiedot siirtää?Vain ensimmäinen osoite päällikön aloittaa tiedonsiirron?
Tällaisessa järjestelmässä, kuinka voidaan välttää kuumaa-muunsivat ongelmia?

 
Saat multimaster ongelma on monimutkainen kaikkien mestareihin.Orjia on tehdä vain yritys ja ne on vain tarkistaa saapuvan osoite,
jonka 9 bittinen asetettu.Jos kaksi byte osoite lähetetään (kummassakin 9 bit set), orjia on tarkistaa molempia.Jos aiot käyttää enintään 16 päälliköiden ja 16 orjia, voit silti käyttää yhtä byte varten osoite (korkea napostella-päällikkö addr, vähän napostella-orja addr), tai seos, joka johtaa 8 bittinen sana (esim. 8 päälliköiden 32 orjia = 3 5 bittiä).Unadressed orjat ovat unsensitive kaikille liikennettä 9 bittinen tyhjenee.Mutta päälliköiden on herkkä kaikille liikennettä.Veteraanit voivat lähettää harjoitustestien käsitellään aika ajoin, jotta syncronise muut mestarit.Tärkein kysymys on estää kahden tai useamman päälliköiden puhua samaan aikaan.Esimerkki: kun käynnistyslevy päällikön kanssa tslot0 lähettää harjoitustestien pakettimuotoista että verkoston (esim. ei-existant orja, tärkeää on tietää, mikä päällikkö lähetti paketti).Tämä synkronoi muut mestarit (käytä ajastimet).Kun tietyn päällikön on lähetettävä tiedot, odottaa, kunnes sen timeslot tuli aktiivinen, lähettää osoitteen orja.Tiedonannossa alkaa.Samaan aikaan, muut mestarit on nuuhkia liikennettä, ja unohtaa mitä tahansa toimia, jos tietojen siirto on käynnissä (käytä 9th bittinen nähdä tätä).Kun tiedonsiirto on päättynyt, päällikkö, joka päättyi lähetyksen voi lähettää uudelleen toiseen harjoitustestien pakkaajalta resynchronise on timeslot algorythm muihin mestareihin.Tietoja kuuma vaihtaa, se on monimutkaisempi, voin antaa teille vain yleisiä vinkkejä.En halua reccoment tätä, koska jos lisätä laitteen 485 netto kun tietojen siirto on käynnissä, todennäköisesti sinulle korruptoitunut tietoja.Tämä tarkoittaa sitä, sinun täytyy toteuttaa CRC / tarkistussummia.Jos haluat käyttää dynaamisia osoitteita päälliköiden ja orjia, sitten ... dunno ... sinulla on loooot tehtävää.Kokeile ensin välttää hotswaping ja käytön staattinen osoitteet laitteita.

/ pisoiu

 
Modbus on hyvä protokollaa ja yksinkertainen, mutta yhden päällikön

 
Oma nykyinen pöytäkirja on lähes saman Modbus, mutta kuten sanoin, minun on multi-master-protokollaa.Koska olen joitakin käynnistyshinta tuotantopanokset, olen kertoa isäntäväen käynnistää välittömästi.En voi odottaa pyytää 100 orjia yksitellen ...Koska useimmat orjat ovat tyhjäkäynnillä enimmäkseen ...Tarvitsen tehokkaampi menetelmä ...

Onko mahdollista mielessä RS-485-väylä on tyhjä tai ei kuitenkaan sähköllä tai ohjelmistosta?

Terveisin

 
Sobakava, CAN on vastaus.

Tietenkin voit mielessä RS485-väylä on tyhjäkäynnillä yksinkertaisesti täytäntöönpanovaltaa aikaa koskevissa sarjapäätettä saada.Jos ei byte saatu sanoa 1 toinen bussi on passiivisessa tilassa.Mutta se, mitä tapahtuu, kun kaksi laitetta alkaa lähettämään tietoja samanaikaisesti?

Jos voit toteuttaa Master / slave, se on helppoa.Mutta kuten mainitsin, äänestyspaikkoja voisi olla ongelma.Multi päällikön protokolla voidaan toteuttaa vain, mikäli yksiköt voivat toipua bussin yhteentörmäyksessä (kuten CAN laitteisto) tai kurinalaista noin milloin lähettää tietoja (kuten Token Ring kulkee verkossa).

Ajay

 
Kyllä, CAN-väylä on sopiva.

Jos en ole väärässä, sähkö-standardin CAN-väylä on sama kuin RS485, mutta törmäyksen havaitseminen sisäänrakennettuna.

 

Welcome to EDABoard.com

Sponsor

Back
Top