Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 336 | f9daq | 1 | /* |
| 2 | * data_handling.h |
||
| 3 | * |
||
| 4 | * Created on: 18. dec. 2018 |
||
| 5 | * Author: Domen |
||
| 6 | */ |
||
| 7 | |||
| 8 | #ifndef SRC_DATA_HANDLING_H_ |
||
| 9 | #define SRC_DATA_HANDLING_H_ |
||
| 10 | |||
| 11 | |||
| 12 | #include <stdio.h> |
||
| 13 | #include <stdlib.h> |
||
| 14 | #include <stdint.h> |
||
| 15 | #include <string.h> |
||
| 16 | #include <fcntl.h> |
||
| 17 | #include <math.h> |
||
| 18 | //#include <sys/mman.h> |
||
| 19 | |||
| 20 | |||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | |||
| 25 | #define HW_address 0x40500000 |
||
| 26 | #define MAP_SIZE 4096UL //size of a /dev/mem file, potrebujem, ko pri funkciji mmap |
||
| 27 | #define MAP_MASK (MAP_SIZE - 1) |
||
| 28 | |||
| 29 | |||
| 30 | #define BIN_NUM 1024 |
||
| 31 | #define UC_rd_en_final_mask 0x00000001 |
||
| 32 | #define UC_rd_en_current_mask 0x00000002 |
||
| 33 | #define HIST_MASK 0xFFFFFF00 |
||
| 34 | |||
| 35 | |||
| 36 | |||
| 37 | |||
| 38 | |||
| 39 | |||
| 40 | typedef struct |
||
| 41 | { |
||
| 42 | /* ****** PC --> procesor --> FPGA ****** */ |
||
| 43 | uint32_t start; // zastavica za zagon sistema |
||
| 44 | uint32_t reset; // zastavica za ponastavitev sistema |
||
| 45 | uint32_t HW_config_flag; // zahteva za nastavitev parametrov FPGA vezja |
||
| 46 | uint32_t send_data_flag; // zahteva za posiljanje podatkov v PC |
||
| 47 | uint32_t disconnect_flag; // zahteva za prekinitev povezave procesor - PC |
||
| 48 | uint32_t threshold; // pragovna vrednost za komponento ADC_unit |
||
| 49 | uint32_t acq_window; //casovno okno zajemanja za komponento ADC_unit |
||
| 50 | uint32_t sw_trigger; // pragovna vrednost za prozenje integratorja |
||
| 51 | |||
| 52 | /* ****** FPGA --> procesor --> PC ****** */ |
||
| 53 | uint32_t hist_data; // stolpec histograma |
||
| 54 | uint32_t UC_rd_en_current; // sprotni histogram |
||
| 55 | uint32_t UC_rd_en_final; // koncni histogram |
||
| 56 | |||
| 57 | } HW_system; |
||
| 58 | |||
| 59 | |||
| 60 | |||
| 61 | //PUBLIC FUNCTION PROTOTYPES |
||
| 62 | uint32_t *HW_init(void); |
||
| 63 | uint8_t HW_comm( HW_system *strct, uint32_t *reg_addr); |
||
| 64 | |||
| 65 | |||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | |||
| 70 | |||
| 71 | |||
| 72 | |||
| 73 | |||
| 74 | |||
| 75 | |||
| 76 | |||
| 77 | |||
| 78 | #endif /* SRC_DATA_HANDLING_H_ */ |