Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-дек-15 05:06

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Внешняя SRAM
СообщениеДобавлено: 2014-авг-08 10:49 
Не в сети

Зарегистрирован: 2014-авг-08 10:42
Сообщения: 10
Откуда: ВНИИЭМ
Здравствуйте.
Необходимо обеспечить работу контроллера 1986ВЕ1Т с памятью 1645РУ1У.
Вопрос: Нужно ли использовать выходы BE микроконтроллера и для чего они вообще предназначены?
Вопрос 2: Нужно ли притягивать к нулю выводы PA[2:0]?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2014-авг-11 16:28 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
g-coder писал(а):
Здравствуйте.
Необходимо обеспечить работу контроллера 1986ВЕ1Т с памятью 1645РУ1У.
Вопрос: Нужно ли использовать выходы BE микроконтроллера и для чего они вообще предназначены?
Вопрос 2: Нужно ли притягивать к нулю выводы PA[2:0]?

Притягивать к нулю PA нужно иначе не выберется режим работы микроконтроллера, BE это сигнал Byte Enable, если у Вас 32 разрядная шина и вы хотите писать один байт в 32 или 16 разрядную память у которой есть входы BE то можно их использовать. Без них Вы будете писать все разряды данных в цикле записи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-фев-11 18:47 
Не в сети

Зарегистрирован: 2014-авг-08 10:42
Сообщения: 10
Откуда: ВНИИЭМ
Было решено использовать 1645РУ4У. Возникла проблема записи однобайтных данных. Данные записываются всегда в чётные адреса. Читается всё верно. Возможно ли заставить контроллер нативно записывать однобайтные данные по нечётным адресам?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-фев-12 09:55 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
g-coder писал(а):
Было решено использовать 1645РУ4У. Возникла проблема записи однобайтных данных. Данные записываются всегда в чётные адреса. Читается всё верно. Возможно ли заставить контроллер нативно записывать однобайтные данные по нечётным адресам?

Самый простой способ который видится это писать 16 разрядными словами, но сигналами nBLE и nBHE управлять программно в зависимости от адреса не используя выходы BE[3:0].
A[1:0] = 00 nBLE=0 и nBHE=1 - запись младшего байта в 16 разрядную ячейку
A[1:0] = 01 nBLE=1 и nBHE=0 - запись старшего байта в 16 разрядную ячейку
A[1:0] = 10 nBLE=0 и nBHE=1 - запись младшего байта в 16 разрядную ячейку
A[1:0] = 11 nBLE=1 и nBHE=0 - запись старшего байта в 16 разрядную ячейку

В программе конечно нужно писать только по адресам A[1:0]=00 и A[1:0]=10, чтобы обеспечивался 16 разрядный доступ, а не байтовый. При этом адресный выход A[0] микроконтроллера к памяти не подключать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-фев-12 10:51 
Не в сети

Зарегистрирован: 2014-авг-08 10:42
Сообщения: 10
Откуда: ВНИИЭМ
Спасибо. По моим наблюдениям, в 16-разрядном режиме BE0,BE1 всегда в нуле, BE2,BE3 - в единице. И проблема записи байт это баг контроллера. Или такое поведение шины было заложено целенаправленно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-фев-12 11:41 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
g-coder писал(а):
Спасибо. По моим наблюдениям, в 16-разрядном режиме BE0,BE1 всегда в нуле, BE2,BE3 - в единице. И проблема записи байт это баг контроллера. Или такое поведение шины было заложено целенаправленно?


Может у Вас LOW16=1, только этим объясняется BE0 и BE1 постоянно в нуле, если LOW8 и LOW16 сброшены, то

При байтовом обращении:
A[1:0]=00 BE[3:0]=1110
A[1:0]=01 BE[3:0]=1101
A[1:0]=10 BE[3:0]=1011
A[1:0]=11 BE[3:0]=0111

При полусловном обращении:
A[1:0]=00 BE[3:0]=1100
A[1:0]=10 BE[3:0]=0011

При словном обращении:
A[1:0]=00 BE[3:0]=0000

То есть Вы можете задействовать BE[1] и BE[0] и записывая байты по адресам A[1:0]=00 и A[1:0]=01 получить запись байта по чётному адресу в свою 16 разрядную память. Но тогда будут пропуски по нечётным адресам A[1:0]=10 и A[1:0]=11. Решайте как Вам понятнее и удобнее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-01 15:10 
Не в сети

Зарегистрирован: 2014-апр-14 15:08
Сообщения: 31
Откуда: Москва
Вопрос по поводу работы бита LOW8 регистра EXT_BUS_CONTROL контроллера внешней системной шины. В документации об этом бите сказано:
- при LOW8 = лог.1 данные записываются и читаются всегда с 8 младших разрядов шины данных.
- при LOW8 = лог.0 обычный режим работы шины.
С ревизии 3 запись и чтение 32-х разрядных данных при LOW8 = лог.1 происходит автоматически за 4 обращения на
внешнюю шину.
Вопрос: «При LOW8 = лог.1 запись и чтение 16-разрядных данных реализуется за 2 обращения на внешнюю шину?»
Из моих экспериментов следует что нет! И это не связано с тем, что при LOW8 = лог.1 сигналы выбора области на шине данных постоянно имеют значения:
ВЕ0 = лог.0, ВЕ1 = ВЕ2 = ВЕ3 = лог.1.
2-байтные данные при LOW8 = лог.1 либо не пишутся либо не читаются
Мне при LOW8 = лог.1 удается работать со всеми типами данных кроме 2-байтных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-01 16:23 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Для работы с 16-разрядными данными используется бит LOW16. С ревизии 3 запись и чтение 32 разрядных данных при LOW16=1 происходит автоматически за два обращения на внешнюю шину.
LOW8 здесь не при чём.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-01 17:15 
Не в сети

