Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)
СообщениеДобавлено: 2009-окт-18 21:10 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 2009-янв-20 10:05
Сообщения: 778
1645РГ1Т (двухпортовое СОЗУ FIFO-типа)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-июл-08 13:58 
Не в сети

Зарегистрирован: 2014-июн-28 15:23
Сообщения: 24
Добрый день, если рекомендуемые схемы подключения СОЗУ 1645РГ1Т к 1986ВE94T?
Есть ли примеры программ работы СОЗУ и ЦПУ в режиме DMA?
Если нет схем, то хотя бы на словах объясните куда её подключать, что бы
можно было задействовать механизм DMA.
Заранее спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-июл-15 16:52 
Не в сети

Зарегистрирован: 2014-июн-28 15:23
Сообщения: 24
ау...?!
ответьте, кто-нибудь, пожалуйста,
спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-июл-18 15:59 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 733
Откуда: АО "ПКК Миландр"
А что собственно вы хотите сделать?
Вам необходимо передавать данные между двумя контроллерами?

Как вариант:

Подключите к внешней шине первого микроконтроллера (операция только записи в FIFO): D[0] 1986ВЕ94 ---> на D[0] 1645РГ1,..., WE 1986DT94 ---> /W 1645РГ1, /FF - либо к любому выводу контроллера (если не критично инициирование прерывания по этому выводу, либо на вывод ETR или TIMx_CHx любого таймера для отслеживания среза сигнала /FF). /RS также можно к любому выводу общего назначения.

Подключите к внешней шине второго микроконтроллера (операция только чтения в FIFO): D[0] 1986ВЕ94 ---> на Q[0] 1645РГ1,..., OE 1986DT94 ---> /R 1645РГ1, /EF - либо к любому выводу контроллера (если не критично инициирование прерывания по этому выводу, либо на вывод ETR или TIMx_CHx любого таймера для отслеживания среза сигнала /EF).

Но с точки зрения использования DMA в данном случае есть неприятный момент: неизвестно на сколько заполнена память FIFO в текущий момент времени, то есть необходимо придумать механизм, при котором не терялись бы данные при заполнении FIFO в то время, когда DMA ещё не завершил свой цикл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 16:03 
Не в сети

Зарегистрирован: 2014-июн-28 15:23
Сообщения: 24
Доброго дня! Большое спасибо за ответ!
Я предполагаю подключить микросхему FIFO на чтение следующим образом.

1. Шину данных - на внешнюю шину данных шину данных
2. OE 1986BE94 объединить с битом старшего адреса A[22] к примеру ---> /R 1645РГ1
3. /HF (полуполный) 1645РГ1 ---> на вход прерывания процессора
При срабатывании прерывания вычитывать половину фифо за прерывание.

Такое подключение позволит забрать данные из ФИФО (с некоторого A[22] адреса)
и положить во внешнюю память?...

Сколько тактов потребуется, что бы забрать половину фифо (8к слов?)

Какие ограничения на программу ложатся при такой организации во время работы DMA?
я так понимаю внешняя память будет недоступна во время пересылки этих 8к слов?

Заранее спасибо!

PS: запись в фифо идёт аппаратно, без контроля потока, на частоте где-то 1-5МГц

Petr писал(а):
А что собственно вы хотите сделать?
Вам необходимо передавать данные между двумя контроллерами?

Как вариант:

Подключите к внешней шине первого микроконтроллера (операция только записи в FIFO): D[0] 1986ВЕ94 ---> на D[0] 1645РГ1,..., WE 1986DT94 ---> /W 1645РГ1, /FF - либо к любому выводу контроллера (если не критично инициирование прерывания по этому выводу, либо на вывод ETR или TIMx_CHx любого таймера для отслеживания среза сигнала /FF). /RS также можно к любому выводу общего назначения.

Подключите к внешней шине второго микроконтроллера (операция только чтения в FIFO): D[0] 1986ВЕ94 ---> на Q[0] 1645РГ1,..., OE 1986DT94 ---> /R 1645РГ1, /EF - либо к любому выводу контроллера (если не критично инициирование прерывания по этому выводу, либо на вывод ETR или TIMx_CHx любого таймера для отслеживания среза сигнала /EF).

