https://blackmesalabs.wordpress.com/2016/12/22/sump2-100-msps-32bit-logic-analyzer...
[BML_sump2] / sump2_installation.txt
1 Open-Source and Free to use software makes $22 SUMP2 Logic Analyzer possible.\r
2 The following steps are necessary to get SUMP2 running. If this is overly \r
3 complicated, BlackMesaLabs recommends high quality commercial solutions such \r
4 as the excellent family of USB logic analyzers from https://www.saleae.com/\r
5 \r
6 SUMP2 Setup Steps\r
7 1) Program the FPGA configuration PROM with the SUMP2 hardware design.\r
8 2) Configure the FTDI device driver in Windows for Virtual COM Port operation.\r
9 3) Install Python 3.x for Windows.\r
10 4) Install PySerial so BML bd_server.py can communicate to FTDI VCP driver.\r
11 5) Install PyGame so BML sump2.py can interface with high speed graphics.\r
12 \r
13 \r
14 [ 1 Programming the FPGA with the BML provided *.bin file ]\r
15   Application = Lattice Diamond Programmer ( from 64bit version 3.4.1.213 )\r
16   1) Insert iCEstick into USB port. If device driver is needed, ftdichip.com\r
17   2) Create a new project from a scan\r
18   3) Device Family = iCE40 \r
19   4) Device = iCE40HX1K\r
20   5) Operation = DoubleClick on FastProgram\r
21   5a) AccessMode = SPI Flash Programming\r
22   5b) ProgrammingOptions:ProgrammingFile=downloaded *.bin file\r
23   5c) SPI Flash Options:Vendor=Micron\r
24   5d) SPI Flash Options:Device=SPI-N25Q032\r
25   5e) SPI Flash Options:Package=8-pin VDFPN8\r
26   5f) Click "OK"\r
27   6) Click the "Program" ICON, a chip with a gian green down arrow over it.\r
28   If the FPGA was programmed correctly, a single green LED should now be lit.\r
29 \r
30   Note: On Steps 3),4) and 5), click on text below the field name, for example\r
31   for "Device Family", click on "Generic JTAG Device". This should create a \r
32   pulldown in place of "Generic JTAG Device" allowing user to select "iCE40" \r
33   instead.  For step 5) "Operation", the UI is even stranger as you must \r
34   double-click on the default "Fast Program" to bring up a new dialog box.\r
35 \r
36 \r
37 [ 2 Configuring FTDI Device Driver for Virtual Com Port operation ]\r
38   The FT2232H chip on the iCEstick is actually 2 interfaces in a single device.\r
39   For Windows7, under "Devices and Printers" the FF2232H should show up as a\r
40   "Lattice FTUSB Interface Cable". Double-Clicking this and selecting \r
41   "Hardware" tab should list "USB Composite Device","USB Serial Converter A",\r
42   "USB Serial Converter B".  The "Converter A" port is connected directly to \r
43   the SPI configuration PROM for the FPGA and is used by the Lattice Diamond \r
44   Programmer for programming a blank PROM.  The "Converter B" port is connected\r
45   to the FPGA for end user configuration. The default is for both ports to \r
46   require DLLs for communication. The SUMP2 project needs what is called a \r
47   "Virtual Com Port" on Converter B. Enabling VCP operation will make \r
48   "Converter B" port of the FT2232H look like a regular COM# serial port to \r
49   software.\r
50   Step-1) "Start Menu", "Devices and Printers"\r
51   Step-2) double-click "Lattice FTUSB Interface Cable"\r
52   Step-3) select "Hardware" tab.\r
53   Step-4) select "USB Serial Converter B" and then "Properties".\r
54   Step-5) select "Advanced" tab and click "Load VCP" = "X" (Yes) and then "OK".\r
55   Step-6) Remove iCEstick from this USB port and reinsert.\r
56   Step-7) Confirm "Hardware" tab from above "USB Serial Port(COM#)" now listed.\r
57 \r
58   WARNING: This configuration only sticks for a single USB port for some \r
59   reason. If you switch the iCEstick to a different USB port, you will have to \r
60   do this same procedure again. Very annoying. A better solution, but one that\r
61   is much more complicated is to configure the FT2232H chip to always enable \r
62   VCP on Converter B by default. This is possible using the FTDI FT_PROG \r
63   utility.\r
64 \r
65 \r
66 [ 3 Installing Python 3.x ]\r
67   Download installer from www.python.org\r
68   Example: https://www.python.org/downloads/python-3.5.2.exe\r
69 \r
70 \r
71 [ 4 Installing PySerial ]\r
72   Download WHL file from https://pypi.python.org/pypi/pyserial\r
73   Place WHL in Python scripts directory and do following from command line:\r
74   pip install pyserial-3.1.1-py2.py3-none-any.whl\r
75 \r
76 \r
77 [ 5 Installing PyGame ]\r
78   Download both WHLs from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame\r
79     pygame-1.9.2b1-cp35-cp35m-win_amd64.whl\r
80     pygame-1.9.2b1-cp35-cp35m-win32.whl\r
81   Copy both WHLs to Python Scripts dir \r
82     possibly C:\Users\username\AppData\Local\Programs\Python\Python35\Scripts\r
83   Try both of these, one should fail, the other should hopefully work.\r
84     pip install pygame-1.9.2b1-cp35-cp35m-win32.whl\r
85     pip install pygame-1.9.2b1-cp35-cp35m-win_amd64.whl\r
86 \r
87 EOF\r