Introducing XIFT1 - low cost Programmers for Xilinx board based upon FTDI chipset

January 30th, 2016

Vikas Shukla
1/30/2016
==================

Today I wanted to introduce you about XIFT1 the low cost programmer primarily designed as a companion to Spartixed ( low cost spartan 6 evaluation and learner's board).

block_diagram_programmer

The key aspect of this programmer is that, its usage is limited not only to the Xilinx FPGA/CPLDs, though it was designed with Xilinx FPGA in mind. It can be used for programming other JTAG devices.

The XIFT1 uses FT2232H chip that has two ports A and B. The Port A of the FT2232H chip is configured as JTAG interface ( the port B is configured as UART and is not used).

Key Features

FTDI FT2232HQ USB controller
Powered by USB Cable
0.1" 14 Pin JTAG Header
Small Size 1.25" x 1.25"

The prototype board does not incorporate buffer IC. This can be an issue when the Vref voltage on the Xilinx boardwill be different from the 3.3V generated by the programmer. So we are working on the board upgrade that will incorporate a level shifter.

Programming Spartixed with “XC3SPROG” and XIFT1:

You will need to download an open source program called XC3SPROG. The complete instruction to program Xilinx device is as follows

1. Download XC3SPROG from https://svn.code.sf.net/p/xc3sprog/code/trunk/xc3sprog.exe
2. Place xc3sprog.exe to the folder of your ISE project, where .bit file is located.
3. Open the command prompt and go to the directory that has the .bit file. Give the following command

"C:>xc3sprog.exe -c ftdi -v -p 0 YOUR_FILE.bit".

The board uses and EEPROM IC to store the configuration of the FT2232H chip. Usually you should not need to change the configuration of this chip, but can be done if required.

This youtube shows the working programmer.

Uncategorized

Hubpixed - USB Hub for Raspberry Pi Zero

January 24th, 2016

Vikas Shukla
1/24/2016
=====================

Today, I had a chance to finalize the Hub board for Raspberry Pi Zero. If you already had a chance to play with Raspberry Pi zero, you know that it is a useless stuff without a USB Hub, external or integrated. Most solutions available at present are based upon external USB hub, powered or otherwise. There are some solutions that tries to mix and match a USB board with this board, but are not free from wiring.

This is where Hubpixed comes into play. Here is a quick look at this hub.

hubpixed

There are three USB ports on the same side as the connectors on the original board and the forth is along the width of the board. The key thing about this board is the use of Pogo Pin on its top side. There are 4 pogo pins, two for USBs and remaining two for the 5V and GND.

The board will mount with its top aligning with the bottom of the raspberry Pi zero. The alignment has to be perfect, else the pogo pins may short. We will also have to be careful with the surface mount pogo pins as they may break with slight pressure. The 4 mounting holes on the hubpixed need to align perfectly and then can be screwed with the raspberry Pi.

The solution is based upon highly integrated low cost FE1.1s USB Hub. It integrated the 1.5K pull up resistors, reset circuit, 33V regulator, 1.8V regulator, capacitors for the 12 MHz crystal. The result is a very small Bill of Materials.

The future plan is to remove one of the 4 USB connectors and place a low cost Wifi into the same board. There is a UM12BS USB Wifi Module available at Aliexpress (http://www.aliexpress.com/store/product/wifi-module-RTL8188EUS-RTL8188-NEW-ORIGINAL-2PCS-LOT/1153138_32240202795.html) - it says something like $2 each (When you buy in volume the shipping cost per unit goes down).

Hoping to get back when the Hub board is up and running.

Uncategorized

Designing Low cost 4 Port USB Hub

January 23rd, 2016

Vikas Shukla
Jan 23, 2015
==================

Having evaluated the Raspberry Pi zero , I started digging into low cost USB Design Hub option, as Raspberry Pi is almost useless without a USB Hub. This is the subject of this post.

FE1.1s 4 Port Hub - It looks like a Chinese firm called http://jfd-ic.com/ and the strange looking part name FE1.1s is a low cost USB Hub ( typically $0.50) and is promising with the downside that, it does not has any detection and protection option for over current. But is could be a good option if you are using it for some evaluation or educational purpose in projects like Raspberry Pi. You can check its datasheet here . It comes in easy to solder ( if you do not mind soldering by hand for prototypes).

FE1.1s

USB2514BQFN36The Microchips' USB2514B is another more popular USB hub IC that comes with over current detection and control pins. This, in conjunction with MIC2026-1YM can be used to design a USB hub that can also detect over current. The only downside of this chip could the that - it is slightly expensive at $1.92 each in large quantity ( digikey price). If you are designing any professional project, this is the chip to go. You will also need to take care of ESD protection and the Common Mode choke if you were to get the EMI approval from agencies.

Uncategorized

Working with Raspberry Pi Zero

January 23rd, 2016

Vikas Shukla
01/23/2016
=============

Last week I had a chance to check out Raspberry Pi Zero the newer $5 board. It turns out that the demand has outstripped supply and, even though they seem to manufacture at a steady rate, they are not able to meet the demand. So I turned to ebay and purchased one for $29.

Minimal Additional Basic things required

The $5 Pi zero board comes with nothing additional. No power supply, no Micro SD Card to boot, no HDMI Cable. So if you are planning to get the board working you may do yourself a favor by reading this post and keep the things handy.

The Pi Zero uses a Mini HDMI Connector and so you will need a Mini to regular HDMI Cable. I purchased one from amazon.com for like $5. You could also use a Mini to regular adapter, but since, both have the same price of about $5, I went ahead and got the cable.

The Pi zero has a USB Micro connector to power up. If you have a USB Charger this, should be good enough. The Pi itself takes only 150 mA, well below 500 mA rating for USB.

The third thing will be tricky for most users - a Micro SD Card to boot the raspberry Pi. You need to buy a Micro SD Card and then you need to program it. And here is the problem. Most Laptops come with regular SD Card Sockets and not the Micro SD, so you are out of luck if you have just the Micro SD Card. Make sure you purchase a Micro SD to regular SD Card adpater to be able to program the Micro SD Card. I assume that your laptop has a SD Card Socket. If not, you will also have to purchase a USB SD Card programmer.

You will also do yourself a favor by purchasing at least 8 GB Micro SD Card. I had a 4 GB card lying in my desk. With a 4 GB Card I could only get the Linux Jessie Lite working. If you need full GUI, you will need regular Jessie which is like 4.5 GB.

Programming the SD Card using the Jessie Lite

I will cover the process of programming SD Card using Linux Jessie Lite briefly here. The same procedure should apply for the regular Jessie ( you will need 8 GB Card for that ).

1. Download the Jessie Lite from here - https://www.raspberrypi.org/downloads/raspbian/ . It is a little more than 1 GB and should fit in 4 GB Micro SD Card. Once you have downloaded it, save it and unzip it. This will give you an img file.

2. Download Win32DiskImager from here - http://sourceforge.net/projects/win32diskimager/ . Open the Win32DiskImager and Select the img file you downloaded and extracted above. Insert your Micro SD Card in your computer and select the drive letter corresponding to this drive ( In my case it was I). Now click on write and it will write the Micro SD Card.

If everything goes well, the Raspberry Pi should boot as shown in the youtube here

Digging Further

I could not proceed anything further than this, as this board has only one USB Micro socket. I will need a USB hub to be able to hook a keyboard and a Wifi adapter to be able to do something more meaningful. I will cover these when I have a chance to play more with it.

Uncategorized

Is Spartixed the lowest cost board for FPGA / Verilog / VHDL learners ?

December 19th, 2015

Vikas Shukla
-------------

The idea to create Spartixed was rooted in two things - one, we already had a Verilog Tutorial that is very popular among students as well as casual learners. Rodney Schaerer, Lecturer in University of California took interest into the tutorial and his students were using this tutorial ( Thanks Rodney for pointing out the typos in the tutorial). My Google Analytics tells that the Verilog tutorial page has a really very low bounce rate, a measure of how many people get out of your site after visiting that page. That brings us to the second point - the tutorial is good for theoretical understanding but lacks to really show how the things work in real life.

In my graduation class, I vividly remember our ECE lab where we actually made a small RAM using bread board and components. There is no magic into it, but the interest generated, greatly added the interest to learn more about electronics.

With the Spartixed, we expect to achieve the same for learners. And it is designed in a way that it will be most suitable for new engineer looking at polishing their digital hardware design skill using Verilog / VHDL. The undergraduate students of Electrical, Electronics and Computer Science streams will find it useful for learning as well as for their projects. But more importantly, this board will can also be used by 12 year olds to start learning hardware programming. I will encourage parents take a serious look at this board for their kids.

The board is not going to generate any profit but is not designed for it. However, this is not a philanthropist project. The cost engineering involved, ensures that the BOM cost is kept under control. I am still struggling to find and inexpensive way to ship to international buyers. With typical shipping cost at $20, it will hurt the enthusiasts not living in US. May be, we will ship in bulk to a specific country in bulk and the distributors will take care of regional sale.

The initial response to kickstarter has been lukewarm. I expect it to pick up in coming days. In the meantime take a look at the tutorials presented using the Spartixed. You will learn a lot about Verilog and FPGA programming even if you are not buying this board.

123 passport photo

Uncategorized

Clock Divider in Spartixed using Verilog

December 15th, 2015

The Spartixed board has 50 MHz Clock and you need to slow it down to work on slower Bus, like I2C. The following section of code will generate a code that will divide the 50 MHz clock by 1024

module i2c(input clk, output scl );
reg clk_track;
reg [9:0] counter; 
always @(posedge clk )
  begin
  counter <= counter +1;
  clk_track <= counter[9]; // Division by 1024
  end 
assign scl = ~clk_track; 
endmodule

The Output was sent to Pin P78 of the Spartixed board.

and observed on a USB Oscilloscope and here is the result.

divideby1024

Uncategorized