Калибровка сенсоров телефонов Siemens |
25 февраля 2006 года. Новиков Максим Глебович Обновлено 24 марта 2006 года |
Что такое калибровка Что такое калибровкаМобильный телефон является сложным комбинированным прибором, включающим в себя множество различных устройств, которые мы привыкли видеть в нашей жизни в виде отдельных изделий (приёмник, передатчик, монитор, клавиатура, таймер, блок питания). Помимо этих открытых нашему взору основных модулей в мобильном телефоне присутствует много других вспомогательных устройств, обеспечивающих правильную работу вышеописанного оборудования. К таким устройствам относятся вольтметр и термометр. С помощью вольтметра телефон определяет текущее напряжение своего аккумулятора. Зная напряжение в любой момент времени, телефон может судить о необходимости подзарядки или о моменте выключения процесса зарядки аккумулятора. По изменению динамики разрядки аккумулятора в процессе работы телефон получает также информацию о его техническом состоянии, и автоматически корректирует его рабочий диапазон. Термометр телефона осуществляет не менее важную работу. Как известно, характеристики радиодеталей могут сильно меняться при изменении температуры окружающей среды. Для устранения влияния внешней температуры на работу телефона, встроенный в схему термометр вносит поправку в её работу. Термометр установлен рядом с очень важной деталью — кварцевым генератором частоты, управляемым напряжением (VCXO). При изменении температуры схема термометра вносит поправку в управляющее напряжение, и генератор удерживает заданную частоту несмотря на температурные перепады. Стоит ли говорить, что от стабильности генерируемой частоты зависит совпадение радиочастот при передаче информации по радиоканалу, правильность определения расстояния до ретранслятора и т.п., что в свою очередь сказывается на надежности и качестве телефонной связи. Вольтметр и термометр телефона (да и не только телефона — это касается любых внешних цифровых устройств) производят измерения следующим образом. Они преобразуют величины измеряемых параметров в свои внутренние единицы измерения и затем по простой формуле переводят их в конкретное число Вольт или градусов соответственно. Но каждый экземпляр телефона (даже той же самой модели) при измерении одного и того же параметра из-за различий в характеристиках радиодеталей даст разные результаты. Поэтому каждому конкретному прибору нужно объяснить, насколько он ошибается, то есть вписать в формулу пересчёта внутренних единиц в Вольты или градусы свою поправку измерения. Эти поправки вводятся на заводе и хранятся в специальной области памяти телефона — EEPROM. Структурно EEPROM построена в виде отдельных блоков данных разного размера и назначения, организованных в виде базы данных. Доступ к каждому блоку телефон получает по его номеру. Блок, хранящий поправки (константы калибровки) для вольтметра и термометра имеет номер 67 и размер 20 байт. Он содержит 10 двухбайтовых значений, которые телефон подставляет в формулы пересчета внутренних единиц в Вольты или градусы. Примечание: При записи в блок новых значений старый блок со старыми значениями не удаляется, а просто помечается как удаленный, а новый блок с новыми значениями записывается рядом. Поэтому при многократной записи новых значений память EEPROM может переполниться. В этом случае необходимо сделать дефрагментацию EEPROM. Обычно она делается с помощью утилиты Siemens EEPROM Tool. Описание методики дефрагментации выходит за рамки этой статьи. Исходя из вышесказанного нетрудно понять, что при потере по какой бы то ни было причине блока 67 телефон становится инвалидом. Блок 67 от другого телефона не подойдет, ибо он имеет константы для настройки другого вольтметра и термометра. Телефон конечно может заработать, но скорый выход из строя аккумулятора обеспечен на 100%. Как правило, отдельно блок 67 не теряется. Чаще всего теряется по разным причинам сразу весь EEPROM. Если вы не сохранили ни свой старый рабочий фулфлэш, ни отдельно EEPROM, то кроме настроек вольтметра и термометра пропадут также параметры радиотракта (мощности и частоты приёмо-передатчика), видеопараметры (контрастность дисплея) и индивидуальный номер аппарата (IMEI). Параметры радиотракта настраиваются специальным GSM-тестером стоимостью в несколько тысяч долларов. В большинстве случаев такового под рукой нет, и в качестве альтернативного варианта можно попытаться заливать в телефон EEPROM'ы от аналогичных моделей, пока не попадется наиболее подходящий и телефон не начнет приемлемо держать связь. Индивидуальный номер аппарата (IMEI) написан на самом телефоне. Он располагается под аккумулятором и находится непосредственно под штрих-кодом. Его можно вписать в память телефона с помощью программы Joker (для телефонов на платформе EGOLD). Видеопараметры (блок 5007 — Display-Initialization (Abgleich-Bl.)) и константы калибровки вольтметра и термометра (блок 67 — Measurement values for temp. and volt.) можно восстановить самостоятельно. В статье, предложенной вашему вниманию, описывается наиболее прогрессивная на сегодняшний день методика повторной калибровки встроенного вольтметра и термометра (восстановление значений блока 67) и регулировка контрастности (восстановление значений блока 5007). Примечание: Методика калибровки несовершенна, поскольку придумывалась нашими прошивкокопателями, действовавшими способом «научного тыка». Никто, кроме разработчиков телефона, не знает точно, за что отвечает тот или иной параметр и какое влияние друг на друга они оказывают. Выявлены лишь некоторые закономерности, используя которые можно в той или иной степени вылечить аппарат. Внимание! Если телефон имеет заводскую калибровку (EEPROM родной, и в нём никто не копался), то её трогать не следует, даже если вы поменяли аккумулятор. Точнее, чем на заводе, вы все равно не откалибруете. В случае, если аккумулятор работает не так, как ему положено, в этом виноват он сам, а не заводские настройки. При смене аккумулятора калибровка ни вольтметра, ни термометра не требуется, ибо она предназначена только для компенсации неточностей характеристик радиосхем самого телефона. Предостережение: Существует техническая возможность путем неправильной калибровки (обмана) внутреннего вольтметра раздвинуть границы рабочего диапазона аккумуляторной батареи. Этого делать нельзя, поскольку при работе в расширенном диапазоне напряжений срок ее службы сильно сокращается. Помните, что основная задача при зарядке литий-ионного аккумулятора — обеспечение максимальной точности. Допуск составляет лишь 1%. При недозаряде на 100 мВ (2,4%) результатом является потеря 10% ёмкости. При перезаряде можно нарваться на взрыв элемента или его аварийное самоотключение, которое должно сработать при напряжении 4,6 вольта. При снижении нижней границы ниже 3,6 вольт аккумулятор начинает сильно изнашиваться. К тому же это снижение не имеет смысла, поскольку ниже точки 3,6 вольт сосредоточено слишком мало энергии. При напряжении 2,3 вольта должно сработать самоотключение аккумулятора во избежание его смерти. Программа Siemens Calibrator.В процессе калибровки внутреннего вольтметра и термометра мы будем работать с 67-м блоком EEPEOM, где содержатся нужные нам параметры. Для этого мы используем программу Siemens Calibrator. Подробное ее описание можно найти на странице поддержки. После нажатия на кнопку «Подключить» программа ждёт кратковременного нажатия на кнопку телефона с красной трубкой. После нажатия происходит соединение программы с телефоном и в пустые поля всех трёх вкладок программы считаются константы текущей калибровки из телефона. На первых двух вкладках над полями констант калибровки расположены текущие значения напряжения и температуры, измеренные сенсорами телефона и скорректированные с учетом упомянутых констант. На третьей вкладке состояние настроек контрастности определяется положением ползунков. Математические аспектыФормула вычисления правильного напряжения телефоном в милливольтах:V = SpgX0 + ((0 − (VBattDSP − SpgY04V)) * SpgDelta) / (SpgY03V − SpgY04V), где VBattDSP — считанное значение напряжения во внутренних единицах телефона. Формула вычисления правильной температуры телефоном во внутренних единицах:T = TempDSP * TempStg / 100 − TEnvOff, где TempDSP — считанное значение температуры во внутренних единицах телефона. Это не вся формула. После нее, видимо для устранения неоднородности датчиков, идет коррекция по таблице и заключительный перевод в градусы. Для каждого датчика таблица коррекции своя. Настройка корректирующих таблиц — дело тёмное и никому неизвестное. Поэтому мы рассмотрим упрощенный (грубый) вариант калибровки термометра. В процессе практических экспериментов выявилась некоторая нелинейность внутренней шкалы температуры, что отражено на графике неравномерностью шага градуса. Калибровка внутреннего вольтметраДля калибровки внутреннего вольтметра нам потребуется точный цифровой вольтметр (3 знака после запятой на диапазоне 3–5 вольт). В качестве такого вольтметра я использовал советский вольтметр В7-38 с погрешностью на нужном нам диапазоне ±0,006–0,007 вольт. В наши дни его стоимость составляет 8–10 тысяч рублей, но его можно найти и у знакомых радиолюбителей. Описание дальнейших наших действий составлены с учётом работы именно с этим вольтметром. Для справки: погрешность вольтметра для каждого измерения высчитываем следующим образом. В техническом описании В7-38 берём единую формулу расчёта погрешности для диапазонов 20, 200 и 1000 вольт: Процент предела погрешности = ±0,07 + 0,02 * (Uп / Ux), где Подставив нужные значения в формулу получим погрешности от 0,165% до 0,195% измеряемой величины что соответствует погрешности ±0,006–0,007 вольт. Такая погрешность нас устроит. Более того, если у нас есть другой телефон с правильными заводскими настройками, мы всегда сможем откалибровать наш вольтметр до точности калибровки этого телефона. Однако, как показывает практика, сами телефоны откалиброваны на заводе примерно с той же погрешностью, так что подгонка вольтметра под заведомо рабочий телефон имеет смысл только в том случае, если погрешность вашего вольтметра намного больше указанной выше. Порядок калибровки внутреннего вольтметра:
После завершения вышеописанных манипуляций вольтметр будет откалиброван. Нажмём кнопку «Отключить». Зарядим аккумулятор и проверим соответствие показаний вольтметров в диапазоне 4 вольт. Поскольку мы настраивали верхнюю точку в момент соответствия реального и записанного в параметр SpgX0 напряжения, расхождений быть не должно. Калибровка внутреннего термометраОписание процесса калибровки термометра выглядит проще, чем описания калибровки вольтметра, но осуществить его будет сложнее, поскольку нам придется менять температуру окружающей среды и дожидаться, пока на нее отреагирует термометр телефона. Итак, для настройки термометра нам понадобится цифровой комнатный термометр с выносным зондом для измерения температуры уличного воздуха и точностью измерения до 0,1°C. К сожалению, у таких термометров погрешность обычно составляет ±1°C, но и условия, в которых мы будем производить калибровку тоже не позволят нам добиться большей точности. В этой главе я лишь опишу методику калибровки, а ваша задача — найти по возможности более совершенные температурные условия и более точный термометр). Например, значительно упростит задачу наличие второго аналогичного телефона с родным 67-м блоком и с открытым инженерным меню, в котором выводятся показания внутреннего термометра. В этом случае мы сможем отказаться от неточного внешнего термометра, и сравнивать показания внутренних термометров, находящихся в абсолютно одинаковых условиях. Порядок калибровки термометра:
Теперь термометр телефона можно считать откалиброванным. Настройка контрастности дисплеевТут совсем просто. Запускаем программу Siemens Calibrator, подключаем телефон, открываем третью вкладку и верхним ползунком регулируем контрастность, наблюдая ее изменение на телефоне в реальном времени. Затем записываем ее в телефон. Контрастность внешнего дисплея в «раскладушках» в реальном времени настроить не удасться, поэтому каждый раз сохраняем новую настройку, выставленную нижним ползунком, и проверяем контрастность включением телефона. ЗаключениеВ заключении хотелось бы выразить благодарность тем людям, которые провели достаточно глубокие
исследования программной части мобильных телефонов Siemens, и без которых была бы невозможна ни
описанная выше калибровка, ни создание используемой для калибровки программы Siemens Calibrator. |
|
[Вернуться в начало] |
[Оставить отзыв в гостевой] |