Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » U855 TTL-UART » Themenansicht

Autor Thread - Seiten: -1-
000
12.11.2019, 09:10 Uhr
Hobi



Gibt es jemanden hier, der schon einmal ein UART Interface an der PIO implementiert hat? Mit einem USB-TTL/UART könnte man so schneller Dateien laden oder womöglich noch eine Diskette simulieren.
--
-------------------------------------------
Corontäne
-------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
12.11.2019, 09:27 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Hallo Hobi, geringe Baudraten kannst du problemlos per Software erzeugen, z.B.: 9600 Baud.
Drucker, Schreibmaschine u.a. wurde so angesteuert. Auch das serielle Magnetbandinterface läuft oft über einen PIO-Port.

Bei höheren Übertragungssraten und synchroner Übertragung, ggf. mit CRC-Check wirst Du um Spezialbausteine wie eine SIO nicht herumkommen.

Was genau hast du vor?
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
12.11.2019, 09:32 Uhr
Hobi



So einfach wie es da steht. Ich möchte statt Kassette ein TTL UART Interface verwenden. Da es so einfach scheint, habe ich noch die Hoffnung, dass es vor mir schon Mal jemand gemacht hat.
--
-------------------------------------------
Corontäne
-------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
12.11.2019, 10:42 Uhr
holm

Avatar von holm

Viele uralte Rechner, wie auch z.B. eine Elektronika E60 (nachbau der LSI11/03) haben eine Console-UART die nur aus TTL besteht, allerdings ist die dafür erforderliche Platinenfläche in der Größenordnung Kuchenblech anzusiedeln.

Später wurden UARTs mit "unspezifischer" Parallelschnittstelle eingesetzt, ein Vertreter dafür ist der CDP6402, Tesla MHB 1012 aka AY3-irgendwas. Davon kann ich Dir einen schenken, das ist ein PMOS IC, Betriebsspannung +5 und -9V. Baudraten enden irgendwo bei 19200.

Falls Dich das interessiert finde ich irgendwo die Schaltungsunterlagen von dem diskreten TTL Kram.

Mit einem Z80 die erforderlichen Datenraten für USB zu erzeugen kannst Du Dir allerdings immer mal abschminken.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 12.11.2019 um 10:42 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
12.11.2019, 11:04 Uhr
ralle



Parallel ist dir wohl zu Langsam? Das gibt es schon mit dem V-Dip. Nur das du dem einen Befehl schicken musst. Dann macht der das. Das V-Dip kann auch Seriell, der FDI nimmt dir alles ab.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
12.11.2019, 11:22 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Wie wäre es mit

How To Program the Z80 Periphery Tutorial

http://www.blunk-electronic.de//train-z/doc/howto_program_the_Z80_periphery.pdf
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
12.11.2019, 11:36 Uhr
Hobi



Vielleicht habe ich mein Problem dich etwas zu kurz angerissen:

Ich arbeite viel mit USB-Seriell Schnittstellen. fast jeder Mikrocontroller hat so eine Schnittstelle. So kann man über das serielle Interface einfach Befehle schicken oder Logs ausgeben. Sogar xt BIOS kann über seriell booten.
Auf PC Seite ist die Entwicklungsumgebung also schon vorgegeben.

Jetzt möchte ich ohne grosse Hardwareänderung Dateien vom PC kopieren. Mittels VDIP funktioniert es mangels Hardware nicht, abgesehen davon, dass ich das Modul nicht für alle Rechner habe.

Die Idee ist also ohne Hardwareänderung Daten zu übertragen. Das UART Protokoll lässt sich sogar sinngemäß über das Z1013 Kassette Interface abbilden. Oder anders formuliert, wenn die Software einmal funktioniert, kann man den womöglich 1:1 den Audio-Port des PC verwenden, also wahlweise.

Denkbar ist dann auch eine Lösung mit U856.welche ich momentan vermeiden will, da ich ohne extra HW auskommen möchte.
--
-------------------------------------------
Corontäne
-------------------------------------------

Dieser Beitrag wurde am 12.11.2019 um 11:38 Uhr von Hobi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
12.11.2019, 12:06 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

suchst du sowas?


Quellcode:

; V24-Ausgabe der Bits
v24_5:        ld    c, 154        ; Zeitkonstante 1200 Baud
        ld    b, 9
        and    7Fh
        di
        rla
