Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.naic.edu/~astro/aovlbi/fsdoc/manuals/matpr.html
Дата изменения: Sat Mar 30 19:08:55 2002
Дата индексирования: Sun Dec 23 01:44:31 2007
Кодировка:

Поисковые слова: http astrokuban.info astrokuban
MAT Protocol

VLBI System Documentation

Mark IV Field System

MAT Communications Protocol

N. R. Vandenberg and Haystack Staff

NVI Inc./GSFC

Operations Manual

NASA/Goddard Space Flight Center Version 8.2

Space Geodesy Project September 1, 1993



Table of Contents










1.0 MAT Protocol




This section describes the basic protocol for communicating directly with the MAT communications bus. The simplest method is to use the mat command in SNAP which allows direct two-way communication with modules on the MAT daisy chain. The other SNAP commands are interfaces, between the user and the code responses. However, for testing purposes it is sometimes useful to bypass all intermediate steps. Refer to the SNAP Commands manual for a description of the mat command syntax.

For a detailed explanation of the MAT hardware and firmware refer to the Mark III VLBI System manual (the "Blue Books") in the Microprocessor ASCII Transceiver section.



1.1 Sending a Message

The format of the message which sends data to a device is:

#xx=yyyyyyyysz

xx the 2-character hex address hex address of the device

yyyyyyyy the 8 hex characters of data as specified in the next section of this manual

s the "strobe" character used to identify the data word

z the terminating character:

$ send data to the module, response is ACK

/ verify data, response is the data

* store data as pending, response is ACK

& send pending data to module, no response

For example, to send data to VC01 to set up the frequency as 123.45 MHz, bandwidth 2MHz, the MAT command would be:

mat=#01=23512345$

(Note this is normally done using the command vc01=123.45 instead.)

Multiple messages can be sent in one mat command by separating the messages with commas. For example, to verify the data sent to VC01 before sending it, the above command would be instead:

#01=00512345/,$

Terminating characters can be sent as separate messages at any time. The module address does not need to be repeated in subsequent messages since a module stays addressed until another module is addressed. Separate messages are necessary whenever there are intermediate responses which you wish to see.



1.2 Reading Status

To read back data from a module the format is:

#xxs?

xx the hex address

s the strobe character to identify which data word is requested

For example, the ! data word from VC01 would be obtained by

#01!?

and the response might be

23512345

For the tape drive only, it is necessary to transfer control to the MAT to allow it to sample the proper data word. This is done using two separate messages. For example, to read back the ! strobe word use the following:

#94!>,?

and the response might be

ACK,00560201

where the ACK is the alarm-off response to the > command.



1.3 Module Alarm

To query the alarm status on a module:

#xx'

The response is ACK (no alarm) or NAK (alarm is on). To reset the alarm:

#xx"

There is no response to this command.



1.4 Reset

To reset the entire MAT bus, press the RESET switch on the TTY distributor module. To reset an individual MAT without resetting the entire system:

#xxesc

where you type the Esc character itself. There is no response.



1.5 Software Revision

To find out the software revision in an MAT:

#nntab

where you type the Tab character itself. The response will be a 12-character code. NOTE: the Field System software substitutes for the Tab character the Enq character which the MATs recognize.



1.6 Downloading

You can use the matload command to download into RAM. For example, the old (slow) timer values for revision G0.0 are:

address 103A should be 3FFF hex

103C 1000

103E 0280

and to download these values to unit #03, issue this command:

matload=03,103a,ff3f00108002

Notice that the bytes for each word are reversed for the load. The matload command formats the message as follows:

#03:06103A00FF3F00108002E0

You could also send this message directly via the mat command.



1.7 Command Table

On the next page is a table with a summary of the MAT command protocol.



GLOBAL COMMANDS (all units listen)

System Control

ASCII HEX COMMAND

#HH 23 Address unit HH

@@ 40 Reset all units

BREAK Reset all units

BEL 07 Units with alarm on send BREAK

UUUU Resynch a reset unit.

Data To User

& 26 Pending Data Transfer

^ 5E Sample all units



LOCAL COMMANDS (only the addressed unit listens)

System Control

ASCII HEX COMMAND

" 22 Reset User Alarm

' 27 Poll User Alarm Status

ESC lB Reset Addressed Unit

ENQ 05 User reports its software revision and performs a self-test.

Data Symbols

0-9 30-39 Hexadecimal Data

A-F 41-46 Hexadecimal Data

a-f 61-66 Hexadecimal Data

X-Z 58-5A Nochange Character

