Patune utilty - тонка настройка підсилювача потужності
Утиліта patune — це інтерактивна консольна програма для калібрування та налаштування параметрів підсилювача потужності (Power Amplifier, PA) у трансивері Ermak TT. Програма забезпечує керування зміщенням (bias) підсилювача, калібрування струмів каскадів, моніторинг та конфігурацію системи охолодження.
Призначення утиліти
Програма призначена для інженерів і техніків для:
- Автоматичного калібрування зміщення драйвера та вихідного каскаду
- Налаштування цільових струмів холостого ходу для кожного каскаду
- Моніторингу поточного статусу підсилювача потужності
- Керування тепловою компенсацією
- Конфігурації параметрів сигналізації (тривога за температурою та струмом)
- Налаштування таблиці керування вентилятором (охолодження)
- Збереження конфігурації в енергонезалежній пам'яті (NVMEM)
Режими роботи
Утиліта організована у вигляді ієрархічної системи меню:
├── Перегляд інформації
│ ├── Print PA info (статус)
│ ├── Print PA config (конфігурація)
│ ├── Print PA bias table (таблиця зміщення)
│ └── Print total current (споживання струму)
├── Редагування таблиці зміщення
│ ├── Print PA bias table
│ ├── Reset all bias to defaults
│ ├── Enter driver stage current
│ ├── Enter output stage current
│ ├── Autotune DAC bias for driver stage
│ ├── Autotune DAC bias for output stage
│ ├── Enter driver stage thermo compensation
│ └── Enter output stage thermo compensation
├── Редагування конфігурації PA
│ ├── Print PA config
│ ├── Edit max temperature ALARM
│ ├── Edit restore temperature ALARM
│ ├── Edit max driver current
│ ├── Edit max output stage current
│ └── Fan Table Editor
│ ├── Print fan lookup table
│ ├── Reset fan table to defaults
│ └── Edit entries 0-7
├── Швидкі команди
│ ├── Bias switch ON
│ ├── Bias switch OFF
│ ├── Reset overcurrent
│ └── Write all settings
Параметри командного рядка
Утиліта не приймає параметри командного рядка. Усе керування здійснюється через інтерактивне консольне меню.
Запуск програми
При запуску програма:
- Підключається до PA Manager
- Запитує поточну конфігурацію PA
- Запитує поточну таблицю зміщення (bias)
- Відображає головне меню
- Очікує вибору користувача
Формат введення
Введення користувача
Числове введення
При запиті числового значення програма очікує:
- Позитивне ціле число у вказаному діапазоні
- Або символ q для скасування операції
- Або q і Enter для виходу
Приклад введення поточного значення:
Валідація:
- Значення повинно бути в діапазоні [min, max]
- При введенні поза діапазоном програма видасть помилку і повторить запит
- Максимум 1 спроба на секунду (затримка 1 сек)
Числові значення зі знаком
Для теплової компенсації використовуються значення зі знаком:
Діапазони валідних значень:
- Теплова компенсація: -100 до +100 DAC/°C
- Температура: -40 до 126 °C
- Швидкість вентилятора: 0 до 100 %
Скасування операції
Натиснути q при будь-якому запиті введення для скасування поточної операції без збереження.
Навігація меню
- Цифри 0-9 для вибору пункту меню
- Enter для підтвердження
- q для повернення до попереднього меню
Формат виводу
Статус PA
Heat temp: 75C
Int temp: 65C
VSWR alarm : 0
Extra current alarm : 0
Temperature alarm : 0
Bias enable: 1
Bus voltage: 48mV
Output stage current: 1050mA
Driver stage current: 620mA
Output bias: 2450/2460mV
Driver bias: 1850/1855mV
Fan speed: 45
| Поле | Опис | Одиниця |
|---|---|---|
| Heat temp | Температура радіатора | °C |
| Int temp | Внутрішня температура | °C |
| VSWR alarm | Прапор тривоги за КСХ | 0/1 |
| Extra current alarm | Прапор тривоги за перетоком | 0/1 |
| Temperature alarm | Прапор тривоги за температурою | 0/1 |
| Bias enable | Статус увімкнення зміщення | 0/1 |
| Bus voltage | Напруга живлення | мВ |
| Output stage current | Струм вихідного каскаду | мА |
| Driver stage current | Струм драйвера | мА |
| Output bias | Напруга зміщення виходу (канал 0/1) | мВ |
| Driver bias | Напруга зміщення драйвера (канал 0/1) | мВ |
| Fan speed | Швидкість вентилятора | % |
Конфігурація PA
High limit temp: 80C
Low limit temp: 75C
Max driver current: 1200mA
Max output current: 2000mA
| Поле | Опис | Значення за замовчуванням |
|---|---|---|
| High limit temp | Максимальна температура (тривога) | 80°C |
| Low limit temp | Мінімальна температура (відновлення) | 75°C |
| Max driver current | Макс. струм драйвера (сигналізація) | 1200мА |
| Max output current | Макс. струм виходу (сигналізація) | 2000мА |
Таблиця зміщення (bias)
Bias DAC output 1: 2460
Bias DAC driver 0: 1850
Bias DAC driver 1: 1855
Target driver current,mA: 600
Target output current,mA: 1000
Driver thermo compensation,dac/C: -2
Output thermo compensation,dac/C: -3
Temprature of calibration,C: 25
| Поле | Опис | Діапазон |
|---|---|---|
| Bias DAC output [0/1] | DAC значення зміщення виходу каналів 0 і 1 | 0-4095 |
| Bias DAC driver [0/1] | DAC значення зміщення драйвера каналів 0 і 1 | 0-4096 |
| Target driver current | Цільовий струм холостого ходу драйвера | 1-1000 мА |
| Target output current | Цільовий струм холостого ходу виходу | 1-2000 мА |
| Driver thermo compensation | Теплова компенсація драйвера | -100 до +100 DAC/°C |
| Output thermo compensation | Теплова компенсація виходу | -100 до +100 DAC/°C |
| Temperature of calibration | Температура, при якій проводилось калібрування | °C |
Таблиця керування вентилятором
------|------------------|---------------
0 | 10 | 0%
1 | 20 | 7%
2 | 35 | 31%
3 | 40 | 63%
4 | 50 | 79%
5 | 60 | 100%
6 | 70 | 100%
7 | 126 | 100%
Таблиця містить 8 точок інтерполяції. На кожному рядку:
- Index: порядковий номер (0-7)
- Temperature: порогова температура в °C
- Fan Speed: швидкість вентилятора в %
Швидкість обчислюється інтерполяцією між точками на основі поточної температури.
Прогрес калібрування
Під час автоматичного калібрування відображається прогресбар:
Target Current: 600mA
DAC: 1800/4095 [***** ] 12% | Current: 150mA/600mA [**** ] 25%
Компоненти:
- DAC: поточне значення DAC і максимум
- Перший прогресбар: прогрес за DAC (жовтий)
- Current: поточний виміряний струм і цільовий струм
- Другий прогресбар: прогрес досягнення цільового струму (зелений)
Повідомлення про помилки
Get driver current ERROR
Request PA config ERROR
Connect/Disconnect loading ERROR
Unable to tune bias for Driver channel 0
Повідомлення про помилку червоним кольором вказує на збій зв'язку з PA Manager або непередбачений стан.
Повідомлення про успіх
Channel: 0
Final DAC Value: 1850
Final Current: 600mA
Bias switched ON.
New settings were recorder to NVMEM - OK.
Overcurrent flag reseted OK.
Успішні операції відображаються жовтим кольором.
Приклади використання
Приклад 1: Перевірка статусу підсилювача
************************************************************
| Power amplifier service utility version 1.2 |
************************************************************
[Main menu]
0 - Print PA info.
1 - Print PA config.
2 - Print PA bias table.
3 - [Edit bias table]
4 - [Edit PA configs]
5 - [Edit fan table]
6 - Bias switch ON.
7 - Bias switch OFF.
8 - Reset overcurrent.
9 - Write all settings.
q - Quit
Enter your choice: 0
Print PA info.
Heat temp: 45C
Int temp: 38C
VSWR alarm : 0
Extra current alarm : 0
Temperature alarm : 0
Bias enable: 1
Bus voltage: 48mV
Output stage current: 1050mA
Driver stage current: 620mA
Output bias: 2450/2460mV
Driver bias: 1850/1855mV
Fan speed: 35
Приклад 2: Встановлення цільового струму драйвера
[Bias table editor]
0 - Print PA bias table.
1 - Reset all bias to default value.
2 - Enter driver stage current.
3 - Enter output stage current.
4 - Autotune DAC bias for driver stage.
5 - Autotune DAC bias for output stage.
6 - Print power consumption for all stages.
7 - Enter driver stage thermo compensation.
8 - Enter output stage thermo compensation.
q - Quit
Enter your choice: 2
Enter driver stage current, mA (1-1000), press 'q' to cancel: 650
Приклад 3: Автоматичне калібрування драйвера
Tuning Driver Channel 1
Target Current: 600mA
DAC: 800/4096 [** ] 19% | Current: 0mA/600mA [ ] 0%
DAC: 1200/4096 [**** ] 29% | Current: 100mA/600mA [***** ] 16%
DAC: 1500/4096 [**** ] 36% | Current: 250mA/600mA [******* ] 41%
DAC: 1700/4096 [***** ] 41% | Current: 450mA/600mA [***** *** ] 75%
DAC: 1750/4096 [***** ] 42% | Current: 590mA/600mA [***** **** ] 98%
DAC: 1751/4096 [***** ] 42% | Current: 600mA/600mA [***** ***** ] 100%
✓ Finished OK
Channel: 1
Final DAC Value: 1751
Final Current: 600mA
Приклад 4: Редагування запису таблиці вентилятора
[Fan Table Editor]
0 - Print fan lookup table.
1 - Reset fan table to defaults.
2 - Edit entry 0 (10°C / 0%).
3 - Edit entry 1 (20°C / 7%).
...
Enter your choice: 3
Edit Fan Table Entry 2
Current settings:
Temperature: 35°C
Fan Speed: 31%
Enter new temperature (C) (-40 - 126), press 'q' to cancel: 30
Enter new fan speed (0-100%) (0-100), press 'q' to cancel: 25
Entry 2 updated:
Temperature: 30°C
Fan Speed: 25%
Приклад 5: Збереження конфігурації
New settings were recorder to NVMEM - OK.
Діагностика помилок
Помилка при калібруванні
Повідомлення:
Причини:
- Підсилювач не працює
- Немає подачі живлення на каскад
- Датчик струму несправний
- Ланцюг зміщення неправильно налаштований
Вирішення:
- Перевірте живлення PA
- Перевірте конектори навантаження
- Переконайтеся, що зміщення можна змінювати
- Перевірте значення коефіцієнта в DAC
Помилка при записі конфігурації
Повідомлення:
Причини:
- NVMEM заповнена
- Апаратна помилка запису
- Втрата з'єднання з PA Manager
Вирішення:
- Повторіть запис
- Спробуйте скинути конфігурацію: "Reset all bias to default value"
- Перезавантажтесь і повторіть
Практичні сценарії застосування
Сценарій 1: Початкове налаштування нового підсилювача
- Вибрати "Print PA info"
- Переконатися, що датчики працюють
Крок 2: Встановлення цільових струмів
- Вибрати "Edit bias table" → "Enter driver stage current"
- Ввести 600 мА (типове значення)
- Вибрати "Enter output stage current"
- Ввести 1000 мА (типове значення)
Крок 3: Автоматичне калібрування
- Вибрати "Autotune DAC bias for driver stage"
- Дочекатися завершення (обидва канали послідовно)
- Вибрати "Autotune DAC bias for output stage"
- Дочекатися завершення
Крок 4: Перевірка результатів
- Вибрати "Print PA info"
- Переконатися, що струми в межах цільових значень
Крок 5: Збереження
- Вибрати "Write all settings"
Сценарій 2: Налаштування керування вентилятором
- Вибрати "Edit fan table" → "Print fan lookup table"
Крок 2: Редагування точок інтерполяції
- Для кожного запису:
- Вибрати "Edit entry N"
- Встановити температуру спрацювання
- Встановити швидкість вентилятора в %
Крок 3: Збереження
- Вибрати "Write all settings"
Приклад таблиці для холодного клімату:
Entry 0: 15°C / 0%
Entry 1: 25°C / 10%
Entry 2: 40°C / 30%
Entry 3: 50°C / 60%
Entry 4: 60°C / 80%
Entry 5: 70°C /100%
Entry 6: 80°C /100%
Entry 7: 126°C /100%
Сценарій 3: Обслуговування та діагностика
- Вибрати "Print PA bias table"
- Переконатися, що всі значення в межах допустимого
- Вибрати "Print PA config"
Крок 2: Перевірка поточного споживання
- Вибрати "Print power consumption for all stages"
- Порівняти з очікуваними значеннями
Крок 3: Тестування підсилювача
- Вибрати "Bias switch ON"
- Перевірити "Print PA info"
- Переконатися, що всі тривоги у нульовому стані
- Вибрати "Bias switch OFF"
Крок 4: Скидання тривоги (якщо потрібно)
- Вибрати "Reset overcurrent"
Обмеження та особливості реалізації
Обмеження за параметрами
| Параметр | Мінімум | Максимум | Примітка |
|---|---|---|---|
| Струм драйвера | 1 мА | 1000 мА | Цільове значення |
| Струм виходу | 1 мА | 2000 мА | Цільове значення |
| Макс. струм сигналізації (драйвер) | - | 6000 мА | Порогове значення |
| Макс. струм сигналізації (вихід) | - | 26000 мА | Порогове значення |
| Температура радіатора | -40°C | 126°C | Діапазон датчика |
| Максимальна температура тривоги | - | 80°C | Обмежено |
| DAC зміщення | 0 | 4095 (вихід) / 4096 (драйвер) | Роздільність 12 біт |
| Теплова компенсація | -100 | +100 | DAC/°C |
| Швидкість вентилятора | 0% | 100% | Відповідає DAC 0-63 |
Версія утиліти: 1.2