Вікі-код для Patune utilty - fine tuning of PA

Остання зміна 2026/03/02 11:02 автором UT2UK

Показати останніх авторів
1 Утиліта **patune** — це інтерактивна консольна програма для калібрування та налаштування параметрів підсилювача потужності (Power Amplifier, PA) у трансивері Ermak TT. Програма забезпечує керування зміщенням (bias) підсилювача, калібрування струмів каскадів, моніторинг та конфігурацію системи охолодження.
2
3 ## Призначення утиліти
4
5 Програма призначена для інженерів і техніків для:
6
7 * Автоматичного калібрування зміщення драйвера та вихідного каскаду
8 * Налаштування цільових струмів холостого ходу для кожного каскаду
9 * Моніторингу поточного статусу підсилювача потужності
10 * Керування тепловою компенсацією
11 * Конфігурації параметрів сигналізації (тривога за температурою та струмом)
12 * Налаштування таблиці керування вентилятором (охолодження)
13 * Збереження конфігурації в енергонезалежній пам'яті (NVMEM)
14
15 ### Режими роботи
16
17 Утиліта організована у вигляді ієрархічної системи меню:
18
19 ```
20 Головне меню
21 ├── Перегляд інформації
22 │ ├── Print PA info (статус)
23 │ ├── Print PA config (конфігурація)
24 │ ├── Print PA bias table (таблиця зміщення)
25 │ └── Print total current (споживання струму)
26 ├── Редагування таблиці зміщення
27 │ ├── Print PA bias table
28 │ ├── Reset all bias to defaults
29 │ ├── Enter driver stage current
30 │ ├── Enter output stage current
31 │ ├── Autotune DAC bias for driver stage
32 │ ├── Autotune DAC bias for output stage
33 │ ├── Enter driver stage thermo compensation
34 │ └── Enter output stage thermo compensation
35 ├── Редагування конфігурації PA
36 │ ├── Print PA config
37 │ ├── Edit max temperature ALARM
38 │ ├── Edit restore temperature ALARM
39 │ ├── Edit max driver current
40 │ ├── Edit max output stage current
41 │ └── Fan Table Editor
42 │ ├── Print fan lookup table
43 │ ├── Reset fan table to defaults
44 │ └── Edit entries 0-7
45 ├── Швидкі команди
46 │ ├── Bias switch ON
47 │ ├── Bias switch OFF
48 │ ├── Reset overcurrent
49 │ └── Write all settings
50 ```
51
52 ## Параметри командного рядка
53
54 Утиліта не приймає параметри командного рядка. Усе керування здійснюється через інтерактивне консольне меню.
55
56 ### Запуск програми
57
58 ```bash
59 patune
60 ```
61
62 При запуску програма:
63
64 1. Підключається до PA Manager
65 1. Запитує поточну конфігурацію PA
66 1. Запитує поточну таблицю зміщення (bias)
67 1. Відображає головне меню
68 1. Очікує вибору користувача
69
70 ## Формат введення
71
72 ### Введення користувача
73
74 #### Числове введення
75
76 При запиті числового значення програма очікує:
77
78 * Позитивне ціле число у вказаному діапазоні
79 * Або символ `q` для скасування операції
80 * Або `q` і Enter для виходу
81
82 Приклад введення поточного значення:
83
84 ```bash
85 Enter driver stage current, mA (1-1000), press 'q' to cancel: 600
86 ```
87
88 **Валідація:**
89
90 * Значення повинно бути в діапазоні [min, max]
91 * При введенні поза діапазоном програма видасть помилку і повторить запит
92 * Максимум 1 спроба на секунду (затримка 1 сек)
93
94 #### Числові значення зі знаком
95
96 Для теплової компенсації використовуються значення зі знаком:
97
98 ```bash
99 Enter driver stage thermo compensation, C/dac (-100 - 100), press 'q' to cancel: -5
100 ```
101
102 **Діапазони валідних значень:**
103
104 * Теплова компенсація: -100 до +100 DAC/°C
105 * Температура: -40 до 126 °C
106 * Швидкість вентилятора: 0 до 100 %
107
108 #### Скасування операції
109
110 Натиснути `q` при будь-якому запиті введення для скасування поточної операції без збереження.
111
112 ### Навігація меню
113
114 * Цифри `0-9` для вибору пункту меню
115 * Enter для підтвердження
116 * `q` для повернення до попереднього меню
117
118 ## Формат виводу
119
120 ### Статус PA
121
122 ```bash
123 Print PA info.
124 Heat temp: 75C
125 Int temp: 65C
126 VSWR alarm : 0
127 Extra current alarm : 0
128 Temperature alarm : 0
129 Bias enable: 1
130 Bus voltage: 48mV
131 Output stage current: 1050mA
132 Driver stage current: 620mA
133 Output bias: 2450/2460mV
134 Driver bias: 1850/1855mV
135 Fan speed: 45
136 ```
137
138 | Поле | Опис | Одиниця |
139 | -------------------- | ------------------------------------- | ------- |
140 | Heat temp | Температура радіатора | °C |
141 | Int temp | Внутрішня температура | °C |
142 | VSWR alarm | Прапор тривоги за КСХ | 0/1 |
143 | Extra current alarm | Прапор тривоги за перетоком | 0/1 |
144 | Temperature alarm | Прапор тривоги за температурою | 0/1 |
145 | Bias enable | Статус увімкнення зміщення | 0/1 |
146 | Bus voltage | Напруга живлення | мВ |
147 | Output stage current | Струм вихідного каскаду | мА |
148 | Driver stage current | Струм драйвера | мА |
149 | Output bias | Напруга зміщення виходу (канал 0/1) | мВ |
150 | Driver bias | Напруга зміщення драйвера (канал 0/1) | мВ |
151 | Fan speed | Швидкість вентилятора | % |
152
153 ### Конфігурація PA
154
155 ```bash
156 Print PA config.
157 High limit temp: 80C
158 Low limit temp: 75C
159 Max driver current: 1200mA
160 Max output current: 2000mA
161 ```
162
163 | Поле | Опис | Значення за замовчуванням |
164 | ------------------ | ------------------------------------ | ------------------------- |
165 | High limit temp | Максимальна температура (тривога) | 80°C |
166 | Low limit temp | Мінімальна температура (відновлення) | 75°C |
167 | Max driver current | Макс. струм драйвера (сигналізація) | 1200мА |
168 | Max output current | Макс. струм виходу (сигналізація) | 2000мА |
169
170 ### Таблиця зміщення (bias)
171
172 ```bash
173 Bias DAC output 0: 2450
174 Bias DAC output 1: 2460
175 Bias DAC driver 0: 1850
176 Bias DAC driver 1: 1855
177 Target driver current,mA: 600
178 Target output current,mA: 1000
179 Driver thermo compensation,dac/C: -2
180 Output thermo compensation,dac/C: -3
181 Temprature of calibration,C: 25
182 ```
183
184 | Поле | Опис | Діапазон |
185 | -------------------------- | ---------------------------------------------- | ------------------- |
186 | Bias DAC output [0/1] | DAC значення зміщення виходу каналів 0 і 1 | 0-4095 |
187 | Bias DAC driver [0/1] | DAC значення зміщення драйвера каналів 0 і 1 | 0-4096 |
188 | Target driver current | Цільовий струм холостого ходу драйвера | 1-1000 мА |
189 | Target output current | Цільовий струм холостого ходу виходу | 1-2000 мА |
190 | Driver thermo compensation | Теплова компенсація драйвера | -100 до +100 DAC/°C |
191 | Output thermo compensation | Теплова компенсація виходу | -100 до +100 DAC/°C |
192 | Temperature of calibration | Температура, при якій проводилось калібрування | °C |
193
194 ### Таблиця керування вентилятором
195
196 ```bash
197 Index | Temperature (°C) | Fan Speed (%)
198 ------|------------------|---------------
199 0 | 10 | 0%
200 1 | 20 | 7%
201 2 | 35 | 31%
202 3 | 40 | 63%
203 4 | 50 | 79%
204 5 | 60 | 100%
205 6 | 70 | 100%
206 7 | 126 | 100%
207 ```
208
209 Таблиця містить 8 точок інтерполяції. На кожному рядку:
210
211 * **Index**: порядковий номер (0-7)
212 * **Temperature**: порогова температура в °C
213 * **Fan Speed**: швидкість вентилятора в %
214
215 Швидкість обчислюється інтерполяцією між точками на основі поточної температури.
216
217 ### Прогрес калібрування
218
219 Під час автоматичного калібрування відображається прогресбар:
220
221 ```bash
222 Tuning Driver Channel 0
223 Target Current: 600mA
224 DAC: 1800/4095 [***** ] 12% | Current: 150mA/600mA [**** ] 25%
225 ```
226
227 Компоненти:
228
229 * **DAC**: поточне значення DAC і максимум
230 * Перший прогресбар: прогрес за DAC (жовтий)
231 * **Current**: поточний виміряний струм і цільовий струм
232 * Другий прогресбар: прогрес досягнення цільового струму (зелений)
233
234 ### Повідомлення про помилки
235
236 ```bash
237 Set bias ON ERROR
238 Get driver current ERROR
239 Request PA config ERROR
240 Connect/Disconnect loading ERROR
241 Unable to tune bias for Driver channel 0
242 ```
243
244 Повідомлення про помилку червоним кольором вказує на збій зв'язку з PA Manager або непередбачений стан.
245
246 ### Повідомлення про успіх
247
248 ```bash
249 ✓ Finished OK
250 Channel: 0
251 Final DAC Value: 1850
252 Final Current: 600mA
253 Bias switched ON.
254 New settings were recorder to NVMEM - OK.
255 Overcurrent flag reseted OK.
256 ```
257
258 Успішні операції відображаються жовтим кольором.
259
260 ## Приклади використання
261
262 ### Приклад 1: Перевірка статусу підсилювача
263
264 ```bash
265 $ patune
266 ************************************************************
267 | Power amplifier service utility version 1.2 |
268 ************************************************************
269 [Main menu]
270 0 - Print PA info.
271 1 - Print PA config.
272 2 - Print PA bias table.
273 3 - [Edit bias table]
274 4 - [Edit PA configs]
275 5 - [Edit fan table]
276 6 - Bias switch ON.
277 7 - Bias switch OFF.
278 8 - Reset overcurrent.
279 9 - Write all settings.
280 q - Quit
281 Enter your choice: 0
282 Print PA info.
283 Heat temp: 45C
284 Int temp: 38C
285 VSWR alarm : 0
286 Extra current alarm : 0
287 Temperature alarm : 0
288 Bias enable: 1
289 Bus voltage: 48mV
290 Output stage current: 1050mA
291 Driver stage current: 620mA
292 Output bias: 2450/2460mV
293 Driver bias: 1850/1855mV
294 Fan speed: 35
295 ```
296
297 ### Приклад 2: Встановлення цільового струму драйвера
298
299 ```bash
300 Enter your choice: 3
301 [Bias table editor]
302 0 - Print PA bias table.
303 1 - Reset all bias to default value.
304 2 - Enter driver stage current.
305 3 - Enter output stage current.
306 4 - Autotune DAC bias for driver stage.
307 5 - Autotune DAC bias for output stage.
308 6 - Print power consumption for all stages.
309 7 - Enter driver stage thermo compensation.
310 8 - Enter output stage thermo compensation.
311 q - Quit
312 Enter your choice: 2
313 Enter driver stage current, mA (1-1000), press 'q' to cancel: 650
314 ```
315
316 ### Приклад 3: Автоматичне калібрування драйвера
317
318 ```bash
319 Enter your choice: 4
320 Tuning Driver Channel 1
321 Target Current: 600mA
322 DAC: 800/4096 [** ] 19% | Current: 0mA/600mA [ ] 0%
323 DAC: 1200/4096 [**** ] 29% | Current: 100mA/600mA [***** ] 16%
324 DAC: 1500/4096 [**** ] 36% | Current: 250mA/600mA [******* ] 41%
325 DAC: 1700/4096 [***** ] 41% | Current: 450mA/600mA [***** *** ] 75%
326 DAC: 1750/4096 [***** ] 42% | Current: 590mA/600mA [***** **** ] 98%
327 DAC: 1751/4096 [***** ] 42% | Current: 600mA/600mA [***** ***** ] 100%
328 ✓ Finished OK
329 Channel: 1
330 Final DAC Value: 1751
331 Final Current: 600mA
332 ```
333
334 ### Приклад 4: Редагування запису таблиці вентилятора
335
336 ```bash
337 Enter your choice: 5
338 [Fan Table Editor]
339 0 - Print fan lookup table.
340 1 - Reset fan table to defaults.
341 2 - Edit entry 0 (10°C / 0%).
342 3 - Edit entry 1 (20°C / 7%).
343 ...
344 Enter your choice: 3
345 Edit Fan Table Entry 2
346 Current settings:
347 Temperature: 35°C
348 Fan Speed: 31%
349 Enter new temperature (C) (-40 - 126), press 'q' to cancel: 30
350 Enter new fan speed (0-100%) (0-100), press 'q' to cancel: 25
351 Entry 2 updated:
352 Temperature: 30°C
353 Fan Speed: 25%
354 ```
355
356 ### Приклад 5: Збереження конфігурації
357
358 ```bash
359 Enter your choice: 9
360 New settings were recorder to NVMEM - OK.
361 ```
362
363 ## Діагностика помилок
364
365 ### Помилка при калібруванні
366
367 **Повідомлення:**
368
369 ```bash
370 ✗ Unable to tune bias for Driver channel 0
371 ```
372
373 **Причини:**
374
375 * Підсилювач не працює
376 * Немає подачі живлення на каскад
377 * Датчик струму несправний
378 * Ланцюг зміщення неправильно налаштований
379
380 **Вирішення:**
381
382 1. Перевірте живлення PA
383 1. Перевірте конектори навантаження
384 1. Переконайтеся, що зміщення можна змінювати
385 1. Перевірте значення коефіцієнта в DAC
386
387 ### Помилка при записі конфігурації
388
389 **Повідомлення:**
390
391 ```bash
392 Write config ERROR
393 ```
394
395 **Причини:**
396
397 * NVMEM заповнена
398 * Апаратна помилка запису
399 * Втрата з'єднання з PA Manager
400
401 **Вирішення:**
402
403 1. Повторіть запис
404 1. Спробуйте скинути конфігурацію: "Reset all bias to default value"
405 1. Перезавантажтесь і повторіть
406
407 ## Практичні сценарії застосування
408
409 ### Сценарій 1: Початкове налаштування нового підсилювача
410
411 ```
412 Крок 1: Перевірка статусу
413 - Вибрати "Print PA info"
414 - Переконатися, що датчики працюють
415 Крок 2: Встановлення цільових струмів
416 - Вибрати "Edit bias table" → "Enter driver stage current"
417 - Ввести 600 мА (типове значення)
418 - Вибрати "Enter output stage current"
419 - Ввести 1000 мА (типове значення)
420 Крок 3: Автоматичне калібрування
421 - Вибрати "Autotune DAC bias for driver stage"
422 - Дочекатися завершення (обидва канали послідовно)
423 - Вибрати "Autotune DAC bias for output stage"
424 - Дочекатися завершення
425 Крок 4: Перевірка результатів
426 - Вибрати "Print PA info"
427 - Переконатися, що струми в межах цільових значень
428 Крок 5: Збереження
429 - Вибрати "Write all settings"
430 ```
431
432 ### Сценарій 2: Налаштування керування вентилятором
433
434 ```bash
435 Крок 1: Перегляд поточної таблиці
436 - Вибрати "Edit fan table" → "Print fan lookup table"
437 Крок 2: Редагування точок інтерполяції
438 - Для кожного запису:
439 - Вибрати "Edit entry N"
440 - Встановити температуру спрацювання
441 - Встановити швидкість вентилятора в %
442 Крок 3: Збереження
443 - Вибрати "Write all settings"
444 Приклад таблиці для холодного клімату:
445 Entry 0: 15°C / 0%
446 Entry 1: 25°C / 10%
447 Entry 2: 40°C / 30%
448 Entry 3: 50°C / 60%
449 Entry 4: 60°C / 80%
450 Entry 5: 70°C /100%
451 Entry 6: 80°C /100%
452 Entry 7: 126°C /100%
453 ```
454
455 ### Сценарій 3: Обслуговування та діагностика
456
457 ```
458 Крок 1: Перевірка цілісності конфігурації
459 - Вибрати "Print PA bias table"
460 - Переконатися, що всі значення в межах допустимого
461 - Вибрати "Print PA config"
462 Крок 2: Перевірка поточного споживання
463 - Вибрати "Print power consumption for all stages"
464 - Порівняти з очікуваними значеннями
465 Крок 3: Тестування підсилювача
466 - Вибрати "Bias switch ON"
467 - Перевірити "Print PA info"
468 - Переконатися, що всі тривоги у нульовому стані
469 - Вибрати "Bias switch OFF"
470 Крок 4: Скидання тривоги (якщо потрібно)
471 - Вибрати "Reset overcurrent"
472 ```
473
474 ## Обмеження та особливості реалізації
475
476 ### Обмеження за параметрами
477
478 | Параметр | Мінімум | Максимум | Примітка |
479 | ---------------------------------- | ------- | ----------------------------- | ------------------- |
480 | Струм драйвера | 1 мА | 1000 мА | Цільове значення |
481 | Струм виходу | 1 мА | 2000 мА | Цільове значення |
482 | Макс. струм сигналізації (драйвер) | - | 6000 мА | Порогове значення |
483 | Макс. струм сигналізації (вихід) | - | 26000 мА | Порогове значення |
484 | Температура радіатора | -40°C | 126°C | Діапазон датчика |
485 | Максимальна температура тривоги | - | 80°C | Обмежено |
486 | DAC зміщення | 0 | 4095 (вихід) / 4096 (драйвер) | Роздільність 12 біт |
487 | Теплова компенсація | -100 | +100 | DAC/°C |
488 | Швидкість вентилятора | 0% | 100% | Відповідає DAC 0-63 |
489
490 **Версія утиліти:** 1.2