PIC

From ICE Enterprises
Jump to navigation Jump to search

Peripheral Interconnect Component access/test macro

<function>	Function to perform (RESET, ACQUIRE, PLAY, ...)
<device name>   PIC alias in HW file (i.e. PIC, PIC1, PIC2, ...)
<address/file>	Address for READ/WRITE, File for ACQUIRE/PLAY/LOAD/NVWRITE
<value/result>	Value for WRITE, result name for READ, format for TEST

This macro is a high-level interface to the ICE-PIC card.  It can be
used to perform data acquisition/playback into/from a Midas file, load user
programs into the SHARC, or for test and debug purposes.  Most functions are
handed off to the PICDRIVER primitive.  Those functions are described in the
PICDRIVER explain.  The functions handled by this macro are described below:

The valid functions are:

	HELP <routine> <category>
		access the ICE help files

	AUX <ramaux>	
		sets the RAMDISK aux

	DIR	
		shows files on the RAMDISK

	COPY <diskfile> <ramdiskfile>	
		copies a file to the RAMDISK with proper format

	CLEAN	<aux>
		erase all files on the RAMDISK or specified auxiliary.
		Use /BATCH to avoid prompt and erase ALL files.

	CREATE <filename> <format> <samples> <rate> <shape> <amp> <freq>
		creates a DMA compatible Midas file. The file size will be
		rounded to a multiple of the card buffer (def=64Kby) unless 
		the /EXACT switch is specified.  To specify the rounding value,
		apply the /ROUND=N switch, where N is in bytes.  The proper
		value of N for a given device is calculated by,
			PICD GET <device> CBUFSZ <result> 
		although the 64Kby default works for most applications.
		Shape is NONE,RAMP,TRAMP,WHITE,BITS,SINE,TONES (for special test patterns)
		Amplitude is in db from near full scale if <= 6, otherwise actual magnitude
		Frequency is in Hz (for SINE only)

	DETECT 
		lists all known PIC devices on the system with some detail.
		This does NOT use any Hardware Config Files

	FLASH <device number> <loadfile>
		loads the named file into the card's EEPROM flash

	PFAT <device name> <npass>
		runs the Post Factory Acceptance Tests with the given loop count
		Note: this also tests Processor Modules but NOT I/O Modules
		Note: the /NOX switch will skip all tests requiring graphics

	SNAP <device name> <flags>
		calls SNAPPER macro - see snapper explain

  NeXtMidas Only:
	APPS 
		list all available apps in nxm.ice.mcr.snapapp.tbl

	APP <app-1 tag> <app-2 tag>
		calls SNAPAPP macro with default config table - see snapapp explain

	APPSET <host:port> <control name> <control value>
		sends an RMIF SET message to a server APP, useful for oneshot actions like;
		PIC APPSET NODENAME:9000 MODE EXIT 
		to shut down a server macro

	DELAYLINE <device name> <format> <rate> <size> <delay>

        FSTATS/PLOT <filename>
		converts a /FSTATS file to Midas files and displays them
		this /PLOT is optional, results are in test_fstats

	MAKE <type> - see ICEMAKE explain

Valid file-to-file functions are:

	TUNE <device name> <input file> <output file> <format> <bandwidth> <freq>
		Uses device resources to Tuner/Filter/Decimate one or more signals
		from a snapshot on disk.  Output format is SI or CI.
		The list must be a 3000 file containing records FREQ, BW, 
		and NAME, where name is the name for each tuned output file.

	TUNE/LIST <device name> <input file> <list file> <format> 
		Performs the TUNE function for a list of signal freq and bandwidths.
		The list must be a 3000 file containing records FREQ, BW, 
		and NAME, where name is the name for each tuned output file. The
		macro will use as many tuners per pass as possible and keep
		executing passes

The valid test/system functions are:

	TEST <device name> <test #>      
		- basic communications tests
		1 = reset
		2 = PCI register/mailboxes
		3 = SHARC memory
		4 = PCI/SHARC FIFOs
		5 = IOC Registers 
		6 = SHARC DMA
		7 = PCI DMA 
		0 = all of the above

	TEST/LOOP <device name> <test #> 
		- basic test looped 10000 times for diagnostics

	TEST/SPEC <device name>  
		- real-time plot of maximum transfer rate over PCI bus

	TEST/RT   <port name>  <filename> <fft size> <decimation> <tuner freq>
		- basic single channel real-time acquisition test

	TEST/RT   <port1|port2>  <file1|file2> <fft> <decimation> <tuner freq>
		- basic dual channel real-time acquisition test

	TEST/TUN <device name>   
		- basic on-board tuner test

	TEST/MOD/RT <device name> <1|2> <nfft> <dec> 
		- basic module site loop-back test <addr>=1|2

	TEST/TUN/RT <device name> <1|2> <nfft> <dec> <freq> <shape>
		- basic real-time on-board tuner test

	TEST/TCGEN <device name> <samplerate in MHz>
		- generate two channel white noise with single and double clutch timecode

	TEST/TCGEN/I <device name> <samplerate in kHz>
		- generate two channel white noise with single clutch timecode only

	TEST/TCGLITCH <device name> <samplerate in MHz>
		- create a 1 sample time code glitch in the TCGEN output

	TEST/TC  <device name> <samplerate in MHz> <tuner decimation> <tuner format>
		- performs tuner timecode calibration by acquiring NB/WB at the same time
		  and comparing the digitally tuned WB with the cards NB.  Assumes white 
		  noise with timecode is at the input.

	TEST/TCMEAS <device name> <samplerate in MHz> <tuner decimation> <number tuners> <center freq in MHz>
		- loop through tuner channels, compute TDOA, report timecode difference

NeXtMidas Only:

	TEST/SDDSGEN  <host:port> <format> <amplitude> <rate> <shape>
		- generates an SDDS packet stream (data=SIN) to named host:port address (def=192.9.200.177:9001)
	TEST/SDDSGEN2 <host:port> <format>
		- generates an SDDS packet stream (data=SAW) to named host:port address (def=192.9.200.177:9002)
	TEST/CHAIN <file1|file2|file3>
		- test DMA Chaining algorithm
	TEST/PPC/PEEK <device name> <address> <elements>
		- display contents of PPC memory space
	TEST/PPC/DMA <device name> 
		- display contents of PPC memory space mapped to the DMA channels

Switches:

Widgets: NONE