Forum Discussion
Cyclone III development board and USB FT245BL
Hi,
I currently develop with the cyclone III development board (EP3C120N). The board features two USB chips. The Cypress chip is used for the byteblaster logic and as I understand the documentation I can use the FT245BL for my own communication. Interestingly both chips share the same USB connector. So it must be possible two select either chip. The connections from the Cyclone to the FT245 are routed through the Max EPLD, so there must be some kind of configuration. I haven't found any documentation on that. So does anyone know, how to use the FTDI chip on this board? Cheers, Alex38 Replies
- Altera_Forum
Honored Contributor
It seems, as the Cyclone III development board has many USB options, but none is usable in an easy way. At present, you apparently have to reprogram thex MAX II chip and loose factory default configuration, including embedded USB Blaster, to implement any user USB function. It may be the case however, that the default MAX II contains adidtional logic to interface both USB controllers, e. g. through reserved DIP switch positions. It surely can have it in future releases.
The problem is, that part of the MAX II logic, particularly the USB Blaster function, must be expected protected Altera IP that unfortunately won't be disclosed. This is a serious obstacle when intending a user defined MAX II logic including the USB Blaster functionality. At best, Altera would find a way to pack the USB Blaster to an encrypted core, that is bound to the Dev Kit. - Altera_Forum
Honored Contributor
Hm,
this would be a pity, if they don't support the FTDI chip. At least they advertise the USB2.0 feature on the Altera homepage. I was hoping for some undocumented dip switch setting that enables the FTDI ;-) So for now, I'll connect a Max3232 to the breakout debug header. But that's not really satisfying.. Cheers, Alex - Altera_Forum
Honored Contributor
I can't say for sure, that there isn't an USB interface option hidden in MAX II code. You should ask at Altera support to my opinion. Generally, I guess, that the option has been at least planned, but possibly wasn't finished in time.
As another basically available option, you can use a JTAG UART through USB blaster. I have seen some example applications for the PC side within the University Program resources, if I remember right, also several Terasic PC applications are interfacing the board through JTAG, using undocumented DLLs, unfortunately. I have rough plans of an USB Blaster to virtual JTAG interface, e. g. to control test sequences through source & probe instances. - Altera_Forum
Honored Contributor
That is what I do right now, I just control and parametrize my application using the nios2-terminal via jtag-uart, but my customer prefers a solution without having to install the nios sdk. I asked the Altera Support now.
I'll post the reply. Cheers - Altera_Forum
Honored Contributor
--- Quote Start --- That is what I do right now, I just control and parametrize my application using the nios2-terminal via jtag-uart, but my customer prefers a solution without having to install the nios sdk. --- Quote End --- If you want to avoid installing NIOS EDS, or Quartus, use one of the JTAG interfaces that support scripting. They are available when you install the Quartus Programmer. Virtual JTAG is the more powerful one, but it is also the one that requires more work and it is rather slow. You might prefer to use the In-System probes or memory editor. It is also possible to use your own application to control the USB blaster interface, and then avoid the need of installing any Quartus/Altera software at all. This is not documented by Altera, but the information is available on the net. - Altera_Forum
Honored Contributor
You can do some access through the "usb-blaster" logic that has nothing to do with the nios sdk (nios2-terminal) interface. All you need is the 'jtag_atlantic.dll' and maybe some lower leven interface stuff.
In your design, you need an instance of the 'alt_jtag_atlantic'. You can write and read a stream of bytes through the USB-cable to this interface. I never tried on a system without a quartus-installation, but maybe with just installing the driver and the stand-alone programmer application you will ahve enough dll's to operate it. Let me know if you need more info. Stefaan - Altera_Forum
Honored Contributor
--- Quote Start --- In your design, you need an instance of the 'alt_jtag_atlantic'. --- Quote End --- Many thanks for mentioning this! That's the first time I see any documentation about the Altera JTAG interface from the host side. - Altera_Forum
Honored Contributor
I'm not sure, which documentation you mean. I see jtag_uart.tcl, that accesses the jtag-dlls among the Cyclone II DSP Board files, but no explicite alt_jtag_atlantic Megafunction manual. Did I miss something?
- Altera_Forum
Honored Contributor
Hi Franck,
Not exactly documentation. But it's C source file for accessing a jtag_uart instance, from the host, using jtag_atlantic.dll directly. Download this: http://nioswiki.jot.com/wikihome/highspeedimagedownloaddemo But now that you mention the tag_uart.tcl on the CII DSP kit, I just downloaded and it seems it has just about the same info (using a TCL script instead of C, but you get the DLL api usage in both cases). Unfortunately, it doesn't seem to cover a lower level access to the jtag. At least I don't see how you can use this API to talk to a virtual jtag instance. But at least it's something. - Altera_Forum
Honored Contributor
Thank you for the link. I'm not familiar to the NIOS community and didn't search there.
I think, it's really good to have a communication channel with documented interface. I guess, that jtag_atlantic is designed to access JTAG UART instances only, that means, it filters enumerated VJTAG functions for those with an UART type id. It does not provide access to other types. There's no type selection in the DLL interface, thus it's intended for a fixed type only. It's the same with Source & Probe tool, that only enumerates respective instances. A generalized VJTAG access, if using Altera JTAG drivers, has to use the next lower level, jtag_client.dll. P.S: @svhb. I see, that you mentioned the download application already in March 08. I should have better read the post, when I answered it. Thanks for the suggestion.