[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [oc] Driving a RS232 serial port semi-direct from the FPGA?
Paul,
might this could be of help to you:
http://www.opencores.org/projects/rs232_syscon/
regards,
Damjan
----- Original Message -----
From: "Paul McFeeters" <paul.mcfeeters@ntlworld.com>
To: <cores@opencores.org>
Sent: Friday, January 11, 2002 2:20 PM
Subject: [oc] Driving a RS232 serial port semi-direct from the FPGA?
> Hi all,
>
> I need a bit of advice on RS232 ports.
>
> As my board is designed to run Linux its a given that I need to have a
serial port on it.
> I already have a parallel port on it which works great so I thought a
serial port will be
> even simpler to do (if thats possible).
>
> Alas it seems more like a minefield, obviously the first thing was to look
at the UART16550
> core on opencores to see what I can learn from that and maybe make use of
it. Unfortunately
> Jacob's project fusses over registers and higher level stuff than I need,
all I want is a
> very simple port for people to run up a console program via a PC's comms
program and talk
> to the FPGA. My first design doesn't even bother with any form of hardware
handshaking.
>
> I've found a good site which explained the null modem cable for PC to PC
style communication.
> Then I bought a MAX233CPP RS232 driver chip to handle the conversion
from/to 5V TTL to the
> RS232 +10v/-10v signal levels. Thus my current plan looks like this:
>
> FPGA My board PC side
> D9 plug D9 plug
> FPGA GND ---------------- P5 GND--------------------------GND P5
> FPGA Px --- MAX233CPP --- P3 TD----------------------------RD P2
> FPGA Py --- MAX233CPP --- P2 RD----------------------------TD P3
>
> P1 CD----| |----CD P1
> P4 DTR---| |---DTR P4
> P6 DSR---| |---DSR P6
>
> P7 RTS--| |--RTS P7
> P8 CTS--| |--CTS P8
>
> CD->DTR->DSR, RTS->CTS, to bypass hardware handshaking at the moment.
>
> I just need my port to do the standard 9600N81 (9600 baud, No Parity, 8
Data Bits and 1 stop bit),
> later on can adjust it. As far as I understand the serial-wire standard
this is what happens:
>
> TD is asserted (high 1) until some data is ready to go.
> TD is negated for 1 clock cycle (this is the 'start' bit)
> TD then transmits the eight data bits sequentially (bits 0->7 in that
order I believe)
> TD is either asserted to signify the 'stop' bit or is negated which means
its actually the
> start bit for another eight data bits
>
> Thats about all my understanding of the workings of the serial port so
far. I've got to connect
> up my MAX233CPP chip later and try out my limited knowledge to test it. So
if anybody has some
> pearls of wisdom for me feel free to email me.
>
> Paul
> "A FPGA programmer's work is never done"
>
> --
> To unsubscribe from cores mailing list please visit
http://www.opencores.org/mailinglists.shtml
>
--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml