Newsgroup: it.hobby.elettronica.riparazioni
Titolo: porta parallela

Vorrei utilizzare (a scopo didattico) la porta parallela del mio pc per la
ricezione e trasmissione dati.
Sarei grato a chi mi fornisse una "dritta" su una sola delle seguenti
domande:
a) Tutti i Pc usano gli stessi registri per gestire le porte I/O?
b)In quali locazioni si trovano i registri interessati?
c)Che tensioni riconosce il Pc per "0" e/o "1"?
d)Dove posso trovare la pedinatura della porta?
Ringrazio anticipatamente.

...

Piedinature delle porte del PC
(dovrebbero essere tutte giuste)
PORTA SERIALE (RS232c)
    PIEDINI        Simbolo    Verso dei          Nome
25 poli   9 poli     EIA       segnali
 2          3        BA       DTE -> DCE   Transmitted Data (TD)     - Dati
trasmessi
 3          2        BB       DTE <- DCE   Received Data (RD)        - Dati
ricevuti
 4          7        CA       DTE -> DCE   Request To Send (RTS)     -
Richiesta trasmissione
 5          8        CB       DTE <- DCE   Clear To Send (CTS)       -
Pronto a trasmettere
 6          6        CC       DTE <- DCE   Data Set Ready (DSR)      - Modem
pronto
 7          1        AB       ----------   Signal GROUND (SG)        - Massa
dei segnali
 8          9        CF       DTE <- DCE   Data Carrier Detect (DCD) -
Rivelazione portante
 20         4        CD       DTE -> DCE   Data Terminal Ready (DTR) -
Terminale dati pronto
 22         5        CE       DTE <- DCE   Ring Indicator (RI)       -
Indicatore di chiamata
N.B.: DTE = Data Terminal Equipment (generalmente il PC)
      DCE = Data Comunication Equipment (generalmente il modem)
Caratteristiche elettriche:
Livello logico alto:  Da +12 volt a +5 volt
Livello logico basso: Da -12 volt a -5 volt
PORTA PARALLELA
PIEDINATURA DEL CONNETTORE CENTRONICS A 36 CONTATTI:
PIN      Segnale       Verso       Descrizone
 1       STROBE      PRN <- PC     Attivazione lettura dati
 2       DATA 1      PRN <- PC     1o bit del dato
 3       DATA 2      PRN <- PC     2o bit del dato
 4       DATA 3      PRN <- PC     3o bit del dato
 5       DATA 4      PRN <- PC     4o bit del dato
 6       DATA 5      PRN <- PC     5o bit del dato
 7       DATA 6      PRN <- PC     6o bit del dato
 8       DATA 7      PRN <- PC     7o bit del dato
 9       DATA 8      PRN <- PC     8o bit del dato
 10      ACKNLG      PRN -> PC     Segnale di inizio ricezione
 11      BUSY        PRN -> PC     Segnale di fine ricezione
 12      PE          PRN -> PC     Segnale di fine carta
 13      SLCT        PRN ->        Collegamento a +5 volt
 14      AUTO FEED   PRN <- PC     Avanzamento carta dopo CR
 15      /                         Non utilizzato
 16      GND         ---------     Massa del segnale
 17      CHASSIS     ---------     Messa a terra
 18      /                         Non utilizzato
19-30    GND         ---------     Masse segnali
 31      INIT        PRN <- PC     Inizializzazione stampante
 32      ERROR       PRN -> PC     Presenza di errore
 33      GND         ---------     Massa segnale
 34      /                         Non utilizzato
 35      +5V         PRN ->        Collegamento a +5 volt
 36      SLCT IN     PRN <- PC     Attivazione PRN con codice DC
N.B.: PRN = Stampante o dispositivo analogo
Caratteristiche elettriche: Secondo standard TTL (1 logico: +5V; 0 logico:
0V)
PIEDINATURA DEL CONNETTORE "D" A 25 CONTATTI:
PIN        Segnale
 1         STROBE
 2         DATA 0
 3         DATA 1
 4         DATA 2
 5         DATA 3
 6         DATA 4
 7         DATA 5
 8         DATA 6
 9         DATA 7
 10        ACKNLG
 11        BUSY
 12        PE
 13        SLCT
 14        AUTO FEED
 15        ERROR
 16        INIT
 17        SLCT IN
