Page tree

All communications with the hardware is done via registers. This page provides a detailed description of all available registers of the PiLC hardware.



FPGA registers

Identifikation Register

Address (Hex)NameReadWriteValue
0x64FPGA IDX00xEC
0x65FPGA_Hardware_VersionX032Bit
0x66FPGA_Software_VersionX032Bit
0x67FPGA_Projekt_Nr.X032Bit
0x68FPGA_Projekt_VersionX032Bit

IO Register

Address (Hex)NameReadWriteValue
0x01IO_1_Data_In_Registerxx32Bit
0x02IO_1_Data_Out_Registerx032Bit
0x03IO_2_Data_In_Registerxx32Bit
0x04IO_2_Data_Out_Registerx032Bit
0x05IO_3_Data_In_Registerxx32Bit
0x06IO_3_Data_Out_Registerx032Bit
0x07IO_4_Data_In_Registerxx32Bit
0x08IO_4_Data_Out_Registerx032Bit
0x09IO_5_Data_In_Registerxx32Bit
0x0AIO_5_Data_Out_Registerx032Bit
0x0BIO_6_Data_In_Registerxx32Bit
0x0CIO_6_Data_Out_Registerx032Bit
0x0DIO_7_Data_In_Registerxx32Bit
0x0EIO_7_Data_Out_Registerx032Bit
0x0FIO_8_Data_In_Registerxx32Bit
0x10IO_8_Data_Out_Registerx032Bit
0x11IO_9_Data_In_Registerxx32Bit
0x12IO_9_Data_Out_Registerx032Bit
0x13IO_10_Data_In_Registerxx32Bit
0x14IO_10_Data_Out_Registerx032Bit
0x15IO_11_Data_In_Registerxx32Bit
0x16IO_11_Data_Out_Registerx032Bit
0x17IO_12_Data_In_Registerxx32Bit
0x18IO_12_Data_Out_Registerx032Bit
0x19IO_13_Data_In_Registerxx32Bit
0x1AIO_13_Data_Out_Registerx032Bit
0x1BIO_14_Data_In_Registerxx32Bit
0x1CIO_14_Data_Out_Registerx032Bit
0x1DIO_15_Data_In_Registerxx32Bit
0x1EIO_15_Data_Out_Registerx032Bit
0x1FIO_16_Data_In_Registerxx32Bit
0x20IO_16_Data_Out_Registerx032Bit

IO Status Register

Address (Hex)NameReadWriteValue
0x21IO_Data_Direction_Registerx032Bit
0x22IO_Status_Registerx032Bit

IO-card registers

Identifikation Register

Address (Hex)NameReadWriteState
0x64Card Type IDx0
ID (Hex)Card type
0x01IO NIM/TTL card
0x02ADC card
0x03DAC card
0x04Temperature card
0x05Adapter card
0x06Differential IO card (planned)
0x07Differential ADC card
0x08Thermo card
0x65Hardware Versionx08Bit
0x66Software Versionx08Bit

The identification register is common to all IO cards. The special registers for each type of IO card are described below.

NIM / TTL IO card register

Address (Hex)NameReadWriteStates
0x01IO Statusxx
Value (Hex)State
0x01TTL Input
0x02TTL Output
0x03NIM Input
0x04NIM Output

ADC card register

Address (Hex)NameReadWriteState
0x01ADC Value High Bytex08Bit
0x02ADC Value Low Bytex08Bit
0x03Offsetxx8Bit
0x04CPLD Firmware Versionx08Bit

DAC card register

Address (Hex)NameReadWriteState
0x01DAC Value High Byte readx08Bit
0x02DAC Value Low Byte readx08Bit
0x04CPLD Fimware Version readx08Bit

Temperature card register

Address (Hex)NameReadWriteState
0x01Temp. Value 1 Byte readx08Bit
0x02Temp. Value 2 Byte readx08Bit
0x03Temp.Value 3 Byte readx08Bit
0x04Temp.Value 4 Byte readx08Bit
0x05PT-Sensorxx
Value (Hex)State
0x01PT 10
0x02PT 50
0x03PT 100 default
0x04PT 200
0x05PT 500
0x06PT 1000
0x06PT-Stromxx
Value (Hex)State
0x0125µA
0x0250µA
0x03100µA
0x04250µA
0x05500µA default
0x061mA

Adapter card register

Adresse (Hex)NameReadWriteZustände
0x01Value 1x08Bit
0x02Value 2x08Bit
0x03Value 3x08Bit
0x04Value 4x08Bit
0x05Filterxx
Value (Hex)State
0x00Filter Off
0x01Filter over 2 Values
0x02Filter over 4 Values
0x03Filter over 8 Values
0x04Filter over 16 Values
0x05Filter over 32 Values
0x06Filter over 64 Values