Но с точки зрения использования DMA в данном случае есть неприятный момент: неизвестно на сколько заполнена память FIFO в текущий момент времени, то есть необходимо придумать механизм, при котором не терялись бы данные при заполнении FIFO в то время, когда DMA ещё не завершил свой цикл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-08 18:42 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 733
Откуда: АО "ПКК Миландр"
Pyhesty писал(а):
2. OE 1986BE94 объединить с битом старшего адреса A[22] к примеру ---> /R 1645РГ1

А зачем это? По идее OE и A[22] - выходы, вы можете получить конфликт при объединении.
Pyhesty писал(а):

Такое подключение позволит забрать данные из ФИФО (с некоторого A[22] адреса)
и положить во внешнюю память?...

Да
Pyhesty писал(а):

Сколько тактов потребуется, что бы забрать половину фифо (8к слов?)

Непредсказуемо, зависит от настроек.
Pyhesty писал(а):
Какие ограничения на программу ложатся при такой организации во время работы DMA?
я так понимаю внешняя память будет недоступна во время пересылки этих 8к слов?

зависит от настройки DMA. В принципе доступна.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-11 12:33 
Не в сети

Зарегистрирован: 2014-июн-28 15:23
Сообщения: 24
Спасибо большое за ответ!
пока только осваиваю 1986...

Petr писал(а):
Pyhesty писал(а):
2. OE 1986BE94 объединить с битом старшего адреса A[22] к примеру ---> /R 1645РГ1

А зачем это? По идее OE и A[22] - выходы, вы можете получить конфликт при объединении.
Pyhesty писал(а):





На внешней шине будут находится ROM, RAM на адресах. что бы чтение из памяти не вызывало
чтение из Fifo необходимо реализовать дешифратор адреса, что бы не усложнять схемотехнику,
предполагаю, что можно использовать один из старших битов адреса, для формирования сигнала чтения,
или достаточно использовать только сигнал с адреса?
Я смотрел осцилограммы на демо плате, получается, что если обращение идёт подрят в один и тот же адрес,
то биты адреса не изменяются, по этому, мне кажется, использовать только биты адреса нельзя, необходим
сигнал, который будет изменятся каждый такт чтения...?...

Объединить сигналы планировалось на транзисторе... или, в крайнем случае, на логике типа ЛА3...

Можете посоветовать, как быть? какие сигналы использовать, что бы организовать чтение? ОЕ и адреса достаточно?
ОЕ будет изменятся каждый такт?...
DMA каждый такт делает выборку и потом запись, без буферизации?
то есть обязательно один раз обратится по адресу Fifo, потом по адресу во внешней памяти, куда нужно переложить
данные? тогда да, получается будет каждый такт работы DMA устанавливаться и сбрасываться адрес?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-12 10:18 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 733
Откуда: АО "ПКК Миландр"
Да, в случае, описанном вами, необходимо использовать какой-либо не используемый разряд адреса (как сигнал выбора микросхемы) и сигнал OE, объединить их логическим ИЛИ и подключить на ~R. OE изменяется каждую транзакцию (в процессе цикла чтения формируется импульс (активный низкий уровень)), а ситуацию с шиной адреса вы правильно описали.
Смотрите, чтобы по быстродействию ваша логика подходила.
DMA будет работать так, как вы настроите. В частности DMA каждый такт будет делать чтение из FIFO, а потом запись в RAM.
Должно быть все так, как вы написали (на мой взгляд логику лучше поставить).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-12 15:23 
Не в сети

Зарегистрирован: 2014-июн-28 15:23
Сообщения: 24
Большое спасибо за комментарий!
как реализуем - отпишусь.


Petr писал(а):
Да, в случае, описанном вами, необходимо использовать какой-либо не используемый разряд адреса (как сигнал выбора микросхемы) и сигнал OE, объединить их логическим ИЛИ и подключить на ~R. OE изменяется каждую транзакцию (в процессе цикла чтения формируется импульс (активный низкий уровень)), а ситуацию с шиной адреса вы правильно описали.
Смотрите, чтобы по быстродействию ваша логика подходила.
DMA будет работать так, как вы настроите. В частности DMA каждый такт будет делать чтение из FIFO, а потом запись в RAM.
Должно быть все так, как вы написали (на мой взгляд логику лучше поставить).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-май-05 16:43 
Не в сети

Зарегистрирован: 2012-дек-04 13:29
Сообщения: 2
Здравствуйте, подскажите на корпусе микросхемы К1645РГ1Т (1225) питание +5В, это норма? Ножка 28 (Vcc) прозванивается на корпус(металлическая крышка микросхемы).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

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


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

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


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

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