Page tree

Version history

1.0Mai 2018First Release

General:

The ArraybasedTGV2 is a Firmware for the PiLC to generate Signals based on a list.

This list must stored in the SDRAM from the FPGA in the PiLC. It is possible to generate 6 different Signals.

There a two Mods to work through the list:

  • Encoder based
  • Timing based (resolution 1us)

The list is structured as follows: Signal Nr.; Change Point; Action

Example: Mode: Encoder, Signal 1 change the status every 100 Encoder steps:

Signal Nr.Change PointAction
11001
12000
13001
14000
15001
16000
17001
18000
Example: Mode: Time  Signal 1 change the status after 100us and Signal 2 change the status after 500us.
Signal Nr.Change PointAction
11000
11001
25000
25001

If the Signal should be infinity, the bit by the Tango Attribute "SignalTimeMode" must set for the signal.

Tango Server:

For Controlling there is the "PiLCArrayBasedTG2" Tango Server.



AttributeTaskValue
ModeChange the input, how the List has to be work through
32bit - 1bit0Bit
Reserve0 = timing mode

1 = encoder mode
SingalTimeModeIf the Signal X should repeat it self, the bit must be set
32bit - 6bit5Bit - 0Bit
ReserveBit 0:  0=Signal 1 normal; 1=Signal 1 infinity

Bit 1:  0=Signal 2 normal; 1=Signal 2 infinity 

Bit 2:  0=Signal 3 normal; 1=Signal 3 infinity 

Bit 3:  0=Signal 4 normal; 1=Signal 4 infinity 

Bit 4:  0=Signal 5 normal; 1=Signal 5 infinity 

Bit 5:  0=Signal 6 normal; 1=Signal 6 infinity 
EncoderConfigConfiguration the Encoder Input as standard A/B signals or as step/direction
32bit - 1bit0Bit
Reserve0 = A/B signals

1 =step/direction Signals
OutPolarity Invert the signal X polarity
32bit - 6bit5Bit - 0Bit
ReserveBit 0:  0=Signal 1 normal; 1=Signal 1 invert

Bit 1:  0=Signal 2 normal; 1=Signal 2 invert

Bit 2:  0=Signal 3 normal; 1=Signal 3 invert

Bit 3:  0=Signal 4 normal; 1=Signal 4 invert

Bit 4:  0=Signal 5 normal; 1=Signal 5 invert

Bit 5:  0=Signal 6 normal; 1=Signal 6 invert
SignalEnable

!!! Missing in the Tango Server!!!! 17.09.2020

To enable the signal x the bit must be set.

32bit - 6bit5Bit - 0Bit
ReserveBit 0:  0=Signal 1 off; 1=Signal 1 on

Bit 1:  0=Signal 2 off; 1=Signal 2 on

Bit 2:  0=Signal 3 off; 1=Signal 3 on

Bit 3:  0=Signal 4 off; 1=Signal 4 on

Bit 4:  0=Signal 5 off; 1=Signal 5 on

Bit 5:  0=Signal 6 off; 1=Signal 6 on
Signal'x'PulseWidth

Set the High Time from the Signal X , when it is in Encoder Mode

For example the Signal goes High at then Point 100 and stay for 200us High and then it goes automaticity to Low.

32Bit,  Resolution is 1µs



PiLC I/Os:

NumberTypFunction
1InputEnc A / Step
2InputEnc B / Dir
3N/AN/A
4N/AN/A
5N/AN/A
6N/AN/A
7N/AN/A
8N/AN/A
9OutputSignal 1
10OutputSignal 2
11OutputSignal 3
12OutputSignal 4
13OutputSignal 5
14OutputSignal 6
15OutputN/A
16OutputN/A

PiLC Register:

NumberIn RegisterOut Register
1ControlN/A
2SDRAM WR ADDREncoder value
3SDRAM WR Data 1

Signal Status

4SDRAM WR Data 2N/A
5Signal End ValueSignal 1 Counter
6Signal OffsetSignal 1 Next
7Signal Pulse WidthSignal 2 Counter
8Signal Time Inf. ModeSignal 2 Next
9N/ASignal 3 Counter
10N/ASignal 3 Next
11N/ASignal 4 Counter
12N/ASignal 4 Next
13Encoder Load ValueSignal 5 Counter
14Encoder ConfigSignal 5 Next
15Signal EnableSignal 6 Counter
16Signal_XORSignal 6 Next
  • No labels