18-24      GND
PORTA GAME (Joystick)
PIN        Segnale          Funzione
 1         +5V              Alimentazione primo joystick
 2         Button1          Lettura pressione pulsante 1 (primo joystick)
 3         X1               Lettura posizione asse X (primo joystick)
 4         GND              Massa
 5         GND              Massa
 6         Y1               Lettura posizione asse Y (primo joystick)
 7         Button2          Lettura pressione pulsante 2 (primo joystick)
 8         N.C. (o +5V)     Non collegato (oppure collegato a +5V)
 9         +5V              Alimentazione secondo joystick
 10        Button3          Lettura pressione pulsante 3 (secondo joystick)
 11        X2               Lettura posizione asse X (secondo joystick)
 12        GND              Massa
 13        Y2               Lettura posizione asse Y (secondo joystick)
 14        Button4          Lettura pressione pulsante 4 (secondo joystick)
 15        N.C. (o +5V)     Non collegato (oppure collegato a +5V)

d)Dove posso trovare la pedinatura della porta?
Vedi l'altro Post
Ciao !




della porta
Saluti
JAs
------------------------------------------------------------------------------
- Prima di fare una OpenMouth() assicurarsi di aver fatto una StartupBrain() -
------------------------------------------------------------------------------

 
Quelli sono le locazioni dove il bios mantiene gli'indirizzi di I/O
delle seriali a seguire ci 'dovrebbero' essere a disposizione 4 word per
le porte parallele anche se l'ultima word mi sembra sia usata anche per
altri scopi quindi solo 3 parallele disponibili.
Marco Colandrea

>Marco Colandrea
Porte seriali:
3F8-3FF => COM1
2F8-2FF => COM2
3E8-3EF => COM3
2E8-2EF => COM4
:8250:16450:16550:UART
^UART - Universal Asynchronous Receiver/Transmitter
%        Port                   Description
        3F8/2F8   Transmit/Receive Buffer  (read/write)
                  Baud Rate Divisor LSB if bit 7 of LCR is set  (read/write)
        3F9/2F9   IER - Interrupt Enable Register  (read/write)
                  Baud Rate Divisor MSB if bit 7 of LCR is set  (read/write)
        3FA/2FA   IIR - Interrupt Identification Register  (read only)
                  FCR - 16550 FIFO Control Register  (write only)
        3FB/2FB   LCR - Line Control Register  (read/write)
        3FC/2FC   MCR - Modem Control Register  (read/write)
        3FD/2FD   LSR - Line Status Register  (read only)
        3FE/2FE   MSR - Modem Status Register  (read only)
        3FF/2FF   Scratch Pad Register  (read/write)
^Detailed UART Description
%       Port 3F8 - Transmit/Receive Buffer  (read/write)
%                  Baud Rate Divisor LSB if bit 7 of LCR is set  (read/write)
%       Port 3F9 - Interrupt Enable Register - IER  (read/write)
%                  Baud Rate Divisor MSB if bit 7 of LCR is set  (read/write)
        ł7ł6ł5ł4ł3ł2ł1ł0ł  2F9, 3F9: Interrupt Enable Register
         ł ł ł ł ł ł ł ŔÄÄÄÄ 1 = enable data available int (and 16550 Timeout)
         ł ł ł ł ł ł ŔÄÄÄÄÄ 1 = enable THRE interrupt
         ł ł ł ł ł ŔÄÄÄÄÄÄ 1 = enable lines status interrupt
         ł ł ł ł ŔÄÄÄÄÄÄÄ 1 = enable modem-status-change interrupt
         ŔÄÁÄÁÄÁÄÄÄÄÄÄÄÄ reserved (zero)
        - 16550 will interrupt if data exists in the FIFO and isn't read
          within the time it takes to receive four bytes or if no data is
          received within the time it takes to receive four bytes.
^Baud Rate Divisor Table
%                     Baud Rate                      Baud Rate
%    Baud Rate         Divisor         Baud Rate      Divisor
          50            900h              2400          30h
         110            417h              3600          20h
         150            300h              4800          18h
         300            180h              7200          10h
         600             C0h              9600          0Ch
        1200             60h             19200          06h
        1800             40h             38400          03h
        2000             3Ah            115200          01h
        - Baud rate divisors can be calculated by taking the oscillating
          frequency (1,843,200) and dividing by the quantity of the desired
          baud rate times the UART clocking factor (16).  Use the following
          formula:
