|
Помогите с PCI, Схема, размещение, дрова |
|
|
|
Oct 4 2006, 21:59
|
Участник

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

|
Необходимо создать PCI устройство, реализующее обычный UART порт, через шину PCI.
Требования:
использовать ПЛИС. язык VHDL
Дрова под ДОС
Спецификацию читал. Нужны советы опытных, а ещё лучше примеры, чем проще тем лучше.
|
|
|
|
|
 |
Ответов
|
Nov 3 2006, 09:00
|
Местный
  
Группа: Свой
Сообщений: 214
Регистрация: 29-12-04
Пользователь №: 1 730

|
Вы не можете задать системе диапазон который Вам нужен, Вы просто указываете сколько портов Вам нужно, с система выделяет сама (из своих меркантильных соображений) диапазон для вашего девайса. Именно поэтому в примерах, везде по разному (за исключением битов 0 и 1  ) В спецификации есть такой пунктик описывающий действия при выделении адресов: " 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); -- соответственно что там записано то и возвращает
|
|
|
|
Сообщений в этой теме
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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|