| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- /********************************************************************************
- **** Copyright (C), 2019, Fortior Technology Co., Ltd. ****
- ********************************************************************************
- * File Name : AMP.c
- * Author : Bruce HW&RD
- * Date : 2019-09-11
- * Description : .C file function description
- * Version : 1.0
- * Function List :
- *
- * Record :
- * 1.Date : 2019-09-11
- * Author : Bruce HW&RD
- * Modification: Created file
- ********************************************************************************/
- #include "AMP.h"
- #include "FU68xx_5_MCU.h"
- #include "Customer.h"
- #include <Myproject.h>
- void AMP_Init(void)
- {
- #if (Shunt_Resistor_Mode == Single_Resistor)
- {
- /* ----AMP 端口模拟功能设置---- */
- #if (HW_AMP_MODE == AMP_NOMAL) //外部放大
- {
- SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
- SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
- SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
- SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
-
- ClrBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
- }
- #else
- {
- SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
- SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
- SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
-
- ClrBit(AMP_CR0, AMP0M_GND); // 禁止运放反向输入端内部接地
- SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
-
- #if (HW_AMPGAIN == AMP2x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- SetBit(AMP_CR1, AMP0_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP4x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- SetBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP8x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- SetBit(AMP_CR1, AMP0_GAIN1);
- SetBit(AMP_CR1, AMP0_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP16x)
- {
- SetBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
- }
- #endif
- }
- #endif
- }
- #else
- {
- SetBit(P1_AN, P16); //AMP1 Pin设置为模拟模式 +
- SetBit(P1_AN, P17); //AMP1 Pin设置为模拟模式 -
- SetBit(P2_AN, P20); //AMP1 Pin设置为模拟模式 O
- SetBit(P2_AN, P21); //AMP2 Pin设置为模拟模式 +
- SetBit(P2_AN, P22); //AMP2 Pin设置为模拟模式 -
- SetBit(P2_AN, P23); //AMP2 Pin设置为模拟模式 O
- ClrBit(P2_OE, P23); //P23_OE需要强制为0,禁止DA1输出至PAD
- SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
- SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
- SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
- SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
- SetBit(AMP_CR0, AMP1EN); //AMP1 Enable
- SetBit(AMP_CR0, AMP2EN); //AMP2 Enable
-
- #if (HW_AMP_MODE == AMP_NOMAL) //外部放大
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
-
- ClrBit(AMP_CR1, AMP_PH_GAIN2);
- ClrBit(AMP_CR1, AMP_PH_GAIN1);
- ClrBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #else
- {
- #if (HW_AMPGAIN == AMP2x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- SetBit(AMP_CR1, AMP0_GAIN0);
-
- ClrBit(AMP_CR1, AMP_PH_GAIN2);
- ClrBit(AMP_CR1, AMP_PH_GAIN1);
- SetBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP4x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- SetBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
-
- ClrBit(AMP_CR1, AMP_PH_GAIN2);
- SetBit(AMP_CR1, AMP_PH_GAIN1);
- ClrBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP8x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- SetBit(AMP_CR1, AMP0_GAIN1);
- SetBit(AMP_CR1, AMP0_GAIN0);
-
- ClrBit(AMP_CR1, AMP_PH_GAIN2);
- SetBit(AMP_CR1, AMP_PH_GAIN1);
- SetBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP16x)
- {
- SetBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
-
- SetBit(AMP_CR1, AMP_PH_GAIN2);
- ClrBit(AMP_CR1, AMP_PH_GAIN1);
- ClrBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #endif
- }
- #endif
- }
- #endif
- // #if (PFCEnable == 1)
- // SetBit(P1_AN, P13 | P14 | P15);
- // ClrBit(P1_OE, P13);
- // SetBit(AMP_CR0, AMP3EN);
- // #endif
- }
|