Документ взят из кэша поисковой машины. Адрес
оригинального документа
: 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 |
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
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
The following pages give the protocol for communications with the MATs in Mark III modules.
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
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.
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
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.
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
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.
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.
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
** 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.
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.