126 lines
6.1 KiB
C
126 lines
6.1 KiB
C
//
|
||
// Created by cfif on 05.05.23.
|
||
//
|
||
|
||
#ifndef HVAC_M7_GPIOS_H
|
||
#define HVAC_M7_GPIOS_H
|
||
|
||
#include "GpioPin.h"
|
||
//#include "PowerManagement.h"
|
||
|
||
typedef struct {
|
||
tGpioPin LED1;
|
||
tGpioPin LED2;
|
||
tGpioPin LED3;
|
||
} tLed;
|
||
|
||
typedef struct {
|
||
tGpioPin WD_EN; // Разрешение работы WD (0 - ВКЛ)
|
||
tGpioPin WDO; // При возникновении ошибки сторожевого таймера этот вывод подтягивается к низкому уровню напряжения (OpenDrain HIGH)
|
||
tGpioPin WD; // Watchdog service-signal (подавать меандр не менее 100 мкс)
|
||
} tTPS7B6850QPWPRQ1;
|
||
|
||
|
||
// Допустим, вы выбрали R_резистора = 1.2 кОм (1200 Ом). Микроконтроллер измерил U_на_резисторе = 1.1 В (U_на_резисторе = ADC_reading * (Vref / 4095)).
|
||
// Сначала находим ток диагностики: I_IS = U / R = 1.1 В / 1200 Ом ≈ 0.000917 А (0.917 мА).
|
||
// Затем находим ток нагрузки: I_мотора = I_IS * kILIS = 0.000917 А * 550 ≈ 0.504 А.
|
||
// kILIS = 550 (константа микросхемы из документации)
|
||
// Результат: ток через мотор составляет примерно 0.5 А.
|
||
// IL(NOM)1 - номинальный ток нагрузки при активном одном канале (2А)
|
||
// IL(NOM)2 - номинальный ток нагрузки при активных двух каналах (1.5А)
|
||
|
||
// IL(SC) — ток нагрузки в режиме короткого замыкания (ограниченный схемой защиты)
|
||
// 5 В Минимум 8 А (типично ~10 А)
|
||
// 28 В Типично 4 А (IL28(SC))
|
||
|
||
// IL(OL) (5-30 mA) — пороговый ток для обнаружения обрыва нагрузки (Open Load), когда канал включен. Если IL < IL(OL), система диагностирует обрыв
|
||
|
||
|
||
typedef struct {
|
||
tGpioPin Incar_Motor_Front_EN; // Канал 0 (1 - ВКЛ)
|
||
tGpioPin Incar_EN_Diag; // Разрешение диагностики (1 - ВКЛ)
|
||
tGpioPin Incar_SEL_Diag; // Вывод диагностики (0 - Канал 0; 1 - Канал 1)
|
||
tGpioPin Incar_Motor_Rear_EN; // Канал 1 (1 - ВКЛ)
|
||
} tBTS5180_2EKA_FrontAndRearIncarMotor;
|
||
|
||
typedef struct {
|
||
tGpioPin TwoWayValve_EN; // Канал 0 (1 - ВКЛ)
|
||
tGpioPin TwoWayValve_EN_Diag; // Разрешение диагностики (1 - ВКЛ)
|
||
tGpioPin TwoWayValve_SEL_Diag; // Вывод диагностики (0 - Канал 0; 1 - Канал 1)
|
||
tGpioPin ReservePower_EN; // Канал 1 (1 - ВКЛ)
|
||
} tBTS5180_2EKA_TwoWayValveAndReservePowerSupply;
|
||
|
||
typedef struct {
|
||
tGpioPin PtcRelayDriver1_EN; // Канал 0 (1 - ВКЛ)
|
||
tGpioPin PtcRelayDriver_EN_Diag; // Разрешение диагностики (1 - ВКЛ)
|
||
tGpioPin PtcRelayDriver_SEL_Diag; // Вывод диагностики (0 - Канал 0; 1 - Канал 1)
|
||
tGpioPin PtcRelayDriver2_EN; // Канал 1 (1 - ВКЛ)
|
||
} tBTS5180_2EKA_2xChannelPTCPowerControl;
|
||
|
||
typedef struct {
|
||
tGpioPin ShutOffFront_EN; // Канал 0 (1 - ВКЛ)
|
||
tGpioPin ShutOff_EN_Diag; // Разрешение диагностики (1 - ВКЛ)
|
||
tGpioPin ShutSel_SEL_Diag; // Вывод диагностики (0 - Канал 0; 1 - Канал 1)
|
||
tGpioPin ShutOffRear_EN; // Канал 1 (1 - ВКЛ)
|
||
} tBTS5180_2EKA_ShutOFFValveFrontRear;
|
||
|
||
typedef struct {
|
||
tGpioPin EN_ReservePower; // Резервный источник разрешение (1 - ВКЛ)
|
||
tGpioPin ST_ReservePower; // Резервный источник состояния состояние (1 - ошибок нет)
|
||
} tBTS4175SGAXUMA1_ReservePowerOutput;
|
||
|
||
typedef struct {
|
||
tGpioPin LIN_ActPower_AB; // Основной сигнал включения/выключения силового канала (выхода OUTPUT) (1 - ВКЛ)
|
||
tGpioPin Fault_RST_AB;
|
||
tGpioPin EN_CurrentSensing_AB; // Разрешение диагностики
|
||
} tVN7008AJ_FrontLINActuatorPowerDriverAB;
|
||
|
||
typedef struct {
|
||
tGpioPin LIN_ActPower_C; // Основной сигнал включения/выключения силового канала (выхода OUTPUT) (1 - ВКЛ)
|
||
tGpioPin Fault_RST_C;
|
||
tGpioPin EN_CurrentSensing_C; // Разрешение диагностики
|
||
} tVN7008AJ_RearLINActuatorPowerDriverC;
|
||
|
||
typedef struct {
|
||
tGpioPin ShutOffTXV1_EN; // Канал 0 (1 - ВКЛ)
|
||
tGpioPin ShutOffTXV_EN_Diag; // Разрешение диагностики (1 - ВКЛ)
|
||
tGpioPin ShutSelTXV_SEL_Diag; // Вывод диагностики (0 - Канал 0; 1 - Канал 1)
|
||
tGpioPin ShutOffTXV2_EN; // Канал 1 (1 - ВКЛ)
|
||
} tBTS5120_2EKA_ShutoffValvePowerTXV;
|
||
|
||
typedef struct {
|
||
tGpioPin EN_BATTChiller; // Холодильник разрешение (1 - ВКЛ)
|
||
tGpioPin ST_BATTChiller; // Холодильник состояния (1 - ошибок нет)
|
||
} tBTS4175SGAXUMA1_ShutOFFValveBatteryChiller;
|
||
|
||
typedef struct {
|
||
tTPS7B6850QPWPRQ1 TPS7B6850QPWPRQ1;
|
||
tGpioPin PBATT_CK_EN; // Контроль напряжения борт-сети (0 - ВКЛ)
|
||
tGpioPin SW5V_EN; // Включение 5V (0 - ВКЛ)
|
||
tBTS5180_2EKA_FrontAndRearIncarMotor BTS5180_2EKA_FrontRearIncarMotor;
|
||
tBTS5180_2EKA_TwoWayValveAndReservePowerSupply BTS5180_2EKA_TwoWayValveAndReservePowerSupply;
|
||
tBTS5180_2EKA_2xChannelPTCPowerControl BTS5180_2EKA_2xChannelPTCPower;
|
||
tBTS5180_2EKA_ShutOFFValveFrontRear BTS5180_2EKA_ShutOFFValveFrontRear;
|
||
tBTS4175SGAXUMA1_ReservePowerOutput BTS4175SGAXUMA1_ReservePowerOutput;
|
||
tBTS4175SGAXUMA1_ShutOFFValveBatteryChiller BTS4175SGAXUMA1_ShutOFFValveBatteryChiller;
|
||
tVN7008AJ_FrontLINActuatorPowerDriverAB VN7008AJ_FrontLINActuatorPowerDriverAB;
|
||
tVN7008AJ_RearLINActuatorPowerDriverC VN7008AJ_RearLINActuatorPowerDriverC;
|
||
tBTS5120_2EKA_ShutoffValvePowerTXV BTS5120_2EKA_ShutoffValvePowerTXV;
|
||
|
||
|
||
|
||
|
||
|
||
} tPower;
|
||
|
||
typedef struct {
|
||
tLed led;
|
||
tPower power;
|
||
} tGpios;
|
||
|
||
extern tGpios GPIOS;
|
||
|
||
void Gpios_Init();
|
||
|
||
#endif //HVAC_M7_GPIOS_H
|