vladisslav 0 4 апреля, 2012 Опубликовано 4 апреля, 2012 · Жалоба Ситуция такая: сделал на atmega8 простой программатор (1117-3.3 по питанию, прошивка на базе V-USB). AVR шьются и читаются без проблем. Решил попробовать читать/писать spi-флешки, благо есть дохлые ADSL D-linkи и материнки, с которых их можно выпаять. Первая попытка писать/читать 93c48 была успешной, разве что пришлось повозиться из-за 9-ти битного протокола. Потом попробовал Pm25lv040 - писалось/читалось нормально. Вычитал BIOS материнки, стер, записал обратно, проверил. Потом снял с D-link 2500 25x16 и начались проблемы. На команду JEDEC ID (0x9f) Отвечает 0xee,0x40,0x00. Должно быть 0xef,0x30,0x15. На команду id (0x90) Отвечает 0xee,0x06,0xe0,0x6e,0x06,0xe0 и так далее по 24 бита, Должно быть 0x90,0x14,0x90,0x14... Режим записи включить не удается, после команды 0x06 из регистра статуса читается 0x00 вместо 0x02. По команде чтения читается одинаковый мусор, если читать несколько раз подряд, так что не ошибки на шине. Подключил обратно 25lv040 - похожая картина. Ошибки в прошивке и управляющая программа точно не виноваты. Контролировал, что передается по светодиодам, выставив clock 1Hz. Выводится именно то, что передается. Убитые статикой флешки вообще не отвечают ни на одну команду, так что не статика точно. Возможно ли убить флешку до такого состояния какими либо не документированными командами (id вроде хранится в масочном ROM, а не как у AVR, да и на команду включения записи должна реагировать со стертым id)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Edit2007 3 5 апреля, 2012 Опубликовано 5 апреля, 2012 · Жалоба Может проблема в разных режимах работы SPI для каждой флеш-памяти??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladisslav 0 5 апреля, 2012 Опубликовано 5 апреля, 2012 (изменено) · Жалоба Может проблема в разных режимах работы SPI для каждой флеш-памяти??? Пробовал все возможные режимы. Если режим неподдерживаемый, то вообще не отвечают, так что дело в чем-то другом. Пробовал подтянуть CE# резистором к VCC для корректной инициализации при подаче питания - не помогло. Сейчас попробую отпаять шнурок для программирования микроконтроллеров и припаять флешку напрямую до резисторов. Может отраженные сигналы засоряют тактовые импульсы... [ Изменено 5 апреля, 2012 пользователем vladisslav Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladisslav 0 5 апреля, 2012 Опубликовано 5 апреля, 2012 · Жалоба Может отраженные сигналы засоряют тактовые импульсы... Имеено это и было причиной неработоспособности флешки. Убрал провода и все нормально читается/пишется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться