I’ve given up on my high-speed ADC interface project because I’m unfamiliar with Verilog and don’t have the time to learn it well enough to do an actual real, complex design. Besides, to do anything useful, like interface with a computer via Ethernet or USB, requires a softcore CPU to handle the high-level protocol details that would be painful to implement in HDL. Then, I’d have to create some sort of bridge interface between the high speed ADC and the processor bus. Then, I’d have to do some embedded development for the processor, which is another toolchain to set up and figure out. That’s a pretty big PITA when all I really wanted to do was to try to produce a hobbyist board with a 780-pin BGA and put the signal integrity knowledge I have into practice.
I’d ask my classmates, who all seem to be pursuing digital, but we’re all pretty swamped with our own work. Besides, there probably isn’t a market for some development board with 8GB of ram connected to a cheap $50 – $200 FPGA anyway.
Lately I’ve been getting into analog IC design. Soon I’ll have to choose between pursuing a more academic path and spending an extra year to make time for research projects, or just graduating in four years and pursuing a career in general PCB-level system design. It seems like the latter is way more accessible and easier. However, it seems like there’s limited potential in that career path compared to doing IC design.
This isn’t what I’d typically blog about here, but I figure this could save someone some time.
In my other life as a web application developer, I needed to implement a Fedex shipping rate calculator in PHP. Here is a script that parses Fedex’s shipping rate tables and outputs SQL insert queries. Of course, your database schema will vary but it should be simple enough to modify to your needs. I decided to just have it run on the webserver for convenience.
Unfortuntely, the low-end Xilinx Spartan-6 FPGA’s do not support interfacing to DIMMs:
Which means that for practical purposes, the memory storage size will be limited to 512MB (2x 2Gbit memory chips). To interface with DIMM’s, which contain 8 or 16 of these chips, you’d have to go to their Virtex line for which the cheapest is at least $200, too expensive for me.
But Altera’s low-end Cyclone FPGA’s do support DIMM’s. Vendor switching time! Probably should have done some more research before plopping down money for the Digilent Atyls board, but it’s pretty feature packed and could be handy to have around for the future anyway.
For those of you coming from Google, much better resources are provided by this guy for the Digilent Atlys. I did not go ahead with my FPGA project.
Just got Digilent’s Atlys board. It’s incredibly cheap for students at $200, discounted from the regular $350.
My plan is to develop a data acquisition system using DDR2 RAM. I’ve been interested in learning about signal integrity and high speed board designs, so I’m going to layout a board with this 900MHz analog bandwidth, 200Msample/s 11-bit dual ADC. Should be interesting. Eventually my plan is to layout my own FPGA board with DDR2 RAM stick slots, but that’s pretty complicated and I don’t have the experience/test equipment for that yet.
Here’s some pics of the Atlys since there don’t seem to be any floating around the internet yet.
Unfortunately it’s difficult to find a matching connector for this VHDCI receptacle they used on the board. It’s easy to get VHDCI receptacles but plugs are another matter. The ones they use for their own expansion boards have to be shipped from Taiwan with a $100 shipping charge, which is pretty ridiculous. I found one alternative, from Samtec:
However, these are edge-mount. The differential pairs go on opposite layers, so that there’ll be an imbalanced via change if you use microstrip routing. Oh well. Shouldn’t matter too much for relatively lower speed signals.
Here’s a quick demo of the RGB high brightness LED driver I’ve been developing. It uses the mbed to generate the PWM dimming signals to the driver, which is driving a 10W RGB LED I bought from DealExtreme (~10V drop on each color at 350mA).
Next time I’ll show using an Arduino to easily control three 700mA Luxeon Rebel RGB LED’s.
I’ve put up a page on the right-hand side with detailed information and pricing for them. They’ll be available in approximately two to three weeks. Initially I only have a limited supply of parts for them, so please comment on the RGB stick page saying if you’re interested in them. This will help me decide how many LED’s to buy.
What would actually be useful product for people? I thought I’d jump onto the Arduino bandwagon and convert my triple 700mA LED driver into an Arduino shield, perfect for driving Luxeon Rebel LED’s and other high power LED’s. I had some extra space on the PCB, so I decided to squeeze in an ATTiny and let it do PWM dimming controlled by I2C. So you can stack a bunch of these shields and let them do all the work.
Of course, this adds quite a bit of BoM cost to the board (the entire bottom part of the board below), but it’s entirely optional. If you just want to drive one RGB LED, then there will be a cheaper version without the onboard microcontroller and associated circuitry populated. The PWM inputs are connected to Arduino pins 9-11, which can do hardware PWM. Here’s a preview while the board’s being manufactured…
Jumper to select between using VIN from the Arduino board or external power jack/terminal block.
More details, schematics, etc, will come shortly. I will publish details on customization for those of you who want to play around with these drivers.
Intended price point: under $50 for sure! Sparkfun must be making a killing off their board…
But what should I call it? RGBHBLEDuino doesn’t exactly roll off the tongue…
Also check out my other RGB LED project, the RGB stick
My board for the RGB HBLED driver using the HV9918 from Iteadstudio came in. I’m pretty pleased with the quality for the price (10 for $28 + shipping). Turnaround time was about two weeks.
Hopefully it’ll work once I populate it. I was testing the HV9918 on a protoboard but the chip kept dying on me inexplicably. We’ll see in the next update.
Recent Comments