Hallo,
Wie synchronisiere ich mit PASM 4 COGs.
Ideal wäre wenn alle Flankengleich laufen würden.
Ich glaube aber das das nicht möglich ist.
Also suche ich nach einer Variante wo der Versatz bekannt ist.
Mir fällt nur eine externe Methode mit waitpeq ein.
Ich glaub das auch einige VGA-Treiber so was benutzen nur aber wie?
Es werden nur Daten eingelesen und keine Ausgegeben.
synchronisation von mehreren COGs
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
synchronisation von mehreren COGs
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Re: synchronisation von mehreren COGs
Theoretisch müsste CNT zum Synchronisieren reichen.
...aber z.B. Hub-Zugriffe haben variable Längen und das ist Teufelszeuch fürs Cog-Synchronschwimmen...
Der Thread "Propeller DEMO: SYNCing multiple COGs together...and...SYNCing multiple Propell###!!!Titel-zu-lang-Mööööp!!!###" macht sich darüber Gedanken...
...aber z.B. Hub-Zugriffe haben variable Längen und das ist Teufelszeuch fürs Cog-Synchronschwimmen...
Der Thread "Propeller DEMO: SYNCing multiple COGs together...and...SYNCing multiple Propell###!!!Titel-zu-lang-Mööööp!!!###" macht sich darüber Gedanken...
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: synchronisation von mehreren COGs
Danke yeti,
An das CNT habe ich erst mal nicht gedacht.
Das werde ich nächstes Wochenende mal Testen.
Auf dem ersten Blick sieht es aber gut aus.
An das CNT habe ich erst mal nicht gedacht.
Das werde ich nächstes Wochenende mal Testen.
Auf dem ersten Blick sieht es aber gut aus.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Re: synchronisation von mehreren COGs
...und dann erfahren wir auch, woran Du in Deiner Häxxerküche köchelst?PIC18F2550 hat geschrieben:An das CNT habe ich erst mal nicht gedacht.
Das werde ich nächstes Wochenende mal Testen.
Ich sterb doch jetzt schon fast ganz nah an bald mal kurz vor Neugier...
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: synchronisation von mehreren COGs
4x 8.42 Meg Baud als 4Bit Parallelbus. 
<EDIT>
Die Variante mit mehreren Cogs ist gerade in den Eimer gerutscht.
Das Testmodul für den HIVE kann ca 32Mb mit nur einem COG auf dem Bus schaufeln.
Irgend wie fehlt noch der Quittungsimpuls.
</EDIT>

<EDIT>
Die Variante mit mehreren Cogs ist gerade in den Eimer gerutscht.
Das Testmodul für den HIVE kann ca 32Mb mit nur einem COG auf dem Bus schaufeln.
Code: Alles auswählen
DAT
org 0
RXPropeller
rdlong tempRx, DataIndexRx wz
if_z jmp #RXPropeller
SYNC_Start waitpeq $0001, $0001 'Wait for SYNC - HIGH
waitpne $0001, $0001 'Wait for SYNC - LOW
mov tempRx, ina ' 4
and tempRx, #$0FF ' 8
mov BuffRx, #0 ' 12
or BuffRx, tempRx ' 16
mov tempRx, ina ' 20
and tempRx, #$0FF ' 24
shl BuffRx, #8 ' 28
or BuffRx, tempRx ' 32
mov tempRx, ina ' 36
and tempRx, #$0FF ' 40
shl BuffRx, #8 ' 44
or BuffRx, tempRx ' 48
mov tempRx, ina ' 52
and tempRx, #$0FF ' 56
shl BuffRx, #8 ' 60
or BuffRx, tempRx ' 64
wrlong BuffRx, DataIndexRx'Write Data Value to Indexed location
mov tempRx, #0 'Clear the Ready Flag
wrlong tempRx, DataIndexRx
jmp #RXPropeller
'initialized variables
'uninitialized variables
DataIndexRx long 0
BuffRx long 0
'aliased variables
tempRx
fit

</EDIT>
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo