Евгений Музыченко

Previous Entry Share Next Entry
Секс длиной в неделю, или Kingelect - фуфло :)
emuzychenko

Сегодня в три часа ночи закончился, наконец, напряженный секс с планшетом WITS A81G. :) Как я уже писал, прибор продавался под маркой Kingelect P780, и у него не работал последовательный приемник UART3, к которому подключен выход GPS-приемника.

Сначала я честно описал ситуацию девочке (Grace Fwz), отвечающей на запросы, и попросил связать меня с электронщиками, чтобы те подсказали возможные причины глюка. Та сначала наврала, что передала мое письмо инженеру, потом прислала якобы ответ от того "инженера", где мне предлагалось еще раз запустить программу навигации и выйти с планшетом на улицу для лучшего приема. :) Когда я объяснил, что думаю о таком сервисе, девочка ответила, что самый главный инженер в командировке, и будет через неделю. Ладно, черт с вами, занялся пока дальнейшим изучением платы и интернета.

Собственно, при первом же тестировании открытой платы я обратил внимание, что на вход UART3 поступает сигнал не очень внятной амплитуды - где-то от 0.7 до 1.5 В, при напряжении питания приемника 1.8 В. Но отрывать вход пока не хотелось - там на входе делитель для согласования выходного напряжения GPS-приемника (3 В) со входом UART, резисторы размером 1 x 0.5 мм, лишний раз такие паять не хочется. Тем более была надежда на скорую консультацию разработчиков, хотя бы в плане номинальных уровней.

Поддержка GPS-приемника там реализована довольно интересно: сам UART3 - это COM3, а COM5 обслуживается "псевдодрайвером" gps.dll, вся задача которого - через GPIO подать сигнал на ключ, подключающий G591 к питанию, и все дальнейшие запросы перенаправлять на COM3. То есть, при открывании COM3 получаем доступ к RS232, разведенному под разъем, а при открывании COM5 - к GPS.

Разумеется, я тут же подключил к контактам UART3 внешний RS232 от стоящей рядом автомобильной балалайки, убедился, что с выхода передатчика при загрузке идут отладочные сообщения на 115200, а после загрузки - все выводимое на COM3, попробовал что-то передавать на вход приемника, но он не реагировал, несмотря на вполне нормальную амплитуду сигнала (где-то 0.2..1.5 В). После этого и уверился в том, что приемник либо совсем дохлый, либо неправильно инициализирован.

В какой-то момент заинтересовался, отчего не выключается Bluetooth, начал экспериментировать с выключением и включением BT/WiFi, и после очередной перезагрузки, на всякий случай запустив тестовую программу, увидел GPS работающим. Выключил-включил - опять не работает. Тогда снова стал последовательно менять настройки, и после сотни перезагрузок в разных конфигурациях уловил определенную зависимость - при отключенном WiFi и полной яркости экрана вероятность получить работающий UART3 значительно выше (где-то 70%), нежели при включенном WiFi и половинной яркости (не более 5-10%). Это навело на мысль о том, что успех инициализации порта зависит от чистоты либо питания, либо тактовых сигналов.

Нашел пару адресов поддержки WITS, подробно им все это описал, попросил прокомментировать - проигнорировали, гады. Тогда, проявив неимоверное терпение, зарегистрировался на форуме WITS. Терпение потребовалась потому, что форум весь на китайском, по-английски там только отдельные слова, а при регистрации нужно вводить цифровой код, который при переводе цельных страниц средствами Babel Fish или Google почему-то не показывается, и расположение полей в переводчике совсем другое, нежели в оригинале. Поэтому пришлось копировать заголовки полей, заряжать в переводчик, заполнять поля, и так несколько раз, поскольку там еще какие-то хитрые проверки на человечность на основе локального времени. В итоге зарегистрировался, написал пост на английском, продублировал китайским автопереводом, но в ответ получил лишь пару постов спама, который, впрочем на следующий день потерли модераторы.

