trage spi bus

Hardware geleverd door Arduino
Berichten: 22
Geregistreerd: 17 Sep 2014, 11:58

trage spi bus

Berichtdoor lwilde » 17 Sep 2014, 18:33

Omdat ik div display gebruik oa de Nokia 5110 de standaard 2 x 16 tot 4 x 20 en ook grafische displays dit gaat bijna altijd goed, in de regel, even uitzoeken en daar na testen .
Heb nu een ILI9241 display met spi aansturing werkte bijna direct tekst incl grafisch.
Alleen de display is er erg traag en dus niet altijd bruikbaar voor elk project.
Koppel ik de display op een niet arduino board is de display wel snelgenoeg
Nu blijkt dat de bus vaker snelheids problenen heeft met de snelheid, er is geen verschil tussen de hardware matige aan sluiting op het arduino Mega 2560 Board of ik zelf mijn pinnen kies.
Ook als deze wordt aangesloten op een mini pro is de display niet sneller

Ook met aan passsing van de deel factor div(2) of hoger is er geen verschil te zien.
Komplete op bouw vanaf dat er spanning op staat duur 12 seconden.

Rens

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: trage spi bus

Berichtdoor nicoverduin » 18 Sep 2014, 12:06

Heb je hierbij een vraag?

En anders dit al eens bekeken? http://andybrown.me.uk/wk/2013/06/08/a- ... e-arduino/

@edit: heb net 10 van die printjes laten maken in China....
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 22
Geregistreerd: 17 Sep 2014, 11:58

Re: trage spi bus

Berichtdoor lwilde » 18 Sep 2014, 14:32

De vraag is simple waarom is de spi bus te traag.

Ik ken de site die je noemt dit, is voor een parralelle aansturing en niet voor spi bus geschikt.
Maak we vaak gebruik van zijn drivers

problem zit in de aansturing van de spi op de spi aansluiting van Adruino zelf de special 6 pins spi aansluiting op het board gelijk aan de pinnen 50,51,.... zijn niet sneller, dan dat je zelf de pinnen in de software benoemd.
In div note van Adruino moet deze aansluiting veel sneller zijn dan een zelf gedefineerde aansluiting dit is niet het geval.

kleine corectie betreft een ILI9341 display en geen ILI9241 met spi bus.

Toch dank voor de reactive

Rens

Gebruikers-avatar
Berichten: 270
Geregistreerd: 30 Dec 2012, 11:42

Re: trage spi bus

Berichtdoor Rudi » 18 Sep 2014, 16:11

Misschien kan dit je op weg helpen: http://forum.arduino.cc/index.php?topic=265806.0
Arduinows!
Why do computer programmers confuse Halloween with Christmas? Because Oct 31 = Dec 25
I got 01100011 problems but a bit ain't 00000001

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: trage spi bus

Berichtdoor nicoverduin » 18 Sep 2014, 16:26

Rens,
Ik vraag me af wat jouw verwachting is van de SPI bus? Zo snel is ie ook niet volgens mij. Reden waarom ze juist de schermpjes voor de ARM processoren ontwikkelen. Op welke processoren doet hij het dan wel goed?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 22
Geregistreerd: 17 Sep 2014, 11:58

Re: trage spi bus

Berichtdoor lwilde » 18 Sep 2014, 18:32

nicoverduin schreef:Rens,
Ik vraag me af wat jouw verwachting is van de SPI bus? Zo snel is ie ook niet volgens mij. Reden waarom ze juist de schermpjes voor de ARM processoren ontwikkelen. Op welke processoren doet hij het dan wel goed?

Het clk dignaal

Op een rasberry pi look a like.
Die loop ruim 10 maal sneller in tijd gemeten.
Het clk signaal is gemeten en het verschil is geen tien keer groter.
Er zit wel veel tijd verschil tussen de volgende spi commando.
De arduinlever te traag aan.
Wel lastig om te meten, trouwens.

Rens

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: trage spi bus

Berichtdoor nicoverduin » 18 Sep 2014, 19:07

Een PI is een heel andere processor...32 bit ARM waar je zelfs een linux variant op kan draaien.... En ATMega2560 is een veeeeeeeeeeel kleinere processor...Dit is een beetje appels en peren vergelijken.
Daarnaast:
- De PI heeft SPI met DMA dat betekent dat de SPI bus buiten de processor rechtstreeks memory kan lezen en doorgeven Op de mega is het byte voor byte en alles door de processor
- Uiteindelijk moet je voor een plaatje nog altijd 400 x 240 x 24 bits om een vol plaatje by true color door sturen. En de mega2560 moet alles doen. Op de PI geef je het start adres door en hoeveel data en de SPI controller in de ARM processor doet alles voor je.
- Wil je nog een beetje snelheid halen kun je nog beter dat hardware interface-je nemen en parallel gaan..
Ik verwacht niet veel heil in jouw zoektocht naar een snellere interface voor de Arduino lijn gewoon omdat die processor niet snel genoeg is voor wat je wilt. En als die er wel is/was, dan hadden die chinezen allang de link opgenomen in hun libraries. Immers het zou hun verkopen alleen maar boosten... Nu verkopen ze die schermpjes met mooie plaatjes en vertellen gewoon niet dat het wel 10Seconden duurt voordat je hem kan laden. En als je ook nog een SD kaart gebruikt is het helemaal kommer en kwel.....
- klein k.t buffertje voor de SD kaart
- SPI is constant aan het swappen tussen scherm en SD
- De processor moet EN de SD kaart lezen en besturen EN het display vullen en sturen

Ik heb zelf ook wel eens een schermpje TFT gekocht. Mooi ding... beetje gammel.... en dingen als line draw ging nog redelijk. En dat was parallel. Nu ga je naar serieel.... Dus tijd kun je rustig vermenigvuldigen met pak'm beet 10.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 22
Geregistreerd: 17 Sep 2014, 11:58

Re: trage spi bus

Berichtdoor lwilde » 18 Sep 2014, 22:20

Ik ben het in grote lijnen eens appels zijn geen peren.
Oké de serieele is minder snel, er moet een verschil zijn tussen de hardware matige spi bus en de software matige versie .
ersieEr moet een verschil zijn in de versies wat adruino in de specs ook aan geeft, en dat klopt niet , en dat steekt een beetje.
Display wordt wel ergens anders voor gebruikt waar de snelheid niet van belang is.

Dank voor de reactie

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: trage spi bus

Berichtdoor nicoverduin » 18 Sep 2014, 23:10

lwilde schreef:Ik ben het in grote lijnen eens appels zijn geen peren.
Oké de serieele is minder snel, er moet een verschil zijn tussen de hardware matige spi bus en de software matige versie .
ersieEr moet een verschil zijn in de versies wat adruino in de specs ook aan geeft, en dat klopt niet , en dat steekt een beetje.
Display wordt wel ergens anders voor gebruikt waar de snelheid niet van belang is.

Dank voor de reactie
Het probleem is de SPI niet.... het zit hem in de aansturing van SPI... Dat atmel processortje moet alles doen.... En processor met DMA ingebouwd ontlast de processor.... En dan kan je gewoon blokken geheugen in een keer overpompen naar de ontvanger... Dat ene bytetje zal ongetwijfeld op de gestelde frequentie overgepompt worden... Alleen moet de processor daarna zelf nog eea doen.....

@edit: nog ff beide datasheets doorgelopen (atmega328P en Mega2560) Beide zijn single byte SPI interfaces. Processor moet alles doen. Dus geen block transfers. Geen DMA controllers die al taken over kunnen nemen.
En dan te bedenken dat de Z80 processor dat al standaard ingebouwd had :)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 22
Geregistreerd: 17 Sep 2014, 11:58

Re: trage spi bus

Berichtdoor lwilde » 19 Sep 2014, 00:35

Heb een libirary gevonden die gebruik maakt van DMA wordt dit week einde.

Ga gewoon testen

Volgende

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 27 gasten