ATY_LIB V2_102_230218
ATY_LIB for general devices or ALGO
 
Loading...
Searching...
No Matches
TM7707_ATY.h
Go to the documentation of this file.
1
27#ifndef __TM7707_ATY_H
28#define __TM7707_ATY_H
29
30#include "INCLUDE_ATY.h"
31
32/******************************* For user *************************************/
33#include "bt.h"
34#include "gpio.h"
35#include "flash.h"
36
37#define TM7707_MCLKIN_PORT GpioPortB
38#define TM7707_MCLKIN_PIN GpioPin14 // TIM3_CH1B / TIM0_CHA
39
40#define TM7707_SCLK_PORT GpioPortB
41#define TM7707_SCLK_PIN GpioPin15
42#define TM7707_CS_PORT GpioPortB
43#define TM7707_CS_PIN GpioPin13
44#define TM7707_RESET_PORT GpioPortB
45#define TM7707_RESET_PIN GpioPin12
46#define TM7707_DIN_PORT GpioPortA
47#define TM7707_DIN_PIN GpioPin10
48#define TM7707_DOUT_PORT GpioPortA
49#define TM7707_DOUT_PIN GpioPin9
50#define TM7707_DRDY_PORT GpioPortA
51#define TM7707_DRDY_PIN GpioPin8
52#define TM7707_REFEN_PORT GpioPortA
53#define TM7707_REFEN_PIN GpioPin11
54
55#define TM7707_DATA_GROUP_SIZE 12
56
57void TM7707_GPIO_Init(void);
58
59#define TIM_COUNT_WHOLE 0x0001 // 1MHz // 0x07d0 - 2000 1KHz
60#define TIM_COUNT_HALF 0x0000
61void TM7707_MCLK_Init(void);
62
63/******************************************************************************/
64
65
66#define TM7707_REFEN_SET_H GPIO_SET_H(TM7707_REFEN_PORT, TM7707_REFEN_PIN)
67#define TM7707_REFEN_SET_L GPIO_SET_L(TM7707_REFEN_PORT, TM7707_REFEN_PIN)
68
69#define TM7707_RESET_SET_H GPIO_SET_H(TM7707_RESET_PORT, TM7707_RESET_PIN)
70#define TM7707_RESET_SET_L GPIO_SET_L(TM7707_RESET_PORT, TM7707_RESET_PIN)
71#define TM7707_CS_SET_H GPIO_SET_H(TM7707_CS_PORT, TM7707_CS_PIN)
72#define TM7707_CS_SET_L GPIO_SET_L(TM7707_CS_PORT, TM7707_CS_PIN)
73#define TM7707_SCLK_SET_H GPIO_SET_H(TM7707_SCLK_PORT, TM7707_SCLK_PIN)
74#define TM7707_SCLK_SET_L GPIO_SET_L(TM7707_SCLK_PORT, TM7707_SCLK_PIN)
75#define TM7707_DIN_SET_H GPIO_SET_H(TM7707_DIN_PORT, TM7707_DIN_PIN)
76#define TM7707_DIN_SET_L GPIO_SET_L(TM7707_DIN_PORT, TM7707_DIN_PIN)
77
78#define TM7707_DRDY_GET_H GPIO_GET_H(TM7707_DRDY_PORT, TM7707_DRDY_PIN)
79#define TM7707_DRDY_GET_L GPIO_GET_L(TM7707_DRDY_PORT, TM7707_DRDY_PIN)
80#define TM7707_DOUT_GET_H GPIO_GET_H(TM7707_DOUT_PORT, TM7707_DOUT_PIN)
81#define TM7707_DOUT_GET_L GPIO_GET_L(TM7707_DOUT_PORT, TM7707_DOUT_PIN)
82
83// Communication register
84#define TM7707_REG_COMM (0<<4) // Communication register
85#define TM7707_REG_SETUP (1<<4) // Setting register
86#define TM7707_REG_FILTER_H (2<<4) // Filter(high) register
87#define TM7707_REG_DATA (3<<4) // Data register
88#define TM7707_REG_TEST (4<<4) // Test register
89#define TM7707_REG_FILTER_L (5<<4) // Filter(low) register
90#define TM7707_REG_ZERO_CAL (6<<4) // Zero cal register
91#define TM7707_REG_FULL_CAL (7<<4) // Full cal register
92#define TM7707_WRITE (0<<3) // Write in next
93#define TM7707_READ (1<<3) // Read in next
94#define TM7707_STBY_MODE (1<<2) // Stanby mode, Cannot write to device register.
95#define TM7707_WORK_MODE (0<<2) // Work mode, Cannot write to device register.
96#define TM7707_CH_1 (0<<0) // AIN1+ AIN1-
97#define TM7707_CH_2 (1<<0) // AIN2+ AIN2-
98#define TM7707_CH_3 (2<<0) // AIN1- AIN1-
99#define TM7707_CH_4 (3<<0) // AIN1- AIN2-
100
101// Setting register (Reset 0x01)
102#define TM7707_MD_NORMAL (0<<6) // Normal
103#define TM7707_MD_CAL_SELF (1<<6) // Self calibrate
104#define TM7707_MD_CAL_ZERO (2<<6) // Calibrate Zero
105#define TM7707_MD_CAL_FULL (3<<6) // Calibrate Full
106#define TM7707_GAIN_1 (0<<3) // Gain x1
107#define TM7707_GAIN_2 (1<<3) // Gain x2
108#define TM7707_GAIN_4 (2<<3) // Gain x4
109#define TM7707_GAIN_8 (3<<3) // Gain x8
110#define TM7707_GAIN_16 (4<<3) // Gain x16
111#define TM7707_GAIN_32 (5<<3) // Gain x32
112#define TM7707_GAIN_64 (6<<3) // Gain x64
113#define TM7707_GAIN_128 (7<<3) // Gain x128
114#define TM7707_BIPOLAR (0<<2) // Bipolar input
115#define TM7707_UNIPOLAR (1<<2) // Unipolar input
116#define TM7707_BUF_NO (0<<1) // Non-buffered input
117#define TM7707_BUF_EN (1<<1) // Buffered input
118#define TM7707_FSYNC_0 (0<<0) // Filter no sync
119#define TM7707_FSYNC_1 (1<<0) // Filter sync
120
121// Filter high register (Reset 0x05)
122#define TM7707_BST_0 (0<<5) // Front current low
123#define TM7707_BST_1 (1<<5) // Front current high
124#define TM7707_CLKDIS_OUT0 (0<<4) // Clock out disable (safe power)
125#define TM7707_CLKDIS_OUT1 (1<<4) // Clock out enable
126// Filter low register (Reset 0x00)
127// Data register
128// Test register (Reset 0x00)
129// Zero cal register (Reset 0x1F4000)
130// Full cal register register (Reset 0x5761AB)
131
132// Legacy info regester
133#define TM7707_CLK_2_4576M (0<<2) // 2.4576M
134#define TM7707_CLK_1M (1<<2) // 1M
135#define TM7707_CLK_4_9152M (2<<2) // 4.9152M
136#define TM7707_CLK_2M (3<<2) // 2M
137#define TM7707_ZERO_0 0x0000
138#define TM7707_ZERO_1 0x0080
139#define TM7707_FS_50HZ 0x0000
140#define TM7707_FS_60HZ 0x0100
141#define TM7707_FS_250HZ 0x0200
142#define TM7707_FS_500HZ 0x0400
143#define TM7707_FS_DEFAULT 0x0F00
144
145void TM7707_WriteByte(uint8_t data_t);
148float TM7707_VoltageCalc(float refVoltage, uint32_t dataIn);
149void TM7707_Init(void);
150
151void TM7707_Test(void);
152
153
154#endif /* __TM7707_ATY_H */
155
156/******************************** End Of File *********************************/
Headers include or defines for all embedded code.
float TM7707_VoltageCalc(float refVoltage, uint32_t dataIn)
Calculate voltage from 24 bit data.
Definition: TM7707_ATY.c:208
void TM7707_Test(void)
TM7707 test.
Definition: TM7707_ATY.c:286
void TM7707_MCLK_Init(void)
Definition: TM7707_ATY.c:57
void TM7707_GPIO_Init(void)
Definition: TM7707_ATY.c:33
uint32_t TM7707_ReadData(void)
Read data from TM7707 Data Register once.
Definition: TM7707_ATY.c:187
void TM7707_WriteByte(uint8_t data_t)
Write one byte to TM7707.
Definition: TM7707_ATY.c:137
void TM7707_Init(void)
Init TM7707.
Definition: TM7707_ATY.c:216
uint8_t TM7707_ReadByte(void)
Read one byte from TM7707.
Definition: TM7707_ATY.c:166
unsigned long uint32_t
Definition: fw_types.h:20
unsigned char uint8_t
Definition: fw_types.h:18