0x07

Filter over 128 Values
0x08Filter over 256 Values
0x09Filter over 516 Values
0x0AFilter over 1024 Values
0x67ID of the attached cardx08Bit

DADC card register

Adresse (Hex)NameReadWriteZustände
0x01Value 1x08Bit
0x02Value 2x08Bit
0x03Value 3x08Bit
0x04Value 4x08Bit
0x67ID of the attached cardx08Bit

Thermo card register

Adresse (Hex)NameReadWriteZustände
0x01Value 1x08Bit
0x02Value 2x08Bit
0x03Value 3x08Bit
0x04Value 4x08Bit
0x05Errorx0
ValueState
Bit 0no connections
Bit 1 short-circuited to GND
Bit 2short-circuited to VCC
0x06Thermo Typx08Bit (CHAR)
0x67ID of the attached cardx08Bit

IO board registers

Identifikation register

Adresse (Hex)NameReadWriteZustände
0x64IO Board IDx00xEC
0x65Hardware Versionx08Bit
0x66Software Versionx08Bit

Register

Register (Hex)NameReadWriteStates
0x01IO LED 10x
Value 1Value 2Value 3
Example
redgreenbluecolorinterpretation
0x000x000x00LED Ausno card
0x000x000x64
NIM/TTL Output High
0x000x640x00
NIM/TTL Input High
0x000x640x64
ADC card
0x640x000x00
DAC card
0x640x000x64
NIM/TTL Input Low
0x640x640x00
NIM/TTL Output Low
0x640x320x00
Temperature card
0xXX0xXX0xXX
Adapter card - Farbe passt sich an
0x02IO LED 20x
0x03IO LED 30x
0x04IO LED 40x
0x06IO LED 60x
0x07IO LED 70x
0x08IO LED 80x
0x09IO LED 90x
0x0AIO LED 100x
0x0BIO LED 110x
0x0CIO LED 120x
0x0DIO LED 130x
0x0EIO LED 140x
0x0FIO LED 150x
0x10IO LED 160x
0x11Status LED 10x
0x12Status LED 20x


0x14All LEDs have same color0x
0x15LEDs Dimmen0x
Value 1Value 2Value 3
LED 18 & 17LED 16 to 9LED 8 to 1
0b000000XX0bXXXXXXXX0bXXXXXXXX
0x16LEDs blinking0x
Value 1Value 2Value 3
LED 18 & 17LED 16 to 9LED 8 to 1
0b000000XX0bXXXXXXXX0bXXXXXXXX
0x17Dimm Geschwindigkeit x*100ms0x
Value 1Value 2Value 3
0x000x000x00->0xFF
0x18Blink Geschwindigkeit x*100ms0x
Value 1Value 2Value 3
0x000x000x00->0xFF

Display registers

Identification Register

Address (Hex)NameReadWriteState
0x64IO Board IDx00xEC
0x65Hartware Versionx08Bit
0x66Software Versionx08Bit

Register

Address (Hex)NameReadWriteState
0x01Statusxx
Value (Hex)State
0x00Brightness is automatically adjusted (Default)
0x01Brightness adjusted by Poti on main board (Display Leiterplatte)
0x02Brightness is adjusted by the Brighness Value (see 0x02)
0x03Display off
0x02Brightness Valuexx8 Bit

Mainboard registers

Register

Address (Hex)NameReadWriteState
0x64IO Board IDx00xEC
0x65Hartware Versionx08Bit
0x66Software Versionx08Bit

Register

Adresse (Hex)NameReadWriteStates
0x01USV Statusxx
Value (Hex)State
0x00USV deactivated
0x01USV active (Default)
0x02Charging Statusxx
Value (Hex)State
0x00Battery charging off
0x01Battery charging on (Default)
0x03USV Überbrückungszeit nach Stromausfall in sek.xx8Bit (Value * Seconds)
0x04Time after power failure in secondsx08Bit (Value * Seconds)
0x05Charging controller statusx0
Value (Hex)State
0x00Charging controller deactivated / no input voltage
0x01Charging controller standby / no battery attached
0x03Battery fully charged
0x04Battery voltage is low
0x05Battery is charging
0x07Temperature failure / Timer failure
0x06Audio-Volumexx
Value (Hex)State
0x2BVolume_Low
0x35Volume_Medium (Default)
0x63Volume_High
0x07Battery voltage MSB readx08Bit
0x08Battery voltage LSB readx08Bit
  • No labels