Попутно нашел документацию на BeagleBoard - похожую по конфигурации плату на OMAP3530, там в перечне исправлений как раз упоминается похожая проблема - работает передатчик и не работает приемник. Но там приемник не работает ни в Linux, ни в системном мониторе u-boot, а когда я загрузил этот u-boot, у меня в нем и приемник и передатчик работали, как часы. Для верности отыскал на плате тактовый сигнал 32 кГц, с которым была проблема в ранних версиях BeagleBoard, слегка испортил его, повесив на землю конденсатор на 200 пФ - в u-boot приемник по-прежнему работал нормально.

Тем временем вернулся китайский "главный инженер" Eric Huang. Через пару минут разговора с ним стало ясно, что он всего лишь чуть-чуть менее чайник, нежели девочка Grace. При этом он старательно надувал щеки, уверяя, что хорошо знаком со схемотехникой устройства, но якобы не может "раскрывать подробностей схемы посторонним лицам". Ни один грамотный электронщик так себя не повел бы, ибо отлично знает, что информация типа напряжений и диаграмм сигналов в контрольных точках никогда не являлась сколько-нибудь закрытой, а схема A81 откровенно дралась с референсной EVM3530 от TI, и секретить там совершенно нечего. Но, как известно, чем мельче сотрудник, тем больше у него понтов.

Напоследок я у этих хомячков попросил их оригинальную прошивку, поскольку родные прошивки для A81G имеют глюк в апплете распределения памяти, но девочка отослала меня к Eric'у, а Eric в скайпе с утра повесил на себя значок "занят", а под вечер свалил, так и не удосужившись черкнуть хотя бы пару слов. В ответ я разозлился и написал на aliexpress злобный отзыв. Правда, при их репутации "0.0% positive feedback" это мало что даст, но все-таки. :) Кстати, тоже показатель - хомячки клялись, что продают эти планшеты тысячами, а по статистике AliExpress у них за последний год всего несколько продаж и два отзыва - какого-то итальянца и мой вчерашний.

Принялся снова мучить плату под u-boot и под WinCE. Отключил в CE режим DMA, поставив RxDmaRequest=ffffffff - приемник стал работать при каждой загрузке, но выдавал сплошные ошибки; видать, прием по прерываниям в драйвере реализован плохо. Включил DMA обратно, и почти случайно заметил, что, если винда грузилась при подключенном внешнем передатчике, то UART3 стопроцентно заводится и в DMA-режиме. Стал проверять, почему - обратил внимание, что при подключенном внешнем передатчике уровень на Rx получается порядка 1.5 В. Подтянул просто резистором кверху - эффект сохранился.

Таким образом, получается, что состояние BREAK (низкий уровень на Rx) во время инициализации UART3 приводит к неработоспособности приемника в режиме DMA, а на режим программного обмена не влияет.

Тут я настолько обрадовался найденной причине, что оторвал делитель между TXA G591 и Rx UART3, и сгородил там простенький ключ на 2N3904, чтобы убрать просадку уровня при неработающем G591. Замучился паять к площадкам 0.5 x 0.5 мм - без микроскопа и держателей это как-то несподручно. :) Убедился, что все работает, собрал и облегченно вздохнул.

И только сегодня утром до меня дошло, что ковырял я это дело совсем не с той стороны, с которой следовало - чем, собственно, и отличается любитель в моем лице от профессионала, набившего руку на готовых методиках. :) С самого начала, увидев отличный сигнал на выходе G591, сигнал чуть хуже на входе Rx, и полное отсутствие приема данных, я сосредоточился только на выяснении причины неработоспособности приемника. А надо было сразу задаться вопросом - с чего это вдруг на входе Rx в то время, пока G591 не работает, ощутимо низкий уровень, почему неработающий G591 тянет его вниз, и почему у неработающего G591 на Vcc не нуль, а целый вольт? То, что у него в неактивном режиме около вольта на Vcc, я видел еще в первый день, и не раз впоследствии, но как-то не задумывался над этим, полагая, что такова реализация ключа, и это нормальное явление. А по сути, явление это ненормальное, и именно из-за этого его выходные транзисторы приоткрыты, создавая утечку со входа Rx и снижая уровень до состояния BREAK. Сообрази я это вовремя - нашел бы косяк в ключе, и не пришлось бы возиться столько времени с проблемой UART, которая в нормальных условиях просто не проявляется. :) По-хорошему, надо бы его разобрать и доделать, но это потом, сейчас уже времени нет.

