Andrey писал(а):
Alexey.L писал(а):
Проясните, пожалуйста, моменты с установкой и снятием защиты сектора по параллельному интерфейсу.
После установки высокого уровня на A9_HV и OE_HV в цикле пишу по необходимому адресу на протяжении 100 мкс. По осциллограмме, из-за цикла записи, на WE идут перепады уровня, если без цикла (т.е. много раз запись по адресу), то просто пики высокого уровня. И есть еще время входа в защиту после установки А9 ОЕ, не совсем понятное зачем.
В итоге получается установка защиты и ее снятие, но как-то нестабильно. Можно указать на критически важные моменты?
Спасибо.
Зачем в цикле писать на протяжении 100 мкс, когда нужно писать один раз но при этом длительность низкого уровня сигнала nWE должна быть 100 мкс при защите сектора
и 5 мс при снятии защиты сектора. Не должно быть никаких пик, должен быть низкий уровень требуемой длительности. Время входа это время через которое запуститься внутренняя операция по снятию или установке защиты, справочные данные.
Эм, хотелось бы, вот только он что-то возвращается обратно в высокий уровень после завершения записи (про WE). Более наглядно в прикрепленных скриншотах (синий - WE, остальные A9 и OE).
В итоге еще поработав, снизили частоту обращения к памяти до минимальной возможной, тогда получилось время одной записи в 50 мкс, но высокий уровень между операциями чтения длиться дольше. (данной ситуации на скриншотах нету)
В итоге установка защиты, как правило, устанавливается с первой попытки, иногда и с 20, а вот снятие иногда с 100 (в цикле жду результата по проверке). Какую-то закономерность понять не удалось. Понимаю что несколько нарушения идут в алгоритме, но может высокий уровень определенной продолжительности микросхема не учитывает и тогда следует не понижает частоты и увеличивать такты на чтение, а наоборот увеличить, получив минимальной возможные по длительности пики высокого уровня?
Процессор 1892ВМ12Т (МСТ-03Р).

Открыть Скриншоты
Вложение:
Комментарий к файлу: Работа при минимально достаточных значениях для памяти.
LeCroy5.jpg [ 127.41 КБ | Просмотров: 3997 ]
Вложение:
Комментарий к файлу: Увеличение тактов для записи.
LeCroy7.jpg [ 127.96 КБ | Просмотров: 3997 ]
Вложение:
Комментарий к файлу: Установка защиты
LeCroy8.jpg [ 109.63 КБ | Просмотров: 3997 ]
Вложение:
Комментарий к файлу: Снятие защиты
LeCroy9.jpg [ 111.6 КБ | Просмотров: 3997 ]

Закрыть

Открыть Количество попыток на снятие/установку защиты в цикле (защита/снятие только на старшем байте).
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 67
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 7
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 16
Sector 32 defend = 01000000 SET attemps 18
Sector 32 defend = 00000000 UNSET attemps 79
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 7
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 7
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 36
Sector 32 defend = 01000000 SET attemps 2
Sector 32 defend = 00000000 UNSET attemps 79
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 31
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 137
Sector 32 defend = 01000000 SET attemps 7
Sector 32 defend = 00000000 UNSET attemps 27
Sector 32 defend = 01000000 SET attemps 8
Sector 32 defend = 00000000 UNSET attemps 179
Sector 32 defend = 01000000 SET attemps 17
Sector 32 defend = 00000000 UNSET attemps 31
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 43
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 79
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 23
Sector 32 defend = 01000000 SET attemps 15
Sector 32 defend = 00000000 UNSET attemps 55
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 91
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 19
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 27
Sector 32 defend = 01000000 SET attemps 9
Sector 32 defend = 00000000 UNSET attemps 11
Sector 32 defend = 01000000 SET attemps 16
Sector 32 defend = 00000000 UNSET attemps 67
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 79
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 79
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 54
Sector 32 defend = 01000000 SET attemps 14
Sector 32 defend = 00000000 UNSET attemps 103
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 20
Sector 32 defend = 01000000 SET attemps 11
Sector 32 defend = 00000000 UNSET attemps 4
Sector 32 defend = 01000000 SET attemps 17
Sector 32 defend = 00000000 UNSET attemps 14
Sector 32 defend = 01000000 SET attemps 21
Sector 32 defend = 00000000 UNSET attemps 31
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 67
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 31
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 7
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 31
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 31
Sector 32 defend = 01000000 SET attemps 1
Sector 32 defend = 00000000 UNSET attemps 37
Sector 32 defend = 01000000 SET attemps 13
Sector 32 defend = 00000000 UNSET attemps 31

Закрыть