Difference between revisions of "MCE firmware"

From MCEWiki
 
(27 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Hierarchy header}}
+
{{Related|Firmware}}
== Critical Notes ==
+
== Releases ==
* 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.
+
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 firmware]]
 +
* [[ Readout Card firmware]]
 +
* [[ Bias Card firmware]]
 +
* [[ Address Card firmware]]
 +
* [[ PCI card firmware ]]
 +
* [[ Sync Box Firmware ]]
  
* 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'''''
+
See also:
 +
* [[Recommended firmware versions]]
  
* 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'''''
+
== Loading firmware onto cards ==
  
== Releases ==
+
There are two ways to load MCE firmware:  
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) ]]
 
* [[ Readout Card (RC) ]]
 
* [[ Bias Card (BC) ]]
 
* [[ Address Card (AC) ]]
 
* [[ Power-Supply Unit Controller (PSUC)]]
 
* [[ Sync Box Firmware ]]
 
 
 
== Firmware Upgrade Methods ==
 
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]]
 
# Using Altera-supplied Hardware/Software and MCE Front-panel Connector
 
# Using Altera-supplied Hardware/Software and MCE Front-panel Connector
 
#* [[ USB Blaster | step-by-step instructions ]]
 
#* [[ USB Blaster | step-by-step instructions ]]
  
== MCE Features and How-To Guides ==
+
Things to bear in mind:
* [[ MCE Commands ]]
+
* 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.
* [[MCE Timing Diagram | MCE (Firmware) Timing Diagram]]
+
* 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'''''
* [[ Row-specific SQ2FB (fast switching)]]
 
  
* Data Acquisition
+
== Implementation Details ==
** [[ High rate acquisition | Fast Data Acquisition ]] -- i.e. up to the frame rate
 
** [[ The STOP Command ]] (CC v4.0.b, v4.0.c, v5.0.1+)
 
** [[ How to Configure Which Readout Cards Report Data ]] (CC v4.0.a+)
 
** [[ How to Read a Column at the Frame Rate ]] (CC v5.0.0 & RC v5.0.0+)
 
** [[ Rectangle Mode Data ]] (CC v5.0.0 & RC v5.0.1+)
 
  
* Readout Card
+
* [[ MCE Timing Diagram ]]
** [[ Data mode | Data Modes ]]
+
* [[MCE fibre protocol]] - communication between the MCE and the controlling PC over the fibre-optic link
** [[ Digital 4-pole Butterworth Low-pass filter | Filtered Data & the Digital 4-pole Butterworth Low-pass Filter]]
+
* [[MCE backplane protocol]] - communication between cards within the MCE
** [[ Raw-mode readout | Raw 50 MHz Data ]]
+
* Monitoring MCE Status [[http://www.phas.ubc.ca/%7Emce/mcedocs/system/monitoring_mce_status.doc DOC]] (Nov. 9, 2006)
** [[ Flux jumping | Flux Jumping]]
+
* [[MCE commands]]
** [[ FSFB Clamping Commands ]] -- to prevent unlocked pixels from ramping (RC v5.0.a+)
 
** [[ FSFB Servo Start Value ]]
 
 
 
* Address Card
 
** [[ Fast SQ2 Feedback and TES Biasing with an Address Card ]]
 
** [[ Special SQ1 Bias Commands ]]
 
 
 
* Clock Card
 
** [[ Remote Firmware Update ]] (CC v5.0.7+)
 
** [[ Internal Commands ]]
 
*** [[ Arbitrary Waveform Generator ]] -- for maximum length sequences and complex impedance measurements (CC v5.0.3+)
 
*** [[ Ramp Generator ]]
 
*** [[ Temperature monitoring ]]
 
 
 
* [[ 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]].
 
  
 
== Firmware Development Tools ==
 
== Firmware Development Tools ==
* [[ Firmware CVS repository ]]
 
 
* [[ Quartus II Installation ]]
 
* [[ Quartus II Installation ]]
 
* [[ ModelSim SE Installation ]]
 
* [[ ModelSim SE Installation ]]
 
** [[ Setting up Altera libraries in ModelSim SE ]]
 
** [[ Setting up Altera libraries in ModelSim SE ]]
* [[MCE_firmware#CVS_Repository|Firmware CVS Repository]]
 
* [[MCE RTL Testbenches]]
 
 
* [[ JAM Player ]]
 
* [[ JAM Player ]]
* [[ JRunner ]]
 
 
* [[ Convert sof to jic for EPCS64 Serial Configuration Device ]]
 
* [[ Convert sof to jic for EPCS64 Serial Configuration Device ]]
  
== MCE Scripting ==
+
== Development notes ==
* [[ MAS ]]
+
* [[intmce:MCE bugs]]
* [[ MAS Cheat Sheet ]]
+
* [[intmce:Firmware Features Under Development]]
* [[ Using Python to Automate MAS ]]
+
* [[intmce:Closed firmware features]]
* [[ 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:
+
[[Category:Firmware]]
** 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])
 

Latest revision as of 15:22, 22 March 2018

Related topics:

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:

See also:

Loading firmware onto cards

There are two ways to load MCE firmware:

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

Things to bear in mind:

  • 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

Implementation Details

Firmware Development Tools

Development notes