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
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.
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
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.
Load the frequency defined in the requested memory into the NCO plus strobe bit 29.
Phase reset NCO bit 30 strobed.
The tarlan Compiler
tarlan [SWITCHES] [OPTIONS] file_name
-f <file name>
-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