DSPRelated.com
Forums

TigerSHARC to PC Interface

Started by Dan February 1, 2006
Hi,

I am a graduate student at Brown University.  We are currently working
on a project that integrates five standalone TS201S Ez-Kits.  My
advisor would like record data by connecting the entire system to a PC.
 The data rate is on the order of 164 Mbps.  Thus far, I have
identified three plausible solutions.  All three utilize the Link Port
for inter-processor communication.

1.) Couple a Xilinx FPGA with xapp634/635 and an USB 2.0 chip.
2.) Interface an USB 2.0 chip to yet another TS201S Ez-Kit.
3.) Use the SHARCfin ASIC from Bittware with a TS201S to implement a
PCI card.

Have I overlooked any other viable solutions (not more than $1000) to
this problem?  My advisor seems conviced that there should exist a
commercial solution, but I cannot find any.  I have looked at the DSP
boards from Bittware, but they are all too expensive.  Additionally, I
don't see a way of interfacing those boards with the EZ-Kits.

Thanks,
~Dan

"Dan" <dan.casimiro@gmail.com> wrote in message 
news:1138794235.848951.19610@g44g2000cwa.googlegroups.com...
> Hi, > > I am a graduate student at Brown University. We are currently working > on a project that integrates five standalone TS201S Ez-Kits. My > advisor would like record data by connecting the entire system to a PC. > The data rate is on the order of 164 Mbps. Thus far, I have
So you want approximately 20 MBytes/second, right? And continuously or just a large snapshot that fits into the PC's memory? If you need continuous and assume it'll go on the hard disk, have you verified that your PC can actually record at this rate? How long do you need to record, assuming this is continuous. Our "expensive" boards ;-) have no problem writing data into the PC's memory at rates much higher than this (on some PCs we have measured over 400 MBytes/second, on PCs with 32 bit 33 MHz PCI buses we get better than 100 MBytes/second) however we have had customers who then have issues figuring out how to make a standard Wintel PC get this onto a disk or even copy it to another memory loaction, in anywhere near these rates. So you may want to do some independant testing of your PC environment in terms of dealing with this 20 MBytes/sec of data before you go too far down the path of figuring out how to get into the PC from the DSPs. I'm not saying you can't do it, I'm just saying it may not be trivial.
> identified three plausible solutions. All three utilize the Link Port > for inter-processor communication.
When you say interprocessor do you mean DSP to DSP or DSP to PC or both?
> > 1.) Couple a Xilinx FPGA with xapp634/635 and an USB 2.0 chip.
OK, but why USB instead of PCI? If I recall, USB 2.0 is 400 MBits/sec theoretical, right? And you need 164 Mbps sustained? May be possible, but I don't have much experience on what actual data rates are achieved with USB 2.0, and of course this would include the drivers on the PC. You could try a PC to PC transfer over USB 2.0 to measure this.
> 2.) Interface an USB 2.0 chip to yet another TS201S Ez-Kit.
And how would you do that?
> 3.) Use the SHARCfin ASIC from Bittware with a TS201S to implement a > PCI card.
I don't mean to be blunt, but if you can't afford one of our standard PCI boards, you can't afford our SharcFIN. It's not intended for low volume designs, and the pricing models reflect this, i.e. its going to cost more than buying one of our standard boards. Besides, even though this is university (so I assume you consider time and labour are free) there are real out of pocket costs associated with designing your own board. And you really want to spend the time and effort to build your own custom PCI board? Or USB 2.0 board, for that matter? Or is that part of the goal of the project?
> > Have I overlooked any other viable solutions (not more than $1000) to > this problem? My advisor seems conviced that there should exist a
You may want to look to see what cheap FPGA boards are available. I'd look for one with a PCI interface built-in, and that could support putting the TigerSharc link port in it to cable up to the EzKits. You probably want to look at Xilinx or Altera directly, as their equivalent of EzKits should be subsidized as well. Then your work would be in figuring out how to cable up the system, doing some FPGA work, and writing software to get the data to the PC. If you want USB 2.0 you can probably find an FPGA board with it, but I'd run those performance tests first, and unless you have GigE, don't even think about Ethernet (even with GigE I'd be worried). If I was doing it, I'd opt for PCI, but then again, if I was doing it I'd be using one of our boards ;-)
> commercial solution, but I cannot find any. I have looked at the DSP > boards from Bittware, but they are all too expensive. Additionally, I
"Expensive" is a relative term. We design and sell high end boards for high end markets (why is the bar scene from "It's a Wonderful Life" coming to mind?). When our commercial customers compare our board costs to the real costs of doing it themselves (where time and labour count), they see the value, otherwise we wouldn't be in business. We do understand that for hobbyists and some university projects we are too expensive, but frankly we are not in the development board business and don't want to be.
> don't see a way of interfacing those boards with the EZ-Kits.
Our boards interface with our boards, and other off-the-shelf boards, quite easily. Interfacing with EzKits is not some we worry about too much. Good luck in your project. ------------- Ron Huizen BittWare " ... we serve hard drinks in here for men who want to get drunk fast ..." Nick the bartender, in "It's a Wonderful Life"
Dan wrote:

