Автор: Кондратьев А.В.
Перейдём к рассмотрению следующего класса устройств, весьма распространённых в составе типового набора офисной ПЭВМ – принтерам.
Прежде всего, обратим внимание читателя на то, что, как и при анализе других устройств ПЭВМ, принтер необходимо разделить на функционально отличающиеся узлы (блоки) и рассматривать каждый из них раздельно (со своими параметрами сигналов ПЭМИН).
В качестве таких узлов, a priori, можно назвать интерфейс связи с системным блоком (или локальной сетью), контроллер обработки сигналов самого принтера (включая внутреннюю память) и узел печати. Сегодня основными моделями принтеров являются принтеры струйные и лазерные (за весьма малыми исключениями). Распространённые ранее модели матричных принтеров уже неактуальны и рассматривать их не имеет смысла.
Упомянутые две основные линейки принтеров, с точки зрения механизма и особенностей их ПЭМИН в части интерфейсов связи и внутренней обработки информации не различаются. Разница существенна только в отношении построения узлов печати.
Рассмотрим кратко с нашей профессиональной точки зрения эти основные составляющие принтера.
ИНТЕРФЕЙСЫ связи
На сегодняшний день, почти безраздельно, принтер подключается по интерфейсу USB. Ранние варианты с подключением по последовательному COM-интерфейсу или параллельному LPT уже настолько мало применяются, что часто на системных блоках просто отсутствуют соответствующие разъёмы. Поэтому рассматривать эти интерфейсы мы не будем, тем более, что сложного в них нет ничего.
Оставив, пока, за пределами рассмотрения интерфейс локальной сети (LAN) сосредоточимся на интерфейсе USB.
Этот интерфейс на сегодняшний момент эксплуатируется в четырёх вариантах протокола – 1.0; 1.1; 2.0 и последняя версия, пока ещё мало распространённая – 3.0. Версия 1.0 давно устарела и применяется только в самых низкоскоростных устройствах, например клавиатурах или манипуляторах «мышь».
USB версии 1.1 поддерживает две скорости – режим full speed 12 Mbits/s и режим low speed 1.5 Mbits/s. Режим 1.5 Mbits/s медленнее, и менее чуствителен к EMI (помехам), чем уменьшает стоимость кабелей и ферритовых фильтров на них, снижает требования к качеству компонентов. Например, кварцы могут быть заменены на дешевые резонаторы. USB 2.0, который в настоящее время господствует, в том числе и для подключения принтеров, поднимает планку до 480Mbits/s. Эти 480Mbits/s обозначены как режим High Speed, и по этому параметру он может конкурировать с последовательной шиной Firewire (IEEE 1394).
Подробное рассмотрение спецификации протокола, насчитывающее около 650 страниц, не входит в наши планы. Однако некоторые параметры нам необходимы. Важны, например, тактовые частоты интерфейса, устанавливаемые в секции 7.1.11 спецификации USB.
Эти цифры дают нам информацию о том, вблизи каких именно частот ожидать ПЭМИН этого интерфейса и возможные отклонения от них.
У USB есть пакет start of frame (SOF), который строго периодично (каждые 1 мс для low speed и full speed) посылается на шину для поддержания её в активном состоянии. Это препятствует тому, чтобы шина стала неактивной (вошла режим приостановки) при отсутствии данных на шине.
Для нас это означает, что должен существовать (может существовать) ПЭМИН с тактовой частотой 1 кГц (для USB 1.1 и 2.0) или 8 МГц (для USB 3/0) и он не относится к передаче данных, то есть – неинформативен. Причём эти частоты (этот ПЭМИН) должен проявляться, прежде всего, в периоды паузы в передаче данных (при типовом старт-стопном построении теста). Последняя частота имеет очень большой допуск по периоду, фактически ± 50%.
Рассматривая пакет данных (а пересылка по данному интерфейсу осуществляется только пакетами). Из 4-х типов пакетов, формируемых протоколом, нас интересуют только пакеты данных - пакеты data содержащие payload. Построение их несложно.
Имеется 2 типа пакетов данных, каждый из которых может передать до 1024 байта данных.
Sync |
PID |
Data |
CRC16 |
EOP |
Рисунок 12.1 – Формат пакета DATA
Максимальный размер полезной нагрузки (payload) для low-speed устройств составляет 8 байт. Максимальный размер полезной нагрузки для full-speed устройств составляет 1023 байт. Максимальный размер полезной нагрузки для high-speed устройств составляет 1024 байт. Из приведённых сведений следует, что только для варианта USB1.1 или 2.0 длина информационной части пакетов достаточно велика (порядка 1024 байт) по сравнению с служебной частью (заголовком пакета, Sync и PID в начале; CRC и EOP в конце пакета).
Возвращаясь мысленно к ранее изложенным принципам образования линейчатой структуры спектра таких сигналов, вспомним следующее. Предположим, реализован и ведутся СИ интерфейса USB 1.1 c тактовой частотой 12 МГц. Как показано выше, длина пакета данных 1024 байт. Поле SYNC имеет длину 8 бит на low speed и full speed или 32 бита на high speed. PID - 4 бита, однако чтобы обеспечить его правильный прием, 4 бита дополнены (complemented) и повторены, в результате получился 8-битный PID заголовка. В сумме это 12 бит (полтора байта).
В конце пакета поля CRC-контроль пакета и EOP занимают 14 байт плюс 2 бита.
Итого, длина пакета составляет 1024+16=1040 байт. Соответственно, это 1040*8=8320 бит. Считая, что в течении каждого периода тактовой частоты передаётся один бит, получим тактовую частоту следования пакетов, равную 12000/8320=1,442 МГц.
Для нас это означает, что спектр должен иметь линейчатую структуру с «главными» составляющими через 12 МГц и справа и слева от них «боковые» с шагом, кратным 1,44МГц (разумеется, с должными допусками на точность кварцев контроллера).
Причём (и это принципиально важно), все частоты (составляющие спектра), меньшие нулевой гармоники на частоте 12 МГц будут связаны только с чередованием пакетов и, принципиально, неинформативны. Аналогично прикидка может быть проведена и для основной частоты передачи 480МГц.
Исследования интерфейса 2.0 усложняется ещё и тем, что он является адаптивным. В связи с чем, «не договорившись» с девайсом на скорости High speed хост перейдёт на более низкую скорость, вплоть до full speed, периодически возвращаясь к попытке работы на максимальной скорости. Для нас это означает наличие в ПЭМИН составляющих, соответствующих произвольным тактовым частотам. А, значит, на оператора (автоматика измерительных систем, пока, делать этого не умеет) ложится задача сортировки всех выявленных информативных («имеющих признаки информативности») составляющих по своим тактовым и расчёт их с разными параметрами.
Но это ещё не все сложности с этим интерфейсом. Данные (data) кодируются в физической линии методом NRZI (Non Return to Zero Invert – «без возврата к нулю с инверсией», рисунок 32). Кроме того, для исключения длительных периодов одного и того же направления тока применяется вставка бит (bit stuffing), чтобы обеспечить нужные изменения уровня в потоке данных.
Таким образом, крайне сложно (реально – невозможно) создать такое наполнение байтов в блоке данных, чтобы обеспечить постоянный период их следования как внутри пакета, так и от пакета к пакету. В подавляющем числе тест-программ для СИ этого интерфейса это и не пытаются реализовать, а применяют передаче случайных байтов. Как следствие – «скачущая», причём – нерегулярно, тактовая частота и, в полном соответствии с теорией – сплошной спектр ПЭМИН.
На практике это выглядит как участки спектра с наличием «окраски» (за счёт старт-стопного режима работы теста), с невыраженными или достаточно выраженными «краями» занимаемой частотной области. Типичные спектры приведены на рисунке 37.
Разумеется, приведённые сведения верны для любого интерфейса USB, а не только для подключения принтера. В заключение можно посоветовать только выбор для подключения принтера качественных кабелей высокотехнологичных производителей (обычно имеют обозначение «High speed»), с хорошим симметрированием и экранированием витой пары «data». Это затрудняет выявление и измерения ПЭМИН, но крайне благотворно сказывается на результатах оценки защищённости. Нелишнем будет напомнить, что физический кабель в данном случае является элементом интерфейса, во многом определяющим уровень защищённости. Посему кабель должен быть промаркирован и вписан в «Предписание на эксплуатацию». Его замена без дополнительных СИ должна быть исключена.
УЗЛЫ ОБРАБОТКИ информации принтера.
К таковым следует отнести входные буферные регистры интерфейса, сигнальный процессор, знакогенератор и внутреннюю память.
Как правило, вся циркуляции информации в этих блоках осуществляется в параллельных кодах и с разрядностью, не менее 8 (16;32). Эту разрядность никто не мешает подтвердить изучением тех. документации на изделие, обращением в сервис-центр и т.д.). Все эти функции сосредоточены (за некоторыми исключениями в больших, дорогих, многофункциональных моделях) на одной плате. Соединительные линии короткие, неплохо согласованные.
Разумеется, если в составе принтера имеется SATA HDD, то это отдельное устройство с, принципиально, последовательным интерфейсом.
Если же Ваш принтер типовой HP или Stylus, то эти блоки просто исключаются из рассмотрения (читайте НМД!). Упомянув в Протоколе, на каком, собственно, основании.
ПЕЧАТАЮЩИЕ УЗЛЫ.
Вот тут начинаются различия. Чтобы обосновано рассуждать об именно этих узлах, придётся, хотя бы кратко, вспомнить о принципах печати, заложенных в струйные и лазерные принтеры.
Разумеется, здесь не место для подробного изложения принципов работы этих устройств. Необходимую информацию каждый легко найдёт в сети. Однако некоторый минимум надо осветить…
Итак, струйные принтеры «рисуют» элементы изображения на бумаге из микроскопических точек-капель красителей. При этом капли настолько малы, что в поперечном изображении вертикального элемента любой буквы их помещается несколько. Ниже приведён снимок 12-5, показывающий как это выглядит реально.
Надо отметить, что для микросъёмки расстояние между каплями красителя было увеличено. При печати текста (то есть графически элементов текста) капли (на обычной бумаге) почти сливаются.
Можно долго рассуждать на тему того, как именно строиться изображение (как распределяются микрокапли красителя, сколько микронасосов срабатывает одновременно, как двигается печатающая головка) при печати на струйных принтерах. И бессмысленно…
Дело в том, что каждая фирма – изготовитель (Canon, Samsung, HP, Lexmark и т.д.) аппаратно задаёт свои алгоритмы формирования графических элементов. Едино одно – все сигналы управления печатающей головкой поступают в неё по гибкому плоскому кабелю (шлейфу), который изгибается и следует за печатающей головкой при её движении поперёк листа. Отметим, что абсолютно так же работают большинство моделей струйных плоттеров.
Именно этот кабель и является самым «радиоярким» источником ПЭМИН в принтере (струйном).
А вот в каких именно его проводниках идут сигналы управления микронасосами печатающей головки – придётся устанавливать экспериментально. И какую именно компоненту поля прежде всего искать – электрическую (если управление микро насосами, например – пьезоэлектрическими) или магнитную (для «термо» головок), придётся выяснять отдельно. Как и конкретную структуру сигналов в этом кабеле, даже при самом простом тест-режиме «пиксель через пиксель». Поэтому осциллограф в руки, подключайтесь к разъёму плоского кабеля и да не оставят Вас своею милостью боги специсследований!
Кстати, если есть свои боги почти у всего, то почему бы им не быть и для области специальных исследований??? Почему бы таковым не считать, например, Одина?
Судите сами:
«Один — бог волшебства и мудрости, который ради знания неоднократно приносил в жертву собственное тело: первый раз — пожертвовав свой глаз, во второй — распнув себя на стволе Иггдрасилля. Таким образом, он достиг просветления, добыл и даровал асам, ванам, гномам, альвам, гигантам и людям смысл рун. Им же рождены многие искусства, включая поэзию. На плечах у него сидят два ворона: Гугин и Мунин, а у его ног лежат волки Гери и Фреки. Гугин и Мунин каждый день облетают землю, а Гери и Фреки каждую ночь обегают её и рассказывают своему хозяину обо всем, что они видели и слышали»
Чем не «СИшник», которому и надо быть мудрым и, порою, волшебником? Он же «кладёт на алтарь» всё своё умение, знания, чуть ли не «живот», ради «нескольких строк в Протоколе» ;) А его измерительные приборы - чем не «вороны» и «волки», кстати те самые, которых «ноги кормят» J
Впрочем, вернёмся к сути.
Понятно, что заранее, «а priori» задать для расчёта результатов, тактовую частоту и длительность импульса не получится. Надо измерить оба параметра именно для выбранного тест-режима и никак иначе. Благо, частоты невелики и для этого пригоден, практически любой осциллограф с нормальным кабелем-пробником. Нужно только учесть, что осциллограф измеряет (визуализирует) напряжение. А в токовых цепях (например, для термоголовок), напряжение сигнала может быть невелико и составлять всего десятки-сотни мВ. Следует учитывать и возможность дифференциальной подачи управляющих сигналов. В этом случае полезен пробник с дифференциальным входом. Подключение к проводникам кабеля осуществляется при (строго!) выключенном и обесточенном принтере. Либо к «pin» его разъёмов, либо к самим проводникам (токоведущим жилам» кабеля около неподвижного разъёма. Это уже «технология»…
Сам тест-режим, как правило, остаётся тем же, традиционным, «пиксель-через-пиксель). Только при этом принтер печатает полосы, высотой в одну печатную строку. Каждая полоса состоит из вертикальных чёрных и белых полосок. А вот в сколько перемещений (микросдвигов) головки печатается «чёрная» полоска, сколько фильер (дюз) срабатывает одновременно надо выяснять, анализируя сигналы в шлейфе головки, изучая документацию на принтер и т.д. Это важно, так как будет определять «тактовую частоту». Не исключён вариант, когда собственно чёрная полоска печатается в 2÷3 микросдвига головки разно расположенными фильерами, а передвижение головки к следующему знакоместу (следующей чёрной полоске) будет занимать иное время. То есть структура сигнала будет иметь во времени следующий вид (рисунок 12-6).
В этом случае и структура ПЭМИН (спектр) будет «линейчатым», с расстояниями по частоте между компонентами спектра, соответствующими выявленным периодам импульсов и периодом следования «пакетов». Это поможет Вам обнаружить компоненты ПЭМИН, заранее зная частоты, на которых их искать.
В заключение «эссе» о струйных (впрочем, и о лазерных!) принтерах упомянем, что сигналы управления микро насосами печатающей головки надо искать (измерять, рассчитывать) как в эфире (по «Е» и «Н» компонентам), так и в отходящих линиях (если они имеют выход за пределы КЗ или от них возможна наводка на линии, имеющие выход за пределы КЗ). Тактовые частоты этих сигналов, обычно, составляют десятки кГц. Пример приведён на рисунке 12.8.
При проведении СИ весьма характерным признаком того, что выделенный сигнал именно «то самое», служит плавное нарастание и спадание уровня ПЭМИН синхронно с движением каретки печатающей головки. Особенно это заметно на «Н» компоненте. Как правило, при этом «рамка» размещается над принтером, посередине и её плоскость перпендикулярна направлению движения каретки.
Перейдём к принтерам лазерного типа. В их интерфейсе и обработке сигналов в сигнальном процессоре нет ничего, отличающегося от струйных принтеров, что заслуживало бы отдельного рассмотрения. А вот печатающий узел у них совсем иной.
Устройство этого узла более чем достаточно освещено в литературе. Поэтому обратим внимание на то, что важно именно для СИ. Нам абсолютно необходимы тактовая частота импульсов управления лазерным диодом (полупроводниковым лазером) и длительность этих импульсов. Разумеется, потратив кучу времени, почти разобрав сам принтер, можно добраться до самого диода и подключить к его выводам пробник осциллографа. Если мы сумеем запустить принтер в таком, «хирургически вскрытом» состоянии, то проблема решена. Все нужные параметры сигнала измеряются непосредственно и точно (лучше применять дифференциальный вход пробника).
Возможно ли обойтись без такой, не очень простой и очень длительной «операции»?
Можно, с разумной степенью точности. Именно с той точностью, с которой удастся выполнить нижеследующие действия (особенно хронометраж процесса печать в избранном тест-режиме).
Луч лазера, «разворачиваемый» по горизонтали на поверхности печатающего барабана вращающимся многогранным зеркалом или призмой, прочерчивает строку за строкой с одной и той же скоростью. Задавая режим печати мы устанавливаем и горизонтальное (число «пискелей», обычно на 1 дюйм, в строке) и вертикальное (число строк на дюйм) разрешение печати.
Если провести хронометраж процесса печать (возможно и считать число листов в минуту где-то в параметрах принтера), то можно вычислить, сколько строк печатается в секунду. Соответственно, это количество «пакетов» импульсов управления лазером, равное числу строк.
А в каждом пакете столько импульсов, сколько «пикселей» уместится в одну строку (горизонтальное разрешение/2* число дюймов в горизонтали формата А4 с учётом полей; например 600/2*7,87= 2362). Это число импульсов в одном «пакете» (строке).
Предположим, что лист печатается за 10 с (5 листов в минуту и учитываем паузу на подачу следующего листа, данные условные!). Тогда за секунду будет отпечатано (при вертикальном разрешении те же 600 dpi, только уже без «белых» пикселей!) 297-10 мм; 287/10=28,7 мм; 600*(28,7/25,4)= 678 (строк).
Тогда тактовая частота находится простым перемножением двух полученных чисел:
2362*678=1601325
То есть частота импульсов в лазерном диоде должна быть в районе 1,6 Мгц. Там её и будем искать, равно как и на частотах, кратных вычисленной.
Сразу предупрежу, что отыскать удаётся редко. Ток в современных лазерных диодах невелик (высокий КПД), напряжение в цепи и того меньше, проводники весьма короткие. Но искать нужно, хотя бы для того, чтобы иметь право утверждать, что сигналы от этого узла ниже уровня помех. Размещение антенны индивидуально для каждого типа принтера, как и её ориентация в пространстве.
Вот, собственно, и всё о СИ принтеров.
Другие узлы и устройства ПЭВМ в последующих публикациях.