x-y 78-7A Nochange Character

Data To User

$ 24 Data Terminator

* 2A Pending Data Terminator



Data From User

? 3F Interrogate User

/ 2F Verify or Respond





2.0 MAT Communications Protocol




The following pages give the protocol for communications with the MATs in Mark III modules.



Format Controller (Rev B) MAT Protocol




To Formatter via ASCII Transceiver:

Control Character ;

Bits Meaning

8 Sync Test ON.

This built-in sync test continuously monitors the synchronization between the internally generated 1PPS tick and the station 1PPS tick. The resolution of the test is step-wise adjustable from approx 14 nsec to 1 usec by a back-panel switch.

------

7-6 Input Select

0 (00) Normal - separate clipper input to each formatter channel

1 (01) Ext TTL to all channels

2 (10) CRCC test pattern to all channels

3 (11) Unused

5-4 Output Switching Matrix Mode

0 (00) Mode A

1 (01) Mode B

2 (10) Mode C

3 (11) Mode D

------

2-0 Select Sample Rate

2 (010) .125 Mbits/sec

3 (011) .25 Mbits/sec

5 (101) 1.0 Mbits/sec

6 (110) 2.0 Mbits/sec

7 (111) 4.0 Mbits/sec

0 (000) 8.0 Mbits/sec

The sample rate will be changed at the earliest possible second so as to always place a frame boundary on the minute mark. A wait of up to 4-secs may be necessary when switching to .125 Mbits/sec. During this waiting interval, if any, bit 3 of the ")" word will be set to indicate that a sample rate change is pending.

Control Character ! (must precede % word)

Bits

31-28 1st hex char in Aux Data

27-24 2nd "

23-20 3rd "

19-16 4th "

15-12 5th "

11-8 6th "

7-4 7th "

3-0 8th "

Control Character %

Bits

31-28 9th hex char in Aux Data

27-24 10th "

23-20 11th "

19-16 12th "

15 Aux Data Update Mode

0 update Aux Data on next frame following receipt of % data 1 update Aux Data on next second mark following receipt of % data

From Formatter via ASCII Transceiver

Control Character ( Causes AT to latch time (including days and year) at next occurrence of ^ or ?.

Bits

31 "0" word ID

30-28 BCD tens of hours

------

27-24 " unit hours

------

23-20 " tens of minutes

------

19-16 " unit minutes

------

15-12 " tens of seconds

------

11-8 " unit seconds

------

7-4 " tenths of seconds

------

3-0 " hundredths of seconds

Control Character ) Causes AT to hold last latched time until released with (...^ or (...?

Bits

31 "1" word ID

30 1=Local Mode, 0=remote

29 1=Alarm ON, 0=OFF

28 1=Primary Power Interrupt Detected

0=no power interrupt

------

27-24 BCD unit years

------

23-20 " hundreds of days

------

19-16 " tens of days

------

15-12 " unit days

------

11 0 - front-panel switch set to "RUN"

1 - front-panel switch set to "SET"

10 0 - -ve edge sync set on back-panel switch

1 - +ve edge sync set on back-panel switch

9 1 - Sync Test Fail

0 - Sync Test Pass

8 1 - Sync Test Enabled

0 - Sync Test Delect setting

0=normal, 1=external, 2=CRC

5-4 Output Switching Matrix Mode setting

0=A, 1=B, 2=C, 3=D

------

3 Sample Rate Change Pending

2-0 Current Sample Rate setting

0=8.0, 1=0.0, 2=0.125, 3=0.25,

4=0.5, 5=1.0, 6=2.0, 7=4.0











Video Converter (Rev B) MAT Protocol




To Video Converter via ASCII Transceiver

Bits

30-28 Total power integrator input select

0 (000) LSB+USB

1 (001) LSB

2 (010) USB

3 (011) IF input level

4 (100) L.O. level

5 (101) ZERO

6 (110) ZERO

7 (111) ZERO

------

25 0

1 selects 10 dB attenuation in USB channel

24 0

1 selects 10 dB attenuation in LSB channel

------

22-20 Bandwidth select:

0 (000) External filter

1 (001) 0.125 MHz

2 (010) 0.25 MHz

3 (011) 0.5 MHz

4 (100) 1 MHz

5 (101) 2 MHz

6 (110) 4 MHz

------

19-16 100 MHz BCD digit to synthesizer. 0 thru 5 are valid. Other digits or hex characters should cause an out of lock condition. Frequencies less than 99 MHz or greater than 500 MHz may cause in an out of lock condition.

------

15-12 10 MHz BCD digit to synthesizer

------

11-8 1 MHz BCD digit to synthesizer

------

7-4 100 KHz BCD digit to synthesizer

------

3-0 10 KHz BCD digit to synthesizer









From Video converter via ASCII Transceiver

Control character ! Control character %

Bits

31 0 Remote

1 local

30-28 Input connected to total power integrator

0 LSB+USB

1 LSB

2 USB

3 I.F. monitor

4 L.O. level

5 Ground

6 Ground

7 Ground

------

27 0=L.O. lock

1=L.O.UNlock

26 0=no alarm

1=ALARM

25 atten selected in USB channel

0=no atten.

1=10 dB

24 atten selected in LSB channel

0=no atten.

1=10 dB

------

23 A fixed zero

22-20 Bandwidth selected

0 External filter

1 0.125 MHz

2 0.25 MHz

3 0.5 MHz

4 1 MHz

5 2 MHz

6 4 MHz

------

19 A fixed zero A fixed one

18-16 100 MHz digit from syn. fixed zeros

------

15-12 10 MHz digit from syn. MSD from total pwr.int.

------

11-8 1 MHz digit from syn. 2nd. from total pwr.int.

------

7-4 100 KHz digit from syn. 3rd. from total pwr.int.

------

3-0 10 KHz digit from syn. LSD. from total pwr.int.

(Note: data from total pwr. int. is in hex)

Communication modes:

? and ^ If either of these modes are used at a time that coincides with the 1 PPS the total power will be for the previous second. Note that continuous use coincident with the 1 PPS could indefinitely retard the total power data.

>> Can be used provided it doesn't coincide with the 1 PPS as the total power is indeterminate for a small fraction of 1 microsec.



I.F. Distributor MAT Protocol


To I.F. distributor via ASCII Transceiver:

Bits

23 IF2 input selection 0=normal, 1=alternate input

19 IF1 input selection 0=normal, 1=alternate input

13-8 IF2 attenuation in binary

5-0 IF1 attenuation

From I.F. distributor via ASCII Transceiver

Control character %

Bits

31 1=remote

0=local

30-24 fixed zeros

23 0=normal input selected

1=alternate input selected

22-20 fixed zeros

19 0=normal input selected

1=alternate input selected

18-14 fixed zeros

13-8 IF2 attenuation

7-6 fixed zeros

5-0 IF1 attenuation

Control character !

Bits

31-16 IF2 total power in binary

15-0 IF1 total power in binary



Decoder MAT Protocol




COMMAND MODULE RESPONSE

@@ (system reset) Resets remote interface error counters and normalizes decoder/transceiver handshake logic.

% (strobe) Resets remote interface counters.

( (strobe) Places parity error counter in byte mode.

) (strobe) Places parity error counter in frame mode.

> (transfer control) Instructs module to extract 32 bits of data from the next occurring frame and present them to the receiver output data register. This is a handshake sequence and is the only means by which coherent data can be acquired. This command is usually followed by the response command (/).

/ (respond) Instructs transceiver to return data acquired with the transfer control command (>).

$ (data terminator) Causes transceiver to present data mode command to the decoder. Four bits of the least significant character (LSC) and one bit of the next to LSC transmitted are used to set up the decoder for subsequent interrogation with a ">" command followed by a "/" command. See below for data mode formats.



DATA MODE CONTROL WORDS

T4 T3 T2 T1 T0 FUNCTION

0 X X X X Read channel one

1 X X X X Read channel two

X 0 0 0 0 Read most significant auxiliary data(BCD)

X 0 0 0 1 Read least significant auxiliary data(BCD)

X 0 0 1 0 Read sync word

X 0 0 1 1 Read most significant time data(BCD)

X 0 1 0 0 Read least significant time data(BCD)

X 0 1 0 1 Read first 32 data bits

X 0 1 1 0 Read second 32 data bits

X 0 1 1 1 Read third 32 data bits

X 1 X X 0 Read error counters

Lower 24 bits-parity error count

Upper 8 bits-sync error count

X 1 X X 1 Read time tag (least significant time data)

from last data read. Use after X0011 to get

coherent time data.



Tape Controller MAT Protocol




Reproduce Select (control character !)

To tape controller From tape controller

Bits Bits

30-31 ---- 31 0 remote, 1 local

30 1 alarm on

29 master reset 29 master reset was issued last time

28 ---- 28 fixed zero

------

27 disabled chan. B 27 channel B disabled

26 disable chan. A 26 channel A disabled

25 0 read after write

1 bypass

24 --- 24 1 for acquisition

0 for playback

------

23 --- 23 fixed zero

20-22 Equalizer selection (ignored if bit 19 is on)

0 ADJ-1 (62.5kHz)

1 0.125 MHz

2 0.25 MHz

3 0.5 MHz

4 1 MHz

5 2 MHz

6 4 MHz

7 reserved

------

19 EQ=BW

1 set equalizer = bandwidth

0 equalizer and bandwidth independent

16-18 Bandwidth selection (must be set)

0 reserved

1 62.5 kHz

2 0.125 MHz

3 0.25 MHz

4 0.5 MHz

5 1 MHz

6 2 MHz

7 4 MHz

------

14-15 --- 14-15 - fixed zeros

12-13 MSD track B

------

8-11 LSD track B

------

6-7 ---

4-5 MSD track A

------

0-3 - LSD track A



Enable record tracks (control character %)

To tape controller

Bits

31 1 general record enable

0 record disable

30 1 enable track 28, 0 disable track 28

29 1 enable track 26, 0 disable track 26

28 1 enable track 24, 0 disable track 24

27 1 enable track 22, 0 disable track 22

26 1 enable track 20, 0 disable track 20

25 1 enable track 18, 0 disable track 18

24 1 enable track 16, 0 disable track 16

23 ---

22 1 enable track 27, 0 disable track 27

21 1 enable track 25, 0 disable track 25

20 1 enable track 23 0 disable track 23

19 1 enable track 21, 0 disable track 21

18 1 enable track 19, 0 disable track 19

17 1 enable track 17, 0 disable track 17

16 1 enable track 15, 0 disable track 15

15 ---

14 1 enable track 14, 0 disable track 14

13 1 enable track 12, 0 disable track 12

12 1 enable track 10, 0 disable track 10

11 1 enable track 8, 0 disable track 8

10 1 enable track 6, 0 disable track 6

9 1 enable track 4, 0 disable track 4

8 1 enable track 2, 0 disable track 2

7 ---

6 1 enable track 13, 0 disable track 13

5 1 enable track 11, 0 disable track 11

4 1 enable track 9, 0 disable track 9

3 1 enable track 7, 0 disable track 7

2 1 enable track 5, 0 disable track 5

1 1 enable track 3, 0 disable track 3

0 1 enable track 1, 0 disable track 1

4-1/2 Display (control character ()

To tape controller

Bits

31 0 let tape run off end of reel

1 enable low tape sensor

30 ---

29 ---

28 ---

------

27 1 enable tape servo lock

26 ---

24-25 Front panel display mode

0 footage counter

1 capstan speed

2 reserved

3 data from computer

------

23 ---

22 1 reset footage counter

0 don't reset

20-21 Contents of bits 0-17

0 footage counter

1 capstan speed

2 reserved

3 front panel display

------

19 1 decimal point between digits 2 and 3

0 no decimal point

18 1 decimal point between digits 1 and 2

0 no decimal point

17 0 value in bits 0-16 is >> 0

1 value in bits 0-16 is 0

To be displayed:

16 MSB of display

------

12-15 MSD, BCD or hex

------

8-11 next MSD

------

4-7 next MSD

------

0-3 LSD

From tape controller

Bits

31 0 tape is not at low point

1 tape is at low tape point

30 1 fast speed button is on

0 fast speed button off

29 1 capstan is moving

0 capstan not moving (stop has been completed)

28 1 stop command was issued

0 no stop command issued

------

27 1 tape lock

0 tape not locked

26 1 tach lock, tape is up to speed

0 tape not up to speed

------

23 1 tape drive not ready

0 tape drive ready

From front panel:

16 MSB of display

------

12-15 MSD

------

8-11 next MSD

------

4-7 next MSD

------

0-3 LSD

Speed Control (control character ))

To tape controller

Bits

31 1 forward

0 reverse

28-30 Speed control

0 stop

1 start, 3-3/4 IPS

2 start, 7-1/2 IPS

3 start, 15 IPS

4 start, 30 IPS

5 start, 60 IPS

6 start, 120 IPS

7 start, 240 IPS

------

24-27 MSD rate generator freq.

------

20-23 next digit

------

16-19 LSD rate generator freq.( normal value for acquisition 720, 880 for rewind)

------

0-15 rate timer, 0 for acquisition



From tape controller

Bits

28-31 0 if stopped else

31 1 forward

0 reverse

28-30 Speed control

1 start, 3-3/4 IPS

2 start, 7-1/2 IPS

3 start, 15 IPS

4 start, 30 IPS

5 start, 60 IPS

6 start, 120 IPS

7 start, 240 IPS

------

24-27 MSD rate generator freq.

------

20-23 next digit

------

16-19 LSD rate generator freq. (normal value for acquisition 720, 880 for rewind)

------

0-15 rate timer, 0 for acquisition



Test data (control word -)

To tape controller

Bits

31 0 test signal off

1 test signal on

30 1 reset error counter

28-29 Error counter

0 error bits

1 HITs (extra transitions)

2 MISS (missed transitions)

3 SLIPs (synchronizer slips)

26-27 Test data type 1

0 internal test pattern

1 clock/2

2 clock/4

3 clock/8

24-25 Test data type 2

0 internal test pattern

1 external test pattern

2 clock/2

3 clock/8

23 0 internal clock

1 external clock

22 0 normal pattern

1 reverse pattern

21 0 normal pattern

1 insert random bit errors

12-19 ---

11 1 blank out 16 bits of pattern

10 1 blank out 32 bits of pattern

9 1 blank out 64 bits of pattern

8 1 blank out 128 bits of pattern

0-7 ---



From tape controller

20 counter overflow

0-19 binary error counter



Met Sensors MAT Protocol




COMMAND RESPONSE

+? 000atttt temperature, degrees*10, a="B" for temp>0, "C" for temp=0

%? 00000hhh humidity, percent*10

!? 000ppppp pressure, mbars*10

A response of FFFFFFFF means the instrument is down. CAUTION: the temperature reading will be in degrees C or degrees F depending on the setting of the switch on the front panel. There is no way to control this remotely.

The temperature and humidity instrument in some of the MET sensor instruments has an additional capability. There are two A/D converters which can be read out remotely. The protocol is:

(? 0000vvvv aux-1 input, millivolts

)? 0000vvvv aux-2 input, millivolts



Note: The above protocol is for the old met sensors, Rev. 1.



Receiver MAT Protocol


To receiver

Bits

28-30 ----

------

27 ----

26 ----

25 ----

24 ----

------

23 ----

22 Noise source override control

0 off

1 on

21 Noise source control select

0 normal

1 override

(In normal mode, bits 0-3 control noise source. In override mode, bits 0-3 are disabled and bit 22 controls noise source. Use only in event of normal noise control circuitry failure.)

20 A/D addr. bit 4

------

19 A/D addr. bit 3

18 A/D addr. bit 2

17 A/D addr. bit 1

16 A/D addr. bit 0

------

12-15 ----

------

11 ----

10 S-band IF amp control: 0=on, 1=off

9 X-band IF amp control: 0=on, 1=off

8 K-band IF amp control: 0=on, 1=off

------

7 Heater enable: 0 to 1 transition sets heaters using bits 4-6, 1 to 0 transition has no effect.

6 Delay cal heat control: 0=on, 1=off

5 Box heater select: 0=A heater, 1=B heater

4 Box heat control: 0=on, 1=off

------

3 Noise source select: 0=high, 1=low

2 Noise source modulation: 0=none, 1=external

1 Noise source off (1=off)

0 Noise source on (1=on)

From receiver

31 ----

28 LO status

0 unlocked

1 locked

------

27 Noise source drive status

0 cal on

1 cal off

26 Delay cal heater selected

0 heater on

1 heater off

25 ----

24 Box heat controller selected

0 for A heater

1 for B heater

------

23 ----

22 Box heater status

0 heater on

1 heater off

21 ----

20 A/D address bit 4

------

19 A/D address bit 3

18 A/D address bit 2

17 A/D address bit 1

16 A/D address bit 0

------

2-15 A/D converter data bits

15 = MSB, 4 = LSB, 0-3 are tied to ground=0

scale:

000000000000 = +2.5 volts

011111111111 = +0 volts

100000000000 = -0 volts

111111111111 = -2.5 volts







Notes:

1. For A/D channel assignments, see rxdef.ctl file description in the Control Files manual.

2. Noise source control should normally be accomplished using bits 0-3. Noise on/off/modulate will be selected according to whether bit 0/1/2 was last set to 1. Setting a bit to 0 has no effect.

If bit 2 is set high, the MAT is bypassed and noise sources are controlled directly by a separate signal line with TTL levels or open/close contacts. Setting bit 0 or 1 high returns control to the MAT.

There is only one noise source per frequency band (S and X), and it is considered a "high" cal. Setting bit 3 high (for "low" cal) will give no cal.



Head Controller MAT Protocol


To head controller via ASCII Transceiver

Control character ! Reset controls and abort inchworm motion

Control character ( Execute motion command

Bits

25-31 ----

24 Speed

0 = slow

1 = fast

21-23 ----

20 Direction

0 = in (Burleigh: reverse)

1 = out (Burleigh: forward)

17-23 ----

16 Head select

0 = head 0(write head)

1 = head 1(read head)

15-0 motion duration in 40msec increments (hexadecimal)



Control character % A/D converter control

Bits

17-31 ----

16 oscillator control

0 = oscillator ON (+5 volts)

1 = oscillator OFF (0 volts)

13-15 ----

12 gain control

0 = high gain (0 volts)

1 = low gain (+5 volts)

3-11 ----

0-2 A/O channel select

0 - head 0 position

1 - head 1 position

2 - head 0 temperature

3 - head 1 temperature

4 - vacuum sensor

5 - odd reproduce power

6 - even reproduce power

7 - reference voltage (5.46 volts)

From head controller via ASCII Transceiver

Control character ?

Bits

31 motion status

0 = idle

1 = head in motion

28-30 ----

24-27 auto-test results

0000 - no errors

1xxx - unassigned

x1xx - converter data not available

xx1x - converter busy

xxx1 - illegal channel number

16-23 ----

0-15 A/D data in two's complement, sign extended

max positive = 07FF = +9.9951 volts

max negative = F800 = -10.0000 volts

increment = 0001 = +0.0049 volts





New MET Sensor Commands




** User-defined Strobes

ASCII HEX COMMAND

! 21 Read SETRA Barometer

+ 2B Read DVM Channel 1

% 25 Read DVM Channel 2

. 2E Read DVM Channel 3

) 29 Read DVM Channel 4

- 2D Read DVM Channel 5

( 28 Read DVM Channel 6

; 3B Enable Frontpanel Switches



** User-defined Software Strobes

]SSSSSS 5D Set SPDT Relays. S= A, B or X

[ 5B Read/Verify SPDT Relays

}SSS 7D Set SP4T Coax Relays. S = A, B, C, D or X

{ 7B Read/Verify Coax Relays

NNNNNN 3E Write Output Port with NNNNNN

< 3C Read/Verify Output Port

| 7C Read Input Port



** Download Memory

: 3A Load Memory

\HHHH 5C Branch to Address HHHH

Note: Above, H refers to any hexadecimal character, and N refers to any hexadecimal or nochange character. The nochange character is referred to as X.

Read Barometer

The SETRA Barometer is sampled by this command, and the data is stored in the internal buffer. When executed, a B will appear in the front panel status display. The command is sent by the host as:

#HH !

Example:

#AA ! ? 70B10084

The MET Sensor reads its barometer and transmits the results. The format of the response is as follows. The first digit, 7, tells that it is the barometer that has been read. The next character is always zero. The third position from the left tells the sign; B indicates positive pressure, and a C would be substituted for negative pressures. The remaining digits display the pressure in millibars, with a resolution of 0.1 mbar. The pressure read in the example is 1008.4 mbar.

Read DVM

The Analog Devices digital voltmeter (DVM) is read and the data is stored in the MAT's internal buffer. The status display will show a V and the channel display will change momentarily to the channel being read. The command format looks like this:

#hh+ ( No response ) - DVM channel 1

#hh% ( No response ) - DVM channel 2

#hh. ( No response ) - DVM channel 3

#hh) ( No response ) - DVM channel 4

#hh- ( No response ) - DVM channel 5

#hh( ( No response ) - DVM channel 6

The MET Sensor with address hh will read one of its DVM channels, as indicated above. Each time when interrogated by the ?, the MET Sensor will sample the chosen channel, and send the current voltage to the host.

Example:

#AA + ? 100B0327

MET Sensor at address AA reads its DVM channel 1, and transmits the result to the host in the format shown above. The first digit ranges from 1 to 6, and indicates which channel was read. The next two are 0s, and position 4 indicates whether the voltage read was positive or negative, in the same manner as for the barometer. The last four digits are the actual voltage, in thousandths of volts. The voltage read in the example is 0.327 Volts. If an overrange is detected by the DVM, the zero in position three will be substituted by an F.



Output Port Write

This command is used to write the 24-bit MET Sensor output port. The status display will show 00 during and after execution. The standard form for this command is:

#HH> NNNNNN $

where HH is the hexadecimal address to the MET Sensor, and N denotes any hexadecimal or nochange character. The MET Sensor would update its output port to NNNNNN hexadecimal. The most significant byte is the sixth character to the right, and bits 3-0 are assigned by the last character in the string. If some of the characters are omitted, and the MET Sensor finds a string shorter than six characters, it will automatically presume that the preceding missing ones were nochange characters. If, on the other hand, the string contains more than six characters, it will only consider the last six.

Output Port Read/Verify

This command reads the current content of the 24-bit output port latches. When executed the status display will change to IO. The standard form is:

#HH < ACK

The MET Sensor will read what is on its output port latches, and put it in its internal buffers. This is a read of the actual hardware, not of a RAM copy, and thus can be a useful self-test feature.

Example:

#AA > CA9653 $

<

? Response: CA9653

The MET Sensor would write CA9653 hexadecimal to its output port latches. The < command would cause a hardware read of the data latches. Finally, the ? would cause the result to be transmitted to the host computer.

SPDT Write Command

This command changes the settings of the SPDT relays. When executed, an OS will appear on the front panel status display. The format for this command is:

#HH ] SSSSSS $ ACK

where S may be either A, B or a nochange character. The MET Sensor would change its SPDT relay settings. The data field consists of up to six characters. The most significant digit is for SPDT relay number 4, and the least significant for SPDT relay number 9. If the data does not contain six characters, the MET Sensor will assume leading nochange characters. The MET Sensor will disregard all except the last six characters if more are sent. The nochange character will be discussed in more detail below.

SPDT Read/Verify Command

This command causes a hardware read of the current SPDT relay latches. It reads what the hardware input to the RAM buffer, and is therefore useful when testing. The status display will be changed to IS. The standard form of the command is:

#HH [ ACK

The addressed MET Sensor will read its latches into its internal buffers.

Example:

#AA ] BBBBAA $

[

? BBBBAA

The MET Sensor would update its SPDT relays according to the data string, in this example switches 4-7 to source B, and switches 8 and 9 to A, and then the [ would ask the sensor to read its latches. The ? makes the MET Sensor transmit its buffers.

Coax Switch Write

This command will change the settings of the three SP4T VHF Coax switches. The status display on the front panel will show OC when executed. The format looks like

#HH } SSS $

where S is A, B, C, D or nochange character. This command would cause the MET Sensor to change its coax switches according to the data string. The data string consists of three characters each denoting the corresponding source, or a nochange character, denoting that the switch should not be changed. Examples of the use of the nochange character are given in a separate section. The characters correspond to switches 1, 2 and 3, beginning from the left. If a string with more than three characters is given, only the last one will have any significance. If less than three characters are sent, the MET Sensor assumes leading nochange characters.

Coax Read/Verify

The coax read/verify command causes the current settings of the coax switches to be read. When executed the front panel status display will show IC.

#HH {

This command will cause the MET Sensor to do a hardware read of the coax latches, and transfer the data to its internal buffers. As with the other read commands, this can be a useful test feature, since it is reading the actual hardware.

Example:

#AA } DCA $

{

? DCA

The MET Sensor would change its coax switches as stated in data, switch #1 to source D, switch #2 to source C and switch #3 to source A, and the next command, {, would make it read the hardware and save it. Finally, the ? would cause the data to be transmitted to the host.

Input Port Read

The input read command causes a read of the 24-bit optically isolated input buffers. When executed the status display will be changed to II.

#HH |

When interrogated via the ? command, the addressed MET Sensor will return 6 ASCII bytes denoting hexadecimal characters equal to 24 bits. MSB in the input port word, bit 23 is to the far left. This reading is always performed on the actual hardware, and not on a RAM copy.

No-change Character

For a certain applications using the coax or SPDT relays, it may be useful to be able to change only one or two of the relays. The other ones may be used for another purpose and need not interact with this specific application. The nochange character gives the ability to do that. Either X, Y or Z may be used to indicate nochange, but X will be used throughout this discussion.

Example:

In order to change the SPDT-relay #6 from A to B, without having any of the other relays affected, the following command and data can be sent to the MET Sensor:

] XXBXXX $

or, since leading X's may be omitted

] BXXX $

which will change only relay no. 6 to bank B. Similarly, to only change SPDT relays no. 8 and 9 the host sends

] AA $

That will cause relay 8 and relay 9 to go to source A, and leave all other relays in their old position, since the MET Sensor firmware will automatically add the needed number of nochange characters to the left.

It is possible change only one or two of the coax switches in the same way, for example:

} CXA $

This command will force switch 1 to source C, leave switch 2 as it was, and set switch 3 to source A.

When writing to the output port, the nochange character is also useful. Since each nochange character takes the place of a hexcharacter in the string, the output port may be changed in portions of four bits. The data field is six hexadecimal characters, with the most significant one at the left, assigning bits 23-20, and the least significant at the right assigning bits 3-0.

For example, say the current output on the output port is FFOO3C, and we want to make bits 15-12 high, i.e. change hexcharacter 3 from the left to F hexadecimal. The command:

>FXXX $

will do that. Bits 23-16 are left as they were, although they were not explicitly mentioned. Leading characters are, if not included in the string, always assumed to be omitted nochange characters.



IF3 Module MAT Protocol


Added note: The LO frequency cannot be controlled remotely. It can be changed only by resetting some DIP switches.





BJ1/BJ2 From IF3 - From IF3 -

Bit # Pin # To IF3 % strobe ! strobe

----- ----- ------ ---------- ----------

0 18 Atten 1 dB Atten 1 dB Ext. sw. 1 state

1 19 Atten 2 dB Atten 2 dB Ext. sw. 2 state

2 20 Atten 4 dB Atten 4 dB Ext. sw. 3 state

3 21 Atten 8 dB Atten 8 dB Ext. sw. 4 state

4 22 Atten 16 dB Atten 16 dB Fixed 0

5 23 Atten 32 dB Atten 32 dB Fixed 0

6 24 Mixer in/out Mixer out Fixed 0

7 25 Mixer in Ext. sw. present?

8 26 Ext. sw. 1 state Fixed 0 Fixed 0

9 27 Ext. sw. 2 state Fixed 0 Fixed 0

10 28 Ext. sw. 3 state Fixed 0 Fixed 0

11 29 Ext. sw. 4 state Fixed 0 Fixed 0

12 30 Local/remote LO freq bit 0

13 31 Fixed 0 LO freq bit 1

14 32 Alarm condition LO freq bit 2

15 33 LO unlock LO freq bit 3

16 34 TPI bit 0 LO freq bit 4

17 35 TPI bit 1 LO freq bit 5

18 36 TPI bit 2 LO freq bit 6

19 37 TPI bit 3 LO freq bit 7

20 38 TPI bit 4 LO freq bit 8

21 39 TPI bit 5 LO freq bit 9

22 40 TPI bit 6 LO freq bit 10

23 41 TPI bit 7 LO freq bit 11

24 42 TPI bit 8 LO freq bit 12

25 43 TPI bit 9 LO freq bit 13

26 44 TPI bit 10 LO freq bit 14

27 45 TPI bit 11 LO freq bit 15

28 46 TPI bit 12 LO freq bit 16

29 47 TPI bit 13 LO freq bit 17

30 48 TPI bit 14 LO freq bit 18

31 49 TPI bit 15 LO freq bit 19

ALARM BUS

=========

System alarm circuit is turned on if

(IF3 is in remote) .and.

( ( (LO is unlocked) .and. (mixer is in) ) .or.

(MAT reports error) )



DEFINITIONS

===========

Atten n dB: 1 = attenuator on

0 = attenuator off

Mixer in/out (to IF3): 1 = mixer in

(frequency downconversion enabled)

0 = mixer out

(frequency downconversion disabled)

Mixer out (from IF3): 1 = mixer not out

0 = mixer out

Mixer in (from IF3): 1 = mixer not in

0 = mixer in

Local/remote: 1 = local

0 = remote

Alarm condition: 1 = (LO unlock .and. mixer in) .or. MAT error

0 = no alarm

LO unlock: 1 = LO unlocked

0 = LO locked

Ext. sw. i state: 1 = RF1 port connected to RFCOM port

0 = RF2 port connected to RFCOM port

Ext. sw. present: 1 = no (switch box is not connected to IF3, so ignore ext. sw. monitor/control)

0 = yes (switch box is connected to IF3, so

ext. sw. monitor/control should work)



LO FREQUENCY CALCULATION

========================

The conversion between LO frequency and strobe ! LO frequency bits is:

FREQ = [(15-U4)*40960 + (15-U3)*2560 + (15-U2)*160

+ (16-U1)*10 + (15-U0)] * 10 kHz

where U0-U4 are 4-bit bytes constructed from bits 12-15, 16-19, 20-23, 24-27, and 28-31, respectively.

For the standard frequency of 500.10 MHz, U0=15, U1=7, U2=7,

U3=12, and U4=14.