Значит такое дело...
Есть DS2432. Естественно на шине 1-wire. Как устроен мастер на шине - не совсем важно.
Повозились слегка... В итоге:
Умеем читать Registration Number (команда READ ROM).
Умеем писать и читать Scratchpad (команды WRITE_SCRATCHPAD, READ_SCRATCHPAD), причем, что запишем, то и читаем.
А вот с чтением памяти проблема (команда READ MEMORY).
Симптомы:
1. Основное. В том даташите, который есть у меня (правда он preliminary) написано, что адреса с 0090h до 0097h содержат тот же Registration Number, который читается командой READ ROM. Мы же оттуда читаем FF 00 FF 00 FF 00 FF 00.
2. Кроме этого, опять же в моем даташите есть фраза, что по адресу 008Bh находится Factory byte (read only) И читается из него либо AAh либо 55h. Опять же при чтении памяти ни одного из этих значений нет вообще.
3. Есть некий признак, что в ветку выполнения команды чтения этой памяти мы все же попадаем, потому что, когда внутренний счетчик DS2432 досчитывает до конца памяти, он действительно начинает выдавать FF как и описано в даташите.
4. Когда читаем всю память, основной вид данных тоже FF 00 FF 00, но иногда попадаются исключения. Причем раз от разу эти исключения остаются на своих местах. Т.е. это вряд ли ошибка на шине.
Собственно гипотезы:
1. У меня кривой даташит.
2. У меня хитро поломанная DS2432 - бред.
3. Чего-то я не понимаю... Но вроде команда одна из простейших. И есть признаки, что она выполняется.
PS. вроде как на шине 1-wire все нормально, т.к. остальные команды выполняются.
PPS. Может у кого-нить есть datasheet который полный и без пометки PRELIMINARY?
PPPS. Подскажите/посоветуйте кто чего может?