| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- /**
- * @file TM7707_ATY.h
- *
- * @param Project DEVICE_GENERAL_ATY_LIB
- *
- * @author ATY
- *
- * @copyright
- * - Copyright 2017 - 2025 MZ-ATY
- * - This code follows:
- * - MZ-ATY Various Contents Joint Statement -
- * <a href="https://mengze.top/MZ-ATY_VCJS">
- * https://mengze.top/MZ-ATY_VCJS</a>
- * - CC 4.0 BY-NC-SA -
- * <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
- * https://creativecommons.org/licenses/by-nc-sa/4.0/</a>
- * - Your use will be deemed to have accepted the terms of this statement.
- *
- * @brief Familiar functions of TM7707 for all embedded device
- *
- * @version
- * - 1_01_220601 > ATY
- * -# Preliminary version, first Release
- * - Undone
- ********************************************************************************
- */
- #ifndef __TM7707_ATY_H
- #define __TM7707_ATY_H
- #include "INCLUDE_ATY.h"
- /******************************* For user *************************************/
- #include "bt.h"
- #include "gpio.h"
- #include "flash.h"
- #define TM7707_MCLKIN_PORT GpioPortB
- #define TM7707_MCLKIN_PIN GpioPin14 // TIM3_CH1B / TIM0_CHA
- #define TM7707_SCLK_PORT GpioPortB
- #define TM7707_SCLK_PIN GpioPin15
- #define TM7707_CS_PORT GpioPortB
- #define TM7707_CS_PIN GpioPin13
- #define TM7707_RESET_PORT GpioPortB
- #define TM7707_RESET_PIN GpioPin12
- #define TM7707_DIN_PORT GpioPortA
- #define TM7707_DIN_PIN GpioPin10
- #define TM7707_DOUT_PORT GpioPortA
- #define TM7707_DOUT_PIN GpioPin9
- #define TM7707_DRDY_PORT GpioPortA
- #define TM7707_DRDY_PIN GpioPin8
- #define TM7707_REFEN_PORT GpioPortA
- #define TM7707_REFEN_PIN GpioPin11
- #define TM7707_DATA_GROUP_SIZE 12
- void TM7707_GPIO_Init(void);
- #define TIM_COUNT_WHOLE 0x0001 // 1MHz // 0x07d0 - 2000 1KHz
- #define TIM_COUNT_HALF 0x0000
- void TM7707_MCLK_Init(void);
- /******************************************************************************/
- #define TM7707_REFEN_SET_H GPIO_SET_H(TM7707_REFEN_PORT, TM7707_REFEN_PIN)
- #define TM7707_REFEN_SET_L GPIO_SET_L(TM7707_REFEN_PORT, TM7707_REFEN_PIN)
- #define TM7707_RESET_SET_H GPIO_SET_H(TM7707_RESET_PORT, TM7707_RESET_PIN)
- #define TM7707_RESET_SET_L GPIO_SET_L(TM7707_RESET_PORT, TM7707_RESET_PIN)
- #define TM7707_CS_SET_H GPIO_SET_H(TM7707_CS_PORT, TM7707_CS_PIN)
- #define TM7707_CS_SET_L GPIO_SET_L(TM7707_CS_PORT, TM7707_CS_PIN)
- #define TM7707_SCLK_SET_H GPIO_SET_H(TM7707_SCLK_PORT, TM7707_SCLK_PIN)
- #define TM7707_SCLK_SET_L GPIO_SET_L(TM7707_SCLK_PORT, TM7707_SCLK_PIN)
- #define TM7707_DIN_SET_H GPIO_SET_H(TM7707_DIN_PORT, TM7707_DIN_PIN)
- #define TM7707_DIN_SET_L GPIO_SET_L(TM7707_DIN_PORT, TM7707_DIN_PIN)
- #define TM7707_DRDY_GET_H GPIO_GET_H(TM7707_DRDY_PORT, TM7707_DRDY_PIN)
- #define TM7707_DRDY_GET_L GPIO_GET_L(TM7707_DRDY_PORT, TM7707_DRDY_PIN)
- #define TM7707_DOUT_GET_H GPIO_GET_H(TM7707_DOUT_PORT, TM7707_DOUT_PIN)
- #define TM7707_DOUT_GET_L GPIO_GET_L(TM7707_DOUT_PORT, TM7707_DOUT_PIN)
- // Communication register
- #define TM7707_REG_COMM (0<<4) // Communication register
- #define TM7707_REG_SETUP (1<<4) // Setting register
- #define TM7707_REG_FILTER_H (2<<4) // Filter(high) register
- #define TM7707_REG_DATA (3<<4) // Data register
- #define TM7707_REG_TEST (4<<4) // Test register
- #define TM7707_REG_FILTER_L (5<<4) // Filter(low) register
- #define TM7707_REG_ZERO_CAL (6<<4) // Zero cal register
- #define TM7707_REG_FULL_CAL (7<<4) // Full cal register
- #define TM7707_WRITE (0<<3) // Write in next
- #define TM7707_READ (1<<3) // Read in next
- #define TM7707_STBY_MODE (1<<2) // Stanby mode, Cannot write to device register.
- #define TM7707_WORK_MODE (0<<2) // Work mode, Cannot write to device register.
- #define TM7707_CH_1 (0<<0) // AIN1+ AIN1-
- #define TM7707_CH_2 (1<<0) // AIN2+ AIN2-
- #define TM7707_CH_3 (2<<0) // AIN1- AIN1-
- #define TM7707_CH_4 (3<<0) // AIN1- AIN2-
- // Setting register (Reset 0x01)
- #define TM7707_MD_NORMAL (0<<6) // Normal
- #define TM7707_MD_CAL_SELF (1<<6) // Self calibrate
- #define TM7707_MD_CAL_ZERO (2<<6) // Calibrate Zero
- #define TM7707_MD_CAL_FULL (3<<6) // Calibrate Full
- #define TM7707_GAIN_1 (0<<3) // Gain x1
- #define TM7707_GAIN_2 (1<<3) // Gain x2
- #define TM7707_GAIN_4 (2<<3) // Gain x4
- #define TM7707_GAIN_8 (3<<3) // Gain x8
- #define TM7707_GAIN_16 (4<<3) // Gain x16
- #define TM7707_GAIN_32 (5<<3) // Gain x32
- #define TM7707_GAIN_64 (6<<3) // Gain x64
- #define TM7707_GAIN_128 (7<<3) // Gain x128
- #define TM7707_BIPOLAR (0<<2) // Bipolar input
- #define TM7707_UNIPOLAR (1<<2) // Unipolar input
- #define TM7707_BUF_NO (0<<1) // Non-buffered input
- #define TM7707_BUF_EN (1<<1) // Buffered input
- #define TM7707_FSYNC_0 (0<<0) // Filter no sync
- #define TM7707_FSYNC_1 (1<<0) // Filter sync
- // Filter high register (Reset 0x05)
- #define TM7707_BST_0 (0<<5) // Front current low
- #define TM7707_BST_1 (1<<5) // Front current high
- #define TM7707_CLKDIS_OUT0 (0<<4) // Clock out disable (safe power)
- #define TM7707_CLKDIS_OUT1 (1<<4) // Clock out enable
- // Filter low register (Reset 0x00)
- // Data register
- // Test register (Reset 0x00)
- // Zero cal register (Reset 0x1F4000)
- // Full cal register register (Reset 0x5761AB)
- // Legacy info regester
- #define TM7707_CLK_2_4576M (0<<2) // 2.4576M
- #define TM7707_CLK_1M (1<<2) // 1M
- #define TM7707_CLK_4_9152M (2<<2) // 4.9152M
- #define TM7707_CLK_2M (3<<2) // 2M
- #define TM7707_ZERO_0 0x0000
- #define TM7707_ZERO_1 0x0080
- #define TM7707_FS_50HZ 0x0000
- #define TM7707_FS_60HZ 0x0100
- #define TM7707_FS_250HZ 0x0200
- #define TM7707_FS_500HZ 0x0400
- #define TM7707_FS_DEFAULT 0x0F00
- void TM7707_WriteByte(uint8_t data_t);
- uint8_t TM7707_ReadByte(void);
- uint32_t TM7707_ReadData(void);
- float TM7707_VoltageCalc(float refVoltage, uint32_t dataIn);
- void TM7707_Init(void);
- void TM7707_Test(void);
- #endif /* __TM7707_ATY_H */
- /******************************** End Of File *********************************/
|