• 0
lurcher

CMOD A7 Comms problem

Question

Hi, trying to get a Cmod A7 to play. I seem to be consistently having USB based problems. Tried first on Linux, eventually got it working but seemed unreliable, and only seems to work (when it does) with a USB3 port. Having had those problems, I tried the same on a Windows 7 laptop. Again USB problems. Did get it to detect the board a couple of times, so I could upload from Xilinx to the board, but never got the serial emulator working. In device manager shows up as "USB Serial Controller A" (and B), but never gets mapped to a port. Also seems to be cable dependent. It worked a little with one cable, not at all with another.

Anyone else seeing this, or any suggestions?

The fact that two machines with different OS's are having problems makes me suspect the USB port on the Cmod. Both machines work fine with AVR programming via a Dragon and a USB -> Serial converter, so AFAIK there is nothing broken with the USB ports.

Share this post


Link to post
Share on other sites

17 answers to this question

Recommended Posts

  • 0

@lurcher,

If you are getting different responses depending upon which USB cable you are using, then I would wager one of the cables are bad.Sadly, from my position where I watch and read these forums, bad USB cables seem to be rather common.  I know I've had bad USB ports before, although all of mine now appear to work well.  I've also seen the Digilent staff counsel folks to use powered USB hubs, since not all USB ports have the power necessary to drive the device.

Also ... be careful about drawing conclusions, though, from computers that don't have the firmware drivers installed.  With no drivers installed, the device might identify itself as an FTDI part, whereas with the drivers installed it should then identify itself as the right part.

Have you installed the Adept utilities on any of these machines?

Dan

Share this post


Link to post
Share on other sites
  • 0

@lurcher,

I've had issues with both of my CMOD-A7 units keeping the USB port from detaching. In my experience Vivado hardware manager, if left open, will cause connection issues. I've also had the USB port stop working after 20-30 minutes. I've mentioned this in several posts. I believe that it's the way that the FTDI part is programmed but have not tried to confirm this. I have yet to see anyone from Digilent address this.

You can do what I do. Buy a TTL serial USB cable or breakout board and use any two spare IO pins as the TxD and RxD signals. I've never seen issues with these. They are relatively cheap and you can find a variety at Adafruit or Sparkfun.

regards

Share this post


Link to post
Share on other sites
  • 0

Thanks for those replies. I will try another USB cable and see if one out of three works, its not a case of one works badly and the other works fine, its a case of one doesn’t work at all, and one works intermittently.  I have installed the Adept utilities. Your point about using a powered hub might be worth a try. Not sure what power the cmod a7 needs, will check.

I have a USB -> 232 cable that works fine, but I am not sure how that will help me getting the A7 to play.

Share this post


Link to post
Share on other sites
  • 0

OK, third USB cable seems to be better. I can get the serial port to exist if I enable the VCF option in the setup dialog (no idea) what that means. And with this cable it seems to reliably allow me to program the device. But not at the same time. Is it normal that you cant have both endpoints open at the same time? All the docs don;t mention this. Still not got "hello world" out of the port yet though.

Share this post


Link to post
Share on other sites
  • 0

Hi @lurcher,

Do you see the Cmod A7 in the device manager? I attached a screen shot of what I see using window 7 and the Comd A7 Are you using the getting started with microblaze tutorial here to get your hello world project working? Also if you were not aware our resource page for the CmodA7 is here.

cheers,

Jon 

device_manager_cmodA7.jpg

Share this post


Link to post
Share on other sites
  • 0

I am almost sucessful with that tutorial. I get to

11. Programming FPGA with Bit File

 

And upload to the device, and it shows the FPGA in the hardware manager.

But then I can't open the serial port (looks like you show in device manager) unless I exit the SDK and Vivendo.it looks like a conflict between the USB JTAG endpoint and the serial one.

Share this post


Link to post
Share on other sites
  • 0

Hi @lurcher,

So after you program the fpga with bit file in step 11. Go to teraterm and click on serial. select the drop down arrow and you should have the corresponding com port available. If not please take a screen shot of what teraterm see's. If it does select the correct com port. Next right click on the application in SDK and left click launch on hardware(system debugger). Nothing will happen in tera term until this step is done.  

