FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5915 Discussions

Cyclone III development board and USB FT245BL

Altera_Forum
Honored Contributor II
3,895 Views

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, Alex
0 Kudos
38 Replies
Altera_Forum
Honored Contributor II
872 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

 

--- 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.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

 

--- 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.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

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?

0 Kudos
Altera_Forum
Honored Contributor II
872 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

Hi,  

 

thanks for the tip with the alternative jtag lib, I'll have a look at that. 

 

I just got an answer from Altera, which is incredible: 

 

-- cite on 

Thanks for using mySupport. According to your description, I know that you haven't managed the FTDI chip to be recognized by a connected PC. In fact, customers don't need to configure any dip switches to activate the FTDI. Please just try the following sequences: 

1.Power on the Cyclone III development board 

2.Plug the USB cable (provided with the kit) into USB connector J3 on the board and the other end to a USB port on your computer 

 

Please let me know the result after you follow the above steps. 

 

-- cite off 

 

# )
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

Fortunately, you haven't been asked if the PC is powered at all.  

 

Please consider, that the Altera support guy is apparently focussing on trivial user handling errors. He may have missed some details in your support request. However, as matter of fact, these trivial errors are happening as well, and I expect, that Altera support is dealing with a lot of it. 

 

I don't want to excuse inattentive reading, but it may be necessary to express your intention more clearly for Altera suport. Generally, the question should be addressed to someone responsible for the design of Altera Development Kits.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

Hi,  

 

I updated the request now and tried to clarify things. But anyway, I wrote it similar to my initial post here, which was quiet clear - I think ;)  

 

Now I started a 2nd try and wrote to my favourite FAE. 

 

Cheers, Alex
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

Something is wrong with this board, or at least with the documentation. I just read the reference manual, and it claims that the Cypress chip is reserved for future usage! Can't believe it! How come something so important could be reserved and not usable! 

 

Are you sure this chip is populated? I remember some other similar board, don't remember which one, it included the footprint only. 

 

Anyway, I don't think you need to use the Cypress chip. For a simple control usage, the FTDI/USB Blaster interface is good enough. Check the "In Systems Source and probes Editor" scripting capability, that might be your best solution. You don't need to install NIOS, or Quartus, just the standalone Quartus Programmer, and actually not even completely.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

Which reference manual version did you refer to? I have March 08 version (from Starter Kit CD V7.2.0) and it doesn't include such strange remarks. Apparently it's an update in a later revision. 

 

P.S.: No quite right. It's V7.2.3, the most recent version (according to Altera FTP). So I either missed the remark or you have a previous revision.
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

 

--- Quote Start ---  

Which reference manual version did you refer to? I have March 08 version (from Starter Kit CD V7.2.0) and it doesn't include such strange remarks. Apparently it's an update in a later revision. 

 

P.S.: No quite right. It's V7.2.3, the most recent version (according to Altera FTP). So I either missed the remark or you have a previous revision. 

--- Quote End ---  

 

 

Seems you are looking at the wrong kit. He has the "development" board (3C120), not the starter kit. The reference manual is here: 

 

http://www.altera.com/literature/manual/rm_cycloneiii_dev_kit_host_board.pdf
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

Ah yeah, you are right, the December documentation states that the Cypress Chip is for future use and that the FTDI is used for the Byte Blaster Circuitry. 

Anyway it's a pity that I can't use USB without Jtag-Uart. 

However, in the meantime I connected a Max3232 to the Debug Header. And now the Nios operates with an RS232 Uart which works nicely up to 115200baud. 

 

Cheers, Alex
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

I'm looking on the right one. The product page only has a link to the V7.2.3 CD with the March 08 manual, there's no link to the newer manual. 

 

P.S.: The change isn't mentioned in revision history,
0 Kudos
Altera_Forum
Honored Contributor II
872 Views

@FvM: 

 

There is indeed a new documentation from December 2008, if you use vjAlter's link. 

It really mentions that the Cypress chip is intended for future use and that the FTDI is used for the Byteblaster.  

 

BTW: Now as I've got the Nios running with the Uart Core, I see that this core is limited to 115200 Baud. Does someone know a faster Uart Core, or do I have to write one myself? 

 

Cheers, Alex 

 

edit: There are some new cdroms on the ftp server available for download: 

ftp://ftp.altera.com/outgoing/devkit/cycloneiii_3c120_dev_kit-v8.0.0_cdrom.zip 

ftp://ftp.altera.com/outgoing/devkit/cycloneiii_3c120_dsp_kit-v8.0.0_cdrom.zip
0 Kudos
Altera_Forum
Honored Contributor II
774 Views

 

--- Quote Start ---  

BTW: Now as I've got the Nios running with the Uart Core, I see that this core is limited to 115200 Baud. Does someone know a faster Uart Core, or do I have to write one myself? 

--- Quote End ---  

 

 

I think that the Uart core is not encrypted, it shouldn't be too difficult to modify it for accepting higher transfer rates. But note that higher speeds might be problematic at the PC side. It depends on the UART hardware, and on the OS and software environment in the PC. 

 

I still think that using the USB Blaster interface might be a better choice. 

 

What exactly is your "speed" problem? Throughput or latency? USB would, of course, give you faster throughput, but latency might be worse than an UART.
0 Kudos
Reply