|
|
(28 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 | + | * Source on GitHub: https://github.com/multi-channel-electronics/mce_firmware |
− | ** [[ Data mode | Data Modes ]]
| + | * [[ MCE Timing Diagram ]] |
− | ** [[ Digital 4-pole Butterworth Low-pass filter | Filtered Data & the Digital 4-pole Butterworth Low-pass Filter]]
| + | * [[MCE fibre protocol]] - communication between the MCE and the controlling PC over the fibre-optic link |
− | ** [[ Raw-mode readout | Raw 50 MHz Data ]]
| + | * [[MCE backplane protocol]] - communication between cards within the MCE |
− | ** [[ Flux jumping | Flux Jumping]]
| + | * Monitoring MCE Status [[http://www.phas.ubc.ca/%7Emce/mcedocs/system/monitoring_mce_status.doc DOC]] (Nov. 9, 2006) |
− | ** [[ FSFB Clamping Commands ]] -- to prevent unlocked pixels from ramping (RC v5.0.a+)
| + | * [[MCE commands]] |
− | ** [[ 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])
| |