реклама на сайте
подробности

 
 
> Вопрос большим спецам по x51!, Проблема работы с ПЗУ > 64K
NeoN
сообщение Oct 29 2004, 18:37
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 150
Регистрация: 18-10-04
Пользователь №: 901



Суть вот в чем: есть железка, в которой и программа и большая порция данных хранится во внешнем ПЗУ (29С020). Доступ ко всему объему памяти осуществляется постранично по 64К, страницы переключаются битами порта 3. Программа продублированна во всех страницах, т.е. переключение страниц во время выполнения программы не должно ее сбивать. Однако, вслучае выполнения вот такой например конструкции:
sbit P3.x ; выбор страницы
acall yyy
подпрограмма вызывается не с того адреса, причем если использовать lcall - все Ок.
Глюк проявляется на AT89C52, на DS80C320, например, такого нет.

Сразу скажу: в данном случае проблема была решена вставкой nop после sbit, однако не приведет ли в каком-либо другом случае подобных механизм доступа более чем к 64К памяти к глюкам?

Спасибо.


--------------------
user posted image
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DPL
сообщение Oct 31 2004, 10:06
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 88
Регистрация: 15-10-04
Из: Новочеркасск
Пользователь №: 886



Сейчас негде быстро посмотреть, но что-то мне вспоминается, что у классических MCS51 при выполнении записи в порт фактическое состояние его выводов изменяется где-то в начале цикла выборки следующей команды. Таким образом, возможно, что адрес после переключения не успевает стабилизироваться к моменту считывания кода. Что будет на выходах ПЗУ при изменении адреса в процессе чтения - вопрос сложный. Возможно, в описанном случае код команды LCALL не искажается, a ACALL - искажается.
Что касается Атмела вообще, то мы в своей работе активно использовали AT89C51, 52, 55, S8252 именно с переключением банков ПЗУ (правда, только данных, не программ). Программа читалась только из банка 0 (при помощи внешней логики все адреса старше A15 обнулялись на время действия PSEN). На нескольких сотнях устройств никаких проблем замечено не было.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 19:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01325 секунд с 7
ELECTRONIX ©2004-2016