Difference between revisions of "MCE firmware"

From MCEWiki
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Hierarchy header}}
+
{{Related|Firmware}}
 
 
 
== 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 firmware]]
* [[ Readout Card (RC) ]]  
+
* [[ Readout Card firmware]]
* [[ Bias Card (BC) ]]
+
* [[ Bias Card firmware]]
* [[ Address Card (AC) ]]
+
* [[ Address Card firmware]]
* [[ Power-Supply Unit Controller (PSUC)]]
+
* [[ PCI card firmware ]]
 
* [[ Sync Box Firmware ]]
 
* [[ Sync Box Firmware ]]
 +
 +
See also:
 +
* [[Recommended firmware versions]]
  
 
== Loading firmware onto cards ==
 
== Loading firmware onto cards ==
Line 21: Line 23:
 
* 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'''''
 
* 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 ==
  
== MCE Features and How-To Guides ==
+
* [[ MCE Timing Diagram ]]
* [[ MCE Commands ]]
+
* [[MCE fibre protocol]] - communication between the MCE and the controlling PC over the fibre-optic link
* [[MCE Timing Diagram | MCE (Firmware) Timing Diagram]]
+
* [[MCE backplane protocol]] - communication between cards within the MCE
* [[ Row-specific SQ2FB (fast switching)]]
+
* Monitoring MCE Status [[http://www.phas.ubc.ca/%7Emce/mcedocs/system/monitoring_mce_status.doc DOC]] (Nov. 9, 2006)
 
+
* [[MCE commands]]
* Data Acquisition
 
** [[ 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
 
** [[ Data mode | Data Modes ]]
 
** [[ Digital 4-pole Butterworth Low-pass filter | Filtered Data & the Digital 4-pole Butterworth Low-pass Filter]]
 
** [[ Raw-mode readout | Raw 50 MHz Data ]]
 
** [[ Flux jumping | Flux Jumping]]
 
** [[ 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:
 
** 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/hardware/Firmware_block_spec/SyncBox/SyncBox_FwDescr_S589_201.pdf PDF]] (SC2-ELE-S589-201)
 
** SyncBox Microcontroller Software Description [[http://www.phas.ubc.ca/~mce/mcedocs/hardware/Firmware_block_spec/SyncBox/SyncBox_SWDescr_S589_202.pdf PDF]] (SC2-ELE-S589-202)
 
  
-----
+
[[Category:Firmware]]
([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