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

 
 
 
Reply to this topicStart new topic
> Помогите кто знает, XPS Interrupt controller, Не совсем понятно как работает
Oops
сообщение Dec 26 2008, 09:33
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 28-08-08
Из: г.Омск
Пользователь №: 39 870



Привет всем. Я работаю с Virtex4 в EDK 9.2.

Вопрос для тех кто имел дело с IP-ядром контроллера прерываний XPS Interrupt
controller, который автоматически подключается когда в визарде EDK создашь
проект, выбирая IP ядра и ставя галочку на "использовать прерывание".
По datasheetу этот контроллер необходим для предоставления IP-ядрам сервиса
от процессора, когда IP-ядро является инициатором. Смущает то что опции
преывания передаются по PLB шине. Возможен же такой случай, что если
IP-ядро сгенерирует прерывание, а опции по шине PLB передать не сможет
,так как другое IP-ядро передает свои опции, и шина для передачи опций занята.
В этом случае и понятие Real Time System - теряет смысл. Наверно я чтото
недопонял, помогите прояснить ситуацию. 07.gif

Сообщение отредактировал Oops - Dec 26 2008, 09:44
Go to the top of the page
 
+Quote Post
antti
сообщение Dec 26 2008, 16:35
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 42
Регистрация: 18-07-06
Из: Germany
Пользователь №: 18 908



Цитата(Oops @ Dec 26 2008, 13:33) *
Привет всем. Я работаю с Virtex4 в EDK 9.2.

Вопрос для тех кто имел дело с IP-ядром контроллера прерываний XPS Interrupt
controller, который автоматически подключается когда в визарде EDK создашь
проект, выбирая IP ядра и ставя галочку на "использовать прерывание".
По datasheetу этот контроллер необходим для предоставления IP-ядрам сервиса
от процессора, когда IP-ядро является инициатором. Смущает то что опции
преывания передаются по PLB шине. Возможен же такой случай, что если
IP-ядро сгенерирует прерывание, а опции по шине PLB передать не сможет
,так как другое IP-ядро передает свои опции, и шина для передачи опций занята.
В этом случае и понятие Real Time System - теряет смысл. Наверно я чтото
недопонял, помогите прояснить ситуацию. 07.gif


da ne ponjal ty smile.gif

INTC vydajot 1 signal na CPU (PPC ili microblaze)
a CPU potom smotrik kakoi byl istochnik chitaja registry INTC
chitaja ili po PLB ili DCR schine

no mnoooogo eta otbiraet vremja sad.gif poka chital is sbrosil flaga
xilinx drivera uzhas kak medlennyje

Antti
Go to the top of the page
 
+Quote Post
Oops
сообщение Dec 27 2008, 16:04
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 28-08-08
Из: г.Омск
Пользователь №: 39 870



АААА вон оно как, пасибо за помощь. Теперь все ясно smile.gif
Go to the top of the page
 
+Quote Post
Oops
сообщение Dec 28 2008, 04:10
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 28-08-08
Из: г.Омск
Пользователь №: 39 870



Цитата(Oops @ Dec 27 2008, 19:04) *
CPU potom smotrik kakoi byl istochnik chitaja registry INTC
chitaja ili po PLB ili DCR schine


Еще маленький вопросик smile.gif

А адреса IP-ядер генерирующих прерывания, которые читает CPU, как передаются в XPS Interrupt controller??

Наверное при создании конфигурационного файла адреса IP-ядер генерирующих прерывания прописываются в XPS Interrupt controllerе. Когда IP-ядро генерирует прерывание XPS Interrupt controller распознает что это за IP-ядро, посылает сигнал в CPU и выставляет на регистрах, которые начинает читать CPU, адрес IP-ядра инициатора прерывания, так все происходит???????05.gif

Сообщение отредактировал Oops - Dec 28 2008, 04:19
Go to the top of the page
 
+Quote Post
antti
сообщение Dec 28 2008, 07:05
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 42
Регистрация: 18-07-06
Из: Germany
Пользователь №: 18 908



Цитата(Oops @ Dec 28 2008, 08:10) *
Еще маленький вопросик smile.gif

А адреса IP-ядер генерирующих прерывания, которые читает CPU, как передаются в XPS Interrupt controller??

