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]]. | + | MCE Firmware Bugs/ Features Under Development has been moved to the [[intmce:MCE bugs]]. |
− | |||
− | |||
− | + | == 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
Contents
[hide]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:
- 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 over the MCE fibre interface
- Using Altera-supplied Hardware/Software and MCE Front-panel Connector
MCE Features and How-To Guides
- Data 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 Modes
- Filtered Data & the Digital 4-pole Butterworth Low-pass Filter
- Raw 50 MHz Data
- Flux Jumping
- FSFB Clamping Commands -- to prevent unlocked pixels from ramping (RC v5.0.a+)
- FSFB Servo Start Value
- 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
- Firmware Documentation
- 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 CVS repository
- Quartus II Installation
- ModelSim SE Installation
- Firmware CVS Repository
- MCE RTL Testbenches
- JAM Player
- JRunner
- Convert sof to jic for EPCS64 Serial Configuration Device
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)
- 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
- Power-Supply Unit Controller:
- PSUC Firmware Description [PDF] (SC2-ELE-S585-xxx)
- SyncBox
- 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)