> Hi, > > I am a graduate student at Brown University. We are currently working > on a project that integrates five standalone TS201S Ez-Kits. My > advisor would like record data by connecting the entire system to a PC. > The data rate is on the order of 164 Mbps. Thus far, I have > identified three plausible solutions. All three utilize the Link Port > for inter-processor communication. > > 1.) Couple a Xilinx FPGA with xapp634/635 and an USB 2.0 chip. > 2.) Interface an USB 2.0 chip to yet another TS201S Ez-Kit. > 3.) Use the SHARCfin ASIC from Bittware with a TS201S to implement a > PCI card. > > Have I overlooked any other viable solutions [... etc snipped ;]
I read Ron Huizen's response which actually encouraged me to ask, "What do wish to accomplish AND in what "environment?" ~40 years ago I was an Instrument Tech (read electronics tech) for Cornell's Chemistry department. I learned first hand the effect of "mis-framing" a question. A post-doc described his problem. I came up with a *THEORETICALLY* correct solution. I asked our machinist to mill a *PERFECTLY SQUARE* hole in a block of aluminum ;] He gave me a "reality" check and asked what I was trying to accomplish. after a day of thought he came up with a solution that could be formed by bending sheet stock with rather loose tolerances. What is your field? What do you wish to measure? What precision/accuracy/repeatability do you require?
Richard Owlett wrote:

   ...

> ~40 years ago I was an Instrument Tech (read electronics tech) for > Cornell's Chemistry department. I learned first hand the effect of > "mis-framing" a question. A post-doc described his problem. I came up > with a *THEORETICALLY* correct solution. I asked our machinist to mill a > *PERFECTLY SQUARE* hole in a block of aluminum ;] He gave me a "reality" > check and asked what I was trying to accomplish. after a day of thought > he came up with a solution that could be formed by bending sheet stock > with rather loose tolerances.
Many aluminum alloys are fairly easy to broach, so square holes are not beyond reasonable machine-shop practice. When I need them, I make square-hole drills out of old untapered three-square files. You can buy them. too. You can even buy drills for hexagonal holes. http://www.drill-service.co.uk/drills/Watts-Square-and-Hexagonal-Hole-Drilling-Equipment.htm Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry Avins wrote:

> Richard Owlett wrote: > > ... > >> ~40 years ago I was an Instrument Tech (read electronics tech) for >> Cornell's Chemistry department. I learned first hand the effect of >> "mis-framing" a question. A post-doc described his problem. I came up >> with a *THEORETICALLY* correct solution. I asked our machinist to mill >> a *PERFECTLY SQUARE* hole in a block of aluminum ;] He gave me a >> "reality" check and asked what I was trying to accomplish. after a day >> of thought he came up with a solution that could be formed by bending >> sheet stock with rather loose tolerances. > > > Many aluminum alloys are fairly easy to broach, so square holes are not > beyond reasonable machine-shop practice. When I need them, I make > square-hole drills out of old untapered three-square files. You can buy > them. too. You can even buy drills for hexagonal holes. > http://www.drill-service.co.uk/drills/Watts-Square-and-Hexagonal-Hole-Drilling-Equipment.htm >
Sorry Jerry, you are *TOO* focused on achievable goals. My solution required removing a *PERFECT* cube from a piece of material. Sub-micron radii would *NOT* assure success. My "solution" _PRESUMED_ *PERFECTION* .
Richard Owlett wrote:
> Jerry Avins wrote: > >> Richard Owlett wrote: >> >> ... >> >>> ~40 years ago I was an Instrument Tech (read electronics tech) for >>> Cornell's Chemistry department. I learned first hand the effect of >>> "mis-framing" a question. A post-doc described his problem. I came up >>> with a *THEORETICALLY* correct solution. I asked our machinist to >>> mill a *PERFECTLY SQUARE* hole in a block of aluminum ;] He gave me a >>> "reality" check and asked what I was trying to accomplish. after a >>> day of thought he came up with a solution that could be formed by >>> bending sheet stock with rather loose tolerances. >> >> >> >> Many aluminum alloys are fairly easy to broach, so square holes are >> not beyond reasonable machine-shop practice. When I need them, I make >> square-hole drills out of old untapered three-square files. You can >> buy them. too. You can even buy drills for hexagonal holes. >> http://www.drill-service.co.uk/drills/Watts-Square-and-Hexagonal-Hole-Drilling-Equipment.htm >> > > > > Sorry Jerry, you are *TOO* focused on achievable goals. > > My solution required removing a *PERFECT* cube from a piece of material. > Sub-micron radii would *NOT* assure success. My "solution" _PRESUMED_ > *PERFECTION* .
You might as well specify the removal of a cube from the interior. I hope you remember my "dead center" story. In brief, since nothing is round, there is no such thing. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Thanks for the response.

