Измерительное оборудование Осциллографы, мультиметры, анализаторы и другая измерительная техника необходимая каждому разработчику. |
30.03.2005, 13:34
|
|
Иван
Гость
|
цифровой осциллограф
Создаётся цифровой осциллограф. Задержки при выводе на экран графика приводят к потери части ацепированных данных(они не считываются с АЦП). Пытался сделать отдельный поток для считывания данных, отдельный для прорисовки графика - слишком медленно. Скорость передачи данных - 26000 байт в секунду. Вижу один выход - подключение буфера к микроконтроллеру, считывающему данные с АЦП. Буфер - память, наверно SRAM, размером на несколько секунд(т.е. в пределах 100 Кбайт). Подскажите, пожалуйста, какую память использовать. Или как этот вопрос решить другим способом. Кто-нибудь занимался цифровыми осциллографами?
|
|
|
|
30.03.2005, 13:41
|
|
Gnider
Гость
|
А какой толк от буфера если скорость считывания АЦП должна быть на порядок больше скорости передачи?
|
|
|
|
30.03.2005, 14:41
|
|
Гость
|
я нет так выразился. 26 000 байт в секунду - это необходимая скорость передачи.(АЦП - 13 кГц, каждый отклик - 2 байта). подключено устройство через ЛПТ порт. режим ECP. на PIC18F8720 максимальная скорость передачи через ECP, при моей реализации алгоритма передачи - 300 000 байт(если просто считывать данные). Так что буфер нужен, если комп не успевает считывать, то данные теряются. Может кто подскажет как очередь организовать пограмотнее в Пике.
|
|
|
|
30.03.2005, 18:39
|
|
Гость
|
по-моему никакой внутренный буфер мк не поможет при такой скорости преобразования.
|
|
|
|
30.03.2005, 20:32
|
|
Частый гость
Регистрация: 06.11.2004
Сообщений: 31
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: цифровой осциллограф
Сообщение от Иван
|
Задержки при выводе на экран графика приводят к потери части ацепированных данных
|
Когда компьютеры были маломощные, была такая же ситуация с выводом анимации. Лекарство: пряиая запись в видеоОЗУ, мимо всяких там функций BIOS'а и DOS'ы (DirectX тогда еще не было - сейчас и его надобно обходить) позволяла увеличить скорость прорисовки как минимум на порядок. Особенность: программа сильно привязана на конкретный тип видеоадаптера.
Удачи!
|
|
|
|
31.03.2005, 10:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,531
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
эээ... Мож я че не понимаю?
Сообщение от Anonymous
|
АЦП - 13 кГц, каждый отклик - 2 байта подключено устройство через ЛПТ порт. режим ECP. на PIC18F8720 максимальная скорость передачи через ECP - 300 000 байт. Так что буфер нужен, если комп не успевает считывать, то данные теряются.
|
Получается поток с АЦП 26000 б/с? И ты его не успеваешь на комп передать при скорости интерфейса 300000 б/с? То бишь в 10 раз большей? Странно это... Может, это действительно сама операционка виновата? Положила она большой и толстый на прерывания от параллельного порта и занимается обработкой супер-пупер навороченного графического интерфейса программы и рисованием картиночек... Ну тогда в магазин за крутым компом.... Или за книжкой про Директ-Х (чтоб использовать аппаратную поддержку видеоадаптера). Напрямую в буфер писать можно, но, как сказал TsAN, это жесткая привязка к конкретным видеоадаптерам. Что не есть гуд. Ну, или посмотреть в сторону unix-based ОС. Можно даже QNX.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
31.03.2005, 11:02
|
|
Гость
|
всем спасибо за ответы. буфер нужен. я бы не сказал что супер пупер график выводится, просто в девайс контекст линии рисуются. кстати, знает кто-нить как избавится от моргания заливаемой области? директ Икс надо учить, но буфер всяко нужен, с директом может можно будет обойтись встроенной памятью данных.
|
|
|
|
31.03.2005, 12:17
|
|
Gnider
Гость
|
Помоему тут нужно копать со стороны компа.
Чтобы он успевал все время.
А в пике сделай просто циклическую очередь "первым вошел первым вышел" .
Для этого используй FSR/INDF
Хватит думая 1024 слов
|
|
|
|
31.03.2005, 13:17
|
|
Гость
|
FSR???? INDF - это наверно INCF. ) или как?
|
|
|
|
31.03.2005, 13:50
|
|
Gnider
Гость
|
Читай в PDFнике к процессору на предмет Indirect Addressing.
Идеально подходит для твоей задачи.
И вообще что за осцилл 13КГц/10бит?
Что и мерять то?
Совсем мало помоему.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:34.
|
|