^divisor = 1843200 / (BaudRate * 16);
Le seriali, per la tipologia del dispositivo, 'solitamente' non vengono pilotate
direttamente con delle IN o delle OUT, ma nulla vieta di colloquiare a basso
livello con le UART.
Piu` precisamente, per utilizzare le tre porte parallele in modo corretto devi
settare i vari bits delle porte secondo lo schemetto allegato
Parallel Printer Port
       Port 3BC printer data output  (readable)
        ł7ł6ł5ł4ł3ł2ł1ł0ł  ports 278, 378, 3BC
         ł ł ł ł ł ł ł ŔÄÄÄÄ data bit 0, hardware pin 2
         ł ł ł ł ł ł ŔÄÄÄÄÄ data bit 1, hardware pin 3
         ł ł ł ł ł ŔÄÄÄÄÄÄ data bit 2, hardware pin 4
         ł ł ł ł ŔÄÄÄÄÄÄÄ data bit 3, hardware pin 5
         ł ł ł ŔÄÄÄÄÄÄÄÄ data bit 4, hardware pin 6
         ł ł ŔÄÄÄÄÄÄÄÄÄ data bit 5, hardware pin 7
         ł ŔÄÄÄÄÄÄÄÄÄÄ data bit 6, hardware pin 8
         ŔÄÄÄÄÄÄÄÄÄÄÄ data bit 7, hardware pin 9
       Port 3BD printer status register   (Parallel Printer Port)
         ł7ł6ł5ł4ł3ł2ł1ł0ł  ports 279, 379, 3BD
         ł ł ł ł ł ł ł ŔÄÄÄÄ 1 = time-out
         ł ł ł ł ł ŔÄÁÄÄÄÄÄ unused
         ł ł ł ł ŔÄÄÄÄÄÄÄÄ 1 = error,  pin 15
         ł ł ł ŔÄÄÄÄÄÄÄÄÄ 1 = on-line,  pin 13
         ł ł ŔÄÄÄÄÄÄÄÄÄÄ 1 = out of paper,  pin 12
         ł ŔÄÄÄÄÄÄÄÄÄÄÄ 0 = Acknowledge,  pin 10
         ŔÄÄÄÄÄÄÄÄÄÄÄÄ 0 = busy,  pin 11
       Port 3BE printer control register   (Parallel Printer Port)
        ł7ł6ł5ł4ł3ł2ł1ł0ł  ports 27A, 37A, 3BE
        ł ł ł ł ł ł ł ŔÄÄÄÄ 1 = output data to printer,  (pin 1)
        ł ł ł ł ł ł ŔÄÄÄÄÄ 1 = auto line feed,  (pin 14)
        ł ł ł ł ł ŔÄÄÄÄÄÄ 0 = initialize printer,  (pin 16)
        ł ł ł ł ŔÄÄÄÄÄÄÄ 1 = printer reads output,  (pin 17)
        ł ł ł ŔÄÄÄÄÄÄÄÄ 0 = IRQ disable,1=IRQ enable for ACK
        ŔÄÁÄÁÄÄÄÄÄÄÄÄÄ unused
Spero aiuti.
Jas

Se i sicuro/a che il bios supporti 4 porte parallele ????????
No, i "vecchi" BIOS ne supportano solo 3 ma mi sembra che i nuovi ne
supportino 4... in ogni caso se vuoi andare sul sicuro basta che
limiti a 3.
Ciao !

altri scopi quindi solo 3 parallele disponibili.
Infatti avevo scritto che non avevo la manualistica sottomano... ci
sono andato vicino comunque :-)))
Ciao !

 d)Dove posso trovare la pedinatura della porta?
Fai una ricerca su internet usa la parola chiave HWB, ma chedo che si 
possa trovare anche su 
http://ftp.unina.it/pub/electronics/hwb/hwb.html
Oppure guarda qui: 
http://www.senet.com.au/~cpeacock/
Dopo aver visto queste pagine potrai trovare molti altri links 
interessanti da seguire.