Update CCS12 peripheral firmware and documentation

This commit is contained in:
2026-09-04 19:34:10 +03:00
parent 55bee25b4f
commit 8cd81736cf
56 changed files with 3808 additions and 504 deletions

View File

@@ -1,19 +1,41 @@
// âãâ
// вгв
#ifndef _MEASURE
#define _MEASURE
/**
* @file measure.h
* @brief Общие типы, состояния и API измерительно-диагностической подсистемы.
*
* Объявляет этапы обработки каналов, битовые флаги ошибок и разделяемые данные,
* используемые ISR, протоколом и главным циклом. Номера каналов и позиции битов
* являются частью внешнего формата сообщений; менять их независимо нельзя.
*/
/** ISR Timer1 для периодического запуска измерительных и диагностических этапов. */
interrupt void cpu_timer1_isr_SENS(void);
/** Инициализирует основные структуры, фильтры и состояния датчиков. */
void Init_sensors(void);
/** Выполняет дополнительную инициализацию, зависящую от типа платы. */
void Init_sensors_more(void);
/** Строит маски упаковки каналов для внешних сообщений. */
void Init_packMask(void);
/** Рассчитывает температуру канала; ovn выбирает источник/режим измерения. */
void Temper_count(int chan, int ovn);
/** Рассчитывает ток и обновляет диагностику заданного канала. */
void Current_count(int chan);
/** Рассчитывает электрическую мощность заданного канала. */
void Power_count(int chan);
/** Пересчитывает масштабные коэффициенты из калибровочных параметров. */
void calc_sensor_koef(void);
/** Обновляет признаки превышения допустимого напряжения. */
void Is_Voltage_Hi(void);
/** Пересчитывает пороги напряжения для текущего режима изделия. */
void calc_volta_edge(void);
/**
* Выполняет временную проверку порога ошибки.
* @return Ненулевое значение после требуемого числа последовательных нарушений.
*/
int er_anal(int term, unsigned int * count, long edge, int pre);
typedef union
@@ -64,14 +86,14 @@ typedef union
#define NOER 0xE000//C
#define EROR 0x01FF
#define READY_FREQ (500.0 * 2)// Ãö
#define BLINK_FREQ 2 // Ãö
#define READY_FREQ (500.0 * 2)// Гц
#define BLINK_FREQ 2 // Гц
#define BLINK_TIME (READY_FREQ / BLINK_FREQ)
#define CANPOWSE 20
#define ADC_FREQ 3750 //3885.0//777//2000//20000 //777 //3885 // Ãö (777*5)
#define DAC_FREQ 200//5 // Ãö
#define ADC_FREQ 3750 //3885.0//777//2000//20000 //777 //3885 // Гц (777*5)
#define DAC_FREQ 200//5 // Гц
#define LOAD_TIME 30//15 // sec
@@ -86,23 +108,23 @@ extern unsigned int Caliber_time;
#define ZERO 27
#define Cooling 5 // (°Ñ) Ãèñòåðåçèñ ïî ñíàòèþ ïåðåãðåâà
#define Cooling 5 // (°С) Гистерезис по снатию перегрева
#define COSPi6 0.86602540378443864676372317075294
#define RADIX2 1.4142135623730950488016887242097
#define POWER_380 0 // ïèòàíèå 380Â
#define POWER_38O 1 // ïèòàíèå 380Â
#define CURRENT 2 // òîê
#define VOLTAGE 3 // íàïðàæåíèå
#define POWER_31 4 // ïèòàíèå 31Â
#define POWER_27 5 // ïèòàíèå 24Â
#define POWER_24 6 // ïèòàíèå 24Â
#define POWER_15 7 // ïèòàíèå 15Â
#define TERMO_AD 8 // òåðìîäàò÷èê ìåëêîñõåìà
#define TERMO_RS 9 // òåðìîðåçèñòîð
#define TRM_OBEH 10 // òåðìîäàò÷èê îâåí
#define POWER_380 0 // питание 380В
#define POWER_38O 1 // питание 380В
#define CURRENT 2 // ток
#define VOLTAGE 3 // напражение
#define POWER_31 4 // питание 31В
#define POWER_27 5 // питание 24В
#define POWER_24 6 // питание 24В
#define POWER_15 7 // питание 15В
#define TERMO_AD 8 // термодатчик мелкосхема
#define TERMO_RS 9 // терморезистор
#define TRM_OBEH 10 // термодатчик овен
extern int TPL_CANS,tpl_cans;