4.4 KiB
Balsam 167 Peripheral
Прошивка периферийного контроллера Balsam 167 для цифрового сигнального контроллера Texas Instruments TMS320F28335. Контроллер измеряет токи, напряжения и температуры, анализирует аварийные состояния, управляет дискретными выходами и обменивается данными по CAN и двум каналам SCI/RS-485.
@tableofcontents
Назначение
Один исполняемый образ поддерживает несколько аппаратных ролей. Роль платы
определяется входами режима при старте и хранится в Desk:
| Значение | Роль | Основная задача |
|---|---|---|
dsk_COMM |
COMM | связь и термокалибровка |
dsk_BKSD |
BKSD | дискретные сигналы |
dsk_BKST |
BKST | температурные каналы |
dsk_EPLT |
EPLT | пульт/индикация |
dsk_SHKF |
SHKF | шкафной контроллер |
dsk_LOAD |
LOAD | нагрузка и аналоговый выход |
Конфигурация изделия выбирается макросом BALSAM в package.h. Для этого
репозитория задано значение 167.
Выполнение программы
main()настраивает системную тактовую частоту, PIE, внешнюю память, GPIO, CAN, SCI, EEPROM и измерительные каналы.timer_Init()выбирает обработчик Timer1:cpu_timer1_isr_SENS()для измерительных плат илиcpu_timer1_isr_PULT()для пульта.- Быстрый контур АЦП выполняется в
adc_isr(). - Главный цикл передаёт телеметрию, обслуживает команды настройки, дискретные входы и протокол BIOS/Modbus.
Карта модулей
- @ref measurement — сбор АЦП, фильтрация, пересчёт физических величин и ошибки.
- @ref communication — SCI/RS-485, разбор команд и Modbus-пакеты.
- @ref can_bus — CAN eCAN-A и циклическая телеметрия.
- @ref storage — SPI EEPROM, параметры и журнал во внешней памяти.
- @ref hardware — GPIO, дискретные выходы, ЦАП и семисегментный канал.
- @ref boot_protocol — команды чтения, записи и запуска ПО через BIOS-протокол.
- @ref utilities — CRC, фильтр Баттерворта, задержки и служебные функции.
Общая память данных
Массив modbus — центральная модель состояния. Макросы из package.h
проецируют его участки на флаги ошибок, измерения, уставки, коэффициенты
калибровки и команды. Измерительный контур обновляет модель, а CAN/RS-485
публикуют или изменяют её. При изменении разметки следует одновременно
проверять адреса протокола, ANSWER_LEN и таблицу данных изделия в Doc.
Сборка прошивки
Инструкции для Code Composer Studio 12 находятся в
README_CCS12.md. Старый проект CCS 3 использует
UKSSTMS320F28335.pjt; проект CCS 12 расположен в каталоге
UKSSTMS320F28335.
Сборка документации
Запустите Doc\\build.bat. Обзор будет помещён в Doc\\build\\index.html,
а при наличии Doxygen API-справочник появится в
Doc\\build\\api\\html\\index.html.
@warning Обработчики прерываний и функции, меняющие GPIO или регистры периферии, нельзя вызывать как обычные функции без понимания контекста PIE, частоты тактирования и выбранной роли платы.