.

Главная » Статьи / Проекты » Радиостанции » Раскрытие Puxing PX-2R

последнее изменение: 23.12.2024 01:10
Раскрытие Puxing PX-2R

или сказ про маленького зверька с большим потенциалом

Статья (наконец-то) дооформилась до состояния
---=== Раскрытие < 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 выглядит так:



При этом Cannel List выглядит так :



Изменился тембр звучания динамика - он стал более низкочастотный. Порадовала чувствительность микрофона. Она стала немного выше. 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 отображаться будет ваш текст или всякий мусор.

0123 4567 89AB CDEF
частотарепитерный сдвигимя канала

А теперь внимание, позже это пригодится - рабочая частота записывается задом наперед. Например, частота 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.
.


Александр. Одесса

sasasv21@gmail.com


Последнее изменение: 23.12.2024 | Просмотров: 19237 | Дата создания: 11.08.2013

Бесплатный конструктор сайтов - uCoz