KM3NeT CLB  2.0
KM3NeT CLB v2 Embedded Software
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dev_xadc.h
Go to the documentation of this file.
1 /*
2  * KM3NeT CLB v2 Firmware
3  *
4  * Copyright 2014 KM3NeT Collaboration
5  *
6  * All Rights Reserved.
7  *
8  *
9  * File : dev_xadc.h
10  * Created : 15 apr 2014
11  * Author : Riccardo Travaglini
12  */
13 
14 #ifndef DEV_XADC_H_
15 #define DEV_XADC_H_
16 
17 /**
18  * @file
19  *
20  * @ingroup devices
21  *
22  * XADC register definition
23  */
24 
25 #include "dev_defs.h"
26 
27 #define XADC_CMD_ALM_TEMP_BIT 0
28 #define XADC_CMD_ALM_VCCINT_BIT 1
29 #define XADC_CMD_ALM_VCCAUX_BIT 2
30 #define XADC_CMD_ALM_VCCBRAM_BIT 4
31 #define XADC_CMD_ALM_OT_BIT 3
32 
33 #define XADC_CMD_ALM_FLAG_TEMP_BIT 0
34 #define XADC_CMD_ALM_FLAG_VCCINT_BIT 1
35 #define XADC_CMD_ALM_FLAG_VCCAUX_BIT 2
36 #define XADC_CMD_ALM_FLAG_VCCBRAM_BIT 3
37 #define XADC_CMD_ALM_FLAG_OT_BIT 8
38 
39 #define XADC_CMD_AVERAGE_MASK 0x3000
40 #define XADC_CMD_AVERAGE_SHIFT 12
41 #define XADC_CMD_AVERAGE_MODE_NO 0x0
42 #define XADC_CMD_AVERAGE_MODE_16 0x1
43 #define XADC_CMD_AVERAGE_MODE_64 0x2
44 #define XADC_CMD_AVERAGE_MODE_256 0x3
45 
46 #define XADC_CMD_ALM_ENA_TEMP_BIT 1
47 #define XADC_CMD_ALM_ENA_VCCINT_BIT 2
48 #define XADC_CMD_ALM_ENA_VCCAUX_BIT 3
49 #define XADC_CMD_ALM_ENA_VCCBRAM_BIT 8
50 #define XADC_CMD_ALM_ENA_OT_BIT 0
51 
52 #define XADC_CMD_PWD_MASK 0x30
53 #define XADC_CMD_PWD_SHIFT 4
54 
55 #define XADC_CMD_SEQ_MASK 0xF000
56 #define XADC_CMD_SEQ_SHIFT 12
57 #define XADC_CMD_SEQ_DEFAULT 0x0
58 #define XADC_CMD_SEQ_CONT 0x2
59 
60 #define XADC_CMD_ONCHIP_CHAN_SEL 0x4701
61 
62 
63 typedef struct
64 {
65  reg16_i TEMP;
66  reg16_i VCCINT;
67  reg16_i VCCAUX;
68  reg16_i VPVN;
69  reg16_i VREFP;
70  reg16_i VREFN;
71  reg16_i VCCBRAM;
72  reg16_i unused0;
73  reg16_i SUPPLYAOFFS;
74  reg16_i ADCAOFFS;
75  reg16_i ADCAGAIN;
76  reg16_i unused1[2];
77  reg16_i VCCPINT;
78  reg16_i VCCPAUX;
79  reg16_i VCCODDR;
80  reg16_i VAUXPN[16];
81  reg16_i MAXTEMP;
82  reg16_i MAXVCCINT;
83  reg16_i MAXVCCAUX;
84  reg16_i MAXVCCBRAM;
85  reg16_i MINTEMP;
86  reg16_i MINVCCINT;
87  reg16_i MINVCCAUX;
88  reg16_i MINVCCBRAM;
89  reg16_i MAXVCCPINT;
90  reg16_i MAXVCCPAUX;
91  reg16_i MAXVCCODDR;
92  reg16_i unused2;
93  reg16_i MINVCCPINT;
94  reg16_i MINVCCPAUX;
95  reg16_i MINVCCODDR;
96  reg16_i unused3;
97  reg16_i SUPPLYBOFFS;
98  reg16_i ADCBOFFS;
99  reg16_i ADCBGAIN;
100  reg16_i unused4[12];
101  reg16_i FLAG;
102  reg16_io CONFREG[3];
103  reg16_io TESTREG[5];
104  reg16_io SEQUENCEREG[8];
105  reg16_io ALARMREG[16];
106  reg16_i unused5[32];
107 // reg_i extFLAG;
108 // reg_io extFLAGRESET;
109 
110 } XADC_Device;
111 
112 
113 
114 
115 
116 
117 
118 #endif /* DEV_PSO_H_ */
#define reg16_io
Input/Output register.
Definition: dev_defs.h:45
#define reg16_i
Read-only register.
Definition: dev_defs.h:51
This module contains some very basic type definitions used for hardware mappings. ...