parallel seriell wandler
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
parallel seriell wandler
Hallo,
ich suche ein PASM schnippsel der einen longwert seriell an einem Pin ausgibt.
Meine Suche bei Parallax brachte zwar ein paar Infos aber das Kernthema ist mir nicht aufgefallen.
ich suche ein PASM schnippsel der einen longwert seriell an einem Pin ausgibt.
Meine Suche bei Parallax brachte zwar ein paar Infos aber das Kernthema ist mir nicht aufgefallen.
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
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: parallel seriell wandler
Das ist mein Versuch, da kein Proppeller zur Hand
ist es ungetestet.

Code: Alles auswählen
DAT
entry
org 0
mov sadr, par
mov outa, #$000 'P0 auf 0 setzen
mov dira, #$001 'P0 als Ausgang
loop
'--------------------------------------------
mov outa, #$001
mov temp, loopx
loop1
djnz temp, #loop1 wz
'--------------------------------------------
mov outa, #$001
mov temp, loopx
loop2
djnz temp, #loop2 wz
'--------------------------------------------
rdlong temp, sadr
cmp temp, #$000 wz
if_z jmp #loop
'--------------------------------------------
mov pos, sadr
add pos, #001 '
mov posz, #032 '32 longwerte ausgeben
loop3
mov bitz, #032 '32 Bits ausgeben
loop4
rdlong wert, pos
add pos, #001
'--------------------------------------------
mov outa, #$001
mov temp, looph
loop5
djnz temp, #loop5 wz
'--------------------------------------------
mov outa, wert
shr wert, #001
mov temp, loopx
loop6
djnz temp, #loop6 wz
'--------------------------------------------
mov outa, #$000
mov temp, looph
loop7
djnz temp, #loop6 wz
'--------------------------------------------
djnz bitz, #loop4 wz
djnz posz, #loop3 wz
jmp #loop
'--------------------------------------------
temp long 0
wert long 0
pos long 0
posz long 0
bitz long 0
sadr long 0
loopx long 40000
looph long loopx/2
fit $1ff
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: parallel seriell wandler
Ich bin grad noch nicht wach genug zum selber denken (ich arbeite noch am Koffeinpegel...) und hab daher nur mal 'n bissl im Forum jenseits der Riesenpfütze rumgestochert und diese Lösung in Assembler für C entdeckt: http://forums.parallax.com/showthread.p ... ost1326959
Die kriegst Du doch sicher ins Spin/PASM-Land übersetzt... da bin ich hoch optimistisch...
Die kriegst Du doch sicher ins Spin/PASM-Land übersetzt... da bin ich hoch optimistisch...
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"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.
Re: parallel seriell wandler
Moin moin!
Siehe hier : http://obex.parallax.com/object/16
Du mußt nur von byte auf long erweitern. Siehe unten im Assemblerteil die writespi und readspi Routinen nebst anderem wichtigen Zubehör.
So jetzt muß ich aber wieder an meine Grobmotorikbaustelle.
Gruß
TuxFan
Schau Dir mal die Schreib- und Leseroutinen in Assembler von Kwabena W. Agyeman in der FAT-Engine an. Die machen ja nichts anderes wie parallel-seriell- (Schreiben) bzw. seriell-parallel-Wandlung (Lesen) für SPI-Bus.PIC18F2550 hat geschrieben:Hallo,
ich suche ein PASM schnippsel der einen longwert seriell an einem Pin ausgibt.
Meine Suche bei Parallax brachte zwar ein paar Infos aber das Kernthema ist mir nicht aufgefallen.
Siehe hier : http://obex.parallax.com/object/16
Du mußt nur von byte auf long erweitern. Siehe unten im Assemblerteil die writespi und readspi Routinen nebst anderem wichtigen Zubehör.
So jetzt muß ich aber wieder an meine Grobmotorikbaustelle.
Gruß
TuxFan
Wunder gibt es immer wieder.......
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: parallel seriell wandler

Muss ich morgen mal testen.
Danke.
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: parallel seriell wandler
Code: Alles auswählen
movi ctra, #%0_00100_000 ' NCO
movs ctra, #pin
max dira, mask ' counter now drives pin
mov phsa, data ' bit 31 now appears at pin
mov bcnt, #31+1 ' 31 bits left (plus back to idle)
shl phsa, #1 ' next bit/idle
djnz bcnt, #$-1 ' for all of them
waitpeq $, #0
mask long |< pin
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: parallel seriell wandler
Danke kuroneko für den Tipp.
Leider ist das Bit mit einer zeitlichen Maskierung versehen so das phsa nicht geht.
Ein Bit besteht am ende aus :
1/6 H
2/6 Bit Info
2/6 Bit Info negiert
1/6 L
Hintergrund : Ich möchte verschiedene Daten meines multicopters über den bislang nicht genutzten Audio Kanal des Fpv Systems übertragen.
Die Maskierung sorgt für eine symmetrische signalübertragung.
Leider ist das Bit mit einer zeitlichen Maskierung versehen so das phsa nicht geht.
Ein Bit besteht am ende aus :
1/6 H
2/6 Bit Info
2/6 Bit Info negiert
1/6 L
Hintergrund : Ich möchte verschiedene Daten meines multicopters über den bislang nicht genutzten Audio Kanal des Fpv Systems übertragen.
Die Maskierung sorgt für eine symmetrische signalübertragung.
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
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: parallel seriell wandler
Was hab ich mir den hier für einen Schwachsinn ausgedacht neeeee
Das ist doch ein Audio und kein Glasfaser.
Bei der Audioübertragung muss ich aufpassen das die Anteile von H und L Pegel in einer schmalen Zeiteinhet immer gleich sind.
Das erreicht man mit unterschiedlichen Frequenzen und einem Tastverhältnis von 1:1.
Ebenso sollte die höhere Frequenz nicht dem Vielfachen der unteren Frequenz entsprechen.
Sonnst besteht die Gefahr durch Verzerrung der Grundfrequenz versehendlich die höhere erkannt wird.
z:B. 600/1000/1325Hz Space/0/1
Also
1. Frequenz/Periodendauer Festlegen abhängig ob eine 1 ofer eine 0 übertragen wird ansonsten wird der space Wert geladen.
2. Ausgabe einer H und L Periode.
Ferdig.
Auf der Empfangsseite muss mann sich nicht um die Phasenlage kümmern da ja die information in beiten enthalten ist.
Einfach die Impulsbreite messen und schon ist alles klar.
Das ist doch ein Audio und kein Glasfaser.
Bei der Audioübertragung muss ich aufpassen das die Anteile von H und L Pegel in einer schmalen Zeiteinhet immer gleich sind.
Das erreicht man mit unterschiedlichen Frequenzen und einem Tastverhältnis von 1:1.
Ebenso sollte die höhere Frequenz nicht dem Vielfachen der unteren Frequenz entsprechen.
Sonnst besteht die Gefahr durch Verzerrung der Grundfrequenz versehendlich die höhere erkannt wird.
z:B. 600/1000/1325Hz Space/0/1
Also
1. Frequenz/Periodendauer Festlegen abhängig ob eine 1 ofer eine 0 übertragen wird ansonsten wird der space Wert geladen.
2. Ausgabe einer H und L Periode.
Ferdig.
Auf der Empfangsseite muss mann sich nicht um die Phasenlage kümmern da ja die information in beiten enthalten ist.
Einfach die Impulsbreite messen und schon ist alles klar.
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: parallel seriell wandler
Moin,
Dein letzter Beitrag hat jetzt aber völlig andere Randbedingungen als der erste Beitrag.
Wenn Du einen fertiges Transmittermodul für die Drohne und ein Empfänger Modul für die Bodenstation nimmst brauchst Du Dir doch um ein Übertragungsverfahren wie FSK keine Gedanken machen. Byte, Word oder long seriell ins Modul rein und beim Empfänger wieder Raus. Dazu gibt es fertige briefmarkengroße Module und fertige Libs. Vieĺeicht geht es auch mit den WLAN Modulen mit ESP8266 bei Reichweiten von 300 bis 400m.
Vielleicht willst Du aber noch was ganz anderes, was man aus deinen Beiträgen aber nicht erkennen kann?!
Gruß
TuxFan
Dein letzter Beitrag hat jetzt aber völlig andere Randbedingungen als der erste Beitrag.
Wenn Du einen fertiges Transmittermodul für die Drohne und ein Empfänger Modul für die Bodenstation nimmst brauchst Du Dir doch um ein Übertragungsverfahren wie FSK keine Gedanken machen. Byte, Word oder long seriell ins Modul rein und beim Empfänger wieder Raus. Dazu gibt es fertige briefmarkengroße Module und fertige Libs. Vieĺeicht geht es auch mit den WLAN Modulen mit ESP8266 bei Reichweiten von 300 bis 400m.
Vielleicht willst Du aber noch was ganz anderes, was man aus deinen Beiträgen aber nicht erkennen kann?!
Gruß
TuxFan
Wunder gibt es immer wieder.......
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: parallel seriell wandler
Ja TuxFan ich weiß.
Leider bin ich mit dem Projekt schon weiter als die hinterlassenen Fragen für einen Rattenschwanz so nach sich ziehen.
Die Frage war eigentlich schon mit dem MUXC beantwortet so das ich erst mal keinen weiteren Erklärungsbedarf sah.
Kuroneko zeigte noch einen anderen Weg so das ich noch etwas aus dem Entwicklungsstand erzählte.
Die WLAN Module haben nicht die Reichweite (1000m) des weiteren würden die Module die Empfänger (2,4GHz) bei größeren Entfernungen stören.
Das FPV-System arbeitet mit 5,8Ghz das besitzt bessere Ausbreitungseigenschaften.
Leider bin ich mit dem Projekt schon weiter als die hinterlassenen Fragen für einen Rattenschwanz so nach sich ziehen.
Die Frage war eigentlich schon mit dem MUXC beantwortet so das ich erst mal keinen weiteren Erklärungsbedarf sah.
Kuroneko zeigte noch einen anderen Weg so das ich noch etwas aus dem Entwicklungsstand erzählte.
Die WLAN Module haben nicht die Reichweite (1000m) des weiteren würden die Module die Empfänger (2,4GHz) bei größeren Entfernungen stören.
Das FPV-System arbeitet mit 5,8Ghz das besitzt bessere Ausbreitungseigenschaften.
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