// // 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