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

 
 
 
Reply to this topicStart new topic
> Согласование 8bit устройства с 32bit шиной
AlexY
сообщение Aug 27 2007, 09:14
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 15-09-06
Пользователь №: 20 407



Добрый день,

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

Заранее, спасибо.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 27 2007, 09:29
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



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

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

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

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

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
AlexY
сообщение Aug 27 2007, 09:34
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 15-09-06
Пользователь №: 20 407



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

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


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

Спасибо.
Go to the top of the page
 
+Quote Post
yuri_d
сообщение Aug 27 2007, 14:15
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 28-01-05
Из: МО, Мытищи
Пользователь №: 2 274



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

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

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

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

Если же шина - нечто самодельное, то проще прикрутить FPGA с памятью внутри и строить контроллер на ней. Например Xilinx Spartan-3 XC3S400 имеет около 32 КБ памяти, которую можно использовать и как двухпортовую и как FIFO. Плюс 8 тысяч логических блоков с триггерами для организации арбитража на этой шине.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:42
Рейтинг@Mail.ru


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