allwinner 069 070.md 11 KB

~={yellow}Allwinner T113=~

  • charger.bat_switch_on - не нужен (используется для литиевый АКБ)
  • charge_on - включение зарядка суперкапов и батареи
  • sc_on - включение повышающего преобразователя

~={yellow}Важное=~

  • Теперь повышающем преобразователем управляет Allwinner. Т.е. нужно вносить изменения в основной код. Раньше питание процессора обрубалось Artery.

~={yellow}Проблемы=~

  • Большой ток утечки (51мкА) в цепи измерения напряжения на SuperCap. Постоянно.

~={yellow}Управление gpio=~

echo 1 > /sys/devices/platform/bt7kgpio/charger.charge_on/value

~={yellow}Плата 069. Коэффициенты ADC.=~

  1. 3.25 - напряжения на суперкапах верхняя точка

~={yellow}Сигнал наличия 220V=~

  • PA_6

~={yellow}Режимы низкого потребления=~ Всего три режима: sleep mode, deepsleep mode, standby. В режиме standby сохраняется только содержание backup регистров.

Для перехода в standby:

  • установить бит SLEEPDEE в system control register
  • установить бит LPSEL бит в регистре PWC_CTRL
  • снять бит SWEF в регистре PWC_CTRLSTS

Для включения режим отладки в режимах низкого потребления:

  • установить бит STANDBY_DEBUG в регистре DEBUG_CTRL (0xE004 2004)

~={yellow}Тесты в режиме низкого потребления=~

  1. При нерабочем allwinner потребление artery 688 мкА.
  2. Полевики на i2c не влияют не потребление.
  3. Делитель в цепи измерения supercup ничего не дало
  4. Switch U702 потребляет 100мкА. Без него 544 мкА.
  5. Диод D704 потребляет порядка 1мкА. Управляет входом switch U702.
  6. Без микросхемы опорного напряжения U703 потребляет 430 мкА. (Опора потребляет порядка 100мкА)
  7. При питании U703 от 5.3В потребление сократилось на 30 мкА. Итого потребление 403 мкА.
  8. Ключи PRT_Key (кнопка принтера) постоянно открыта. Потребляет порядка 185 мкА. Без ключа потребление 215 мкА. Питание кнопки перенесли на внешний источник.
  9. Транзистор Q702 не виляет на потребление.
  10. Транзистор Q705 не виляет на потребление.
  11. Через обычные выход artery утечки нет.
  12. R720 заменить 100к Ом.
  13. Устранить разряд RTC батарейки!
  14. Резисторы R721 и R723 на потребление не влияют.
  15. Резистор R722 все же нужен!
  16. Обнаружили утечку supercap которая не зависит от artery.
  17. Добавить диод, подключенный анодом к аноду D704, а катодом к резистору R711 и управляющим входом свитча.
  18. Потребление RTC батареи 1 мкА.
  19. Необходимо завести сигнал появления питания 220В на пин wakeup artery.

~={green}Важно=~

  1. Artery на пробуждение из режима standby требуется 8мс.

~={green}Тестирование мультиплексора ПСД U904=~ 2 GPIO определяют какой из выходов mux подключен ко входу.

  1. При нулях на управляющих вход подключен к нулевому выходу (1Y0, 2Y0).
  2. При S0 = 1, S1 = 0 подключается выход 1Y1 и 2Y1.
  3. При S0 = 0, S1 = 1 подключается выход 1Y2 и 2Y2.
  4. При S0 = 1, S1 = 1 подключается выход 1Y3 и 2Y3.

~={green}Задачи по микроконтроллера Artery.=~

  1. Интегрироваться в проект Дмитрия Репникова.
  2. Модуль мультиплексора. Работа мультиплексора проверена. Добавить команды управления в SVC.

// первый аналоговый вход // второй аналоговый вход // третий аналоговый вход (проверить) // четвертый аналоговый вход // вход current limiter // выход current limiter // верхняя точка super cup // средняя точка super cup

