Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Согласование 8bit устройства с 32bit шиной
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
AlexY
Добрый день,

Появилась необходимость присоединить 8 разрядное устройство к 32/64 разрядной шине.
Как обычно это делается?
У меня пока один вариант с использованием 4/8 fifo, которые последовательно набирают полное слово.

Заранее, спасибо.
iosifk
Цитата(AlexY @ Aug 27 2007, 13:14) *
Добрый день,

Появилась необходимость присоединить 8 разрядное устройство к 32/64 разрядной шине.
Как обычно это делается?
У меня пока один вариант с использованием 4/8 fifo, которые последовательно набирают полное слово.

Заранее, спасибо.

Делается обычно тремя способами.
1. Если шина быстрая и умеет работать байтами. Устройство цепляют к 8-ми битам шины, обычно младшим, и дают сигнал BE в зависимости от того, к какому байты прицепили шину. Мастер шины делает обработку дальше сам.
2. Если время критично, то след. вариант регистр + счетчик. При 4-х записях со стороны 8-ми битки будет заполнение 32-х битного регистра. Можно вместо счетчика использовать 4 адреса от 8-ми битки. Ну а чтение идет словом и вместо готовности можно использовать прерывание или делать режим ПДП.
3. ФИФО с разной разрядностью... ФиФо делается для экономии времени на занятие щины.

Ну вот примерно так...
AlexY
Цитата(iosifk @ Aug 27 2007, 13:29) *
Делается обычно тремя способами.
1. Если шина быстрая и умеет работать байтами. Устройство цепляют к 8-ми битам шины, обычно младшим, и дают сигнал BE в зависимости от того, к какому байты прицепили шину. Мастер шины делает обработку дальше сам.
2. Если время критично, то след. вариант регистр + счетчик. При 4-х записях со стороны 8-ми битки будет заполнение 32-х битного регистра. Можно вместо счетчика использовать 4 адреса от 8-ми битки. Ну а чтение идет словом и вместо готовности можно использовать прерывание или делать режим ПДП.
3. ФИФО с разной разрядностью... ФиФо делается для экономии времени на занятие щины.

Ну вот примерно так...


Нужно именно минимизировать загрузку шины.

Спасибо.
yuri_d
Цитата(AlexY @ Aug 27 2007, 13:14) *
Добрый день,

Появилась необходимость присоединить 8 разрядное устройство к 32/64 разрядной шине.
Как обычно это делается?
У меня пока один вариант с использованием 4/8 fifo, которые последовательно набирают полное слово.

Заранее, спасибо.

Если это стандартная шина, то проще пользоваться готовыми решениями. Там все проблемы уже решены. Например для шины PCI очень удобно пользоваться продуктами фирмы PLX (мы использовали PCI9052).

Если же шина - нечто самодельное, то проще прикрутить FPGA с памятью внутри и строить контроллер на ней. Например Xilinx Spartan-3 XC3S400 имеет около 32 КБ памяти, которую можно использовать и как двухпортовую и как FIFO. Плюс 8 тысяч логических блоков с триггерами для организации арбитража на этой шине.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.