Re: [Fx2lib-devel] Allmybrain.com Question/Comment: interested in fx2 cystream
Status: Beta
Brought to you by:
mulicheng
From: Dennis M. <de...@ub...> - 2009-09-30 20:31:59
|
Nu Tiu wrote: > Hello Dennis, > > Thanks a lot for a very quick response. I have a couple more > questions, and if you could help me, I'd really appreciate it. > > On Thu, Oct 1, 2009 at 2:19 AM, Dennis Muhlestein <de...@ub...> wrote: > >> Hi Nu, >> >> The only additional hardware you'll need is whatever peripheral device you >> might wish to connect. >> The Cypress dev kit has all the IO pins exposed and >> comes with a bread-board adapter for plugging in your own stuff (albeit most >> modern parts are too complex to use with their bread-board). Are you >> planning on doing your experiments with only the FX2? >> > > I will be connecting it with a Xilinx FPGA. > You'll most likely have to spin a custom PCB to hook an FPGA to the Cypress devel board. I don't know of anyone that sells one. Perhaps someone else on the list has done it. We also use Xilinx FPGAs and we spun our own board with an FX2 and an FPGA. OpalKelly sells boards with an FX2/FPGA but they don't support ISO endpoints and they don't give the source for their firmware for you to customize. > >> The Cypress kit comes with a Keil compiler sample and only works on Windows. >> That works for a bit, but you'll quickly run into their 4k firmware size >> limit as you start putting logic into your firmware. You can use the fx2lib >> library and SDCC for the compiler if you would rather stick to Open/Free >> software. Fx2lib supports a good portion (if not all) of the library >> features that Cypress provides for Keil. You can join the fx2lib mailing >> list here if you like: >> >> http://sourceforge.net/mail/?group_id=247216 >> > > I have signed up for the mailing list already. :-) > Great! I have copied the list on these last couple emails so perhaps someone else that has done this might input if they like. > >> As a side note, there are other development boards on the market that are >> cheaper than the Cypress dev kit. >> > > Thanks. Just a bit deeper digging shows boards from > http://www.acquiredevices.com/products.jsp > They sell Cypress EZ-USB FX2 board for about US$70, which is more > reasonable than Cypress's $400+. > > Would Cypress/Keil/SDCC tool work on alternative(cheaper) board? I > mean, suppose I have Keil tools, can I write C code, compile, download > it to Cypress and see it communicating back to Cypress software? > You can use any Keil/SDCC for any board with an FX2 part. As long as it is an FX2 chip, you can always load your own firmware on the device. A word of caution though, if you don't know the board schematic it can take quite a while to get a custom firmware working on a device. Xilinx FPGAs for instance have 4 or 5 different programming modes. You have to know which pins are the mode pins that tell it which mode to program in, and then you have to know which pins to send the data to the FPGA on. > Here is what I plan to do for my project: > 1. design a USB audio sound module which plays sound only (so data > only flows out from host(PC) to USB device) > 2. set up the cypress chip to be a USB audio class device using > - isochronous audio data transfer from host > - use asynchronous mode isochronous data transfer > - program cypress to provide rate feedback for the isochronous data link > 3. the data out from Cypress chip goes through FPGA which will perform > digital filtering. > 4. data from FPGA out will go through DAC and then to speakers/headphones. > > I hope cypress 68013a would be powerful enough to solve this problem. > It doesn't look that hard, but although I know both C for software and > Verilog for FPGA design, I am a newbie at embedded programming. > The Fx2 is great at streaming data from the FPGA to the PC. We are currently doing it at 43 Mbps with the slave fifo interface. I've done it up to about 33 Mbps with a GPIF. > If you have more advice/pointer regarding whether I picked the right > device to do USB interface, I would really appreciate it. > I'm not an expert in alternatives but I'm sure there are other ways to do it. The FX2 is a pretty common usb controller. I think many people that don't use the FX2 probably use their own custom chip. > A quick glance through Cypress's dev board shows that they provide > access for the device pins and they have the following: > > - a PLD chip (GAL22LV10C) -- don't know what they program this thing > for (but the code looks very simple) > - an 128k - 8 bit SRAM (CY7C1019BV33) -- would this be necessary? > - an RS232 transceiver -- i don't think I need it > - some I2C IO expander -- i don't think i need it > > So, I just wonder in what scenario would I need an SRAM? > The dev board provides most of the chips that the fx2 can directly utilize. You don't necessarily need them on a custom PCB. You can store data in an sram for instance, to give more memory to the FX2. I haven't actually used this. My firmwares to date has all fit in the 16K FX2 ram. -Dennis |