The tarlan Language

Tarlan is a symbolic language used to create control files for the EISCAT radar. It has existed basically unchanged since the late 1970’s. The rebuilt mainland systems will continue to use tarlan as the primary tool for interactive programming of the hard real-time components.

The core tarlan syntax remains unchanged from earlier times. Several new commands specific to the new receiver/DSP hardware have been added. A number of other commands that reference old, removed hardware have been deleted.

Information about the radar controller hardware

32 + 6 bits for output are available. The six high bits are only accessible on a header contact onboard the radar controller, the ordinary used 32 bit are accessible on header contacts on the frontpanel. The radar controller time resolution is 100 ns. Maximum dwell time is 0.1*2^24 us = 1.67 s. Radar controller memory depth is 1024 kwords, so the maximal size of a compiled tarlan program can be 256k instructions.  Control registers are 16 bit wide.

Checks on hardware timing is done during compile time, these are mainly on commands dealing with the transmitter, a list on timing and duty cycle limits can be found below.

Commands from the old system which is still valid

Comments start with a % this can also be used at the end of a line

Transmitter radar controller commands:

CHQPULS High output on bit 31 for 2 us, used for synchronization with external hardware.

RXPROT Enable receiver protector, bit 12 high

LOPROT Enable local oscillator protector, bit 6 high

BEAMON Enable beam in klystron, bit 13 high

F[0-15] Set transmitter frequency, bit 0-3 high

RFON Enable RF output, bit 11 high

PHA180, PHA0 Set proper phase, bit 4. PHA0 low, PHA180 high

RFOFF Disable RF output, bit 11 low

BEAMOFF Disable beam in klystron, bit 13 low

RXPOFF Disable receiver protector, bit 12 low

LOPOFF Disable local oscillator protector, bit 6 low

CALON Enable noise source for calibration, bit 15 high. This is only true for the Tromsö systems

CALOFF Disable noise source, bit 15 low. This is only true for the Tromsö systems.

Receiver radar controller commands:

CH[1-6] Open sampling gate on the referenced channel board, bit 10-15 high

CH[1-6]OFF Close sampling gate on the referenced channel board, bit 10-15 low

ALLOFF Close sampling gate on all channel boards, bit 10-15 low

CALON For remote it enables noise sources both for vertical and horisontal wave guides

CALOFF For remote it disable  noise sources both for vertical and horisontal wave guides

HCALON For remote enable only noise source in horisontal wave guide, high bit 1 high

HCALOFF For remote, disabale noise source in horisontal wave guide, high bit 1 low

VCALON For remote enable only noise source in vertical wave guide, high bit 0 high

VCALOFF For remote, disabale noise source in vertical wave guide, high bit 0 low

STC Send a interrupt to crate computer to signal that new data are available a needs to be taken care of, bit 8 high strobed.

BUFLIP Change side of buffer memory in channel boards, bit 17 high strobed.

REP End of tarlan program

New receiver commands used for the E3D demonstration array in Kiruna:

SGATE Sample gate on, Bit 22 active low

SGATEOFF Sample gate off, Bit 22 active low

SYNIN Syncronization clock for DDC, bit 21 high strobed

DGATE[1-6] Open sample gate DDC board, bit 25-31 active low

DGATE[1-6]OFF Close sample gate DDC board, bit 25-31 active low

DGALLON Open all sample gates DDC, bit 25-31 active low

DGALLOFF Closes all samples gates DDC, bit 25-31 active low

Pin and bit mapping for the E3D demo. system.

Pin and bit mapping for the KST mainland system.

Receiver bit pattern default value 0xFE47FE80

New commands:

STFIR Start the fir filters onboard channel boards, this is a necessary command that must be some where in the start of the tarlan file, bit 16 strobed.

AD[1,2][L,R] Set proper AD selection for the channel boards. For example AD1L, route input for AD 1 to channel board 1, 2, 3. AD2R, route AD 2 to channel 4, 5, 6, bit 9, 18 plus strobe bit 8.

RXSYNC, TXSYNC A 2 us pulse on bit 31 on the front of the radar controller. Also the TXSYNC is available the transmitter console.

B[RX,TX][0-31] Set a particular bit on receiver or transmitter controller. This must be used with caution on transmitter side. No checks are made.

B[RX,TX][0-31]OFF Unset a particular bit on receiver or transmitter controller. This must be used with caution on transmitter side. No checks are made

HBRX[0-5] Set a bit in the high bit field in the receiver radar controller, no checks are made

HBRX[0-5]OFF Unset a bit in the high bit field in the receiver radar controller, no checks are made

HBTX[0-5] Set a bit in the high bit field in the transmitter radar controller, no checks are made

HBTX[0-5]OFF Unset a bit in the high bit field in the transmitter radar controller, no checks are made

No sanity checks are done on direct bit manipulations done with BRX[0-31], BRX[0-31]OFF, BTX[0-31], BTX[0-31]OFF, HBRX[0-5], HBRX[0-5]OFF, HBTX[0-5], and HBTX[0-5]OFF. These commands should be used with great care.

1LOCH[1-2]SEL[1-2]

Commands for setting first local oscillators from radar controller. Note used only at Tromsø VHF

1LOCH1SEL1 will use 290 MHz LO for IF channel I

1LOCH1SEL2 will use 298 MHz LO for IF channel I

1LOCH2SEL1 will use 290 MHz LO for IF channel II

1LOCH2SEL2 will use 298 MHz LO for IF channel II

