Устранена зависимость дискретов СИФУ от основного цикла в 166

Фронты START/STOP обрабатываются при принятии командного слова CAN/RS,
а окончание импульса обслуживается таймером. STOP имеет приоритет,
перекрытие выходов исключено, сохранена защита от самопуска при включении.
Загрузка параметров больше не подменяет живые команды нагрузки.

Добавлены подробные русские комментарии во все собственные C-модули
и основные заголовки, описание поведения и host-тест автомата.
Обновлены файлы прошивки. Полная сборка TI 22.6.1.LTS и тесты пройдены;
проверка на физической плате не выполнялась.
This commit is contained in:
2026-09-23 01:28:11 +03:00
parent 2d7148baa5
commit eb2ff79932
49 changed files with 1564 additions and 950 deletions
+12
View File
@@ -1,3 +1,9 @@
/* SPI EEPROM. Seeprom_read/write разбивают запрос на страницы
* и синхронно ждут spiSe2pFree. SPI-автомат продвигает таймер 2
* каждые 100 мкс. При запрете этого IRQ ожидание не завершится.
* Тайм-аут в старом драйвере отсутствует. Дискреты СИФУ теперь
* не зависят от того, завершилось ли это ожидание в main.
*/
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "spise2p.h"
@@ -19,6 +25,9 @@ int ccc=0;
/******* SPI bus Serial EEPROM driver Initialization routine ********/
/********************************************************************/
/* Блокирует main до завершения страниц. Запрет IRQ остановит
* SPI-автомат. CAN и таймер СИФУ должны прерывать это ожидание.
*/
void Seeprom_write( unsigned int adres,
unsigned int buf[],
unsigned int size)
@@ -50,6 +59,9 @@ void Seeprom_write( unsigned int adres,
CpuTimer2Regs.TCR.all = 0x4010; // Use write-only instruction to set TSS bit = 1
}
/* Чтение также синхронное для main, тайм-аут не реализован.
* При зависании проверить step/SPI и работу таймера 2.
*/
void Seeprom_read( unsigned int adres,
unsigned int buf[],
unsigned int size)