Зарегистрирован: 2014-апр-14 15:08
Сообщения: 31
Откуда: Москва
Andrey Вы не поняли вопрос.
Я имею 8-разрядную память и хочу работать как "белый" человек со ВСЕМИ типами данных.
Подключаю линии адреса контроллера A0...A31 к линиям адреса памяти A0...A31, линии данных контроллера D0...D7 к линиям данных памяти D0...D7 и устанавливаю бит LOW8.
В итоге обращения ко всем типам проходят нормально, а к 2-байтным нет!
Это Ваша недоработка? Вы реализовали обращения к 4-байтным данным за 4 приема, почему бы не организовать обращения и к 2-байтным за 2 приема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-02 09:08 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
SuperVova писал(а):
Andrey Вы не поняли вопрос.
Я имею 8-разрядную память и хочу работать как "белый" человек со ВСЕМИ типами данных.
Подключаю линии адреса контроллера A0...A31 к линиям адреса памяти A0...A31, линии данных контроллера D0...D7 к линиям данных памяти D0...D7 и устанавливаю бит LOW8.
В итоге обращения ко всем типам проходят нормально, а к 2-байтным нет!
Это Ваша недоработка? Вы реализовали обращения к 4-байтным данным за 4 приема, почему бы не организовать обращения и к 2-байтным за 2 приема?


В спецификации дана вся информация, если бы этот режим о котором идёт речь поддерживался он был бы указан в спецификации. Если мы не указали его в спецификации значит он не поддерживается. Когда Вы разрабатывали своё устройство Вы видели, что в спецификации поддерживается, а что нет. Это Ваша недоработка, что Вы рассчитывали на режим работы который не реализован в версии микросхемы которую Вы используете?
Если Вы хотите внести рекомендации по доработке в следующих ревизиях, то для этого есть отдельная тема, которая рассматривает пожелания пользователей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-02 09:59 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 672
Откуда: г. Санкт-Петербург
Andrey писал(а):
SuperVova писал(а):
Andrey Вы не поняли вопрос.
Я имею 8-разрядную память и хочу работать как "белый" человек со ВСЕМИ типами данных.
Подключаю линии адреса контроллера A0...A31 к линиям адреса памяти A0...A31, линии данных контроллера D0...D7 к линиям данных памяти D0...D7 и устанавливаю бит LOW8.
В итоге обращения ко всем типам проходят нормально, а к 2-байтным нет!
Это Ваша недоработка? Вы реализовали обращения к 4-байтным данным за 4 приема, почему бы не организовать обращения и к 2-байтным за 2 приема?


В спецификации дана вся информация, если бы этот режим о котором идёт речь поддерживался он был бы указан в спецификации. Если мы не указали его в спецификации значит он не поддерживается. Когда Вы разрабатывали своё устройство Вы видели, что в спецификации поддерживается, а что нет. Это Ваша недоработка, что Вы рассчитывали на режим работы который не реализован в версии микросхемы которую Вы используете?
Если Вы хотите внести рекомендации по доработке в следующих ревизиях, то для этого есть отдельная тема, которая рассматривает пожелания пользователей.


В 1986Ве1 и 1986Ве4 контроллеры внешней шины похожи. В СП на 1986ВЕ94 четко сказано, что при LOW8=1 16-ти разрядные данные не поддерживаются, а при LOW16=1, не поддерживаются 8-ми разрядные. Если бы "Миландр" в СП на 1986ВЕ1 об этом упоминул, то подобных вопросов может и не возникло бы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-02 10:59 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Форум для разрешения вопросов, поэтому они должны быть, но выяснять их нужно до разработки устройства, а не по факту режима нет, а он нужен в готовом устройстве и всё горит и всё срывается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-19 17:55 
Не в сети

Зарегистрирован: 2015-янв-09 10:28
Сообщения: 35
Здравствуйте!

Пожалуйста, поделитесь опытом использования внешней шины. На какой максимальной частоте может выполняться программа из внешней SRAM?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-20 10:30 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
bioray писал(а):
Здравствуйте!

Пожалуйста, поделитесь опытом использования внешней шины. На какой максимальной частоте может выполняться программа из внешней SRAM?

На максимальной частоте контроллера. Другой вопрос успеют ли сигналы на выводах памяти и контроллера устанавливаться в соответствующие логические уровени... А это зависит от разных обстоятельств (например, от топологии платы).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя SRAM
СообщениеДобавлено: 2015-окт-20 18:48 
Не в сети

Зарегистрирован: 2015-янв-09 10:28
Сообщения: 35
Petr писал(а):
На максимальной частоте контроллера. Другой вопрос успеют ли сигналы на выводах памяти и контроллера устанавливаться в соответствующие логические уровени... А это зависит от разных обстоятельств (например, от топологии платы).


Другими словами ограничения пропускной способности внешней шины несоизмеримы с ограничениями, вызванными топологией печатной платы? И скорость выполнения программы из внешней SRAM может быть выше, чем скорость выполнения из внутренней памяти Flash, где задержка составляет порядка 40 нс при нелинейном исполнении программы?

Таким образом, если использовать микросхемы памяти 1645РУ6У, то можно достигнуть скорости выполнения программы до 100 МГц даже при ветвлении?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB