- [ ] 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.