> > 2.) Interface an USB 2.0 chip to yet another TS201S Ez-Kit.
> And how would you do that?
The Ez-Kit has a peripheral expansion interface. I will look into the FPGA boards from Xilinx/altera. ~Dan
Dan wrote:
> I am a graduate student at Brown University. We are currently working > on a project that integrates five standalone TS201S Ez-Kits. My > advisor would like record data by connecting the entire system to a PC. > The data rate is on the order of 164 Mbps. Thus far, I have > identified three plausible solutions. All three utilize the Link Port > for inter-processor communication. > > 1.) Couple a Xilinx FPGA with xapp634/635 and an USB 2.0 chip. > 2.) Interface an USB 2.0 chip to yet another TS201S Ez-Kit. > 3.) Use the SHARCfin ASIC from Bittware with a TS201S to implement a > PCI card. > > Have I overlooked any other viable solutions (not more than $1000) to > this problem? My advisor seems conviced that there should exist a > commercial solution, but I cannot find any. I have looked at the DSP > boards from Bittware, but they are all too expensive. Additionally, I > don't see a way of interfacing those boards with the EZ-Kits.
Man, that's a tough one. I'm currently working on a TS201S-based project, and we did some of our early development on an EZ-kit lite. We have since moved on to a board of our own design (actually a collaboration with Kaztek -- see the DSM-STSL at http://www.kaztek.com/dsm.html). This board has one TS201S, a Xilinx Spartan-3 FPGA, and we plug it into a motherboard that has an FTDI FT245BM chip on it for a full-speed (not high-speed) USB interface to a PC, which we use for various diagnostics. Full-speed USB supports up to about 1 MB/s in bulk transfers, but we're using less than 10% of that bandwidth at most. I looked at xapp634/635, but they present the DSP quadword to the internals of the FPGA as a 128-bit wide bus, which didn't suit us at all, so I did my own design that presents an 8-bit wide "byte stream" interface internally. It runs very comfortably at 125 MB/s (4-bit wide link port, not 1-bit), but in our application, we only run it at 10 MB/s maximum, and the long-term average is actually much less than that. (Our application requires the TigerSharc's CPU horsepower and on-chip memory more than its I/O bandwidth.) With ten TS201S chips and 20+ MB/s data rate, you really should be looking at one (or more) of Ron's boards. I really don't see any easy way to get that kind of data rate off of an EZ-kit. Since it only has one external link port per DSP chip, I assume that that's how you're networking the EZ-kits together (a ring topology?). There is an FPGA on each EZ-kit, and it has two 1-bit link ports to each DSP chip, but it's really there mainly to support the DSP firmware development environment. It would be difficult to repurpose it without losing a lot of important functionality. I think about the best you could do (within your budget) would be to develop your own PCB that sandwiches with the EZ-kit via its expansion connectors on the bottom, and put one of the Cypress high-speed USB chips (e.g., CY7C68033/CY7C68034) on it, perhaps with a small FPGA or CPLD to "glue" it to the DSP bus. But interfacing to that bus is definitely a nontrivial design effort. -- Dave Tweed
Jerry Avins wrote:

> Richard Owlett wrote: > >> Jerry Avins wrote: >> >>> Richard Owlett wrote: >>> >>> ... >>> >>>> ~40 years ago I was an Instrument Tech (read electronics tech) for >>>> Cornell's Chemistry department. I learned first hand the effect of >>>> "mis-framing" a question. A post-doc described his problem. I came >>>> up with a *THEORETICALLY* correct solution. I asked our machinist to >>>> mill a *PERFECTLY SQUARE* hole in a block of aluminum ;] He gave me >>>> a "reality" check and asked what I was trying to accomplish. after a >>>> day of thought he came up with a solution that could be formed by >>>> bending sheet stock with rather loose tolerances. >>> >>> >>> >>> >>> Many aluminum alloys are fairly easy to broach, so square holes are >>> not beyond reasonable machine-shop practice. When I need them, I make >>> square-hole drills out of old untapered three-square files. You can >>> buy them. too. You can even buy drills for hexagonal holes. >>> http://www.drill-service.co.uk/drills/Watts-Square-and-Hexagonal-Hole-Drilling-Equipment.htm >>> >> >> >> >> >> Sorry Jerry, you are *TOO* focused on achievable goals. >> >> My solution required removing a *PERFECT* cube from a piece of >> material. Sub-micron radii would *NOT* assure success. My "solution" >> _PRESUMED_ *PERFECTION* . > > > You might as well specify the removal of a cube from the interior.
Yes, that's about what my "solution" required
> I hope you remember my "dead center" story.
No I don't. Please give a link.
> In brief, since nothing is > round, there is no such thing. > > Jerry
Richard Owlett wrote:
> Jerry Avins wrote:
...
>> I hope you remember my "dead center" story. > > > No I don't. > Please give a link.
Writing is quicker here than searching. A guy at a block party said to me that he heard I have a lathe, and asked if I could do him a favor. He had a cup recently machined out of solid aluminum*; a cylinder 3" long and 3" OD, with a 1/4" wall all around. Could I drill a hole in the bottom "dead center". Asked about tolerance, he said "None". Only exact centration would do. I said that not only couldn't I help him, nobody could. If it were freshly machines a week ago, it wasn't even round any more: metal warps when stressed layers are removed. In any event, while I could detect (with a tool-post microscope) when a piece was chucked 2 tenths off center, I couldn't do anything to correct the error. He asked "Two tenths of what?"; I said "Of a mil." He asked what a mil was and I told him. I also told him that a typical piece of newsprint is 3 mils thick. He responded, "Oh hell. I can't see that small. It's got to be OK." So much for "dead center no tolerance". In the end, I grabbed it in my three-jaw chuck whose runout can be up to 5 mils and drilled it. Boring would have avoided drill wander, but it wasn't worth it. I also showed him that the cup was already 5 mils out of round at the rim. Jerry _________________________ * 2024 is a creepy alloy. Literally. -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;