Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12410 Discussions

Cyclone V HPS can’t read RS232 data

Altera_Forum
Honored Contributor II
1,259 Views

I can send RS232 data via HPS UART1 but unable to read data. The scope shows RS232 data on RX pin but test code can’t read any data from /dev/ttyS1 and nothing when I ‘cat /dev/ttyS1’ 

 

I can think of multiple reasons but right now I’m double checking the FPGA implementation. The RS232 pins that are used for UART1 are different then default. This has been implemented opening QSYS and select the HPS system, then select ‘peripheral pins'. Scroll down to the UART Controllers. Set the UART1 to use the FPGA fabric for it’s pinout. After generating the HDL the uart pins show up for connection, these are brought up to top.vhd and connected to the correct signals. The correct pins and voltages levels are called out in top.qsf. Please see attached photos 

 

One question I regarding FPGA implementation: In QSYS should HPS pin mode be set to ‘FPGA’ or should be set to ‘HPS I/O set’ and then use LoanIO to map to different pins?
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
159 Views

I have done something very similar, using UART0. It's routed to FPGA pins, and that's correct - I think the LoanIO is if you want to use HPS pins for an FPGA peripheral. One thing I notice from your pin connections is you've not applied anything to the rts, cts etc signals. I don't know if they matter, but default values I've used are: '1' for cts, dsr and dcd, and '0' for ri. The other signals are outputs so can be ignored. This works fine for me.

Altera_Forum
Honored Contributor II
159 Views

Thanks, I did implement rts, cts, dcd, and ri but still same behavior. No rx data coming in from serial driver 

 

root@cyclone5:~# cat /proc/tty/driver/serial 

serinfo:1.0 driver revision: 

0: uart:16550A mmio:0xFFC02000 irq:194 tx:22516 rx:274 RTS|DTR 

1: uart:16550A mmio:0xFFC03000 irq:195 tx:15 rx:0 RTS|DTR|RI
Altera_Forum
Honored Contributor II
159 Views

Thanks I was able to make work by implementing your changes and updating preloader/u-boot!

Reply