v24_6:        out    (PIO1BD), a    ; PIO1 B Daten Anwenderport
        call    v24_7
        rra
        djnz    v24_6
        cpl
        out    (PIO1BD), a    ; PIO1 B Daten Anwenderport
        ei
;Warteschleife, 1200 Baud
v24_7:        push    bc
        ld    b, c
v24_8:        djnz    v24_8
        pop    bc
        ret


--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
12.11.2019, 12:30 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

vom Kramer-MC

Quellcode:

;EINGABE UEBER SERIELLE SCHNITTSTELLE
;***IN:    -
;**OUT:    A...ZEICHEN
;    CARRY=1...TIME OUT
LIN:    EQU    $
    IN    A, (PIOAD)
    BIT    7, A
    JR    Z, LIN        ;WARTEN AUF START-BIT
    PUSH    BC
    LD    B, 8        ;BIT-ANZAHL
    CALL    ZS        ;ABTASTUNG MITTE BIT
LIN1:    IN    A, (PIOAD)
    CALL    ZS
    CALL    ZS
    RLA
    RR    C        ;AUS CY-FLAG IN C
    DJNZ    LIN1
    RR    C        ;STOP-BIT
    LD    A, C
    POP    BC
    CPL
    AND    7FH
    JR    Z, LIN
    RET

;ZEITSCHLEIFE
ZS:    EQU    $
    PUSH    HL
    PUSH    AF
    LD    HL,(RAMZK)
ZS1:    DEC    HL
    LD    A,H
    OR    L
    JR    NZ,ZS1
    POP    AF
    POP    HL
    RET

;SUBR. ZUR AUSGABE EINES ZEICHENS AUF SERIELLE SCHNITTSTELLE
;***IN:    C...ZEICHEN
;**OUT:    -
;*KILL:    A,F
LDRU:    EQU    $
    PUSH    AF
    PUSH    BC
    LD    A, C
    OR    80H        ;STOP-BIT DAZU
    LD    B, 9        ;BIT-ANZAHL MIT START-BIT
    RLA            ;CY-FLAG=STARTBIT
PSA1:    OUT    (PIOAD),A
    CALL    ZS
    CALL    ZS
    RRA
    DJNZ    PSA1
    POP    BC
    POP    AF
    RET


--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
12.11.2019, 12:52 Uhr
Hobi



Ja. Das sieht gut aus. Über den Herrn Blunk bin ich sch gestolpert. Er hat auch Beispiele für die SIO.

Der Kommentar bezieht sich auf das obige Beispiel:
Es ist ganz simpel aufgebaut, ohne die Takte zu zählen, was man für höhere Baudraten wohl bräuchte. Ein gutes und einfaches Beispiel.
--
-------------------------------------------
Corontäne
-------------------------------------------

Dieser Beitrag wurde am 12.11.2019 um 17:33 Uhr von Hobi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
12.11.2019, 16:54 Uhr
holm

Avatar von holm

Witzbold. Die SIO ist _HARDWARE_, die zählt die Takte intern in einem Zähler und muß entsprechend programmiert werden das ist ungefähr seit 1984 allgmein bekannt.

Du schreibst von USB, von USBzuTTL Wandlern, von anderen Mirkocontrollern und von einem XT der mit USB booten kann..ich bin hier raus, das ist mir deutlich zu verworren...
Versuche mal drüber nachzudenken was Du eigentlich willst und danach das auszuformulieren ..über setze es von deutsch nach verständlich...

Gruß,
Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
12.11.2019, 19:59 Uhr
Hobi



Was soll das denn? Du wirst stauen, wozu die Wandler alles benutzt werden.
--
-------------------------------------------
Corontäne
-------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
12.11.2019, 21:08 Uhr
holm

Avatar von holm

...glaube ich kaum. Ich benutze die täglich.

Gruß,
Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
12.11.2019, 23:10 Uhr
robbi
Default Group and Edit
Avatar von robbi

Das ist zwar parallel, aber vielleicht hilft es:
http://www.sax.de/~zander/z9001/tip/datei/pc/pc-kc87-manual.html
--
Schreib wie du quatschst, dann schreibst du schlecht.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
13.11.2019, 18:01 Uhr
mark1111



@hobi

So etwas ?

https://sites.google.com/site/ericmklaus/projects-1/z80minisystem

http://www.knoerig.de/Einplatinencomputer_de.html
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek