Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
18 years ago

UART problems in Cyclone board

I've implemented a variable baud UART for my project into a custom Cyclone Ep1C board. The board has a 32-bit custom processor on it and the FPGA interfaces to the processor driving its address and data and control signals. The board has a built-in debug monitor that can be used for debugging.

All of this is working. The monitor runs and I can access the CPU registers, program the onchip UART,etc. The UART I had implemented in this board is for another project. Just testing the UART core using this board. I set the Baud rates, data etc using the registers implemented in the FPGA.

The problem is when the data is transmitted. The baud is set to 19200 , no parity, no flow control and 8-bits and start bit. The Hyperterminal program is also set with the same settings.

When I write the hex value for 'A' in the register and transmit..the received info on hyperterminal shows junk characters.

I've managed to capture the computers serial output when typing 'A' in the hyperterminal and compared it with the UART o/p. Both the timings and data patterns match. But still junk is shown in the other FPGA UART terminal.

Can anyone shed some info on this? I've even tested it with other UART cores available from opencores..still same result.

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You say the signal timings and bit patterns match. Are your voltage levels from your board also correct for RS232 (i.e. +/- a few volts, not CMOS ot TTL levels).

    Have you tried running Hyperterminal on another PC or verified that the COM port on your machine is actually working? (I've had at least one destroyed by static discharge).
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thx,

    Yup, the voltages are all same...Anyways I solved the problem.. It was timing related..The timings were off my just a few microseconds.. Adjusted the baud module to get it right and its working..

    Thx anyways!