Difference between revisions of "MCE firmware"

From MCEWiki
(Copy http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/firmware.html)
Line 1: Line 1:
 
{{Hierarchy header}}
 
{{Hierarchy header}}
= Critical Notes =
+
== Critical Notes ==
 
* In v5+ firmware, if you update firmware on any readout card, the card doesn't reply to any command unless the Clock Card is also reprogrammed.
 
* In v5+ firmware, if you update firmware on any readout card, the card doesn't reply to any command unless the Clock Card is also reprogrammed.
  
Line 7: Line 7:
 
* After an mce_reset, not all of the DAC outputs are set to zero.  In addition, values written to RAM-based registers are not reset. A full reconfiguration is required for a proper reset. You may power-cycle the MCE remotely if the MCE is equipped with a PSA (UBC switching supply) by issuing '''''mce_cmd -x rs psc cycle_pow 1''''' and then '''''mce_reset_clean'''''
 
* After an mce_reset, not all of the DAC outputs are set to zero.  In addition, values written to RAM-based registers are not reset. A full reconfiguration is required for a proper reset. You may power-cycle the MCE remotely if the MCE is equipped with a PSA (UBC switching supply) by issuing '''''mce_cmd -x rs psc cycle_pow 1''''' and then '''''mce_reset_clean'''''
  
= Releases =
+
== Releases ==
 
All firmware can be downloaded from [http://e-mode.phas.ubc.ca/mce_firmware/ http://e-mode.phas.ubc.ca/mce_firmware/]. Release notes for each firmware release can be found below:
 
All firmware can be downloaded from [http://e-mode.phas.ubc.ca/mce_firmware/ http://e-mode.phas.ubc.ca/mce_firmware/]. Release notes for each firmware release can be found below:
 
* [[ Clock Card (CC) ]]
 
* [[ Clock Card (CC) ]]
Line 16: Line 16:
 
* [[ Sync Box Firmware ]]
 
* [[ Sync Box Firmware ]]
  
= Firmware Upgrade Methods =
+
== Firmware Upgrade Methods ==
 
There are two ways to upgrade the MCE firmware:  
 
There are two ways to upgrade the MCE firmware:  
 
# [[ Remote Firmware Update | Remote firmware update over the MCE fibre interface]]
 
# [[ Remote Firmware Update | Remote firmware update over the MCE fibre interface]]
Line 22: Line 22:
 
#* [[ USB Blaster | step-by-step instructions ]]
 
#* [[ USB Blaster | step-by-step instructions ]]
  
= MCE Features and How-To Guides =
+
== MCE Features and How-To Guides ==
 
* [[ MCE Commands ]]
 
* [[ MCE Commands ]]
 
* [[MCE Timing Diagram | MCE (Firmware) Timing Diagram]]
 
* [[MCE Timing Diagram | MCE (Firmware) Timing Diagram]]
Line 56: Line 56:
 
* [[ Upgrading From 4.x.x To 5.x.x Firmware ]] -- using SCUBA-2 as an example
 
* [[ Upgrading From 4.x.x To 5.x.x Firmware ]] -- using SCUBA-2 as an example
  
MCE Firmware Bugs/ Features Under Development has been moved to the [[intmce:MCE bugs]].<includeonly>{{#hierarchy-bottom:}}</includeonly><noinclude>
+
MCE Firmware Bugs/ Features Under Development has been moved to the [[intmce:MCE bugs]].
This is the footer of a page that belongs to a hierarchy.
 
</noinclude>
 
  
 
+
== Firmware Development Tools ==
= Firmware Development Tools =
 
 
* [[ Firmware CVS repository ]]
 
* [[ Firmware CVS repository ]]
 
* [[ Quartus II Installation ]]
 
* [[ Quartus II Installation ]]
Line 72: Line 69:
 
* [[ Convert sof to jic for EPCS64 Serial Configuration Device ]]
 
* [[ Convert sof to jic for EPCS64 Serial Configuration Device ]]
  
= MCE Scripting =
+
== MCE Scripting ==
 
* [[ MAS ]]
 
* [[ MAS ]]
 
* [[ MAS Cheat Sheet ]]
 
* [[ MAS Cheat Sheet ]]
 
* [[ Using Python to Automate MAS ]]
 
* [[ Using Python to Automate MAS ]]
 
* [[ MCE: Helper programs ]]
 
* [[ MCE: Helper programs ]]
 +
 +
== Old documents ==
 +
* Loading FPGA Firmware Using EthernetBlaster [[http://www.phas.ubc.ca/~mce/mcedocs/Software/EthernetBlaster.txt TXT]]
 +
* Loading PSUC Microcontroller Firmware Using Atmel FLIP [[http://www.phas.ubc.ca/~mce/mcedocs/Software/Programming_PSUC.pdf PDF]]
 +
* Firmware Overview  [[http://www.phas.ubc.ca/~mce/mcedocs/others/atc/Firmware_Overview_v2.pdf PDF]]  (SC2-ELE-S500-023) (ATC) (Jun. 06, 2003)
 +
 +
* Address Card:
 +
** top-level  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/addr_card/addr_card.doc DOC]]  (Oct. 06, 2005)
 +
** ac_dac_ctrl  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/addr_card/dac_ctrl_ac.doc DOC]]
 +
 +
* Bias Card:
 +
** top-level  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/bias_card/bias_card.doc DOC]]  (Oct. 06, 2005)
 +
 +
* Readout Card:
 +
** top-level [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/readout_card.doc DOC]]  (SC2-ELE-S582-201) (Oct. 05, 2005)
 +
** flux_loop  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/flux_loop.doc DOC]] (SC2-ELE-S582-202) (Sep. 15, 2004)
 +
** adc_sample_coadd  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/adc_sample_coadd.doc DOC]]  (SC2-ELE-S582-204) (Feb. 15, 2004)
 +