cheers,

Jon

Share this post


Link to post
Share on other sites
  • 0

I am a bit confused with this bit in the guide

"Make sure that the Cmod A7 is turned on and connected to the host PC via both the JTAG USB port and the UART USB port."

AFAIK, there is only the one USB connector on the board.

Also what does "turned on" mean in this context?

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

Hi @lurcher,

I have pass on that the statement "Make sure that the Cmod A7 is turned on and connected to the host PC via both the JTAG USB port and the UART USB port." was confusing for you.  This statement is a more general statement that has been used for multiple boards that I can see might be confusing since on this board there is not a on switch or multiple USB ports, one for the JTAG and one for the UART.  It is meant to make sure that your board is powered with the USB JTAG/UART which also ensures the USB JTAG/UART is connect for programming and the UART communication. As a side note, you can power the board from a specific pin other than through the USB JTAG/UART.

cheers,

Jon 

Edited by jpeyron

Share this post


Link to post
Share on other sites
  • 0

Ok, so on Windows I still have the same problem. Unable to get the serial terminal to connect to the port while the SDK has the JTAG open. Also, I can't get Windows to enumerate a port unless I select the VCF option in the driver dialogue, but I have failed so far in finding out exactly what that does.

On Linux, its much better, working in fact. As long as I use a USB3 port and the newer cable it all works, serial portand programming can coexist and I have Hello World from the terminal. So looks like I will be using my Linux system to develop instead of the Windows laptop.

Thanks for folk helping out. Now to try and make it do something useful...

Share this post


Link to post
Share on other sites
  • 0

I had this same problem this morning.  The Cmod Artix-7 35T board would come up as a COM port, but the vivado hardware manager couldn't find it.  After switching USB ports, it tried to install a new driver and gave an error, but it still came up as a COM port with the FTDI driver.  I downloaded the Adept utilities and that installed the correct driver.  After a reboot, Vivado could now see the board.  I was able to download and still open the COM port.

Share this post


Link to post
Share on other sites
  • 0

Have some problems with USB. I have a problem with USB ports of my laptops. I have 3 laptop with 4 usb port each, when i connect my Cmod A7 35T there are several problems. Some usb port can't recognize the device ("unknow device"), others recognize it but there are a lot of connections and disconnections problem (the sound of usb connection is discontinuous). In general only one usb port for laptop work fine. I can't undestand why i have those problems, infact the usb work fine with others device. 
In this post i read that when there are usb connection problem you should use an  powered USB hubs but this solution isn't good for me. Any Ideas about this problem and why some usb port don't work fine with this device?

Share this post


Link to post
Share on other sites
  • 0

@smarano,

When you say that "this solution isn't good for me", do you mean that you tried it and your device still doesn't work, or that you are somehow unable to try it?

There are two fairly common problems when connecting devices to the USB, both are outside of Digilent's control.  One is that the USB cable is bad.  You wouldn't believe how common this is, as cables are ... just cables, right?  They don't really have failure points ... and yet in practice, they do go bad and they go bad often (It was just working the other day ...?).  The second problem is a piece of host hardware, your laptop in this case, that wasn't designed to place any significant power onto the USB port.  This is not all that common, especially with laptop ports.

Dan

Share this post


Link to post
Share on other sites
  • 0

@D@n

"this solution isn't good for me" because my prototype needs to be portable, but i can try to use it to see if there is an electrical problem with usb. 

Share this post


Link to post
Share on other sites
  • 0

Hi @smarano,

Have you tried using different USB A to Micro-B Cables? To make sure that it is not the cable. Have you verified the USB A to Micro-B Cable? What are the OS's of the different Laptops?

cheers,

Jon

Share this post


Link to post
Share on other sites
  • 0

@jpeyron i have 3 identical laptops with the same OS, the same drivers etc...i don't think that is the cable because with the same cable only one USB port on each laptops work fine and sometime a second port works. So i think that there are some problem with USB port but i don't know how to fix it 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now