Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21611 Discussions

Enabling USB communication with MAX II Development Board?

Altera_Forum
Honored Contributor II
2,168 Views

Our company is trying to move some image filtering from software to a CPLD. A MAX II Development Board has been purchased for the proof-of-concept design, but I'm having a devil of a time transferring the images to the board. I intend to use the built-in FTDI chip and transfer the images via USB, but using the USB is proving harder than I thought. 

 

With the kit an example design followed, USB_reference_design, but it has two problems: 

 

A - It is written in Verilog, with which I have no experience and, worse: 

 

B - The file that actually takes the input from the FTDI chip is auto-generated and uncommented. 

 

I suspect Quartus II has a built-in function to enable the USB device (because whence else the autogenerated file?) but I have no prior experience with Altera chips or the Quartus suite, so the question is: Do any of you know if there is a way to automatically generate a VHDL usb transceiver in Quartus II? (It would appear that I need a Megafunction "lpm_bustri" but I cannot find it in the MegaWizard Plug-In Manager)
0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
865 Views

Are you referring to the PCI MAX II development board? I reviewed the usb_referencedesign example. It's not extraordinary instructive, but not based on auto-generated design files. Did you understand, that it uses a schematic entry (*.bdf) top entity? lpm_bustri isn't used as "USB transceiver" but simply the standard component in schematic entry that's available to interface the FT245 data bus. In a VHDL design, you would most likely use a behavioral description for it. 

 

As a general suggestion, if you have difficulties to understand what the reference design is doing, design a VHDL interface to the FT245 bidrectional FIFO from the scratch, using the detailed FTDI datasheet.
0 Kudos
Altera_Forum
Honored Contributor II
865 Views

 

--- Quote Start ---  

Are you referring to the PCI MAX II development board? 

--- Quote End ---  

 

 

It is just called MAX II Development Kit on the box but it does have a PCI edge connector. 

 

 

--- Quote Start ---  

I reviewed the usb_referencedesign example. It's not extraordinary instructive, but not based on auto-generated design files. 

--- Quote End ---  

 

 

For a project not based on auto-generated files, it sure has a lot of files that look like this: 

 

// *********************************************** 

// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! 

// 

// 4.1 Build 208 09/10/04 SP 2 SJ Full Version 

// *********************************************** 

 

(That one was from USB_RD_UFM.v) 

 

 

--- Quote Start ---  

Did you understand, that it uses a schematic entry (*.bdf) top entity? lpm_bustri isn't used as "USB transceiver" but simply the standard component in schematic entry that's available to interface the FT245 data bus. In a VHDL design, you would most likely use a behavioral description for it. 

--- Quote End ---  

 

 

Yeah I got that. The reason I figured it was used as the USB transceiver is that when I look in the RTL Viewer, the 8-pin I/O bus called usb_d[7 ..0] hooks up to USBDataTri:inst7, which, when opened, contains only lpm_bustri:lpm_bustri_component 

 

 

 

--- Quote Start ---  

As a general suggestion, if you have difficulties to understand what the reference design is doing, design a VHDL interface to the FT245 bidrectional FIFO interface from the scratch, using the detailed FTDI datasheet. 

--- Quote End ---  

 

 

Sure, but it's rather the other way around. I want to design a VHDL interface to the FTDI chip but don't know how, so I figured I'd look at the code example, which makes use of autogenerated interfaces.
0 Kudos
Altera_Forum
Honored Contributor II
865 Views

 

--- Quote Start ---  

For a project not based on auto-generated files, it sure has a lot of files that look like this: 

--- Quote End ---  

 

Inspect the top entity more thoroughly. The said file is an instance of the altufm_parallel MegaFunction. You can review the parameters by opening the respective block in the schematic editor. 

 

You also should get an overview of the example designs functionality first. UFM means user flash memory of MAX II, if you don't want to use it in your design, you don't need to care for.
0 Kudos
Altera_Forum
Honored Contributor II
865 Views

SO, SOMEBODY KNOM WHAT IS THE USB COMUNICATION PROTOCOL FOR MAXII USB INTR y USB RAW: USB INTR OR USB RAW: 

??
0 Kudos
Altera_Forum
Honored Contributor II
865 Views

The MAX II Dev Kit uses a protocol set by the FTDI FT245 device, with bulk in- and out endpoints. It's intended to by used with the FTDI d2xx driver.

0 Kudos
Altera_Forum
Honored Contributor II
865 Views

i have a maxII development kit, but i cant run usb refence example, when i try to open USB utility.exe the app colapse and it show a massege , so any idea????

0 Kudos
Altera_Forum
Honored Contributor II
865 Views

There are a couple of things it could be, what's the message?

0 Kudos
Altera_Forum
Honored Contributor II
865 Views

oh hi thanks for answer, this is the error thah show me,  

 

" 'mscomm32.ocx' or one of its dependencies not correctly registered: a file is missing or invalid" 

 

ive read is something about activex, this app is for verions before wndows xp  

 

 

0 Kudos
Altera_Forum
Honored Contributor II
865 Views

OK, the problem is that the app is written for a version of visual basic that isn't (currently) supported by your operating system. This is a fixable error. What OS are you using? 32 or 64 bit?

0 Kudos
Reply