
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) | Name | Read | Write | Value |
---|
0x64 | FPGA ID | X | 0 | 0xEC |
0x65 | FPGA_Hardware_Version | X | 0 | 32Bit |
0x66 | FPGA_Software_Version | X | 0 | 32Bit |
0x67 | FPGA_Projekt_Nr. | X | 0 | 32Bit |
0x68 | FPGA_Projekt_Version | X | 0 | 32Bit |
IO Register
Address (Hex) | Name | Read | Write | Value |
---|
0x01 | IO_1_Data_In_Register | x | x | 32Bit |
0x02 | IO_1_Data_Out_Register | x | 0 | 32Bit |
0x03 | IO_2_Data_In_Register | x | x | 32Bit |
0x04 | IO_2_Data_Out_Register | x | 0 | 32Bit |
0x05 | IO_3_Data_In_Register | x | x | 32Bit |
0x06 | IO_3_Data_Out_Register | x | 0 | 32Bit |
0x07 | IO_4_Data_In_Register | x | x | 32Bit |
0x08 | IO_4_Data_Out_Register | x | 0 | 32Bit |
0x09 | IO_5_Data_In_Register | x | x | 32Bit |
0x0A | IO_5_Data_Out_Register | x | 0 | 32Bit |
0x0B | IO_6_Data_In_Register | x | x | 32Bit |
0x0C | IO_6_Data_Out_Register | x | 0 | 32Bit |
0x0D | IO_7_Data_In_Register | x | x | 32Bit |
0x0E | IO_7_Data_Out_Register | x | 0 | 32Bit |
0x0F | IO_8_Data_In_Register | x | x | 32Bit |
0x10 | IO_8_Data_Out_Register | x | 0 | 32Bit |
0x11 | IO_9_Data_In_Register | x | x | 32Bit |
0x12 | IO_9_Data_Out_Register | x | 0 | 32Bit |
0x13 | IO_10_Data_In_Register | x | x | 32Bit |
0x14 | IO_10_Data_Out_Register | x | 0 | 32Bit |
0x15 | IO_11_Data_In_Register | x | x | 32Bit |
0x16 | IO_11_Data_Out_Register | x | 0 | 32Bit |
0x17 | IO_12_Data_In_Register | x | x | 32Bit |
0x18 | IO_12_Data_Out_Register | x | 0 | 32Bit |
0x19 | IO_13_Data_In_Register | x | x | 32Bit |
0x1A | IO_13_Data_Out_Register | x | 0 | 32Bit |
0x1B | IO_14_Data_In_Register | x | x | 32Bit |
0x1C | IO_14_Data_Out_Register | x | 0 | 32Bit |
0x1D | IO_15_Data_In_Register | x | x | 32Bit |
0x1E | IO_15_Data_Out_Register | x | 0 | 32Bit |
0x1F | IO_16_Data_In_Register | x | x | 32Bit |
0x20 | IO_16_Data_Out_Register | x | 0 | 32Bit |
IO Status Register
Address (Hex) | Name | Read | Write | Value |
---|
0x21 | IO_Data_Direction_Register | x | 0 | 32Bit |
0x22 | IO_Status_Register | x | 0 | 32Bit |
IO-card registers
Identifikation Register
Address (Hex) | Name | Read | Write | State |
---|
0x64 | Card Type ID | x | 0 |
ID (Hex) | Card type |
---|
0x01 | IO NIM/TTL card | 0x02 | ADC card | 0x03 | DAC card | 0x04 | Temperature card | 0x05 | Adapter card | 0x06 | Differential IO card (planned) | 0x07 | Differential ADC card | 0x08 | Thermo card |
|
0x65 | Hardware Version | x | 0 | 8Bit |
0x66 | Software Version | x | 0 | 8Bit |
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) | Name | Read | Write | States |
---|
0x01 | IO Status | x | x |
Value (Hex) | State |
---|
0x01 | TTL Input | 0x02 | TTL Output | 0x03 | NIM Input | 0x04 | NIM Output |
|
ADC card register
Address (Hex) | Name | Read | Write | State |
---|
0x01 | ADC Value High Byte | x | 0 | 8Bit |
0x02 | ADC Value Low Byte | x | 0 | 8Bit |
0x03 | Offset | x | x | 8Bit |
0x04 | CPLD Firmware Version | x | 0 | 8Bit |
DAC card register
Address (Hex) | Name | Read | Write | State |
---|
0x01 | DAC Value High Byte read | x | 0 | 8Bit |
0x02 | DAC Value Low Byte read | x | 0 | 8Bit |
0x04 | CPLD Fimware Version read | x | 0 | 8Bit |
Temperature card register
Address (Hex) | Name | Read | Write | State |
---|
0x01 | Temp. Value 1 Byte read | x | 0 | 8Bit |
0x02 | Temp. Value 2 Byte read | x | 0 | 8Bit |
0x03 | Temp.Value 3 Byte read | x | 0 | 8Bit |
0x04 | Temp.Value 4 Byte read | x | 0 | 8Bit |
0x05 | PT-Sensor | x | x |
Value (Hex) | State |
---|
0x01 | PT 10 | 0x02 | PT 50 | 0x03 | PT 100 default | 0x04 | PT 200 | 0x05 | PT 500 | 0x06 | PT 1000 |
|
0x06 | PT-Strom | x | x |
Value (Hex) | State |
---|
0x01 | 25µA | 0x02 | 50µA | 0x03 | 100µA | 0x04 | 250µA | 0x05 | 500µA default | 0x06 | 1mA |
|
Adapter card register
Adresse (Hex) | Name | Read | Write | Zustände |
---|
0x01 | Value 1 | x | 0 | 8Bit |
0x02 | Value 2 | x | 0 | 8Bit |
0x03 | Value 3 | x | 0 | 8Bit |
0x04 | Value 4 | x | 0 | 8Bit |
0x05 | Filter | x | x |
Value (Hex) | State |
---|
0x00 | Filter Off | 0x01 | Filter over 2 Values | 0x02 | Filter over 4 Values | 0x03 | Filter over 8 Values | 0x04 | Filter over 16 Values | 0x05 | Filter over 32 Values | 0x06 | Filter over 64 Values | 0x07 | Filter over 128 Values | 0x08 | Filter over 256 Values | 0x09 | Filter over 516 Values | 0x0A | Filter over 1024 Values |
|
0x67 | ID of the attached card | x | 0 | 8Bit |
DADC card register
Adresse (Hex) | Name | Read | Write | Zustände |
---|
0x01 | Value 1 | x | 0 | 8Bit |
0x02 | Value 2 | x | 0 | 8Bit |
0x03 | Value 3 | x | 0 | 8Bit |
0x04 | Value 4 | x | 0 | 8Bit |
0x67 | ID of the attached card | x | 0 | 8Bit |
Thermo card register
Adresse (Hex) | Name | Read | Write | Zustände |
---|
0x01 | Value 1 | x | 0 | 8Bit |
0x02 | Value 2 | x | 0 | 8Bit |
0x03 | Value 3 | x | 0 | 8Bit |
0x04 | Value 4 | x | 0 | 8Bit |
0x05 | Error | x | 0 |
Value | State |
---|
Bit 0 | no connections | Bit 1 | short-circuited to GND | Bit 2 | short-circuited to VCC |
|
0x06 | Thermo Typ | x | 0 | 8Bit (CHAR) |
0x67 | ID of the attached card | x | 0 | 8Bit |
IO board registers
Identifikation register
Adresse (Hex) | Name | Read | Write | Zustände |
---|
0x64 | IO Board ID | x | 0 | 0xEC |
0x65 | Hardware Version | x | 0 | 8Bit |
0x66 | Software Version | x | 0 | 8Bit |
Register
Register (Hex) | Name | Read | Write | States |
---|
0x01 | IO LED 1 | 0 | x |
Value 1 | Value 2 | Value 3 |
| Example |
---|
red | green | blue | color | interpretation | 0x00 | 0x00 | 0x00 | LED Aus | no card | 0x00 | 0x00 | 0x64 |
| NIM/TTL Output High | 0x00 | 0x64 | 0x00 |
| NIM/TTL Input High | 0x00 | 0x64 | 0x64 |
| ADC card | 0x64 | 0x00 | 0x00 |
| DAC card | 0x64 | 0x00 | 0x64 |
| NIM/TTL Input Low | 0x64 | 0x64 | 0x00 |
| NIM/TTL Output Low | 0x64 | 0x32 | 0x00 |
| Temperature card | 0xXX | 0xXX | 0xXX |
| Adapter card - Farbe passt sich an |
|
0x02 | IO LED 2 | 0 | x |
0x03 | IO LED 3 | 0 | x |
0x04 | IO LED 4 | 0 | x |
0x06 | IO LED 6 | 0 | x |
0x07 | IO LED 7 | 0 | x |
0x08 | IO LED 8 | 0 | x |
0x09 | IO LED 9 | 0 | x |
0x0A | IO LED 10 | 0 | x |
0x0B | IO LED 11 | 0 | x |
0x0C | IO LED 12 | 0 | x |
0x0D | IO LED 13 | 0 | x |
0x0E | IO LED 14 | 0 | x |
0x0F | IO LED 15 | 0 | x |
0x10 | IO LED 16 | 0 | x |
0x11 | Status LED 1 | 0 | x |
0x12 | Status LED 2 | 0 | x |
|
|
0x14 | All LEDs have same color | 0 | x |
0x15 | LEDs Dimmen | 0 | x |
Value 1 | Value 2 | Value 3 |
---|
LED 18 & 17 | LED 16 to 9 | LED 8 to 1 | 0b000000XX | 0bXXXXXXXX | 0bXXXXXXXX |
|
0x16 | LEDs blinking | 0 | x |
Value 1 | Value 2 | Value 3 |
---|
LED 18 & 17 | LED 16 to 9 | LED 8 to 1 | 0b000000XX | 0bXXXXXXXX | 0bXXXXXXXX |
|
0x17 | Dimm Geschwindigkeit x*100ms | 0 | x |
Value 1 | Value 2 | Value 3 |
---|
0x00 | 0x00 | 0x00->0xFF |
|
0x18 | Blink Geschwindigkeit x*100ms | 0 | x |
Value 1 | Value 2 | Value 3 |
---|
0x00 | 0x00 | 0x00->0xFF |
|
Display registers
Identification Register
Address (Hex) | Name | Read | Write | State |
---|
0x64 | IO Board ID | x | 0 | 0xEC |
0x65 | Hartware Version | x | 0 | 8Bit |
0x66 | Software Version | x | 0 | 8Bit |
Register
Address (Hex) | Name | Read | Write | State |
---|
0x01 | Status | x | x |
Value (Hex) | State |
---|
0x00 | Brightness is automatically adjusted (Default) | 0x01 | Brightness adjusted by Poti on main board (Display Leiterplatte) | 0x02 | Brightness is adjusted by the Brighness Value (see 0x02) | 0x03 | Display off |
|
0x02 | Brightness Value | x | x | 8 Bit |
Mainboard registers
Register
Address (Hex) | Name | Read | Write | State |
---|
0x64 | IO Board ID | x | 0 | 0xEC |
0x65 | Hartware Version | x | 0 | 8Bit |
0x66 | Software Version | x | 0 | 8Bit |
Register
Adresse (Hex) | Name | Read | Write | States |
---|
0x01 | USV Status | x | x |
Value (Hex) | State |
---|
0x00 | USV deactivated | 0x01 | USV active (Default) |
|
0x02 | Charging Status | x | x |
Value (Hex) | State |
---|
0x00 | Battery charging off | 0x01 | Battery charging on (Default) |
|
0x03 | USV Überbrückungszeit nach Stromausfall in sek. | x | x | 8Bit (Value * Seconds) |
0x04 | Time after power failure in seconds | x | 0 | 8Bit (Value * Seconds) |
0x05 | Charging controller status | x | 0 |
Value (Hex) | State |
---|
0x00 | Charging controller deactivated / no input voltage | 0x01 | Charging controller standby / no battery attached | 0x03 | Battery fully charged | 0x04 | Battery voltage is low | 0x05 | Battery is charging | 0x07 | Temperature failure / Timer failure |
|
0x06 | Audio-Volume | x | x |
Value (Hex) | State |
---|
0x2B | Volume_Low | 0x35 | Volume_Medium (Default) | 0x63 | Volume_High |
|
0x07 | Battery voltage MSB read | x | 0 | 8Bit |
0x08 | Battery voltage LSB read | x | 0 | 8Bit |