Preliminary specification	
		-------------------------

	  for a proposed Wire Scanner Controller.
	  --------------------------------------

	       W. R. Knopf, December 18, 1985


   I.	PURPOSE:
	--------

	To provide one integrated module for readback and
	multiplexer control of wire scanners.
	Four channels of analog input, maximum number
	of data points per channel to be 64. (??)
	Provide local storage of up to 16 scans. (??)
	To allow parameter calculations within the module on
	collected data. This should be done at a 15 Hz rate to
	allow parameter readback at that rate.

	Note: Parameters derived from multiple pulses not
	covered by this stipulation.

   II.	HARDWARE:
	---------

	2 wide CAMAC module of type C191, with 4 high speed 12-bit
	A/D's (4 usec) with sample/hold amplifiers, with software
	selectable TCLK decoding, on-board timing for delays and
	sample speeds, softare selectable scan start  - external
	trigger, clock event or immediate -
	MUX addressing (for Booster type wire scanners)	and convert
	and reset command output lines for wire scanners.



   III.	FIRMWARE:
	---------

	  CAMAC FUNCTIONS: (??)

   A.	DATA TRANSFER:

	Raw data to be read back in block read or indexed single
	read with auto-increment -
	Four channels are supported:

	  Channels 0-3	- Wires 1 - 4

	F(16) * A(0)	- Select channel number and offset for
			  subsequent readback.
			  High byte contains channel number and
			  scan number,
			  low byte contains index into data array.

			  Each channel supports the storage of up
			  to 16 scans of 64 words of data.
			  Data readback can be raw data or
			  calculated data.

     Bit 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0 - LSB
	+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
	|  |   Scan    | Chan # |  |  Offset (bytes)	|
	|  |  (0-15)   | (0-7)  |  |			|
	|__+___________+________+__+____________________|

	Bit #15		- Set = read raw data

	F(1) * A(2)	- Read data selected by F(16)*A(0) and increment
			  data pointer.

   B.	DATA COLLECTION CONTROL:

	F(17) * A(9)	- Write arm & trigger control word

	F(18) * A(9)	- Write arm delay word

	F(19) * A(1)	- Write clock decoder configuration
			  Select clock event(s) for data collection.

	F(19) * A(9)	- Write data sample period
			  Sample period is in 10 usec. units


	      Trigger control & delay and sample period will default
	      at reset to a value to be agreed upon, thus their value
	      need only be defined and written to the module for
	      special applications.


	
   C.	LAM FUNCTIONS:

	F(1) * A(0)	- Read LAM source register

     Bit 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0 - LSB
	+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
	| Bits 8-15 = Chan 0-7  |  Bits 0-7 = Chan.0-7  |
	|Calculations completed |    Raw data ready	|
	|_______________________+_______________________|


	F(1) * A(1)	- Read LAM mask register

	F(19) * A(0)	- Write LAM mask register

	F(8) * A(0)	- Test LAM

	F(26) * A(0)	- Enable LAM

	F(24) * A(0)	- Disable LAM

   D.	MODULE CONTROL:

	F(9) * A(0)	- Reset module

	F(6) * A(0)	- Read module I.D.

	F(6) * A(1)	- Read firmware version number

		Scanner can be configured via the following function:

	F(19) * A(8)	- Write module configuration

			  Bits 0 - 5	= Number of wires / scan
			  Bits 8 - 11	= Number of scans to store


	F(6) * A(2)	- Read module configuration

			  Bits 0 - 5	= Number of wires / scan
			  Bits 8 - 11	= Number of scans to store
			  Bit 14    	= If set, debugger installed
			  Bit 15	= If set, supports FOP codes



	Note: (??) = CAMAC functions and module configuration are
	      firmware implemented and therefore still open for discussion.

	Notes from Bill Marsh

	More Notes from Bill Marsh

Security, Privacy, Legal