Миландр
https://forum.milandr.ru/

1645РГ1Т (двухпортовое СОЗУ FIFO-типа)
https://forum.milandr.ru/viewtopic.php?f=5&t=142
Страница 1 из 1

Автор:  Yura [ 2009-окт-18 21:10 ]
Заголовок сообщения:  1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

Автор:  Pyhesty [ 2014-июл-08 13:58 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

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

Автор:  Pyhesty [ 2014-июл-15 16:52 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

ау...?!
ответьте, кто-нибудь, пожалуйста,
спасибо!

Автор:  Petr [ 2014-июл-18 15:59 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

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

Как вариант:

Подключите к внешней шине первого микроконтроллера (операция только записи в 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 ещё не завершил свой цикл.

Автор:  Pyhesty [ 2014-авг-04 16:03 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

Доброго дня! Большое спасибо за ответ!
Я предполагаю подключить микросхему 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 ещё не завершил свой цикл.

Автор:  Petr [ 2014-авг-08 18:42 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

Pyhesty писал(а):
2. OE 1986BE94 объединить с битом старшего адреса A[22] к примеру ---> /R 1645РГ1
А зачем это? По идее OE и A[22] - выходы, вы можете получить конфликт при объединении.
Pyhesty писал(а):

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

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

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

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

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

Автор:  Pyhesty [ 2014-авг-11 12:33 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

Спасибо большое за ответ!
пока только осваиваю 1986...
Petr писал(а):
Pyhesty писал(а):
2. OE 1986BE94 объединить с битом старшего адреса A[22] к примеру ---> /R 1645РГ1
А зачем это? По идее OE и A[22] - выходы, вы можете получить конфликт при объединении.
Pyhesty писал(а):

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

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

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

Автор:  Petr [ 2014-авг-12 10:18 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

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

Автор:  Pyhesty [ 2014-авг-12 15:23 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

Большое спасибо за комментарий!
как реализуем - отпишусь.

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

Автор:  jaguar_sp [ 2016-май-05 16:43 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

Здравствуйте, подскажите на корпусе микросхемы К1645РГ1Т (1225) питание +5В, это норма? Ножка 28 (Vcc) прозванивается на корпус(металлическая крышка микросхемы).

Автор:  Юрий86 [ 2018-мар-29 09:33 ]
Заголовок сообщения:  Re: 1645РГ1Т (двухпортовое СОЗУ FIFO-типа)

Добрый день! Хочу использовать данную FIFO в связке с ПЛИС 5576ХС4Т, на входы FIFO можно напрямую заводить на ПЛИС (а выходы FIFO завести через шинные формирователь уровня 5/3.3В на ПЛИС)?

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/