- [ ] SPI Flash SPI_1
- PB3 - SCK
- PB4 - MISO
- PB5 - MOSI
- PA15 - CS
- [ ] LEDs
- [ ] RS485
**Модуль дискретных входов-выходов. План работ.**
1) Проверка основных узлов модуля. [3-5 дней]
- Светодиоды
- Входы
- Выходы
- SPI Flash
- RS_485
- RTC
- Внешний Watchdog
- USART debug (разъем BOOT)
- USB
- Входы для определения ревизии (HW_REV_BIT_0..2)
- Адресные входы (ADR_1..4)
- Кнопки (RESET, SET)
2) Составление карты регистров modbus. Далее карта будет дополняться в процессе работ. [1 день]
3) Организация и настройка проекта. [1 день]
4) Программная реализация протокола Modbus RTU (канальный уровень). (На этом этапе достаточно отдавать несколько регистров. Далее отдать модуль для разработки драйвера и постепенно добавлять функционал). [1-2 дня]
5) Модуль settings. Определение структуры настроек, реализация основных функций (чтение, запись, восстановление). Работа с настройками по протоколу Modbus RTU (чтение/запись/команды). Производственные настройки. [3-5 дней]
6) Дискретные входы (режим дискретного входа, режим счетного входа, вкл/выкл и настройка периода антидребезга, безопасный режим работы). [5 дней]
7) Дискретные выходы (обычных режим работы и режим PWM, безопасный режим работы). [5 дней]
8) Светодиодная индикация. [1 день]
9) Дополнение возможностей Modbus. Управление входами/выходами, работа с настройками, управление модулем. [5 дней]
**Пункты 1-9 стараться успеть к марту.**
10) Удаленное обновление модуля (Modbus). [3-4 дня]
11) Реализация журнала событий и передача его по Modbus. [5 дней]
12) Web-интерфейс (доступ через USB-класс RNDIS), конфигурация модуля. [2-3 недели]
13) Отладка ПО и исправление неисправностей. [..]
14) Производственное тестирование. [..]
Актуальный план работ
1. Дискретные выходы [несколько дней].
- Режим ШИМ.
- Реализация логики безопасного режима работы модуля.
- Проблема с контролем обрыва (нужна помощь Дмитрия Утенкова).
- Определение КЗ (нужна помощь Дмитрия Утенкова).
3. LED - индикация. Проверил, работает. Нужно привязать к определенным входам/выходам [менее дня].
4. Кнопки [менее дня].
5. Добавить остальные параметры в modbus (управление модулем, ID, модель и т.п.) [1-2 дня]
6. Доработать обновление модуля. [1 день]
7. Ведение архива и журнала событий. [3 дня]
8. Вычитка архива и журнала по modbus. [3 - 5 дней]
9. Предварительное тестирование (делаю по мере появление функционала).
10. Стыковка с драйвером (работа с Пашей).
11. Рефакторинг.
Модуль аналоговых входов/выходов
- [x] LED - индикация
- [x] modbus rx/tx
- [x] modbus адресация (4 пина)
- [x] кнопки
- [x] ревизия
- [x] USB
- [x] WDT внешний таймер
- [x] SPI memory
- [x] USART debug
ADC DAC
ADC - https://www.compel.ru/lib/200368
DAC - TPC116S1
SHIFT REGS, MUX
- 74HC597D - shift reg
![[Pasted image 20240415123611.png]]
![[Pasted image 20240415124210.png]]
- 74HC4094PW - shift reg, подключен после 74HC597D к QS1 (метролог)![[Pasted image 20240415122028.png]]
![[Pasted image 20240415124521.png]]
- 74HC4051PW - mux/demux
Шины в устройстве аналоговых входов:
- AIN_CNTRL_BUS6
- SPI_LS_BUS6
- AN_INP_16 - MUX U301 <-- SH U1010 (SPI_LS_BUS6 - MOSI_LS, CLK_LS, CS_LS_MUX_CNRL)
- AN_INP_712
- AIN_CNTRL_BUS6
- CRNT_LIM_MS_BUS2
Шины в устройстве аналоговых выходов:
- AOUT_CNTRL_BUS8
- SPI_DAC_BUS6
Заметки
- 2 пары сдвиговых регистров U300 и U302, U400 и U402 отвечают за входы ALARM_IN_1..ALARM_IN_12 и выходы EN_CRNT_SNS_1..EN_CRNT_SNS_12.
- SPI_4 - ADC, DAC
- Возможно перенести: SPI2 - PB13, PB14, PB15
- Возможно перенести: SPI1 - PA5, PA6, PA7
- SPI_3 - Flash memory (PB3, PB4, PB5)
SPI_LS (Аналоговые входы)
- U300, U302 (CS_LS_CH16 - PD1) - пара сдвиговых регистров (входы и выходы)
- U1010 (CS_LS_MUX_CNTRL - PD3) - управляет MUX U301 (AIN16_MUX_S0, 1, 3, AN_INP_16) и MUX U401 (AIN712_MUX_S0, 1, 3, AN_INP_712)
- U400, U402 (CS_LS_CH712 - PD0) - пара сдвиговых регистров (входы и выходы). Здесь есть проблема с MISO. Перенести на другой порт.
SPI_LS (Аналоговые выходы)
- U860, U861 (ART_MISO_CH16/CS_LS) - пара сдвиговых регистров
Изменения
- Объединяем регистры U300, U302, U400, U402.