02-09-2012 02:20 PM
DEMO: PMOD DA1/AD1 loop-back test using the design at https://www.em.avnet.com/Support%20And%20Downloads
Problem: Unable to see the waveform capture from the loop-back test using chip-scope Pro.
Here are the steps I followed.
1. Connected the PMOD DA1 and AD1 to PMOD headers as per the instruction manual in the downloaded zip file.
2. Connected the UART-USB and on-board USB-JTAG to PC.
3. Programmed the FPGA using the provided bit file using SDK
4. Made sure that both USBs are shown in the device manager.
5. Started a Hyper Term with the provided settings on COM4(shown in device manager)
6.Selected Launch HW from SDK after refreshing build.
7. I saw the waveform selection text in the Hyper Terminal.
8. Then I started chipscope and selected intialize option. It detected the microboard.
9. At this point SDK shows that micro-blaze is frozen and all the run menus went inactive.
10. I imported the chipscope definition files and I dont see any rectangular waveform as suggested by Manual.
11. I cant enter any number into the Hyper Term as microblaze is stuck.
Does this mean that the PMOD DA1/AD1 I purchased 2 days back are broken?
I ran the factory tests on microboard. I dont know how to set up connections for PMOD expansion loop-back test. IT failed.
I ran the GPIO tests. The 4 LEDs turned on when I switched on the 4 DIP switches. But the micro-blaze was still
asking me to turn on DIP switch 2. It is stuck there though all the LEDs turned on. Is this a HW issue or SW issue?
I am using XILINX ISE webpack 13.2, SDK 13.2 and chipscope 13.2 shipped with microboard.
How do I make PMOD connections for PMOD expansion loop-back test?
How do I check if the AD1 and DA1 are in good health?
HOW to get the factory GPIO and DA1/AD1 loop-back test working as described in the manual?
Your help is appreciated. Thanks for your time.
Solved! Go to Solution.
02-09-2012 02:54 PM
After you open ChipScope, then go to SDK, SDK shows MicroBlaze is frozen? Can you screen capture this?
To explore your steps 6 and on...
Did you do these steps:
- Open SDK
- Program the Bitstream
- Choose Lauch on HW for the ADI_Interface software project.
If so, does the hyperterminal show the options to choose a waveform?
If so, does it respond to your commands?
If so, the Hardware is working.. And it should draw some lines on your terminal window
before asking for a new waveform.. Do you see that?
Again, if so, the HW is working. If not, you have a setup issue. Possibly not connecting the loopback
cable correctly.. Check that again..
Let me know if these steps work.
02-09-2012 07:25 PM
Thanks for the quick response.
"If so, does the hyperterminal show the options to choose a waveform?"
Yes, I see the options to choose a waveform.
"If so, does it respond to your commands?"
It does not respond to my commands. After some debugging, I found that the code is stuck on scanf . I commented out the scanf function and hard-coded waveform inputs. Now I see the waveform in chipscope. xil_printf is used for prints while the regular C scanf function is used for getting stdin data. Is this a bug? Though I type in the inputs, scanf is not receiving them. Is it not listening to UART? In factory tests, I am able to input my commands using HyperTerm.
Thanks for the hints to narrow down to the problem. Can you please help in fixing this scanf issue?
02-10-2012 08:29 AM - edited 02-10-2012 08:29 AM
Hmm. This is odd. Scanf should work just fine. I've tested this on several different PC's using different OS's..
If it not reading the UART, something must be off.
Can you just create a simple project that reads UART via scanf and then xilprintf's the result?
Also, I assume the getchar function is working as you state the codes hangs on scanf.
Again, scanf is a proven C funtion... I can't imagine why its not working.
02-10-2012 11:02 PM
The problem is with Flow control as you pointed out. Now scanf works. The instruction manual did not say anything about it.It says
"Open a terminal program such as Hyper Terminal or Tera Term and select the COM port as indicated in section 2 step 6. Configure the COM port to 9800/8/N/1."
9800 is a typo as it is not supported. Based on the instruction, I did not touch flow control( as it was not mentioned).
Thanks for the help in resolving the issue.