Прошивка чипа картриджа Samsung SCX-4200
Вывод 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. В дорогих программаторах есть несколько разъёмов – под разные виды корпусов.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности