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

 
 
 
Reply to this topicStart new topic
> Txs в PCI-E от Altera, Чтение данных с платы в память ПК
NeStor46
сообщение Sep 2 2014, 19:24
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 29-07-14
Пользователь №: 82 403



Здравствуйте.

В ядре PCI-E от Altera обмен данными с платой построен следующим образом.
Запись данных в плату идет через Bar0 с которого идут на OnChip: http://itmages.ru/image/view/1894191/ab4f91a7
Чтение данных с платы в память ПК надо осуществлять с помощью DMA, который подцеплен на OnChip и на Txs: http://itmages.ru/image/view/1894192/b6a7b059 . DMA считывает данные из OnChip и отправляет их на Txs, откуда они уже и отправляются в память ПК. По крайней мере так мне объяснили.

Никто не работал с ядром PCI-E от Altera? Можете объяснить процесс обмена данными между ПК и платой? Что, откуда и как идет?

Столкнулся со следующей проблемой: в DMA записываю адрес откуда читать (OnChip платы) и адрес (32-битный) куда записать прочитанные данные (буфер в памяти ПК).
Контроллер DMA считывает данные, а потом отправляет их на Txs, откуда они по ходу и должны попасть в память ПК, но txs_address имеет разрядность 25 бит, получается, что он отрезает старшие разряды начального 32-битного адреса и отправляет данные неизвестно куда. По моему я неправильно понимаю весь механизм передачи данных.

Может кто-нибудь пояснить или рассказать как там на самом деле все происходит? Как и какие адреса писать в DMA, чтобы организовать обмен данными между платой и памятью ПК?
Go to the top of the page
 
+Quote Post
Tosha
сообщение Sep 16 2014, 08:12
Сообщение #2


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

Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633



Для TXS порта есть таблица преобразования. Для нее поддерживается 2 режима - фиксированный и динамический.
Фиксированная таблица настраивается сразу, динамическую нужно настраивать после запуска через CRA порт.
Как она работает: При записи или чтении из TXS порта старшие биты адреса подменяются по таблице
"Avalon-MM-to-PCI Express Address Translation Table" на нужные, младшие биты остаются без изменений.
Это было сделано для того, чтобы можно было иметь 8-байтовый адрес на шине PCIexpress и
много устройств на шине Avalon.
Go to the top of the page
 
+Quote Post

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

 


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


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