SPI startmoment ?

Arco

Special Member

Dat maakt niks uit, het blijft SPI. Het MISO signaal moet niet te ver afwijken van de clock, dan krijg je problemen.
(de lengte van de kabel zelf geeft al 60nS vertraging, met nog de kabelcapaciteiten erbij geteld...)
Een rs232 naar rs485 is dan een stuk beter... (asynchroon)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Shiptronic

Overleden

Met 10m kan je nog makkelijk RS232 , dan kan je toch het makkelijkst de standaard UART kiezen?

Wie de vraag stelt, zal met het antwoord moeten leren leven.
trix

Golden Member

ik krijg zelf de indruk dat ik RS232 & RS485 niet duidelijk op het netvlies heb. moet dat eerst eens goed bekijken.

eigenwijs = ook wijs

Converteren is allemaal lap-werk. Maak het nou gewoon goed. Eigenlijk hoort dat denkwerk al in je ontwerp-fase. Nu ben je al veel te ver op weg om die aanpassing pijnloos te doen. Nu kost je het heel veel werk. Maar je moet als je het werkend wilt krijgen.

Als je rs485 wilt gebruiken: op zich is dat gewoon een asynchrone seriele interface, net zoals een uart verbinding. RX en TX lijntje. Het protocol kun je zelf bedenken, bv:
start-patroon, address, msg-lengte, data
...maar dat bepaal je volledig zelf als je zelf de software aan beide kanten van de lijn schrijft.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
trix

Golden Member

conventeren is inderdaad lapwerk. mijn kennis in bus systemen rijkt natuurlijk niet ver. dan is het kiezen van de juiste bus/protocol heel moeilijk, maar die keuze is wel heel belangrijk, want die verander je niet zo maar even.

de verandering is niet zo pijnlijk, ik heb i.p.v. 19 PCB,s er nog maar 4 gemaakt om wat te kunnen testen.

ik zal straks eens een tekeningetje posten v/d situatie, maakt het wat overzichtelijker voor iedereen.

eigenwijs = ook wijs
trix

Golden Member

krijg hier niet rechtstreeks een mooi formaat, dan maar even op het platje klikken.

eigenwijs = ook wijs

Aha, je hebt een 74595 geprogrammeerd :-)

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Arco

Special Member

Gewoon RS232 met alles in serie lijkt me wel zo simpel (heb je ook geen adressering problemen...)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
trix

Golden Member

klopt,....had ik al ergens vermeld. in feite een dubbele(16 Input pins) 74HC595 waar ik 600 bytes in kan opslaan.

edit:
alles rs232 kan natuurlijk ook, het is de bedoeling om die 19 stuks pcb's zo simpel mogelijk te houden, maar dat kan denk ik wel want RS232 kan ook wel over een box header.

[Bericht gewijzigd door trix op zondag 25 augustus 2019 16:32:11 (45%)

eigenwijs = ook wijs
trix

Golden Member

.

[Bericht gewijzigd door trix op zondag 25 augustus 2019 16:32:23 (99%)

eigenwijs = ook wijs
trix

Golden Member

dit is zo'n beetje de opset (uitgaande van een shift register)

dan het plaatje maar zo.

[Bericht gewijzigd door trix op zondag 25 augustus 2019 16:31:26 (29%)

eigenwijs = ook wijs
Arco

Special Member

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
trix

Golden Member

de master inderdaad in de "loop" mee nemen. lijkt mij niet verkeerd.

had je een paar posts terug al gezegd, alleen toen viel het kwartje niet.

[Bericht gewijzigd door trix op zondag 25 augustus 2019 17:14:50 (36%)

eigenwijs = ook wijs

Als het over langere afstanden moet dan is RS485 helemaal niet zo gek. En een SPI-485 chip dan weer wel. Gewoon de boel aan je UART hangen. MAX485 of zoiets.

Alle "slaves" hang je dan aan de bus, de master stuurt iets van: "module 1 statusrapport!" Alle modules ontvangen dat, maar alleen module 1 reageert daarop met z'n statusrapport. Als ik even 11400 bytes maal 8 bits doe, en jou 2-4 seconden naar beneden afrond dan vind ik 91kbps. Dat is prima te doen. Sneller ook nog. Gewoon iets van 250kbps instellen en klaar: Zat tijd om alle modules te pollen.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
trix

Golden Member

er komt iets bij, de reden dat ik dat nu pas aanhaal, is dat het gedeelte wat er bij komt al werkt, gewoon bit bangen, maar ik zit nu te bedenken dat ik dit wellicht ook in deze oplossing kan meenemen.
het is eigenlijk een soort gelijk device, alleen hoeft deze geen data naar de hoofdprint te sturen. wat wel heel belangrijk is, dat de synchronisate bij beide device's klopt. dus als ik bij de linker atmega no: 1 b.v. een output hoog maak, dat dat bij de rechter device no: 1 op hetzelfde moment gebeurd.

de reden dat ik voor een atmega 8 kies is dat hij 16+ I/O pinnen heeft, mischien is er wel een betere optie, meer pinnen heeft geen zin omdat de PCB's waar de atmega8's op zitten niet groter zijn. en ik graag 19 x dezelfde PCB wil maken.

een nadeel van arco's voorstel is dat er 2 kabels naar de device gaat, kan dat b.v. ook door 1 kabel met het dubbel aantal aan aders.

eigenwijs = ook wijs

Op 26 augustus 2019 16:47:43 schreef trix:
...wat wel heel belangrijk is, dat de synchronisate bij beide device's klopt. dus als ik bij de linker atmega no: 1 b.v. een output hoog maak, dat dat bij de rechter device no: 1 op hetzelfde moment gebeurd.

Dat had je met een 595 ook gehad. Maar ook hier, rs485 bussysteem is je oplossing.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
trix

Golden Member

ik ben me al een beetje aan het inlezen over UART en USART.

eigenwijs = ook wijs