Наверное при создании конфигурационного файла адреса IP-ядер генерирующих прерывания прописываются в XPS Interrupt controllerе. Когда IP-ядро генерирует прерывание XPS Interrupt controller распознает что это за IP-ядро, посылает сигнал в CPU и выставляет на регистрах, которые начинает читать CPU, адрес IP-ядра инициатора прерывания, так все происходит???????05.gif


dane, kazhdyi int imet NOMER eta raschityvaetsa ist PORT connection
address kak takix INTC ne snaet

Antti
Go to the top of the page
 
+Quote Post
Oops
сообщение Dec 28 2008, 08:11
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 28-08-08
Из: г.Омск
Пользователь №: 39 870



Цитата(antti @ Dec 28 2008, 10:05) *
INTC vydajot 1 signal na CPU (PPC ili microblaze)
a CPU potom smotrik kakoi byl istochnik chitaja registry INTC
chitaja ili po PLB ili DCR schine


dane, kazhdyi int imet NOMER eta raschityvaetsa ist PORT connection
address kak takix INTC ne snaet

Antti


Antti спасибо за помощь но еще есть неясности:

Что же тогда считывает CPU с регистров INTC, если это не адрес источника прерывания, и как CPU определяет кто сгенерировал прерывание????? 07.gif

Сообщение отредактировал Oops - Dec 28 2008, 08:13
Go to the top of the page
 
+Quote Post
Rendom
сообщение Dec 31 2008, 08:37
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 85
Регистрация: 6-05-07
Пользователь №: 27 538



Грубо говоря:
Имеется 16 источников прерываний, соответственно 16ти разрядный регистр прерываний, где за каджым источником прерываний закреплен определенный бит, CPU считывает состояние этого регистра и ищет в нем 1 начиная с младшего разряда, как только встречается 1, этот бит сбрасывается и начинается обслуживание данного прерывания (источник прерывания определяется по позиции 1).
Go to the top of the page
 
+Quote Post
Oops
сообщение Jan 1 2009, 14:22
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 28-08-08
Из: г.Омск
Пользователь №: 39 870



Цитата(Rendom @ Dec 31 2008, 11:37) *
Грубо говоря:
Имеется 16 источников прерываний, соответственно 16ти разрядный регистр прерываний, где за каджым источником прерываний закреплен определенный бит, CPU считывает состояние этого регистра и ищет в нем 1 начиная с младшего разряда, как только встречается 1, этот бит сбрасывается и начинается обслуживание данного прерывания (источник прерывания определяется по позиции 1).


Процессор работает с каждым IP- ядром через шину PLB обращаясь к ниму по адресу (Base_addres IP ядра + смещение). Если процессор считывает с XPS Interrupt controller не адрес источника прерывания, а его позицию, то где находится ассоциация: позиция - адрес. Одной позиции же недостаточно чтобы работать с IP - ядром по шине PLB. Наверно эта ассоциация находится выше, в BSP или драйвере каком нибудь. - Я правильно думаю??? 05.gif

Сообщение отредактировал Oops - Jan 1 2009, 14:25
Go to the top of the page
 
+Quote Post
kreakozeablik
сообщение Jan 2 2009, 17:16
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 2-01-09
Пользователь №: 42 888



Цитата(Oops @ Jan 1 2009, 17:22) *
Процессор работает с каждым IP- ядром через шину PLB обращаясь к ниму по адресу (Base_addres IP ядра + смещение). Если процессор считывает с XPS Interrupt controller не адрес источника прерывания, а его позицию, то где находится ассоциация: позиция - адрес. Одной позиции же недостаточно чтобы работать с IP - ядром по шине PLB. Наверно эта ассоциация находится выше, в BSP или драйвере каком нибудь. - Я правильно думаю??? 05.gif


А документацию не читаем из принципа???

Работой с таблицей векторов прерываний занимается драйвер intc.
Документацию по нему можно найти здесь: папка_где_установлен_EDK/sw/XilinxProcessorIPLib/drivers/intc_v1_10_c/doc/html/api/index.html

А также можно почитать:
папка_где_установлен_EDK \doc\usenglish\est_rm.pdf (приложение B )
http://www.xilinx.com/support/documentatio...tes/xapp778.pdf
Go to the top of the page
 
+Quote Post
Oops
сообщение Jan 4 2009, 12:03
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 28-08-08
Из: г.Омск
Пользователь №: 39 870



Спасибо теперь все понятно smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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