Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


L-502 подмена LTABLE на лету

Вы не вошли.

 Поиск | Регистрация | Вход 

Петр
01.10.2013 10:42:20
#1

Гость

L-502 подмена LTABLE на лету

Добрый день. Возможна ли подмена таблицы коммутатора на лету? Скажем, для первой страницы использовалась бы одна таблица, а для второй - другая. А подмена бы осуществлялась в обработчике прерывания DMA_IRQ_PAGE_IN? Если да, то какие могут быть проблемы (мусор какой-нибудь)?

01.10.2013 11:06:50
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,338

Re: L-502 подмена LTABLE на лету

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

Если я не ошибаюсь, то сейчас при запущенном сборе данных изменение таблицы запрещено аппаратно. Точно сможет сказать разработчик, писавший эту логику в ПЛИС, но он скорее всего сможет ответить только на следующей неделе.

А для чего Вам нужна эта возможность? Про обработчик прерывания - речь идет о прошивке BlackFin?

Петр
01.10.2013 11:19:11
#3

Гость

Re: L-502 подмена LTABLE на лету

Мне надо некоторое продолжительное время после поступления внешнего старта оцифровывать сигналы с одной группы каналов, а потом поработать с другой. А в одну таблицу вся схема не умещается. Обработчик прерывания у меня в Досе, DSP я не использую и не планирую (пока во всяком случае).

Спасибо

01.10.2013 20:35:08
#4

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L-502 подмена LTABLE на лету

Пётр, говорю пока очень предварительно:
Поскольку номера каналов вставляются в поток данных, то такой (или похожий) режим реализовать можно, доработав прошивку ПЛИС, доработав IP-библиотеки и документацию, при этом, сохранив совместимость со старым ПО. Обещать точно  реализовать это к определённым срокам не могу, поскольку занятость специалистов у нас высока.

Пётр, на своей задаче поясните, какой максимальный размер данных Вам нужно получить с первой группы каналов, а какой размер со второй? Надеюсь, Вы понимаете, что эти две группы будут последовательные во времени выборки данных, а не параллельные? После получения второй группы требуется ждать следующего старта?   

Замечу, что работать с  современной PCI Express картой из под DOS для простых однопотоковых задач - это любопытное приложение: получаем мощный многогигагерцовый компьютер с DMA по PCI Express в "единоличное" распоряжение. У Вас там наверно всё летает...

Петр
02.10.2013 12:10:42
#5

Гость

Re: L-502 подмена LTABLE на лету

Предполагается получать 20000 отсчетов с первой группы, сразу же затем 200 отсчетов со второй группы. Затем следует ожидание следующего старта и все повторяется. Группы идут последовательно.

Цифры примерные.

Пока планирую реализовать такой алгоритм:
1. Однократный запуск по внешнему сигналу;
2. Перенастройка таблицы и пр.;
3. Однократный запуск по GO_SYNC_IO = 1;

Как Вы верно заметили, в DOS все летает, но не очень высоко, т.к. все таки 16-битный режим. Хорошо хоть есть возможность работать с 4Гб сегментами...

Спасибо

03.10.2013 11:16:00
#6

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: L-502 подмена LTABLE на лету

> в DOS все летает, но не очень высоко, т.к. все таки 16-битный режим

Можно взять DJGPP, там protected mode extender ;-)