|
адресация pci |
|
|
|
Aug 30 2011, 05:17
|
Гуру
     
Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923

|
Цитата Шина PCI использует 32-разрядную адресацию портов ввода-вывода. В фазе адреса задатчик указывает точный адрес младшего из байтов, к которому осуществляется обращение. Для передачи значащих байтов будут использоваться те линии AD, которые соответствуют положению этих байтов в двойном слове. Например, если выполняется чтение байта из порта 00001012h, то в фазе адреса будет задан именно этот адрес, а сам байт будет находиться на линиях AD[23:16], чему соответствует комбинация 1011 на линиях C/BE[3:0]#.
Линии разрешения байтов C/BE# должны соответствовать двум младшим разрядам адреса порта. Немного не понятно подскажите, Например мастеру нужно прочитать ввод вывод, мастер устанавливает frame, на C/BE команда 0010 на AD адрес и фронт такта, в следующих тактах C/BE указывает где расположен байт на линиях AD. Но если C/Be 0000 то байт будет на ad0-ad7 . тут написано Цитата Линии разрешения байтов C/BE# должны соответствовать двум младшим разрядам адреса порта ?
|
|
|
|
|
Aug 31 2011, 06:41
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(vitan @ Aug 30 2011, 22:54)  CBE инверсные, младший байт надо по 1110 выдавать. Это да. Цитата Остальные отключены от шины, скорее всего будет 1, но не факт. Не отключены. Активное устройство обязанно драйвить все исходящие шины. Данные с этих разрядов AD использоваться не будут, но какие то данные там присуствовать должны.
|
|
|
|
|
Sep 4 2011, 15:51
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(sergey sva @ Sep 4 2011, 15:52)  Еще вопрос , На моем ПК 5разъемов PCI, как устройство узнает в каком оно слоте если на ad0-1 всегда 0 оно же должно ответить сигналом adsel если адрес совпал? Не, ну нельзя же так мучить общественность... Ну почитайте же стандарт, он в открытом доступе. 1. Сигнал называеnся IDSEL, а не adsel 2. Ответить этим сигналом устройство не может, ибо это для него вход. 3. Метод генерации IDSEL может быть любым, но обычно реализуют предложенный в стандарте. Фактически устройство может знать только логический номер слота. Физическое его расположение оно никогда не узнает. В стандарте CompactPCI, например, для этого предусмотрены пины т.н. географического адреса (для общего развития).
|
|
|
|
|
Sep 4 2011, 16:11
|
Гуру
     
Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923

|
Цитата Не, ну нельзя же так мучить общественность Ну я не специально разбираюсь с vhdl и PCI всего неделю. Цитата Сигнал называеnся IDSEL, а не adsel Отпечатка вышла. хотел написать devsel Сейчас бы хоть один пример запустить что бы можно было дальше разбираться, три примера прикрутил все собираются без ошибок заливаются, но комп не запускается после перезагрузки вентиляторы работают стартовый экран не появляется. Буду дальше разбираться.
Сообщение отредактировал sergey sva - Sep 4 2011, 19:16
|
|
|
|
|
Sep 4 2011, 19:11
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(sergey sva @ Sep 4 2011, 15:52)  Еще вопрос , На моем ПК 5разъемов PCI, как устройство узнает в каком оно слоте Устройство не должно интересовать в каком оно слоте. Равно как и сколько этих слотов вообще. Ваше устройство должно реагировать на адреса, прописанные в BARx ОС при инициализации PCI. ОС в процессе инициализации перебирает все устройства, какие найдет. Перебирает оно их по конфигурационному пространству, доступ к которому как раз и производится по географическому признаку (т.е. по номеру разъема, в вашем случае). Занимается этой адресацией PCI хаб, и если вы не пытаетесь разработать именно хаб, то способ как он это делает вас интересовать не должен
|
|
|
|
|
Sep 5 2011, 08:35
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(sergey sva @ Sep 4 2011, 23:32)  Номер шины это имеется ввиду через мосты , Ну если грубо, то да. Цитата если устройство включено через мост то 1 если через два то 2? Нет. Каждый мост в системе представляется шиной. Когда система сканирует конфигурацию PCI, она находит все мосты и присваивает им последовательные номера. Эти номера и будут номером шины. Цитата здесь написано про конфигурацию со стороны драйвера ? Про доступ к Config Space там написано со стороны ядра ОС. Драйвер обычно на такой уровень не спускается. ОС (точнее даже BIOS) самостоятельно находит все устройства на PCI шине, самостоятельно их настраивает и отдает драйверу каждого конкретного устройства уже в готовом к работе виде. Драйвер в регистры из Configuration Space уже обычно не обращается.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|