Обобщал протокол serial-программирования процессоров AVR и тестируя в железе три раза подряд на Tiny12 получил разный результат. В шите на Tiny12 при установке Lock-бит второй байт содержит 5 первых едениц, потом два лок-бита, потом ещё одну еденицу. По какой-то причине у этого проца вместо указания незначащих бит (x) их указали в еденице. Хотя начиная ещё с более старых (S1200, S2313) всегда были значимыми первые три еденичных бита и два Lock-бита - 1 и 2-ой в этом же байте. Экспериментируя, я отправил вторым байтом число 0xe0 и ещё два любых байта, как пологается. Затем, прочитав сигнатуру мне выдалось 0x00, 0x01, 0x02 - то есть сигнатура перестала читаться. И после отключения ~Reset в 1 у меня проц далее перестал читаться по serial-протоколу. Оказалось что заодно слетели фьюзы и требовали подключения кварца. После восстановления фьюзов через High Voltage на второй попытке передача второго байта 0xe0 отказалась вообще обнулять lock-биты через serial mode, но и фьюзы не слетели и сигнатура нормально читалась. И уже на третьей попытке второй байт 0xe0 нормально обнулил lock-биты и сигнатура читалась правильная. Вот такие чудеса бывают в современной (импортной?) электронике.
А теперь вопрос. За неимением Tiny22 в руках не подскажет ли кто-то, чтение Lock & Fuse в HV mode Tiny22 происходит по вторым байтам (на PB0 & PB1 соответственно) 0 + 0x78 (как в S2323) или 0 + 0x68 как указано в шите на Tiny22 ? Третьи байты посылки отличаются от вторых только установкой 2-ого бита для PB1 (0 + 0x7c и 0 + 0x6c соответственно).
Сообщение отредактировал GetSmart - May 10 2015, 08:41
--------------------
Заблуждаться - Ваше законное право :-)
|