Нужен доступ к XDATA в ATmega64L. Инициализация соответственно сделана так:
SETBIT(MCUCR,SRE);
SETBIT(XMCRB,XMM2);
В итоге по ALE шарашат импульсы. Причём импульсы разной скважности. Но это именно импульсы, а не помехи. Да сигналы RD, WR формируются правильно. Как решить эту проблему?
если Вы считаете, что это проблема -- то никак, просто не используйте XDATA
Т.е Вы считаете это нормальным когда без обращения к XDATA по ALE лезут импульсы?
Уточню импульсы прут постоянно вне зависимости обращаюсь я к внешней памяти или нет.
это происходит потому, что ALE генерится каждый раз при обращении к памяти. Даже внутренней. А не только внешней. Обычно делается в регистрах битик, который позволяет отключать генерацию ALE когда не надо, но это уж Вы сами поищите в даташите. По крайней мере для 162 меги я в свое время такой опции не нашел
Цитата: "После разрешения работы интерфейс XMEM изменит настройки регистров направления данных портов, линии которых предопределены для выполнения функций интерфейса XMEM. Более подробная информация об изменении настроек порта приведена в разделе "Порты ввода-вывода" при рассмотрении альтернативных функций. Интерфейс XMEM автоматически определяет к какой памяти внешней или внутренней осуществляется доступ. Во время доступа к внешней памяти интерфейс XMEM будет формировать сигналы шин адреса, данных и управления на линиях порта в соответствии с рисунком 13 (на рисунке представлены формы сигналов без состояний ожидания). При переходе ALE из 1 в 0 на линиях AD7:0 будут присутствовать действительные адресные сигналы. ALE находится на низком уровне во время передачи данных. После разрешения работы интерфейса XMEM доступ к внутренней памяти будет вызывать изменения на шинах данных и адреса, а также строба ALE, при этом, стробы RD и WR останутся неизменными. После запрета работы интерфейса внешней памяти используются обычные установки выводов и направления данных. Обратите внимание, что после отключения интерфейса XMEM адресное пространство свыше внутреннего ОЗУ не связано с последним."
Есть предложение - если не работаете с внешней памятью отключайте бит SRE. Хотя сигнал ALE жить сильно не мешает.
Правда в последних сериях 51 этот сигнал можно отключить, а появляется он только при команде.
Всё понятно. Спасибо большое за ответы!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.