Petaluma (MAXREFDES30#) Code Documentation  V01.00
16-Bit, 8-Ch, +/-10V input, Simultaneous-Sampling Analog Front End
 All Data Structures Files Functions Variables Macros Pages
axi_max11046.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Filename: C:\a_RefDesign\MAXREFDES30_Petaluma\RD30_ZED_V01_00\Design_Files\top.srcs\sources_1\edk\arm_system/drivers/axi_max11046_v1_00_a/src/axi_max11046.h
3 * Version: 1.00.a
4 * Description: axi_max11046 Driver Header File
5 * Date: Fri Sep 06 12:35:51 2013 (by Create and Import Peripheral Wizard)
6 *****************************************************************************/
7 
8 #ifndef AXI_MAX11046_H
9 #define AXI_MAX11046_H
10 
11 /***************************** Include Files *******************************/
12 
13 #include "xbasic_types.h"
14 #include "xstatus.h"
15 #include "xil_io.h"
16 
17 /************************** Constant Definitions ***************************/
18 
19 
23 #define AXI_MAX11046_USER_SLV_SPACE_OFFSET (0x00000000)
24 #define AXI_MAX11046_ADC_DATA_CH0_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000000)
25 #define AXI_MAX11046_ADC_DATA_CH1_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000004)
26 #define AXI_MAX11046_ADC_DATA_CH2_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000008)
27 #define AXI_MAX11046_ADC_DATA_CH3_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x0000000C)
28 #define AXI_MAX11046_ADC_DATA_CH4_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000010)
29 #define AXI_MAX11046_ADC_DATA_CH5_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000014)
30 #define AXI_MAX11046_ADC_DATA_CH6_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000018)
31 #define AXI_MAX11046_ADC_DATA_CH7_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x0000001C)
32 #define AXI_MAX11046_ADC_START_REG_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000020)
33 #define AXI_MAX11046_WRITE_CR_REG_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000024)
34 #define AXI_MAX11046_DELAY_REG_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000028)
35 //#define AXI_MAX11046_clk_divider_reg_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x0000002C)
36 #define AXI_MAX11046_IP_INTR_STATUS_REG_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000030)
37 #define AXI_MAX11046_IP_INTR_ENABLE_REG_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000034)
38 #define AXI_MAX11046_CR_REG_OFFSET (AXI_MAX11046_USER_SLV_SPACE_OFFSET + 0x00000038)
39 
40 /**************************** Type Definitions *****************************/
41 
42 
43 /***************** Macros (Inline Functions) Definitions *******************/
44 
62 #define AXI_MAX11046_mWriteReg(BaseAddress, RegOffset, Data) \
63  Xil_Out32((BaseAddress) + (RegOffset), (Xuint32)(Data))
64 
82 #define AXI_MAX11046_mReadReg(BaseAddress, RegOffset) \
83  Xil_In32((BaseAddress) + (RegOffset))
84 
85 void AXI_MAX11046_Config_ADC(u32 BaseAddress, u32 Value);
86 
87 void AXI_MAX11046_Start_Conversion(u32 BaseAddress);
88 
89 void AXI_MAX11046_Stop_Conversion(u32 BaseAddress);
90 
91 void AXI_MAX11046_Write_Delay_Reg(u32 BaseAddress, u32 Value);
92 
93 void AXI_MAX11046_Interrupt_Enable(u32 BaseAddress);
94 
95 void AXI_MAX11046_Interrupt_Disable(u32 BaseAddress);
96 
97 u32 AXI_MAX11046_Read_Data(u32 BaseAddress, u8 Channel);
98 
99 u32 AXI_MAX11046_Read_Interrupt_Status(u32 BaseAddress);
100 
101 void AXI_MAX11046_Single_Convert(u32 BaseAddress, u8 Channel, u16 * uSample);
102 
103 
104 #endif