** fsfb_calc  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/fsfb_calc.doc DOC]]  (SC2-ELE-S582-205) (Feb. 09, 2006)
 +
** Low-Pass Filtering  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/Filter.pdf PDF]] (SC2-ELE-S582-211) (Jul. 28, 2006)
 +
** fsfb_calculations_diagram  (SC2-ELE-S582-011) [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/fsfb_calculations.pdf PDF]]
 +
** fsfb_ctrl  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/fsfb_ctrl.doc DOC]]  (SC2-ELE-S582-206) (Feb. 15, 2005)
 +
** offset_sa_bias_ctrl  (SC2-ELE-S582-207) [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/offset_sa_bias_ctrl.doc DOC]]  (Apr. 04, 2005)
 +
** wbs_fb_data (SC2-ELE-S582-209) [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/wbs_fb_data.doc DOC]]  (Feb. 15, 2005)
 +
** wbs_frame_data  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/wbs_frame_data.doc DOC]] (SC2-ELE-S582-210) (Feb. 15, 2005)
 +
** fsfb_corr (flux_jumping)  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/fsfb_corr.doc DOC]]  (Oct. 07, 2005)
 +
** Servo-Loop Diagram (SC2-ELE-S582-012) [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/reaout_card/servo_loop.doc DOC]]
 +
* Blocks common to RC, AC, CC, BC
 +
** dispatch [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/common_to_all_cards/dispatch.doc DOC]] (SC2-ELE-S580-202) (Oct. 31, 2005)
 +
*** lvds_rx [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/common_to_all_cards/lvds_rx.doc DOC]] (Oct. 3, 2005)
 +
*** lvds_tx[[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/common_to_all_cards/lvds_tx.doc DOC]] (Nov. 2004)
 +
 +
* Power-Supply Unit Controller:
 +
** PSUC Firmware Description [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/power_supply_controller/PSUC_Firmware_Description.pdf PDF]] (SC2-ELE-S585-xxx)
 +
* SyncBox
 +
** SyncBox CPLD Firmware Description [[http://www.phas.ubc.ca/~mce/mcedocs/SyncBox/SyncBox_FwDescr_S589_201.pdf PDF]] (SC2-ELE-S589-201)
 +
** SyncBox Microcontroller Software Description [[http://www.phas.ubc.ca/~mce/mcedocs/SyncBox/SyncBox_SWDescr_S589_202.pdf PDF]] (SC2-ELE-S589-202)
 +
* Stratix FPGA Configuration  [[http://www.phas.ubc.ca/~mce/mcedocs/others/atc/Stratix_FPGA_Configuration.pdf PDF]]  (SC2-ELE-S500-021) (ATC)
 +
* Clock Card  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/atc_blkdia/fw_blkdia/clock.pdf PDF]]  (SC2-ELE-S563-200) (ATC) (Jun. 05, 2003)
 +
* Clock Card Boot  [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/atc_blkdia/fw_blkdia/boot.pdf PDF]]  (SC2-ELE-S563-201) (ATC) (Jun. 05, 2003)
 +
-----
 +
([http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/old_firmware.html Old MCE Firmware Documents index])

Revision as of 19:20, 5 January 2012

Template:Hierarchy header

Critical Notes

  • In v5+ firmware, if you update firmware on any readout card, the card doesn't reply to any command unless the Clock Card is also reprogrammed.
  • Always cleanly reset the MCE after a power-up or a reconfiguration! If not, MCE communication with the PC or Sync Box may not work. On MAS prompt, type: mce_reset_clean
  • After an mce_reset, not all of the DAC outputs are set to zero. In addition, values written to RAM-based registers are not reset. A full reconfiguration is required for a proper reset. You may power-cycle the MCE remotely if the MCE is equipped with a PSA (UBC switching supply) by issuing mce_cmd -x rs psc cycle_pow 1 and then mce_reset_clean

Releases

All firmware can be downloaded from http://e-mode.phas.ubc.ca/mce_firmware/. Release notes for each firmware release can be found below:

Firmware Upgrade Methods

There are two ways to upgrade the MCE firmware:

  1. Remote firmware update over the MCE fibre interface
  2. Using Altera-supplied Hardware/Software and MCE Front-panel Connector

MCE Features and How-To Guides

MCE Firmware Bugs/ Features Under Development has been moved to the intmce:MCE bugs.

Firmware Development Tools

MCE Scripting

Old documents

  • Loading FPGA Firmware Using EthernetBlaster [TXT]
  • Loading PSUC Microcontroller Firmware Using Atmel FLIP [PDF]
  • Firmware Overview [PDF] (SC2-ELE-S500-023) (ATC) (Jun. 06, 2003)
  • Address Card:
    • top-level [DOC] (Oct. 06, 2005)
    • ac_dac_ctrl [DOC]
  • Bias Card:
    • top-level [DOC] (Oct. 06, 2005)
  • Readout Card:
    • top-level [DOC] (SC2-ELE-S582-201) (Oct. 05, 2005)
    • flux_loop [DOC] (SC2-ELE-S582-202) (Sep. 15, 2004)
    • adc_sample_coadd [DOC] (SC2-ELE-S582-204) (Feb. 15, 2004)
    • fsfb_calc [DOC] (SC2-ELE-S582-205) (Feb. 09, 2006)
    • Low-Pass Filtering [PDF] (SC2-ELE-S582-211) (Jul. 28, 2006)
    • fsfb_calculations_diagram (SC2-ELE-S582-011) [PDF]
    • fsfb_ctrl [DOC] (SC2-ELE-S582-206) (Feb. 15, 2005)
    • offset_sa_bias_ctrl (SC2-ELE-S582-207) [DOC] (Apr. 04, 2005)
    • wbs_fb_data (SC2-ELE-S582-209) [DOC] (Feb. 15, 2005)
    • wbs_frame_data [DOC] (SC2-ELE-S582-210) (Feb. 15, 2005)
    • fsfb_corr (flux_jumping) [DOC] (Oct. 07, 2005)
    • Servo-Loop Diagram (SC2-ELE-S582-012) [DOC]
  • Blocks common to RC, AC, CC, BC
    • dispatch [DOC] (SC2-ELE-S580-202) (Oct. 31, 2005)
      • lvds_rx [DOC] (Oct. 3, 2005)
      • lvds_tx[DOC] (Nov. 2004)
  • Power-Supply Unit Controller:
    • PSUC Firmware Description [PDF] (SC2-ELE-S585-xxx)
  • SyncBox
    • SyncBox CPLD Firmware Description [PDF] (SC2-ELE-S589-201)
    • SyncBox Microcontroller Software Description [PDF] (SC2-ELE-S589-202)
  • Stratix FPGA Configuration [PDF] (SC2-ELE-S500-021) (ATC)
  • Clock Card [PDF] (SC2-ELE-S563-200) (ATC) (Jun. 05, 2003)
  • Clock Card Boot [PDF] (SC2-ELE-S563-201) (ATC) (Jun. 05, 2003)

(Old MCE Firmware Documents index)