Released 12-18-2012
Updated 1-9-2014 New software download to allow usage of Cypress
FX2, non LP version.
Updated 2-10-2014 Added InitGenericUsb.dll
to the Cypress driver software download folder
Updated 10-10-2016 Add picture and pin
information for FX2 Mini Board
Updated 08-11-2017 New EEPROM firmware
(msa-fw-cb-v33.hex) to support MSA Software Version 118. See paragraph
6, Updating EEPROM Firmware
Updated 08-3-2018
This page will explain how to add USB Control to the SLIM MSA. At this
time, the Cypress software will support Win XP through Win 10. I
have verified this conversion with Win XP Pro and Win 7.
The steps to incorporate USB Interface for MSA:
1. Obtain a Cypress development board using the Cypress CY7C68013A chip
set.
2. Construct a wiring interface to couple
the development board to the MSA's Control Board.
3. Modify the USB Card and SLIM Control Board for pull-up resistors.
4. Modify MSA SLIM Control Board's Line Filters
5. Install the Cypress software, Driver onto the computer
and Firmware into the Cypress EEPROM
6. Updating EEPROM Firmware.
1.
Cypress Development Board
There are several styles on the market, but I
will use the EZ-USB FX2LP as the model for this discussion. They can be
found on E-Bay with price ranges from $15 to $30. My particular board
was a donation from Jim Hontoria, W1JGH, so that we could develop the
hardware and software.
EZ-USB
FX2LP (BESTELECS)
Dave
Robert's V0-4 Board
FX2 Mini Board
The EZ-USB
FX2LP has two jumpers labeled:
Bus Pwr--Leave this jumper to allow the computer to supply the +5v
required to power the USB card.
EPROM--This jumper is in place during MSA operation. It will be removed
during the software installation process, later on this page. Note: the
EEPROM must be at least 16Kx8. Typical are the 24LC128 and 24LC256. The
24C128 and 24C256 are fine also. If the Cypress board is
used with the new (in work) Python software, no EEPROM is needed. The
jumper is left open.
Several small Mini Boards utilizing the 56 pin
version of the Cypress can be found on E-bay for $5 -
$20. One word of caution. A
few of these boards, including the one in the photo, are known to
have a Cypress chip that is either re-marked or counterfeit. It can be
easily distinguished by the markings on the chip. These are the
markings: CY7C68013A-56PVXC B 04 PHI 1125 CYP 631702
If you happen
to get one, send it back to the vendor and demand one with a
different
marking. Recent testing proved it will not enumerate when connected to
a USB 3 port. Also, I have not been able to use it with Python testing.
2. EZ Board to Control
Board Interface
The following Signal Table shows the
Cypress signals that connect to the SLIM Control Board, LPT connector.
The first column designates the Cypress Port signal names.
Example, the first row is "Port B- Data 0".
The second column
designates where the Cypress
signals
are present on Dave Robert's V0-4 Board.
The third and fourth columns
designate
where the Cypress
signals
are present on the EZ Board.
The
fifth column
designates where the Cypress
signals
are present on the FX2 Mini Board.
The
sixth and seventh columns
designate
where the Cypress
signals
are to be routed to the SLIM Control Board, and the signal names
normally associated with the LPT port of a computer.
Example, the first row is "LPT-Pin 2 and Data D0".
The signals that are noted as "Not used"
are not used in the MSA, nor are there any plans to use them in the
future. The "Reserved" signals may be used in the future.
Note that ground connections are not shown in the
above Signal Table. Connect at least one ground pin of the LPT
connector to a ground on the EZ Board. LPT grounds are pins 18 thru 25.
Grounds on the EZ Board are P4-2, 19, 22, 24, 26, and 40. If you
duplicate my method of attaching a male DB25 to the EZ Board, also
attach a ground wire to the shell of the DB25.
The following is my method to interface
the EZ Board to the Control Board.
I took an old DB25M connector (with
wires) and super-glued it to the bottom of the EZ Board. Then I ran the
wires to the P1, P2, P3, and P4 pins. I will mount this in a small
plastic box with the DB25 and USB connectors protruding out the ends.
The extra wires have been cut off since the pictures were taken.
You can fabricate a connector to connector
conversion cable using the signal table above. Do not make the cable
longer than 6 inches.
3. Modify the USB Card and
SLIM Control Board for pull-up resistors
As noted in the Signal Interface table,
we are presently using two signals called "ACK" and "WAIT". These are
the MSA's Analog to Digital Converter outputs for Magnitude and Phase.
The ADC signals are open collector, so, they must be "pulled up" to 3.3
volts for the Cypress chip to read them. Cypress "says" that 5 volt
input signals are allowable, but I contend that they are not,
especially if the Cypress is not powered up.
Therefore:
a. Remove the pull-up resistors on the MSA Control Board. These are R9,
R10, R11, and R12. This eliminates the risk of sourcing an external
voltage to the USB board when it is powered down.
b. Add 1 K resistors directly on the EZ Board. I used P4-37 and P4-38.
I tied the other ends of the chip resistors to an available +3.3v pad,
located at P1-21. Only two pull-ups are used (for WAIT and ACK). Three
more may be added as the MSA project expands.
Note: After this mod is done, the
SLIM Control board
may still work as a parallel interface. That is, using the Computer
Parallel Port to MSA LPT. It depends on if your computer requires
pull-up
resistors on its Status Lines. My computer's LPT Status
signals do not
require external
pull-ups. Therefore I can use the Control Board with either the
Computer LPT or the USB Converter. Here is a
test to see if the pull-up resistors are required for your
computer. Re-boot the computer. Use a voltmeter to measure
from computer ground to
LPT port, pins 10, 11, 12, and 13. If these pins are
showing greater than +2.0 volts, the pull-ups are not required.
4. Modify MSA SLIM
Control Board's Line Filters
The SLIM Control Board's LPT lines have RC filters
to decrease line noise. The RC filters are not necessary when the
SLIM Control Board is being driven with short lines from
the
USB card. However, if the SLIM Control Board is already
assembled with the RC filters, they may be left in place.
As a reminder, paragraph 3a. states:
Remove the pull-up resistors on the MSA Control Board. These are R9,
R10, R11, and R12.
5. Install the Cypress driver software
* Download the following
software and place into your "MSA_Software" folder. If any folders named
"usb configure 2.11 and signed drivers" already
reside there, delete them or change
their names. usb_configure_2.11_and_signed_drivers.zip
Revised 8-06-17
(
Updated 8-06-2017 added msa-fw-cb-v33.hex to
folder)
* Unzip (extract) this folder
within the "MSA_Software"
folder. This will create the "usb configure.exe"'
program and driver subdirectories called "XP" and
"Vista-Windows 7".
* Do not connect the Cypress EZ Board (aka. USB card) to the MSA
hardware at this time.
* Use the Computer's USB to power the Cypress EZ Board. Install the EZ
Board's 5v jumper accordingly.
*
If only upgrading the Cypress Board's EEPROM Firmware go
directly to paragraph 6, Updating EEPROM
Firmware
Install Cypress driver onto the
computer
* Remove the EEPROM jumper on the USB card.
* Connect computer to the USB card. Windows will identify there is
a
new USB device, and may then search to find drivers; you have to wait
until it gives up. (If you see any messages about "This device will go
faster", ignore them and they will go away).
* The Hardware Wizard Window should open.
Note: it is possible that
Windows instructs itself not to install the drivers, and no such
response
will be obtained. In this case, run Device Manager, locate and
highlight the entry
for the interface. Right click and uninstall. Disconnect the USB card
and then re-connect. This should cause the Hardware Wizard to open.
* When the "Found New Hardware Wizard" eventually appears:
1. Choose "No, not at this time" and
click Next.
2. Choose "Install from a list or specific location"
and click Next.
3. Choose "Search for the best driver in these
locations", check "Include this location" and Browse to:
MSA_Software/usb_configure_2.11_and_signed_drivers/MSA drivers/(XP or
Vista-Windows 7).
4. Click OK.
5. Click Next.
6. The Hardware Installation warning may appear.
Click "Continue Anyway"
7. The "Files Needed" window may open.
If so, click Browse and select
within the same MSA_Software folder:
/usb_configure_2.11_and_signed_drivers/MSA
drivers/XP(or
Vista-Windows 7)/CYUSB(32 or 64).sys
Click OK
8. Click Finish to close the wizard.
9. Disconnect the USB card and reconnect
it.
If the
"Found New Hardware Wizard" appears again, go through the installation
procedure again.
10. Otherwise, the computer should indicate "New
Hardware is operating normally"
* You can verify this with the
computer's Device Manager. It should indicate:
"Cypress No EEPROM FX2LP"
11. Disconnect the USB card
* Continue to next section and Install the
Cypress driver software.
Install MSA firmware onto the
Cypress's EEPROM
The goal is to load the EEPROM with the MSA firmware
driver. After completion, every time the USB card is
connected to a power source (usually the computer USB) the Cypress will
self-load the MSA firmware from EEPROM. The
computer will need only one driver installed in its System32/drivers
folder. That is the previously installed "CYUSB( ).sys"
*
Note that if you have any other connected USB device that is Cypress
controlled, the following steps
may find and reprogram it inadvertently. Disconnect it from the
computer during this installation. Reconnect after completion.
* Connect computer to the USB card with EEPROM jumper removed
* The computer' Device Manager should indicate "Cypress No
EEPROM FX2LP"
* Install the EEPROM jumper.
* Go to the MSA_Software folder, open usb_configure_2.11_and_signed_drivers
folder, and double-click the "usb configure.exe"
program. If you get any "Warning", go ahead and click "Run".
* The "N2PK USB Interface Control V2.11" dialog opens.
* There are 4 tabs at the top: Communicate with Adapter, Download
Program, Program FX2 Chip EEPROM, and Setup.
* Go to the "Setup" tab
* We want the USB Driver name to be "cyUSB
device 0". Click on the “Find devices” button
and select "cyUSB
device 0".
* The Vend_Ax filename should be "Vend_Ax.hex" file. Browse
the "usb_configure_2.11_and_signed_drivers"
folder to select it.
* In the Interface Type area, click "MSA"
* The Configuration String should be "MSA FW"
* Click "Save Settings".
* Click "Program FX2 Chip EEPROM" tab
* Click "Download". The text area should read:
Read file
C:\xx\xx\xx\xx\usb_configure_2.11_and_signed_drivers\Vend_Ax.hex
Byte Count = 0x0ddf bytes
Driver name: cyUSB device 0
SUCCESS: Program downloaded.
* The Write EEPROM area should read: "Erase EEPROM (Write FF's)"
* Use the pull-down and select "Load hex file to EEPROM (C2 file)"
* Click "Load File" button
* Browse and select
"msa-fw-cb-v33.hex". Click Open.
(Updated 8-6-17, This is a new version of
the USB / EEPROM
firmware
to support MSA Software version 118.)
* Now the text area should read:
Read file C:\xx\xx\xx\xx\usb_configure
2.11 and signed drivers\msa-fw-cb-v33.hex
Byte Count = 0x0e26 bytes
* Click "Write data".
* The "Please wait..." window will open while the EEPROM is loading. It
should take 10 to 20 seconds.
When successful, the text area should
read:
"EEPROM write completed (I think)"
* Click "Read" and it should read "CD CD CD
CD CD CD CD CD"
* You can also click the "Verify Write" button.
* We are now finished programming the EEPROM for MSA
operation with the SLIM Control Board
* The next time the USB card is re-connected to the computer, the
computer will look for the correct driver.
* Exit the "N2PK USB Interface Control" window
* Disconnect the USB card from the computer
* Reconnect the USB card to the computer
* The computer may open the "Found New Hardware
Wizard". If so, repeat the installation.
* When finished you can verify the computer's
Device Manager. It should indicate:
"G8KBB MSA USB via Slim-CB i/f v0.03"
* Once the EEPROM is loaded with the MSA firmware and the computer
has the correct driver installed, connecting the USB card to the
computer will result in just an audio "bong bing".
The computer may
open the "Found New Hardware Wizard" whenever
the EEPROM is re-configured or the USB card is attached
to a different USB connection on the computer. If so, just repeat the
Wizard
installation.
At any time, you can read the EEPROM to verify MSA
firmware installation.
* Reconnect the USB card to the computer with the
EEPROM jumper installed.
* Open "usb configure.exe"
program again
* Go to the "Setup" tab.
* The USB Driver name should be MSA USB device
0 (grayed)
* Click Find Devices and select (highlight) "MSA USB
device
0". Click OK
* The 4
areas in this tab should show:
USB Driver name MSA USB device 0 (gray)
Vend_Ax filename
....\..\..\Vend_Ax_hex
Configuration String MSA FW
Interface Type
MSA (dot)
* Click Save Settings
* Click "Program FX2 Chip EEPROM" tab
* Click "Download". The text area should read:
Read file
C:\xx\xx\xx\xx\usb_configure_2.11_and_signed_drivers\Vend_Ax.hex
Byte Count = 0x0ddf bytes
Driver name: MSA USB device 0
SUCCESS: Program downloaded.
* Click "Read" and it should read "C2 00 00 00 00 00 00 00"
* Exit the "N2PK USB Interface Control" window
* Disconnect the USB card from the computer or connect the
USB card to MSA for operation.
6. Updating EEPROM
Firmware.
If the Cypress board has already been programmed
with a .hex file and all that is needed is to update the EEPROM with a
new .hex file:
Note: if you have any other connected USB device that is
Cypress
controlled, the following steps
may find it and reprogram it inadvertently. Disconnect it from the
computer during this installation. Reconnect after completion.
* Connect computer to the USB card with EEPROM jumper installed
* The computer's Device Manager should indicate "G8KBB
MSA USB via Slim-CB i/f v0.03"
* Go to the MSA_Software folder, open usb_configure_2.11_and_signed_drivers
folder, and double-click the "usb configure.exe"
program. If you get any "Warning", go ahead and click "Run".
* The "N2PK USB Interface Control V2.11" dialog opens.
* There are 4 tabs at the top: Communicate with Adapter, Download
Program, Program FX2 Chip EEPROM, and Setup.
* Go to the "Setup" tab.
The 4
areas in this tab should show:
USB Driver name MSA USB device 0 (gray)
Vend_Ax filename
Vend_Ax_hex
Configuration String MSA FW
Interface Type
MSA (dot)
* Click "Program FX2 Chip EEPROM" tab
* Click "Download". The text area should read:
Read file Vend_Ax.hex
Byte Count = 0x0ddf bytes
Driver name: MSA USB device 0
SUCCESS: Program downloaded.
(Note: clicking "Download" a second time will produce an error "Error -
Could not open communications to driver." If this occurs, disconnect
then reconnect the USB cable to the USB board to allow a "fresh
reboot". Then click "Download")
* The Write EEPROM area should read: "Erase EEPROM (Write FF's)"
* Use the pull-down and select "Load hex file to EEPROM (C2 file)"
* Click "Load File" button
* Browse and select
"msa-fw-cb-v33.hex". Click Open.
(Updated 8-6-17, This is a new version of
the USB / EEPROM
firmware
to support MSA Software version 118.)
* Now the text area should read:
Read file C:\xx\xx\xx\xx\usb_configure
2.11 and signed drivers\msa-fw-cb-v33.hex
Byte Count = 0x0e26 bytes
* Click "Write data".
* The "Please wait..." window will open while the EEPROM is loading. It
should take 10 to 20 seconds.
When successful, the text area should
read:
"EEPROM write completed (I think)"
* Click "Read" and it should read "C2 00 00 00 00
00 00 00"
* You can also click the "Verify Write" button.
* We are now finished re-programming the EEPROM for MSA
operation with the SLIM Control Board, but it must be re-booted to
operate with the MSA.
* Exit the "N2PK USB Interface Control" window
* Disconnect the USB card from the computer
* Reconnect the USB card to the computer. This will re-boot
the Cypress
* The Cypress Interface is ready to be used with the MSA Program