Difference between revisions of "Readout Card firmware"

From MCEWiki
Line 51: Line 51:
 
* [[ 4.0.1 ]]  rc_v04000001_06sep2007.sof   
 
* [[ 4.0.1 ]]  rc_v04000001_06sep2007.sof   
 
* [[ 4.0.0 ]]  rc_v04000000_29aug2007.sof  supports readout_row_index * [[ bugs ]]
 
* [[ 4.0.0 ]]  rc_v04000000_29aug2007.sof  supports readout_row_index * [[ bugs ]]
 
----
 
  
 
== [[ to-do list ]] ==
 
== [[ to-do list ]] ==

Revision as of 13:58, 14 May 2008

4.1.7

  • Filename : rc_v04010007_25apr2008_raw.sof
  • Feautres
    • raw mode enabled to buffer a snapshot of 50MHz samples for 2 frames of row_len * num_rows samples.
    • In order to save RAM for raw mode, two memory-intensive features are disabled:
    1. low-pass filter disabled ( mixed filtfb data modes 6, 7, 9 are also disabled)
    2. PID (gainp0, gaini0, gaind0) readback disabled. one can still set PID values and run servo, but can not read back the values.
  • Note
    • This is based on 4.0.6 and not tagged yet due to cvs2svn migration. list of mods:

fsfb_fltr_regs.vhd, adc_sample_coadd.vhd, wbs_frame_data.vhd, misc_banks_admin.vhd, pidram_admin.vhd.

4.0.6

  • Filename : rc_v04000006_15feb2008.sof or .pof
  • Feautres
    • bugfix: unreliable reset due to unsafe and incomplete state machines is fixed.
    • bugfix: flux_jump sign problem fixed, so far proved in const_mode, to be tested in servo_mode with cold setup.
    • servo_mode=2 or ramp previously only went from 0 to ramp_amp, but now goes from -8192 to -8192+ramp_amp
    • new commands are added: scratch and card_type. Scratch takes 8 values and can be used by software to detect reset.
    • slot_id and fw_rev are now integrated as part of all_cards.vhd
    • lvds_tx_b=0, This will allow Clock Card to use the secondary backplane lvds line and check whether RC is plugged in.
    • filter_coeff in misc_banks_admin commented as it is not implemented and causes timing problems.
  • Bugs
    • reading gainp/gaini/gaind right after power up hangs the reply datapath to CC. resetmce clears this error as temporary solution. the problem is caused by first read ack of pid_ram_admin.
    • slot_id is only set after a resetmce is issued. (using the latest all_cards in the next revision will fix this)

4.0.5

  • Filename : rc_v04000005_01nov2007.sof or .pof
  • Feautres
    • data mode 9 (mixed filt + flux jump) with windowing readjusted compared to data mode 8
  • Bugs
    • unreliable resetmce. Sometimes, firmware waked up non-responsive on lvds lines.
    • In data mode 5 and 9, flux-jump counter is not reported properly due to a sign error. However, flux jumping works fine.

3.0.19

  • Filename : rc_v03000019_16feb2007_raw.sof (no pof as one is not likely to run with this as regular firmware)
  • Feautres
    • data mode 3 is enabled.
    • filter is disabled as a compromise to fit the raw-mode buffer.
  • Bugs
    • unreliable resetmce. Sometimes, firmware waked up non-responsive on lvds lines.

Old versions

  • 4.0.4 rc_v04000004_11oct2007.sof data mode 8 added (mixed filt + flux jump)
  • 4.0.3 rc_v04000003_19sep2007.sof data mode 7 bit split readjusted to 10b error being bit 4 to 14
  • 4.0.2 rc_v04000002_11sep2007.sof pid resolution increased to 10b, data mode 7 added
  • 4.0.1 rc_v04000001_06sep2007.sof
  • 4.0.0 rc_v04000000_29aug2007.sof supports readout_row_index * bugs

to-do list

  • bug : After power up, first readout from gainp/gaini/gaind parameters hangs the wishbone unless a reset is issued.
  • reduce co-add storage from 32b wide to 24b (14b adc + 10b (for coadding upto 1024 samples))
  • reduce the width for pid calculations
  • update sa_bias/offset once as oppose to every frame




MCE Firmware Catalog

MCE Main Page