News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TE0720 UART EMIO doesn't work

Started by gideros9742, August 31, 2018, 11:43:25 AM

Previous topic - Next topic

gideros9742

Hi,

Please pardon me for my bad English. I did post this topic once but I don't know why does my post got deleted.

I'm using TE0720 with my custom base board. I also have TE0703 carrier board as the reference. In my custom base board, UART0 of Zynq is mapped to EMIO (pin A17 as TX, A16 as RX). However, TX works fine while RX doesn't. I can see Petalinux logs but I cannot input anything (login or skip Uboot for example). I also tried to test it with TE0703 but it doesn't work also. I'm using external CP2102 USB-to-UART to test, GND is connected. I really have no idea why does this happen.

I hope you all can help me with this issue.
Sincerely,
Dao


Oleksandr Kiyenko

Hello,


I don't understand your problem. TE0703 have its own USB-UART interface based on FTDI FT2232 chip, which works in all our reference projects. If you use EMIO UART please check that
- You have a correct baud rate
- Pin mapping is done correctly
- You connect to the right pins on the baseboard
- You have power on IO bank
- You have correct IOSTANDARD on your FPGA bank and corresponding voltage levels on your USB to UART converter

Best regards
Oleksandr Kiyenko

gideros9742

I'm sorry that it took me so long to reply.

I managed to solve my problem, and the root cause is quite strange imo.

What I have done before is:
- Take no-build test_board project.
- Assign UART0 to EMIO.
- Make UART0 external.
- Generate new wrapper.
- Assign pins, IOSTANDARD, and surely I have VCCIO of that bank is 3.3V.
- Follow instruction till TE::sw_run_hsi
- Flash the QSPI with TE::pr_program_flash_binfile -swapp u-boot
- Copy image.ub to SD Card
- Power on the system

Now at this point, after hours of debugging I finally found out that somehow the USB-to-UART interface in TE0703 still WORKS. I don't really understand how can it happens. TX pin (EMIO) works (but only TX) since I can receive u-boot & Linux boot log, but at the same time, the UART interface of TE0703 (through mini USB port) still works (both TX & RX). It cannot work, is that right? I already changed it from MIO to EMIO.

I managed to fix it by clear the flash in u-boot first, and then re-programming it in u-boot also. After that everything is ok.

Your sincerely,
Quang Dao

JH

Hi,

did you checked log after "TE::sw_run_hsi" was running, maybe there was an error and you programmed flash with older boot.bin where  UART0 was MIO13..14. But in this case only MIO Uart should be available.

Did you regenerate also linux files with your new generated HDF file?
Normally FSBL set PS configuration, but you can get also access with uboot/linux to this registers. Maybe they overwrite some settings. But that's just a guess, how this can happens. Because I found a post, which has the same effect by changing some registers manually:

br
John