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

 
 
> Помогите с PCI, Схема, размещение, дрова
plis
сообщение Oct 4 2006, 21:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Необходимо создать PCI устройство, реализующее обычный UART порт, через шину PCI.

Требования:

использовать ПЛИС.
язык VHDL

Дрова под ДОС

Спецификацию читал.
Нужны советы опытных, а ещё лучше примеры, чем проще тем лучше.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Elresearch
сообщение Nov 3 2006, 09:00
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 29-12-04
Пользователь №: 1 730



Вы не можете задать системе диапазон который Вам нужен, Вы просто указываете сколько портов Вам нужно, с система выделяет сама (из своих меркантильных соображений) диапазон для вашего девайса.
Именно поэтому в примерах, везде по разному (за исключением битов 0 и 1 wink.gif )
В спецификации есть такой пунктик описывающий действия при выделении адресов:
"
Implementation Note: Sizing a 32-bit Base Address Register Example
Decode (I/O or memory) of a register is disabled via the command register before sizing a
Base Address register. Software saves the original value of the Base Address register,
writes 0FFFFFFFFh to the register, then reads it back. Size calculation can be done from
the 32-bit value read by first clearing encoding information bits (bit 0 for I/O, bits 0-3 for
memory), inverting all 32 bits (logical NOT), then incrementing by 1. The resultant 32-
bit value is the memory/I/O range size decoded by the register. Note that the upper 16
bits of the result is ignored if the Base Address register is for I/O and bits 16-31 returned
zero upon read. The original value in the Base Address register is restored before reenabling
decode in the command register of the device.
"

Про то каким должен быть BAR я Вам уже написал. Для примера можно разобрать два случая.


VARIABLE IO_Q_int: STD_LOGIC_VECTOR (31 downto 5); -- регистр для хранения базового адреса IO
if CLR='1' then
IO_Q_int:="000000000000000000000000000"; -- по ресету устанавливаем регистр в 0
......................................................
......................................................
-- то что возвращаем при чтении из BAR0
CONF_OUT(4 downto 0)<= "00001"; -- указывает на то что BAR у нас для IO + количество IO портов (если не ошибаюсь 32 8-ми битных портов иль 8 32-х битных)
CONF_OUT(31 downto 5)<= IO_Q_int(31 downto 5); -- соответственно что там записано то и возвращает



и второй случай


VARIABLE IO_Q_int: STD_LOGIC_VECTOR (31 downto 4); -- регистр для хранения базового адреса IO
if CLR='1' then
IO_Q_int:="0000000000000000000000000000"; -- по ресету устанавливаем регистр в 0
......................................................
......................................................
-- то что возвращаем при чтении из BAR0
CONF_OUT(3 downto 0)<= "0001"; -- если не ошибаюсь 16 8-ми битных портов иль 4 32-х битных
CONF_OUT(31 downto 4)<= IO_Q_int(31 downto 5); -- соответственно что там записано то и возвращает

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- plis   Помогите с PCI   Oct 4 2006, 21:59
- - Elresearch   простейший вариант PCI это Target. для ознакомлени...   Oct 6 2006, 09:30
|- - plis   Цитата(Elresearch @ Oct 6 2006, 13:30) пр...   Oct 8 2006, 18:58
|- - Elresearch   Цитата(plis @ Oct 8 2006, 22:58) По повод...   Oct 9 2006, 10:53
|- - plis   Цитата(Elresearch @ Oct 9 2006, 14:53) ес...   Oct 16 2006, 07:50
|- - Elresearch   ЦитатаПо поводу IO можно поподробней, как это рабо...   Oct 16 2006, 10:00
|- - plis   Что происходит в "железке"? И желательно...   Oct 17 2006, 18:56
|- - hobgoblin   Цитата(plis @ Oct 17 2006, 22:56) Что про...   Oct 18 2006, 06:10
- - plis   А подскажите пожалуйста по поводу конфигурирования...   Oct 31 2006, 19:26
|- - iosifk   Цитата(plis @ Oct 31 2006, 23:26) А подск...   Nov 1 2006, 06:08
||- - plis   Цитата(Elresearch @ Nov 1 2006, 13:37) [я...   Nov 1 2006, 16:39
||- - Elresearch   ЦитатаИ там явно не сказано, что жёстко что можно ...   Nov 2 2006, 12:22
||- - plis   Спасибо. Цитата(Elresearch @ Nov 2 2006, 16...   Nov 2 2006, 15:59
|- - Elresearch   Цитата(plis @ Oct 31 2006, 23:26) А подск...   Nov 1 2006, 09:37
|- - plis   Цитата(Elresearch @ Nov 3 2006, 12:00) Im...   Nov 8 2006, 14:59
- - Elresearch   смотрите спецификацию пункт Bus Transactions, а дл...   Nov 9 2006, 09:15
|- - plis   Цитата(Elresearch @ Nov 9 2006, 12:15) см...   Nov 15 2006, 15:27
|- - makc   Цитата(plis @ Nov 15 2006, 18:27) Цитата(...   Nov 15 2006, 15:39
|- - -Al-   Цитата(makc @ Nov 15 2006, 15:39) Цитата(...   Nov 28 2006, 10:20
- - URANst   Обьясните, пожалуйста !!! Я сделал P...   Nov 27 2006, 21:06
|- - vmp   Цитата(URANst @ Nov 27 2006, 21:06) Я сде...   Nov 28 2006, 11:11
- - URANst   Я видел что ниже об этом что-то говорилось, но есл...   Nov 27 2006, 21:21
|- - o-henry   Цитата(URANst @ Nov 27 2006, 20:21) Так в...   Nov 28 2006, 09:55
|- - Oldring   Цитата(o-henry @ Nov 28 2006, 09:55)...   Nov 28 2006, 11:54
- - URANst   Всем СПАСИБО за ответы ! Но все очень печально...   Nov 29 2006, 23:38


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

 


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


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