~={yellow}Список пинов для проверки=~

  • PA0 - f_WAKEAP - сигнал пробуждения (от счетных входов) - OK, в новой ревизии добавить появление внешнего питания
  • PA3 (ADC3) - f_ADCBKUP - ADC, напряжение АКБ или supercup - OK
  • PA4 - f_ENMEASBKUPPWR - выход, на новой ревизии будет подключать измерительный делитель к напряжению supercup
  • PA5 - f_CLOUT - ADC напряжение на выходе current limiter - OK
  • PA6 - f_PWRDWNART - вход, пропадание внешнего питания - OK
  • PA7 - f_AINP1 - ADC, первый аналоговый вход (всегда) - OK
  • PA9 - f_TXD1ARTS - uart, boot, debug - OK
  • PA10 - f_RXD1ARTL - uart, boot, debug - OK
  • PA12 - f_EXTLEDS - LED на разъеме - OK
  • PA13 - f_SWDIOARTS - SWDIO - OK
  • PA14 - f_SWCLKARTS - SWCLK - OK
  • PA15 - f_PRTKKEY - кнопка принтера - OK

  • PB0 - f_ACINP4 - 2-ой счетный вход или 4 аналоговый (настройка зависит от ревизии) - OK, проверен как счетный вход на существующей ревизии

  • PB1 - f_CLIN - ADC, вход current limetter - OK

  • PB2 - BOOT1 - на землю - OK

  • PB3 - f_SWOART - SWO - OK

  • PB4 - f_nENARTTXD3toM3 - выход, разрешение - OK

  • PB5 - f_nENM3toTC3 - выход, разрешение - OK

  • PB6 - f_ARTSCL - I2C с главным процессором - OK

  • PB7 - f_ARTSDA - I2C с главным процессором - OK

  • PB8 - f_M1toARTRXD5 - uart5 rx - OK

  • PB9 - f_ARTTXD5toM1 - uart5 tx - OK

  • PB11 - f_ENBKUPPWR - (на новой ревизии) отключает питание Artery после 8 часов - проверить на новой ревизии

  • PB12 - f_ARTHWREVB0 - рев - OK

  • PB13 - f_ARTHWREVB1 - рев - OK

  • PB14 - f_ARTHWREVB2 - рев - OK

  • PB15 - f_ARTHWREVB3 - рев - OK

  • PC0 (ADC10)- f_SCMIDPL - ADC средняя точка supercup - OK

  • PC3 (ADC13) - f_nENTC3toM3 - выход, разрешение - OK

  • PC4 (ADC14) - f_AINP2 - второй аналоговый вход - OK

  • PC5 (ADC15) - f_ACINP3 - первый счетный либо 3 аналоговый - OK, проверен счетный вход на существующей ревизии

  • PC10 (TXD4) - f_nENTC2toAWRX1- выход, разрешение - OK

  • PC11 (RXD4) - f_nENARTTXD2toM2- выход, разрешение - OK

  • PC12 (TXD5) - f_nENM2toARTRX2- выход, разрешение - OK

  • PC13 (TAMPER) - OK

  • PC14 (LEXT_IN) часовой кварц - OK

  • PC15 (LEXT_OUT) часовой кварц - OK

  • PD0 (CAN1RX) - f_SRVC3 - выход - OK

  • PD1 (CAN1TX) - f_SRVC2 - выход - OK

  • PD2 - f_ENTC3toAWRXD3 - выход - OK

  • PD3 - fnENAWTXD3toTC3 - выход, разрешение - OK

  • PD5 - f_ARTTXD2toM2 - uart2 tx - OK

  • PD6 - f_M2toARTRXD2 - uart2 rx - OK

  • PD7 - f_nENM3toARTRXD3 - выход, разрешение- OK

  • PD8 (TXD3) - f_ARTTXD3toM3 - uart3 tx - OK

  • PD9 (RXD3) - f_M3ToARTRXD3 - uart3 rx - OK

  • PE0 (RXD8) - f_MUX1ADR1 - OK

  • PE1 (TXD8) - f_MUX1ADR0 - OK

  • PE3 - f_nENTC2toM2 - выход, разрешение - OK

  • PE4 - f_nENAWTXD1toTC2 - выход, разрешение - OK

  • PE5 - f_nENM2toTC2 - выход, разрешение - OK

  • PE7 - f_IN1 - дискретный вход - OK

  • PE8 - f_IN2 - дискретный вход - OK

  • PE9 - f_IN3 - дискретный вход - OK

  • PE10 - f_IN4 - дискретный вход - OK

  • PE11 - f_IN5 - дискретный вход - OK

  • PE12 - f_IN6 - дискретный вход - OK

  • PE13 - f_IN7 - дискретный вход - 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