48437 (Прошивка чипа картриджа Samsung SCX-4200), страница 3

2016-07-30СтудИзба

Описание файла

Документ из архива "Прошивка чипа картриджа Samsung SCX-4200", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48437"

Текст 3 страницы из документа "48437"

Кроме того, все микросхемы имеют различную реакцию на попытку записи в защищенную выводом 7 область. Одни микросхемы не подтверждают обращение на запись (не выдают сигнал acknowledge), тем самым показывая невозможность записи. Другие микросхемы дают подтверждение, но запись не происходит. При этом часть этих чипов готова к обмену сразу после сигнала STOP в конце «записи», а часть микросхем будет недоступна на время, равное времени, требуемому для записи (хотя при этом данные в чипе не изменятся).

Вывод 6 - SCL (serial clock) - тактовый сигнал, синхронизирующий обмен по шине I2C. Не могу сказать, есть ли какое-то ограничение на минимальную частоту обмена по шине. Во всяком случае автор проверил работу чипа на частоте 0.1Hz и получил положительные результаты, правда чтение одного байта при этом занимает около шести минут. Относительно максимальной частоты, то микросхемы памяти с I2C-протоколом можно поделить на две категории: с частотой обмена 100kHz – Standard Mode (реально работают до 180-200kHz, возможная форма импульса - меандр) и с частотой обмена 400kHz -Fast Mode (реально работают на частоте не менее 480 kHz, не исключено, что может быть и выше. Есть аппаратные сложности для проверки более высоких частот. Начиная от 300 kHz требуют иной скважности импульса. На 400 kHz соотношение периода импульсов clock к их длительности должно равняться трем).

Вывод 5 - SDA (serial clock)- последовательные данные. Это двунаправленный вывод, по которому чип принимает команды и данные для записи, и выдает информацию при чтении.

Есть два способа внутренней организации буфера этого вывода. Их можно увидеть на рисунке 4

Рисунок 4 – Способы внутренней организации буфера вывода SDA

В первом случае линия выходных данных через открытый сток полевого транзистора включена параллельно входной линии. Чип корректно реагирует на сигнал START I2C-протокола, сбрасывая внутренний контроллер в независимости от команд и процедур, выполняемых им в текущий момент.

Во втором случае вывод SDA использует двунаправленный буфер, управляемый внутренним контроллером чипа. Микросхема не «видит» сигнала START в процессе выдачи битов данных на линию (когда буфер включен в режим Out). Если неизвестно состояние такого чипа в данный момент, то необходимо послать в него девять тактовых импульсов с высоким (если сам чип позволит) логическим уровнем на линии SDA, потом сигнал START. После этого состояние чипа будет определено.

В первом случае нет необходимости делать это.

В 1989 году по заказу компании Fuji-Xerox, изготовили микросхему памяти в 256 байт. Чип был назван Xerox90 и в основе работы использовал классический I2C-протокол. Он обладает некоторыми оригинальными свойствами как в способе обращения к нему, так и в структуре памяти. При неверном обращении его легко можно заблокировать (или как стало популярным говорить «убить»). Заблокированный (или убитый, мертвый) чип по сути есть чип, все байты памяти которого при классическом I2C чтении имеют неизменяемое нулевое значение. В связи с высокой трудоемкостью восстановления или разблокирования такого чипа его дальнейшее использование нецелесообразно. В 1994 году чип был доработан, но название Xerox90 сохранилось. Изменения от первоначального варианта в большей степени коснулись структуры памяти и способа ее полного перепрограммирования. Последняя известная его доработка произошла в 2000 году. Микросхема незначительно изменила структуру работы по классическому протоколу и способу перепрограммирования. Она получила новое название Xerox01. Вероятно, существовали или есть и другие производители таких чипов, так как численность таких микросхем с несущественными отклонениями от основной идеи защиты памяти достигает трех десятков. Однако все эти микросхемы очень легко привести в «мертвое» состояние. И все они имеют сходную структуру полного перепрограммирования.

Демонстрационная версия программы, представленная на сайте, позволяет Вам прочитать чип Xerox и получить такую же информацию, какую Вы получили бы используя любой другой программатор I2C и убили бы чип. Демо-версия не убивает чип Xerox при установке опции «Устройства» программы в позицию «Xerox» и предупреждает о возможных последствиях при иных установках.

Что касается чипов от HP Business InkJet, они имеют сходный с I2C протокол. Отличия в структуре команд чтения. Оно вместе с адресацией данных в чипе проходит в одну последовательность от Start до Stop. Все чипы одного аппарата (а их там 8 штук) имеют различный адрес устройства, зависящий от установки чипа. В виду отсутствия видимого интереса пользователей к этому чипу, его поддержка не включена ни в демонстрационную версию, ни в полный вариант программы для I2C. Однако если будет такая необходимость, то соответствующие доработки будут произведены.



2. Информация о программаторах


2.1 Классификация программаторов

По типу микросхем программаторы различают:

  • Программирующие микросхемы ПЗУ (ПЗУ с ультрафиолетовым стиранием, ППЗУ, флэш-память).

  • Программирующие внутреннюю память микроконтроллеров.

  • Программирующие ПЛИС (Программируемые логические интегральные схемы).

Универсальные программаторы могут поддерживать все вышеперечисленные типы.

