|
@@ -16,10 +16,6 @@ $ make fw HARDWARE=ARBITER_R
|
|
|
|
|
|
~={yellow}Разное=~
|
|
~={yellow}Разное=~
|
|
- Можно ориентироваться на проект для stm32 https://192.168.24.200:3000/drep/teplo_bt7k.git
|
|
- Можно ориентироваться на проект для stm32 https://192.168.24.200:3000/drep/teplo_bt7k.git
|
|
-- Для питания от supercup нужно включить пин charger.charge_on
|
|
|
|
-```bash
|
|
|
|
-$ echo 1 > charger.charge_on/value
|
|
|
|
-```
|
|
|
|
|
|
|
|
|
|
|
|
~={yellow}Важное=~
|
|
~={yellow}Важное=~
|
|
@@ -90,8 +86,6 @@ echo 1 > /sys/devices/platform/bt7kgpio/charger.charge_on/value
|
|
1. Интегрироваться в проект Дмитрия Репникова.
|
|
1. Интегрироваться в проект Дмитрия Репникова.
|
|
2. Модуль мультиплексора. Работа мультиплексора проверена. Добавить команды управления в SVC.
|
|
2. Модуль мультиплексора. Работа мультиплексора проверена. Добавить команды управления в SVC.
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
// первый аналоговый вход
|
|
// первый аналоговый вход
|
|
// второй аналоговый вход
|
|
// второй аналоговый вход
|
|
// третий аналоговый вход (проверить)
|
|
// третий аналоговый вход (проверить)
|
|
@@ -101,6 +95,172 @@ echo 1 > /sys/devices/platform/bt7kgpio/charger.charge_on/value
|
|
// верхняя точка super cup
|
|
// верхняя точка super cup
|
|
// средняя точка super cup
|
|
// средняя точка super cup
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+~={yellow}ПСД общие моменты=~
|
|
|
|
+- Artery отвечает за управление 2 и 3-ей системой параллельной диспетчеризации, но может принимать и передавать в первую систему. Управлением 1-ой системой занимается Allwinner.
|
|
|
|
+- ПСД_1 - RS485, ПСД_2 и ПСД_3 - RS232
|
|
|
|
+- Логику работы ПСД можно разделить на два режима.
|
|
|
|
+- В первом режиме модем (внешнее устройство опроса счетчика) общается со счетчиком. Artery всегда слушает только передатчик модема, Alwinner слушает передатчик счетчик.
|
|
|
|
+- Во втором режиме со счетчиком общается Alwinner. Artery слушает модем.
|
|
|
|
+- Artery может передавать в модем.
|
|
|
|
+uart2, uart3, uart5
|
|
|
|
+~={yellow}ПСД проверка=~
|
|
|
|
+
|
|
|
|
+~={green}Проверка ПСД 1=~
|
|
|
|
+- Настраиваем MUX (s0, s1) = (1, 0).
|
|
|
|
+- Отправляем данные из Artery uart_5. Данные заходят в модем_1.
|
|
|
|
+- На разъеме замыкаем RS485 модема_1 и счетчика.
|
|
|
|
+- Данные со счетчика попадают на порт принтера.
|
|
|
|
+- Для этого установить выходы сдвигового регистра U704 в соответствующее положение.
|
|
|
|
+
|
|
|
|
+~={green}Проверка ПСД 2=~
|
|
|
|
+- Проверяем связь Artery - Modem и Modem - Artery.
|
|
|
|
+- Установить пины PC11 и PC12 в 0.
|
|
|
|
+- Послать данные в uart_2.
|
|
|
|
+
|
|
|
|
+- Проверяем связь Modem - TC, TC - Modem.
|
|
|
|
+- Установить PC11 и PC12 в 1.
|
|
|
|
+- Установить PE3 и PE5 в 0.
|
|
|
|
+- Установить PE4 и PC10 в 1.
|
|
|
|
+
|
|
|
|
+~={green}Проверка ПСД 3=~
|
|
|
|
+- Проверяем связь Artery - Modem и Modem - Artery.
|
|
|
|
+- Установить PC3 и PB5 в 1.
|
|
|
|
+- Установить PB4 и PD7 в 0.
|
|
|
|
+- Послать данные в uart_3.
|
|
|
|
+
|
|
|
|
+- Проверяем связь Modem - TC, TC - Modem.
|
|
|
|
+- Установить PC3 и PB5 в 0.
|
|
|
|
+- Установить PD3 и PD2 в 1.
|
|
|
|
+
|
|
|
|
+~={green}Дополнительные проверки=~
|
|
|
|
+- SRVC2
|
|
|
|
+- SRVC3
|
|
|
|
+
|
|
|
|
+~={yellow}Разное программное=~
|
|
|
|
+- last_power_state = 1 при отключении внешнего питания
|
|
|
|
+
|
|
|
|
+~={yellow}Проблема со Standby mode.=~
|
|
|
|
+- When the Standby mode is being entered, the pull-down resistor of PA0 pin is automatically enabled by internal control circuitry of the chip. The reason of this is to avoid current leakage caused by pin floating.
|
|
|
|
+
|
|
|
|
+~={green}Логика работы, связанная со standby mode=~
|
|
|
|
+
|
|
|
|
+**Важно.**
|
|
|
|
+При отсутствии внешнего питания 220В контроллер не может достоверно установить факт наличия внешнего питания. Поэтому предлагает следующая логика:
|
|
|
|
+
|
|
|
|
+Контроллер перезагружается или включается по питанию.
|
|
|
|
+- Контроллер проверяет флаг PWC_STANDBY_FLAG. Если флаг не установлен контроллер продолжает загрузку в обычном режиме. Значит произошла перезагрузка или включение по питанию.
|
|
|
|
+- Флаг PWC_STANDBY_FLAG установлен - контроллер находился в режиме standby. Происходит настройка счетных входов и анализ их состояний. Если на каком либо из счетных входов 1, то считаем, что контроллер проснулся от счетных входов и внешнего питания нет. Контроллер сохраняет значения счетных входов и засыпает. Если на счетных входах уровня нет, то считаем, что факт наличия питания установить можно. Проверяем питание. Если питания нет, контроллер засыпает. Если питание есть, то контроллер загружается в обычном режиме.
|
|
|
|
+
|
|
|
|
+~={yellow}Изменения в таблице платы 069=~
|
|
|
|
+- EN_CONRX - сигнал отсутствует, убрал
|
|
|
|
+- EN_CONTX - сигнал отсутствует, убрал
|
|
|
|
+- EXT_PWR - сигнал наличия внешнего питания, добавил
|
|
|
|
+- ENBKUPPWR - отключает питание Artery после определенного времени в standby, добавил
|
|
|
|
+
|
|
|
|
+~={green}Порты=~
|
|
|
|
+```c
|
|
|
|
+/*
|
|
|
|
+// -----------------------------------------------------------------------------
|
|
|
|
+GPIOA
|
|
|
|
+
|
|
|
|
+PA0 - f_WAKEAP - сигнал пробуждения от счетных входов и при появлении внешнего
|
|
|
|
+питания. В таблице NO_INIT.
|
|
|
|
+PA1 - резерв
|
|
|
|
+PA3 - f_ADCBKUP - ADC_3, напряжение АКБ или supercup.
|
|
|
|
+PA4 - f_ENMEASBKUPPWR - на новой ревизии будет подключать измерительный делитель к напряжению supercup
|
|
|
|
+PA5 - f_CLOUT - ADC_5 напряжение на выходе current limiter
|
|
|
|
+PA6 - f_PWRDWNART - вход, пропадание внешнего питания
|
|
|
|
+PA7 - f_AINP1 - ADC_7, первый аналоговый вход (всегда)
|
|
|
|
+PA8 - резерв
|
|
|
|
+PA9 - f_TXD1ARTS - uart, boot, debug. В таблицу не включается.
|
|
|
|
+PA10 - f_RXD1ARTL - uart, boot, debug. В таблицу не включается.
|
|
|
|
+PA11 - резерв
|
|
|
|
+PA12 - f_EXTLEDS - LED на разъеме
|
|
|
|
+PA13 - f_SWDIOARTS - SWDIO. В таблицу не включается.
|
|
|
|
+PA14 - f_SWCLKARTS - SWCLK. В таблицу не включается.
|
|
|
|
+PA15 - f_PRTKKEY - кнопка принтера
|
|
|
|
+
|
|
|
|
+// -----------------------------------------------------------------------------
|
|
|
|
+GPIOB
|
|
|
|
+
|
|
|
|
+PB0 - f_ACINP4 - 2-ой счетный вход или 4 аналоговый (настройка зависит от ревизии)
|
|
|
|
+ В таблицу не включается. Инициализируется отдельно.
|
|
|
|
+PB1 - f_CLIN - ADC_9, вход current limetter
|
|
|
|
+PB2 - BOOT1 - на землю. В таблицу не включается.
|
|
|
|
+PB3 - f_SWOART - SWO. В таблицу не включается.
|
|
|
|
+PB4 [EN_U2EXTC ] [GPIO_INV | GPIO_INV] - f_nENARTTXD3toM3 - выход, разрешение
|
|
|
|
+PB5 [EN_EXTC2TCC] [GPIO_INV | GPIO_SET] - f_nENM3toTC3 - выход, разрешение
|
|
|
|
+PB6 - f_ARTSCL - I2C_CLK с главным процессором. В таблицу не включается.
|
|
|
|
+PB7 - f_ARTSDA - I2C_SDA с главным процессором. В таблицу не включается.
|
|
|
|
+PB8 - f_M1toARTRXD5 - uart5 rx. В таблицу не включается.
|
|
|
|
+PB9 - f_ARTTXD5toM1 - uart5 tx. В таблицу не включается.
|
|
|
|
+PB10 - резерв
|
|
|
|
+PB11 - f_ENBKUPPWR - (на новой ревизии) отключает питание Artery после 8 часов.
|
|
|
|
+ Добавил в таблицу.
|
|
|
|
+PB12 - f_ARTHWREVB0 - ревизия. Вынесен в таблицу GPIO_TABLE_HW_REVISION.
|
|
|
|
+PB13 - f_ARTHWREVB1 - ревизия. Вынесен в таблицу GPIO_TABLE_HW_REVISION.
|
|
|
|
+PB14 - f_ARTHWREVB2 - ревизия. Вынесен в таблицу GPIO_TABLE_HW_REVISION.
|
|
|
|
+PB15 - f_ARTHWREVB3 - ревизия. Вынесен в таблицу GPIO_TABLE_HW_REVISION.
|
|
|
|
+
|
|
|
|
+// -----------------------------------------------------------------------------
|
|
|
|
+GPIOC
|
|
|
|
+
|
|
|
|
+PC0 - f_SCMIDPL - ADC_10 средняя точка supercup
|
|
|
|
+PC1 - резерв
|
|
|
|
+PC2 - резерв
|
|
|
|
+PC3 [EN_TCC2EXTC] [GPIO_INV | GPIO_SET] - f_nENTC3toM3
|
|
|
|
+PC4 - f_AINP2 - ADC_14 - второй аналоговый вход
|
|
|
|
+PC5 (ADC15) - f_ACINP3 - первый счетный либо 3 аналоговый. В таблицу не включается.
|
|
|
|
+PC6 - резерв
|
|
|
|
+PC7 - резерв
|
|
|
|
+PC8 - резерв
|
|
|
|
+PC9 - резерв
|
|
|
|
+PC10 (TXD4) - [EN_TCB2ARM] [GPIO_INV] - f_nENTC2toAWRX1
|
|
|
|
+PC11 (RXD4) - [EN_U2EXTB] [GPIO_INV] - f_nENARTTXD2toM2
|
|
|
|
+PC12 (TXD5) - [EN_EXTB2U] [GPIO_INV] - f_nENM2toARTRX2
|
|
|
|
+PC13 (TAMPER)
|
|
|
|
+PC14 (LEXT_IN) часовой кварц
|
|
|
|
+PC15 (LEXT_OUT) часовой кварц
|
|
|
|
+
|
|
|
|
+// -----------------------------------------------------------------------------
|
|
|
|
+GPIOD
|
|
|
|
+
|
|
|
|
+PD0 - f_SRVC3 - выход
|
|
|
|
+PD1 - f_SRVC2 - выход
|
|
|
|
+PD2 - f_ENTC3toAWRXD3 [EN_TCC2ARM] [GPIO_INV] - выход
|
|
|
|
+PD3 - fnENAWTXD3toTC3 [EN_ARM2TCC] [GPIO_INV] - выход
|
|
|
|
+PD4 - резерв
|
|
|
|
+PD5 - f_ARTTXD2toM2 - uart2 tx. В таблицу не включается.
|
|
|
|
+PD6 - f_M2toARTRXD2 - uart2 rx. В таблицу не включается.
|
|
|
|
+PD7 - f_nENM3toARTRXD3 [EN_EXTC2U] [GPIO_INV] - выход
|
|
|
|
+PD8 (TXD3) - f_ARTTXD3toM3 - uart3 tx. В таблицу не включается.
|
|
|
|
+PD9 (RXD3) - f_M3ToARTRXD3 - uart3 rx. В таблицу не включается.
|
|
|
|
+
|
|
|
|
+// -----------------------------------------------------------------------------
|
|
|
|
+GPIOE
|
|
|
|
+
|
|
|
|
+PE0 (RXD8) - f_MUX1ADR1 - OK
|
|
|
|
+PE1 (TXD8) - f_MUX1ADR0 - OK
|
|
|
|
+PE3 - f_nENTC2toM2 [EN_TCB2EXTB] [GPIO_INV | GPIO_SET] - выход, разрешение
|
|
|
|
+PE4 - f_nENAWTXD1toTC2 [EN_ARM2TCB] [GPIO_INV]
|
|
|
|
+PE5 - f_nENM2toTC2 [EN_EXTB2TCB] [GPIO_INV | GPIO_SET]
|
|
|
|
+PE6 - резерв
|
|
|
|
+PE7 - f_IN1 - [BOARD_DI1] - дискретный вход - OK
|
|
|
|
+PE8 - f_IN2 - [BOARD_DI2] - дискретный вход - OK
|
|
|
|
+PE9 - f_IN3 - [BOARD_DI3] - дискретный вход - OK
|
|
|
|
+PE10 - f_IN4 - [BOARD_DI4]- дискретный вход - OK
|
|
|
|
+PE11 - f_IN5 - [BOARD_DI5] - дискретный вход - OK
|
|
|
|
+PE12 - f_IN6 - [BOARD_DI6] - дискретный вход - OK
|
|
|
|
+PE13 - f_IN7 - [BOARD_DI7] - дискретный вход - OK
|
|
|
|
+PE14 - f_IN8 - [BOARD_DI8] - дискретный вход
|
|
|
|
+PE15 - f_CLON - включение current limitter
|
|
|
|
+
|
|
|
|
+*/
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
~={yellow}Список пинов для проверки=~
|
|
~={yellow}Список пинов для проверки=~
|
|
- PA0 - f_WAKEAP - сигнал пробуждения (от счетных входов) - OK, в новой ревизии добавить появление внешнего питания
|
|
- PA0 - f_WAKEAP - сигнал пробуждения (от счетных входов) - OK, в новой ревизии добавить появление внешнего питания
|
|
- PA3 (ADC3) - f_ADCBKUP - ADC, напряжение АКБ или supercup - OK
|
|
- PA3 (ADC3) - f_ADCBKUP - ADC, напряжение АКБ или supercup - OK
|
|
@@ -165,66 +325,4 @@ echo 1 > /sys/devices/platform/bt7kgpio/charger.charge_on/value
|
|
- PE12 - f_IN6 - дискретный вход - OK
|
|
- PE12 - f_IN6 - дискретный вход - OK
|
|
- PE13 - f_IN7 - дискретный вход - OK
|
|
- PE13 - f_IN7 - дискретный вход - OK
|
|
- PE14 - f_IN8 - дискретный вход - OK
|
|
- PE14 - f_IN8 - дискретный вход - OK
|
|
-- PE15 - f_CLON - включение current limitter - OK
|
|
|
|
-
|
|
|
|
-~={yellow}ПСД общие моменты=~
|
|
|
|
-- Artery отвечает за управление 2 и 3-ей системой параллельной диспетчеризации, но может принимать и передавать в первую систему. Управлением 1-ой системой занимается Allwinner.
|
|
|
|
-- ПСД_1 - RS485, ПСД_2 и ПСД_3 - RS232
|
|
|
|
-- Логику работы ПСД можно разделить на два режима.
|
|
|
|
-- В первом режиме модем (внешнее устройство опроса счетчика) общается со счетчиком. Artery всегда слушает только передатчик модема, Alwinner слушает передатчик счетчик.
|
|
|
|
-- Во втором режиме со счетчиком общается Alwinner. Artery слушает модем.
|
|
|
|
-- Artery может передавать в модем.
|
|
|
|
-uart2, uart3, uart5
|
|
|
|
-~={yellow}ПСД проверка=~
|
|
|
|
-
|
|
|
|
-~={green}Проверка ПСД 1=~
|
|
|
|
-- Настраиваем MUX (s0, s1) = (1, 0).
|
|
|
|
-- Отправляем данные из Artery uart_5. Данные заходят в модем_1.
|
|
|
|
-- На разъеме замыкаем RS485 модема_1 и счетчика.
|
|
|
|
-- Данные со счетчика попадают на порт принтера.
|
|
|
|
-- Для этого установить выходы сдвигового регистра U704 в соответствующее положение.
|
|
|
|
-
|
|
|
|
-~={green}Проверка ПСД 2=~
|
|
|
|
-- Проверяем связь Artery - Modem и Modem - Artery.
|
|
|
|
-- Установить пины PC11 и PC12 в 0.
|
|
|
|
-- Послать данные в uart_2.
|
|
|
|
-
|
|
|
|
-- Проверяем связь Modem - TC, TC - Modem.
|
|
|
|
-- Установить PC11 и PC12 в 1.
|
|
|
|
-- Установить PE3 и PE5 в 0.
|
|
|
|
-- Установить PE4 и PC10 в 1.
|
|
|
|
-
|
|
|
|
-~={green}Проверка ПСД 3=~
|
|
|
|
-- Проверяем связь Artery - Modem и Modem - Artery.
|
|
|
|
-- Установить PC3 и PB5 в 1.
|
|
|
|
-- Установить PB4 и PD7 в 0.
|
|
|
|
-- Послать данные в uart_3.
|
|
|
|
-
|
|
|
|
-- Проверяем связь Modem - TC, TC - Modem.
|
|
|
|
-- Установить PC3 и PB5 в 0.
|
|
|
|
-- Установить PD3 и PD2 в 1.
|
|
|
|
-
|
|
|
|
-~={green}Дополнительные проверки=~
|
|
|
|
-- SRVC2
|
|
|
|
-- SRVC3
|
|
|
|
-
|
|
|
|
-~={yellow}Программные модули=~
|
|
|
|
-- [x] Счетные входы
|
|
|
|
-- [ ] usched
|
|
|
|
-- [ ] Таблица GPIO
|
|
|
|
-- [ ] Standby mode
|
|
|
|
-
|
|
|
|
-~={yellow}Разное программное=~
|
|
|
|
-- last_power_state = 1 при отключении внешнего питания
|
|
|
|
-
|
|
|
|
-~={yellow}Проблема со Standby mode.=~
|
|
|
|
-- When the Standby mode is being entered, the pull-down resistor of PA0 pin is automatically enabled by internal control circuitry of the chip. The reason of this is to avoid current leakage caused by pin floating.
|
|
|
|
-
|
|
|
|
-~={green}Логика работы, связанная со standby mode=~
|
|
|
|
-
|
|
|
|
-**Важно.**
|
|
|
|
-При отсутствии внешнего питания 220В контроллер не может достоверно установить факт наличия внешнего питания. Поэтому предлагает следующая логика:
|
|
|
|
-
|
|
|
|
-Контроллер перезагружается или включается по питанию.
|
|
|
|
-- Контроллер проверяет флаг PWC_STANDBY_FLAG. Если флаг не установлен контроллер продолжает загрузку в обычном режиме. Значит произошла перезагрузка или включение по питанию.
|
|
|
|
-- Флаг PWC_STANDBY_FLAG установлен - контроллер находился в режиме standby. Происходит настройка счетных входов и анализ их состояний. Если на каком либо из счетных входов 1, то считаем, что контроллер проснулся от счетных входов и внешнего питания нет. Контроллер сохраняет значения счетных входов и засыпает. Если на счетных входах уровня нет, то считаем, что факт наличия питания установить можно. Проверяем питание. Если питания нет, контроллер засыпает. Если питание есть, то контроллер загружается в обычном режиме.
|
|
|
|
|
|
+- PE15 - f_CLON - включение current limitter - OK
|