Периодически нарываясь на такое вот "замыливание глаза", лучше понимаю, что далеко не все создатели столь нелюбимых мною лженаук - жулики или полусумасшедшие. Некоторые действительно обнаружили в своих экспериментах непонятные явления, но уклонились от грамотной методики проверки, сосредоточившись на отдельных аспектах явления и упуская из виду остальные. Хорошо, мне хватило недели, а ведь кто-то годами бьется головой в стену, не удосуживаясь посмотреть, нет ли рядом прохода. :)


  • 1
Жень, а тебя можно попросить собрать корыто для гальванопластики?... И, в идеале, научить меня им пользоваться. :) А то сама я чото боюсь этого дела.

И сколько чего это будет стоить?

дада, из этого планшета получится отличное корыто для гальванопластики с gps и мультитачем)

В каком смысле "собрать"? У тебя есть какой-то набор, который нужно собрать, или ты в смысле "изготовить"? Второе в ближайшие месяцы малореально - у меня катастрофически плохо со временем, и даже если ты пообещаешь мне отдаться, я столько времени не найду. :)

Я вот как раз имела в виду второе. Там вроде штука-то нехитрая, но больно уж не хочется покупать за отдельные деньги эту самую электрическую приспособу, хотелось бы соорудить ее, например, из автомобильного зарядного устройства - но я сама эту всю премудрость не потяну. Причем не то что бы потому что мозгов не хватает, а именно что нет времени на разобраться (с нулевого уровня). :(

Ладно, буду значит сама осваивать. Но если вдруг подскажешь какую-нибудь недорогую китайскую приспособу на роль блока питания схемы - буду премного благодарна. :)

Блоков питания сейчас всяких до черта, стоят недорого (100-500 рублей). Если ты поищешь информацию по этим ваннам и дашь мне ссылки на примеры их реализации, с нужными параметрами (площадь поверхности покрытия, напряжение, ток и т.п.), то я тебе что-нибудь подходящее подберу.

Вот принципиальная схема: http://patlah.ru/etm/etm-01/teh%20metall/galvanoplastika/galvanoplastika/galvan-1-01.htm

А вот опыт умельцев, с фотографиями. Там на одной из фоток сам агрегат виден: http://electroforming.livejournal.com/31369.html#cutid1

Ой, ну в смысле цифры: как я поняла по опытам, сила тока около 500 мА, напряжение 2-3 В, площадь поверхности максимум 2 кв. дм.

В первой статье говорится о токах порядка 2 А на кв.дм., на пару дециметров тебе понадобится до 5 А. Такой источник питания у меня валяется в числе ненужных, могу просто подарить. С регулятором в этом случае сложнее - нужны проволочные реостаты, а я их давно выкинул за ненадобностью. Но можно посмотреть на электроразвалах, вроде того, что за павильонами "Крепеж" и "Электроинструмент" Ленинского рынка.

Во втором примере речь о токах в доли ампера - тут подойдет простейший китайский источник с выходом USB (у меня такие тоже валяются), и угольный реостат (надо поискать, вдруг остались).

Медную пластину можешь поискать в какой-нибудь "Электрике", в виде большого медного электрода, или толстого (3-5 мм) провода, который можно свернуть/согнуть в компактную конструкцию.

  • 1
?

Log in

No account? Create an account