По сложности:

  • Если нужно единожды запрограммировать микроконтроллерное устройство, радиолюбители обходятся простейшим программатором, подключаемым к COM- или LPT-порту. Например, самый простой программатор для микросхем AVR – это кабель из шести проводов и четырёх резисторов (так называемый программатор PonyProg).

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

  • Самодеятельным конструкторам программаторов известна «проблема курицы и яйца» – если программатор содержит запрограммированный микроконтроллер, то как его запрограммировать? Обычно или отдают микросхему профессионалам, или строят простейший программатор и идут к другу, у которого на компьютере есть соответствующий порт (всё больше современных компьютеров вообще не имеют COM- и LPT-портов).

  • В конструкторских бюро и лабораториях применяются универсальные программаторы. Поскольку в таких устройствах каждый из выводов разъёма (а этих выводов может быть до сотни) может подавать на микросхему напряжения от 0 до 27 В с точностью в 0,1 вольт и частотами до 40 МГц, универсальные программаторы бывают очень дороги – до нескольких тысяч долларов. Зато при появлении новой микросхемы достаточно добавить её поддержку на программном уровне.

По подключению микросхемы:

  • Параллельный.

  • Внутрисхемный.

Параллельные программаторы содержат разъём, в который и вставляется программируемая микросхема. Внутрисхемные пригодны только для тех микросхем, в которых поддерживается внутрисхемное программирование, но позволяют прошивать микросхему, не вынимая её из устройства.

При покупке параллельного программатора стоит обратить внимание на качество разъёма, в который устанавливается микросхема. Обычный одноразовый разъём долго не прослужит; программатор должен иметь цанговые разъёмы – а ещё лучше ZIF. В дорогих программаторах есть несколько разъёмов – под разные виды корпусов.

Первые программаторы были автономными – для набора прошивки имелась клавиатура или коммутационная панель. С распространением ПК такие программаторы были полностью вытеснены подключаемыми к компьютеру – специальная программа (которая также называется программатором) передаёт прошивку с компьютера, а программатору остаётся только записать её в память микросхемы.

Для подключения программаторов могут применяться:

– Последовательный порт.

– Параллельный порт.

– Специализированная интерфейсная плата (ISA или PCI).

– USB.

Стоит заметить, что в самых простых параллельных и последовательных программаторах управляющему ПО приходится напрямую управлять логическим уровнем на выводах порта. Такое прямое управление в Windows NT запрещено, это обходится установкой специализированного драйвера; через адаптеры USB>COM bitbang-программаторы работают крайне медленно (единицы-десятки байт в секунду). Микроконтроллерные программаторы полностью поддерживают протокол COM- или LPT-порта и поэтому свободны от этих недостатков.

Специализированные платы изредка применялись до появления USB, так как позволяли достичь максимальных скоростей обмена данными. Впрочем, одновременно они делали программатор стационарным.

Современные программаторы подключаются через USB (лишь простые дешёвые конструкции используют COM- или LPT-порты).

По дополнительным функциям:

– Наличие программного обеспечения под распространённые платформы (обычно под Windows и Linux; остальные ОС среди разработчиков непопулярны).

– Проверка правильности подключения ещё до попытки стереть микросхему.

– Проверка исправности программатора.

– JTAG-адаптеры, пригодные одновременно как для программирования, так и для отлаживания прошивок.

– Полевые программаторы имеют компактные размеры и содержат внутреннюю память для хранения прошивки.[1] Такие программаторы предназначены для обслуживания техники прямо в местах её установки (подчас труднодоступных).

– Встроенный HEX-редактор, позволяющий откорректировать записанную в микросхеме информацию.

– Возможность самостоятельного обновления прошивки самого программатора.

– Возможность одним нажатием кнопки выполнить некоторую последовательность действий – например, стереть, проконтролировать стёртость, записать, проверить правильность записи и установить конфигурационные биты (так называемое автоматическое программирование).

В программаторах для массового программирования может применяться скриптовый язык, на котором можно реализовать, например, автоинкремент серийных номеров – таким образом, каждая микросхема будет иметь уникальный номер.

2.2 Выбор программатора

Прочитав название статьи каких-нибудь 10-15 лет назад, мы бы очень удивились: нам бы ваши проблемы. Работая на «ящиках», мы и понятия не имели, что в этом вопросе бывает какая-то неопределенность. Перечень разрешенных к применению микросхем был настолько «широк», что приходилось выбирать практически из одной позиции, да и вопрос с программаторами обстоял элементарно просто: тебе нужен программатор – сделай его сам. Каждая лаборатория с гордостью делала свой, самый лучший и надежный программатор. Каких устройств там только не было: начиная от простых, но очень надежных изделий на тумблерах, до очень сложных, занимавших половину рабочего стола и иногда работавших мощных программаторов. Их разработчики с любовью программировали каждый бит тех сложных устройств (благо устройства эти не были обременены большим количеством информации). Обычно пользоваться таким программатором мог только человек, давший ему жизнь, а весь процесс программирования со стороны воспринимался, как шаманский танец с бубном. Теперь мы, к великому сожалению, лишены всей прелести тех лет.

С падением железного занавеса выяснилось, что перечень программируемых интегральных схем в мире просто гигантский – это микросхемы памяти как с параллельным, так и с последовательным доступом информации (EPROM, EEPROM, FLASH); микроконтроллеры с внутренней памятью команд и данных; микросхемы программируемой логики (PLD). Причем, перечень таких изделий с каждым годом стремительно растет, имея тенденцию к усложнению изделий и к увеличению их гибкости. С другой стороны, как ответ на потребность использования этих микросхем, рынок наполняется большим количеством программаторов. Как не ошибиться и сделать правильный выбор при приобретении программатора? В этой статье мы попытаемся дать представление об устройстве программаторов и ответить на этот вопрос.

Рассмотрим классификацию программаторов по функциональным возможностям. Условно их можно подразделить на такие группы:

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4098
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее