или сказ про маленького зверька с большим потенциалом
Статья (наконец-то) дооформилась до состояния
---=== Раскрытие < FOR FREE > стандартными средствами ===---
Попался мне в руки очередной Puxing PX-2R и удивило меню не похожее на то, к которому привык. После неудачной попытки прошить каналы имеющимся софтом было заподозрено неладное, и наконец-то были мобилизованы силы и средства, выделено время на более глубокое исследование.
В процессе выяснилось, что в руках новая (назовем ее так) версия, которая в некоторых местах именуется PX-2R Plus. Сразу хочу оговориться - раскрывается пока ТОЛЬКО новая версия !!!
Вобщем хочу познакомить вас с моими изысканиями в этой области.
Основные отличия, замеченные глюки.
На основе этих данных предлагаю, что можно идентифицировать версии
старая версия / PX-2R |
новая версия PX-2R Plus |
шаг сетки 12,5кГц и 25кГц |
шаг сетки 5кГц, 6,25кГц, 10кГц, 12,5кГц, 20кГц, 25кГц |
В меню (#12) SCANS "Режим сканирования" значения Se / To / Co. Так вот когда валкодер вращаем по часовой, видем все три значения, а когда против - только два |
исправили |
Записываем в память один канал с мощностью Low, второй с High. При текущем первом канале заходим в меню и выходим. Low на экране присутствует. Переходим на второй - Low не гаснет. Заходим в меню, сразу выходим - Low исчезло. |
исправили |
- |
изменены номера пунктов меню (таблица ниже) |
- |
появился пункт меню C-CDC |
В новой версии стандартный софт позволяет расширить диапазон RX-TX с 400-470 до 400-500 и добавить RX 136-174. это касается UHF версии. В VHF можно включить RX 400-470. Раскрытая UHF выглядит так:
Изменился тембр звучания динамика - он стал более низкочастотный. Порадовала чувствительность микрофона. Она стала немного выше. S-метр теперь показывает что-то близкое к правде, а не температуру грунта на Луне, как в прежней версии. Шумоподавитель, как мне показалось, открывается быстрее. Щелчок при открытии и закрытии шумодава стал громче(((.
В начало
Меню.
Меню поверхностно отличается отсутствием старых и наличием новых "приколов". В мелочах новое меню не соответствует приложенной инструкции. В старом меню в канальном [MR] и частотном [VCO] режимах присутствовали все пункты, но некоторые были недоступны в одном из режимов. В новом недоступные пункты убрали. Но появилось несоответствие между номером пункта на экране и подписью на кнопке. Например, в режиме [MR] - FM приемник - пятый пункт меню, а с клавиатуры по-прежнему вызывается [F]+[8]. Хотя надписям все соответствует.
Отличие в установке субтона на прием и передачу.
Раньше надо было выставить все в режиме [VFO], а потом записывать в память. Причем сходу изменить субтон выбранного канала было невозможно. Теперь меню R-CDC/T-CDC относится только к выбранному каналу и субтон меняется легко.
В этой таблице соответствие номеров и пунктов меню старой и новой версии.
[VFO] старое |
[MR] старое |
[VFO] новое |
[MR] новое |
пункт меню |
Описание |
1 |
1 |
1 |
1 |
SQL |
Регулировка шумоподавителя ( 0 - 9) |
2 |
2 |
2 |
2 |
POW |
Выходная мощность ( Hi / Lo ) |
3 |
3 |
- |
3 |
PRI |
Режим сканирования с приоритетным каналом ( On / Off ) |
4 |
4 |
3 |
- |
S-D |
Разнос частот вверх, вниз, выключен ( + / - / 0 ) |
5 |
5 |
4 |
- |
T-R |
Реверс частот RX TX при работе с разносом ( On / Off ) |
6 |
6 |
5 |
- |
STEP |
Шаг сетки ( старый 12.5 / 25 ) ( новый 5 / 6.25 / 10 / 12.5 / 20 / 25 ) |
7 |
7 |
6 |
4 |
VOX |
Управление TX голосом. Уровень. ( 0 - 9 ) |
8 |
8 |
7 |
5 |
FM |
FM приемник ( On / Off ) |
9 |
9 |
8 |
6 |
BEEP |
Звук нажатия клавиш ( On / Off ) |
- |
- |
9 |
7 |
C-CDC |
Установка субтона для [VFO] |
10,19 |
10,19 |
10 |
8 |
R-CDC T-CDC |
Установка субтона |
11 |
11 |
11 |
9 |
LAMP |
Режим подсветки ( Cont / Key / Off ) |
12 |
12 |
12 |
10 |
SCANS |
Режим сканирования ( Se / To / Co ) |
13 |
13 |
13 |
11 |
TOT |
Таймер ограничения TX, минут ( 0 - 9 ) |
14 |
14 |
14 |
- |
DIFFR |
Репитерный разнос ( 0 - 69.995 ) |
15 |
15 |
15 |
- |
W/N |
Полоса ( Wide / Narrow ) |
16 |
16 |
16 |
12 |
SAV |
Режим сбережения энергии ( On / Off ) |
- |
17 |
- |
13 |
NM SET |
Имя канала ( 5 символов. A-Z, 0-9, дефис, пробел ) |
- |
18 |
- |
14 |
NAME |
Режим отображения Имя / Частота ( Freq / Alpha) |
В начало
Софт.
Софт, именуемый на сайте
http://puxingradio.com/down.asp?CurLanguage=en
и
http://pxdz.com/english/down.asp
как
PX-2R - 2010-12 Programming Software
не подходит под новую версию! После нескольких проб выяснено что для этой версии предназначен другой -
PX-3R - 2011-4 Programming Software.
Почему вдруг обозвали 3R не понятно. На сайте Puxing продукта с именем PX-3R нет.
Вот заголовки окон софта под старую(выше) и новую(ниже) версию.
5.05.2011 на сайте
http://puxingradio.com/down.asp?CurLanguage=en
название PX-3R заменили на PX-2RNEW. Но на
http://pxdz.com/english/down.asp
софт по-прежнему называется PX-3R.
В 2014 произошло странное дело. С официального сайта исчез софт под PX-2R и PX-2R+. Или может я чего не доглядел.
На просторах интернета естественно софт найти не проблема. Как вариант на сайте radioscanner.ru (ссылки смотрим в конце)
Пройдемся по отличиям в софте. Меню "File" не изменилось. Меню "Model" теперь имеет следующий вид. В поле "Model" данного окна можно выбрать UHF или VHF вариант.
!!! И, О ЧУДО!!! Обнаруживаем галочку "Receive Enabled". Устанавливаем ее, прошиваем радио и к нам приходит счастье в виде приема на ранее недоступном диапазоне.
Пункт меню "Edit - Optional Features" тоже изменилось.
Вместо максимальной частоты 470МГц можно поставить 500, если в этом есть смысл.
PTT-ID имеет следующие параметры:
|
OFF |
- выдача DTMF при нажатии на PTT отключена |
|
BOT |
- выдает DTMF последовательность сразу при нажатии на PTT |
|
EOT |
- выдает DTMF последовательность при отпускании PTT |
|
BOTH |
- выдает DTMF последовательность при нажатии и при отпускании PTT |
Мой вариант использования "PTT-ID". В этом поле даем значение "EOT". "DTMF Code" задаем значение "12" (или любое другое) и получаем Роджер Бипер, который кстати очень даже неплохо звучит.
При снятии галочки "Manual" отключается функция ручного управления - сброса радио (зажать [F] и включить). Также отключается переход между только канальным и частотным+канальным режимом (зажать [ENT] и включить).
Добавился пункт "Edit" - "DTMF" в котором можно задать длительность тона и паузу между ними.
В меню "Program" появился пункт "Test Mode" в котором можно менять мощность High / Low. Жаль только что мощность в попугаях а не в ваттах. К сожалению созерцать пункт можно только при подключенном программаторе. При этом радио выходит на передачу. Вобщем все выглядит так.
Теперь о глюках софта. Все ругали старый софт, мол он кривой. Так вот господа, это были цветочки, теперь перед вами уникальнейший шанс пользоваться воистину глючным софтом. У меня просто нет слов. На конкурсе глючного софта этот продукт узкоглазого програмерства займет первое место, затмив просто всё, даже организаторов конкурса.
- В Cannel List невозможно руками прописать частоту TX. ( ну это ваще! блин ). Только копировать-вставить.
- При чтении из радио некоторые параметры вкладки Optional Features принимают значения не те, что в реальности. В частности поле "DTMF Code" принимает значение "по умолчанию". Странно ведет себя поле "RF Frequncy(MHz)" и некоторы "галочки". Вобщем перед каждой заливкой в радио надо эти поля править ручками.
В начало
Hardware.
Не по теме, но близко -
Puxing PX-A6 -- Схема + Service Manual
http://www.abov.co.kr/data/manual/MC81F8816.pdf
RP103Nxxx
- LDO регулятор напряжения
LM4871
он же
UTC4871
- УНЧ.
Сайты производителей -
ABOV ,
RDA .
Некоторых .PDF по указанным ссылкам пока нет. Пишите на почту - обязательно вышлю.
Александр Radioprofi (UR5FKT) изыскал для анатомических опытов 5 штук PX-2R старых версий, за что ему огромное спасибо. Итого в эксперименте участвуют 7 пациентов - 5 единиц старой и 2 единицы новой версии.
Фотки плат старой и новой версии. Как видно есть отличия. В первую очередь это разные процы. Дружно рассматриваем, наступаем на изображения и наслаждайтесь оригиналом ( размер 2048х1536, вес в среднем 1,4Мб ).
Еще несколько фоток довольно крупным планом -
http://rev0proto.com/wiki/index.php/Puxing_PX-2R
EEPROM
Настройки, ячейки пямяти хранятся в EEPROM 24C32. Содержимое новой и старой версии идентично и отличается первыми 16 байтами (диапазон 0000h-000Fh).
Информацию о ячейках памяти наш маленький друг хранит в диапазоне адресов 0010h-080Fh, на один канал отводится 16 байт.
1 - 4 байт (0h-3h) - частота приема. если FF - ячейка считается стертой
5 - 8 байт (4h-7h) - значение разноса.
9 - 11 байт (8h-Ah) - информация о полосе, мощности, направлении разноса и т.д.
12 - 16 байт (Bh-Fh) - имя ячейки памяти. Значение по умолчанию "0B 0B 0B 0B 0B". При этом даже если выбран режим отображения ALPHA будет отображаться частота (в новой версии). При значении -= не =- по умолчанию в режиме ALPHA отображаться будет ваш текст или всякий мусор.
0 | 1 | 2 | 3 |
4 | 5 | 6 | 7 |
8 | 9 | A | B |
C | D | E | F |
частота | репитерный сдвиг | | | | имя канала |
А теперь внимание, позже это пригодится - рабочая частота записывается задом наперед. Например, частота 123`456`780 Гц будет выглядеть "78 56 34 12" (шестнадцатиричные, не десятичные!). То же касается репитерного сдвига и (!) начала/конца диапазона.
0000 - FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0010 - 00 00 00 40 00 00 00 01 00 00 03 0B 0B 0B 0B 0B - ячейка 001
0020 - FF FF FF FF 00 00 00 01 00 00 03 0B 0B 0B 0B 0B - ячейка 002
---- - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - - - -
0800 - FF FF FF FF 00 00 00 01 00 00 03 0B 0B 0B 0B 0B - ячейка 128
0810 - FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0820 - 00 00 00 04 00 00 00 00 00 00 03 00 00 00 00 00 - частота режима [VCO]
0830 - FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
---- - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
08F0 - FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0900 - 00 00 00 04 00 00 00 00 00 00 03 00 00 00 00 00 - текущая частота
0910 - FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0920 - 4F 4B FF FF FF FF FF FF FF FF FF FF FF FF FF FF - "4F 4B" = "OK" - что это - непонятно
0930 - FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
---- - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
0F90 - FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0FA0 - 00 40 00 48 FF FF FF FF FF FF FF FF FF FF FF FF - начало/конец диапазона
0FB0 - 00 49 53 54 45 4E 49 47 FF FF FF FF FF FF FF FF
0FC0 - 76 95 05 00 00 88 50 01 01 00 00 00 20 00 00 FF - настройки из меню
0FD0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - настройки FM-радио
0FE0 - 09 01 FF FF FF FF FF FF 00 00 00 FF FF FF FF FF - настройки DTMF
0FF0 - 6E 6E 6E E1 E1 E1 FF FF FF FF FF FF FF FF FF FF - мощность TX (окно Power Adjust)
Теперь немного подробнее про конец EEPROMa, т.е. область 0FA0h - 0FFFh
0FA0h - 0FA3h - смотрим внимательно - "00 40 00 48". Станция кстати 400-480. Ловим себя на мысли, "Не Может Быть...". Меняем значения на "86 12 00 50", заливаем обратно в станцию и, О ЧУДО, получаем станцию на прием и передачу 128.600 - 500.000 ! ! !. как это сделать без разборки стандартным программатором чуть ниже.
0FB0h - 0FBFh - эта строка изменяется (после полного сброса) только после чтения родным софтом и заливки считанного обратно. Функциональную нагрузку не понял.
0FC2h - значение параметра SQL (шумодав)
0FC3h - значение параметра VOX ()
0FC4h - значение параметра TOT (ограничение времени передачи)
0FC5h bit3 - значение параметра beep (смотрим вкладку Optional Features, 1-on)
0FC5h bit7 - значение параметра save (смотрим вкладку Optional Features, 1-on)
0FC6h bit0 - значение параметра BOT (смотрим вкладку Optional Features, PTT-ID)
0FC6h bit1 - значение параметра EOT (смотрим вкладку Optional Features, PTT-ID)
0FCCh bit4 - значение параметра manual (смотрим вкладку Optional Features, 1-on)
0FCEh - диапазонность ()
0FD0h - ячейка 01 FM Radio
0FD1h - ячейка 02 FM Radio
------ -
0FDEh - ячейка 15 FM Radio
0FDFh - ячейка 16 FM Radio
0FE0h - DTMF Code - position #1 (смотрим вкладку Optional Features)
0FE1h - DTMF Code - position #2 (смотрим вкладку Optional Features)
0FE2h - DTMF Code - position #3 (смотрим вкладку Optional Features)
0FE3h - DTMF Code - position #4 (смотрим вкладку Optional Features)
0FE4h - DTMF Code - position #5 (смотрим вкладку Optional Features)
0FE5h - DTMF Code - position #6 (смотрим вкладку Optional Features)
0FE6h - DTMF Code - position #7 (смотрим вкладку Optional Features)
0FE7h - DTMF Code - position #8 (смотрим вкладку Optional Features)
0FE8h - DTMF Code - position #9 (смотрим вкладку Optional Features) - ? ? ?
0FF0h - значение параметра Power - Hi, Low Freq (меню Program -> вкладка Test Mode)
0FF0h - значение параметра Power - Hi, Mid Freq (меню Program -> вкладка Test Mode)
0FF0h - значение параметра Power - Hi, High Freq (меню Program -> вкладка Test Mode)
0FF0h - значение параметра Power - Lo, Low Freq (меню Program -> вкладка Test Mode)
0FF0h - значение параметра Power - Lo, Mid Freq (меню Program -> вкладка Test Mode)
0FF0h - значение параметра Power - Lo, High Freq (меню Program -> вкладка Test Mode)
Процессор с eeprom общается по шине I2C. Кто плавает в данном вопросе открываем поисковик (надеюсь Вас там не забанили))) и пишем "шина I2C". пару-тройку десятков тысяч результатов гарантирую. Или вот статейка с красивыми картинками
http://easyelectronics.ru/interface-bus-iic-i2c.html
.
Ниже схема включения. Как-бы ничего сложного.
Для чтения/записи eeprom понадобится соответствующий программатор и софт. Я использовал простейший адаптер EasyI2C из комплекта PonyProg и софт PonyProg 2.07с (
http://www.lancos.com/prog.html
). Несмотря на простоту все читается и пишется на Ура! и
Клаудио Ланконелли
респект и уважуха. Ниже приведены два варианта адаптера - один для программирования микросхемы отдельно, второй для внутрисхемного программирования, т.е. программирования прямо в изделии не выпаивая.
Как вы понимаете нас больше устраивает второй вариант - никаких внешних источников питания, припаяли три проводка и наслаждаемся чтением-записью. Честно говоря я программировал внутрисхемно первым вариантом (ну лень мне было выпаивать 2 резистора). Питание на них брал прямо с 8 ноги микросхемы. В теории никаких побочных эфектов наблюдаться не должно, и практика на семи экземплярах это подтвердила. При использовании других
внутрисхемных
программаторов помните что процессор и все вокруг питается от 3В.
!!! Никаких пятивольтовых MAX-ов (MAX232) !!!
- в лучшем случае заразите зверька склерозом (не будет запоминать текущие настройки), а в худшем загоните зверька в кому, которая лечится только трансплантацией процессора. Длина кабеля от разъема LPT до микросхемы желательно сделать как можно короче. Сантиметров 10-15. Про то, что подключения/отключения надо производить на выключенном оборудовании думаю можно не говорить.
Софт программатора выглядит следующим образом
Кроме кнопочек прочитать и записать (обведены в кружочек) вроде больше ничего не надо.
При первом запуске программа попросит чего-то там откалибровать. Калибруем обязательно, иначе будут ошибки. Выставляем тип микросхемы "I2C Bus 16bit eeprom" и наименование "2432". В "Setup" - "Interface Setup..." ставим тип адаптера с которым будем работать.
Одно большое пожелание - после первого прочтения сохраните дамп в теплом сухом укромном месте. На всякий случай. Меняя значения я несколько раз загонял китайского зверька в плотный ступор, причем так, что даже не работал сброс ( [F]+включение ). Иногда при записи процессор не понимал что происходит на шине и выкидывал на экран ругательства на языке понятном только китайским процессорам. Но хорошо то, что его крики или утихали сами через 3-4 секунды или подавлялись крепкими воздействиями на органы управления, то есть кнопки.
Как выяснилось позже - родной софт сливает со станции EEPROM один в один в формате :
[пробел][0000][пробел][пробел][0001][пробел][пробел][0002][пробел][пробел] . . . . . [000F][пробел][перевод_строки]
[пробел][0010][пробел][пробел][0011][пробел][пробел][0012][пробел][пробел] . . . . . [001F][пробел][перевод_строки]
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
[пробел][0FF0][пробел][пробел][0FF1][пробел][пробел][0FF2][пробел][пробел] . . . . . [0FFF][пробел][перевод_строки]
Причем значения в файле - десятичные.
Вобщем, как обещал, ниже описание раскрытия станции без разборки, стандартным софтом и программатором.
Подключаем, жмем Program -> Read from radio, читаем, жмем File -> Save as, сохраняем файлик .chann. Далее открываем его обычным Блокнотом (Windows Notepad), отсчитываем шестую строку снизу и меняем первые четыре значения. Не забываем про пробелы - не удаляем и не добавляем !. Сохраняемся в блокноте. Возвращаемся к пуксовскому софту. Открываем скоректированный файлик и жмем Program -> Write to radio.
Если лень переводить из HEX в десятичную - "86 12 00 50" будет " 134 18 0 80 ". Ниже и выше залазить нет смысла, т.к. эксперементально установлено что станция работает с 128.600 до 186.000 и с 400.000 до 499.995
Все, наслаждаемся... ;)))
Фотки про то "как это было" и "к чему это привело".
Результаты испытаний на предмет работы на вновь доступных частотах можно прочитать на форуме. Ну и заодно поучавствовать в обсуждении. Ссылка в начале статьи.
В начало
Микрофонные дела.
Внимание! Люди, не крутите резистор переменный возле микрофона! Это совсем не то, что надо крутить для поднятия чувствительности микрофона. Вот что это за резистор - кусок схемы (новая версия).
Правильно чувствительность микрофона регулируется программно. В RDA1845 / RDA1846 есть регистр 0Fh:DAC_GAIN. Значение в него записывает проц управления (MC81F8616). В свою очередь проц управления это значение(калибровку) должен читать из EEPROM, но или она еще не найдена, или нет ее в EEPROM и она в процессоре, .
Вариант - допаять еще один-два каскада микрофонного усилителя.
Еще вариант - взять жменьку микрофонов и выбрать лучший. Как показала практика в радиостанциях почему-то довольно глухие микрофоны.
Кстати, вышесказанное актуально для старой версии, в новой уже добавлен микрофонный усилитель и все ок.
В начало
Режим "SAVE". Включается через 5 сек после последней актиавности. Частота 3Гц скважность 50%.
Т.е. 3 раза в секунду на 0, 16 сек на приемник прекращается подача питания.
В начало
Щелчек из динамика при открытии и закрытии шумодава. Похоже это издержки УМЗЧ LM4871
Смотрим схему, .pdf на усилитель ...
Еще можно глянуть -
http://rev0proto.com/wiki/index.php/Puxing_PX-2R
. моих изысканий нет.
В начало
Выходной транзистор и его теплоотвод. В большом количестве станций закрутил мощность на максимум. Ни одной не вернулось.
Так что можно ставить во вкладке Power Adjust мощность на максимум, т.е. с 225 на 255 попугаев.
В начало
Зарядное устройство "Стакан". идея следующая - лепим на батарею вертикально две пластины шириной 5-7мм, подключаем их к "+" "-" батареи, в задней крышке делаем да отверстия, оставляем их или вживляем в них контакты изнутри подпружиненные, которые касаются полосок на батарее. Далее берем зарядку для литиевых аккумуляторов (жаба, прищепка, крокодил - кто как хочет так ее и называет), вытаскиваем внутренности. Придумываем корпус стакана, и вживляем туда внутренности зарядки.
В начало
Неадекватная реакция валкодера на вращение. Встречено 2 случая - в обоих на плате в районе ног валкодера следы водички. Причем дальше по плате все сухо и тепло. Видать китайцы придали корпусу особую аэродинамическую форму. вылечилось простой чисткой платы и пропайкой.
Зависания, периодический сброс настроек. Вариантов было несколько :
- механическое повреждение.
- умирающая EEPROM.
Одна станция странно себя вела - зимой на холоде все ок, в тепле зависает. помогло понижение напряжения питания проца.
Был экземпляр, который пролежал месяц после покупки в коробке и отказался включаться. причина так и не установлена. зверек по сей день мертв.
В начало
Оборудование.
Все это безобразие производилось начиналось на handmade USB универсальном программаторе (PL2303, на картинке справа) под WindowsXP_SP3 и потом проверено на COM программаторе (SP3223, на картинке слева) на старинном ноуте с процом 75МГц под Windows98SE.
и handmade шнурке
EEPROM читался / писался PonyProg-ом (
http://www.lancos.com/prog.html
) и адаптером EasyI2C (собранным, как говорится, на коленке)
В начало
Полезные ссылки :
http://www.radioscanner.ru/files/puxing/ - Софт, инструкции, распайки итд
В начало
Выражаю нерукотворные благодарности:
Александру Radioprofi UR5FKT (Одесса,UA) за схемы и предоставленные для анатомических опытов железяки.
Павлу aka Turist (Бердянск,UA) за сотрудничество и свежие идеи
Артему Art_80 (Борисоглебск,RU) активное участие и помощь в нахождении datasheets.
Евгению aka Eugen UW5EAF (Днепропетровск,UA), первому нашедшему мануал на проц от новой версии.
Интернету за то что он есть
Спасибо всем кто задает вопросы и поддерживает ощущение нужности этой статьи.
Копирование и размещение информации в сети интернет, разрешается только при условии размещения ссылки на первоисточник www.sasa.ucoz.org или www.radioprofi.com. .
|