Здравствуйте! У меня есть "пара" вопросов к опытным пользователям микросхемы 1636РР2У, либо к разработчикам. Работаю на оборонку, сам недавно пришел на предприятие и впервые работаю с этой ПЗУ. И после прочтения спецификации вопросов стало еще больше.
Конкретнее работа в параллельном режиме.
Суть:
1. В табл.2 указано что для записи необходимо се=0 we=0 oe=1, но как следует дальше, все таки необходимо произвести стробирование we и ce, и по спаду записывать адреса, а по фронту записывать данные, причем по таблице5 на программирование 4 цикла: 555 АА, 2АА 55, 555 А0, РА РD. Но если смотреть на диаграмму, то я не заметил там идущих подряд этих циклов(рис13, рис14), причем судя по диаграмме, по сути там идет только 555 A0, PA PD. Вопрос: Так как же все таки организовать программирование в параллельном режиме?
2. После завершения последовательности программирования необходимо следить за статусными битами или ждать паузу максимального времени программирования ипроверять данные, а потом только переходить к записи следующего байта в следующую ячейку. Вопрос: А можно не ждать эту паузу(300мкс), а сразу приступать к программированию следующей ячейки без проверки тех данных которые записались в предыдущую ячейку? а то 300 мкс - довольно таки долгая пауза.
3. То же самое что и 2 вопрос, только в байпасе. можно ли программировать друг за другом ячейки не выжидая паузу для проверки правильно ли записан байт, а только после завершения операции программирования всех ячеек прочитать с целью проверки весь массив данных который был записан. А то если заходить в байпас, записывать байт в байпасе, потом выходить из байпаса чтобы перейти в режим чтения - это будет гораздо дольше стандартной операции программирования, и тогда я не вижу смысл байпаса.
Объясните, пожалуйста, начинающему специалисту, как правильно организовать программирование в параллельном режиме и желательно по рабоче-крестьянски

1. Да в таблице истинности для записи правильнее было указывать фронт (передний из нуля в единицу и для записи данных и для записи адреса). Командная последовательность программирования по таблице 5 состоит из 4 циклов записи, на временной диаграмме показаны два последних цикла записи командной последовательности программирования (это разные понятия). Цикл записи на параллельной шине это не тоже самое что последовательность программирования.
2. В новой версии спецификации или руководства по эксплуатации необходимо следить за статусными битами, причём статусные биты гарантируют более информативное отслеживание входа в режим программирования и выхода из него. Ожидание паузы худший вариант, а не проверять биты, не ждать паузу и непрерывно писать нельзя. Следующая операция программирования не начнётся пока не завершена предыдущая.
3. Ответ тот же выжидать паузу не обязательно, но статусные биты проверять обязательно до окончания программирования. Выходить из режима bypass не нужно для чтения данных. Если не выполняется любая внутренняя операция в любом режиме стандартный или bypass ячейки доступны для чтения.
P.S. Все проблемы которые возникают у пользователей на данный момент связаны с тем подходом программирования, который Вы описывали, писать, ничего не ждать, не проверять, а в конце проверить всю матрицу, в результате не записанные ячейки, стирание всей матрицы и заново повторять весь процесс и так до бесконечности. И большинство вопросов сразу снимается после того как Вы начнёте работать с flash и попробуете все её режимы. Читать, писать, только изучив основательно можно принять для себя тот или иной подход, если строгие рекомендации про проверке статусных бит, записанной информации Вам не подходит. Просто читая спецификацию, без практических применений не понять всех особенностей работы.