2LOCH[1-2]SEL[1-5]

Commands for setting second local oscillators from radar controller. Note used only at Tromsø VHF

2LOCH1SEL1 will use 78 MHz LO for IF channel I

2LOCH1SEL2 will use 80 MHz LO for IF channel I

2LOCH1SEL3 will use 82 MHz LO for IF channel I

2LOCH1SEL4 will use 84 MHz LO for IF channel I

2LOCH1SEL5 will use external LO for IF channel I

2LOCH2SEL1 will use 78 MHz LO for IF channel II

2LOCH2SEL2 will use 80 MHz LO for IF channel II

2LOCH2SEL3 will use 82 MHz LO for IF channel II

2LOCH2SEL4 will use 84 MHz LO for IF channel II

2LOCH2SEL5 will use external LO for IF channel II

Note that these settings are only available if the LO switching system is set

in the proper way.

NCOSEL[0-1023]

Load the frequency defined in the requested memory into the NCO plus strobe bit 29.

NCOPRS

Phase reset NCO bit 30 strobed.

The tarlan Compiler

tarlan [SWITCHES] [OPTIONS] file_name

Options:

-f <file name>

Switches:

-c Switch, to enable Chx sample window timing output. Example:

<>tarlan -c -f /kst/exp/cp4bv/cp4bv.tlan

Compiling for VHF

Will write to rx file /kst/exp/cp4bv/cp4bv_vhf.rbin

Will write to tx file /kst/exp/cp4bv/cp4bv_vhf.tbin

CH1=2490 us CH4=2490 us

CH1=3915 us CH2=9570 us CH4=3915 us CH5=9570 us

CH1=870 us CH4=870 us

Total channel on time at BUFLIP

CH1 7275.0 us on CH2 9570.0 us on CH3 0.0 us on CH4 7275.0 us on CH5 9570.0 us on CH6 0.0 us on BUFLIP

………. Output cuted here

-u Switch, compile for UHF system

-v Switch, compile for VHF system

-r Swicth, compile for a UHF remote system

-w Swicth, do not check transmitter hardware timing, sometimes necessary for compiling a remote UHF tarlan file.

The tarlan compiler will check the the last letter in the file name, and set the proper system.

v: compile for the VHF system.

u, t: compile for the Tromsö UHF system.

k, s or r: compile for the remote UHF systems. It is necessary to compile the code for the proper site, as the CALON and CALOFF command for Tromsö works different compared to the remote sites.

Imposed hardware timing limits and default bit patterns:


% These are the hardware delay times for the VHF/UHF radar.

% The delay times are given in usecs.

% This file is used by the tarlan compiler.

%

% Minimum, maximum rf duty cycle

% VHF

VHFRFDUTYCYCMIN 0.1 % (%)

VHFRFDUTYCYCMAX 12.5 % (%)

% UHF

UHFRFDUTYCYCMIN 0.1 % (%)

UHFRFDUTYCYCMAX 12.5 % (%)

%

% Rf pulse length 0.001 ms to 2ms

% VHF

VHFRFPULSEMIN 1 % (us)

VHFRFPULSEMAX 2000 % (us)

% UHF

UHFRFPULSEMIN 0.5 % (us)

UHFRFPULSEMAX 2000 % (us)

%

% Maximum rxprotector duty cycle

% VHF

VHFRXPROTDUTYCYCMAX 30.0 % (%)

% UHF

UHFRXPROTDUTYCYCMAX 25.0 % (%)

%

% Maximum, minimum beam duty cycle

% VHF

VHFBEAMDUTYCYCMAX 12.6 % (%)

VHFBEAMDUTYCYCMIN 0.5 % (%)

% UHF

UHFBEAMDUTYCYCMAX 12.6 % (%)

UHFBEAMDUTYCYCMIN 0.5 % (%)

%

% minimum,maximum beam ipp 1 ms to 50 ms

%

% UHF

UHFBEAMIPPMIN 1000 % (us)

UHFBEAMIPPMAX 50000 % (us)

% VHF

VHFBEAMIPPMIN 1000 % (us)

VHFBEAMIPPMAX 50000 % (us)

%

% Hardware timings for transmitter

RXPROT->BEAMON 30 % RXPROT until BEAMON can be given (us)

LOPROT->BEAMON 20 % LOPROT until BEAMON can be given (us)

BEAMON->RFON 40 % BEAMON until RFON can be given (us)

RFOFF->BEAMOFF 0 % RFOFF until BEAMOFF can be given (us)

BEAMOFF->RXPOFF 40 % BEAMOFF until RXPOFF can be given (us)

BEAMOFF->LOPOFF 50 % BEAMOFF until LOPOFF can be given (us)

RXPOFF->LOPOFF 20 % RXPOFF until LOPOFF can be given (us)

STC->REP 15 % STC until REP can be given (us)

STC->BUFLIP 5 % longest time between STC and BUFLIP (us)

% The TXBITPATTERN and RXBITPATTERN are in hex

TXBITPATTERN 0x0

TXBITHPATTERN 0x0 % All high bits initial 0

RXBITPATTERN 0x4007FE80

RXBITHPATTERN 0x0 % All bits initial 0

% Highest allowed transmit frq. for UHF

UHF_HIGH_FRQ 15

% Lowest allowed transmit frq. for UHF

UHF_LOW_FRQ 2

% Highest allowed transmit frq. for VHF

VHF_HIGH_FRQ 15

% Lowest allowed transmit frq. for VHF

VHF_LOW_FRQ 2

%

END