Programming over Fibre

From MCEWiki
Revision as of 14:50, 9 July 2010 by 142.103.235.238 (talk) (Footnotes)

Remote Firmware Update (RFU), aka Remote Configuration is the ability to reprogram the MCE via the fibre-optic interface. This feature was implemented in February 2010.

User's Guide

MCE Hardware

To enable Remote Configuration, we need to give the Clock Card FPGA access to the JTAG chain:

  1. Turn off MCE power
  2. On the Clock Card, flip the "BB_EN" DIP switch on SW1:P1 to OPEN
  3. Turn on MCE power

MCE Firmware

The MCE firmware is updated in two steps. First, the factory configuration device is programmed from the on-board header. Second, the application configuration device are modified on all the cards. Note that the factory and application configuration devices on the Clock Card should both be loaded with 5.0.7+ firmware to avoid loading incompatible firmware versions. Clock Card firmware descriptions are available here: Clock Card (CC). Procedure:

  • Configure the Clock Card factory configuration device with this .pof file:
  • Configure the Clock Card application configuration device with the same .pof:
    • Clock Card: cc_v05000007_14may2010.pof

Remote Configuration Software

On a MAS PC, get the version of JAM Player software from SVN that is compatible with the version of Clock Card firmware you just loaded in the Factory Configuration Device (i.e. SVN revision 16 is compatible with cc_v0500006).

cd ~/jp_25/mce_jam/trunk
svn update -r16

Compile the SVN software with the following commands:

make clean
make

The read_idcode.jam file is included in SVN as a test script to help you determine whether you have set up the system correctly.

sudo ./jam -u -v -f8000000 -aread_idcode read_idcode.jam                     // For Querying ID Codes

If you can run the read_idcode script, then you are ready to re-configure FPGA's, EPC16's and EPCS64's. For these devices, you will need to generate .jam files that are specifically suited to your JTAG chain's topology. You will need Quartus II software to do this. Instructions on generating .jam files are here: MCE Programming File Conversions. If you do not have access to Quartus II software, send the output of the read_idcode.jam script to UBC, and configuration .jam files can be generated for you.

sudo ./jam -u -v -f800000 -aprogram -dDO_VERIFY=0 cc_xfpga_rc_pof.jam        // For Programming EPC16's
sudo ./jam -u -v -f8000000 -aconfigure cc_xfpga_rc_sof.jam                   // For Configuring FPGA's

Note that programming an EPCS64 is a two-step process:

sudo ./jam -u -v -f8000000 -aconfigure cc_rcd_jic.jam                        // For Programming EPCS64's (Step 1 of 2)
sudo ./jam -u -v -f100000 -aprogram -dDO_VERIFY=0 cc_rcd_jic.jam             // For Programming EPCS64's (Step 2 of 2)

Footnotes

Generating .JAM Files for Remote Update

Porting Remote Configuration Sofware to DAS

The following C-code will need to be ported to DAS to enable Remote Configuration. You will need to convert the MCE WB and RB commands in the code to use DAS libraries and compile the code with the included Makefile:

Development Notes