| Измерительное оборудование Осциллографы, мультиметры, анализаторы и другая измерительная техника необходимая каждому разработчику. |
Портативный осциллограф
24.04.2010, 23:55
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
|
Re: Портативный осциллограф
Огромное спасибо и низкий поклон!!! Пойду разбираться...
|
|
|
|
25.04.2010, 09:56
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
|
Re: Портативный осциллограф
В этом случае если я вас правильно понял, надо тригер гонять на максимально возможной частоте складывая всю память в мк, допустим 400точек. После нахождения адреса точки синхронизации нужно отнять или прибавить 200 (середина) или другое число на которое нужно сдвинуть картинку. И точка синхронизации попадает в нужное нам место причем не обязательно ей быть в пределах видимости экрана. Таким образом можно просматревать 32к памяти и узнать что было до момента синхронизации! Но это мое ИМХО...
Последний раз редактировалось Uragan90; 25.04.2010 в 09:58.
|
|
|
|
25.04.2010, 11:30
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Портативный осциллограф
Сообщение от Uragan90
|
|
В этом случае если я вас правильно понял, надо тригер гонять на максимально возможной частоте складывая всю память в мк, допустим 400точек. После нахождения адреса точки синхронизации нужно отнять или прибавить 200 (середина) или другое число на которое нужно сдвинуть картинку.
|
Что значит - складывая в МК?
Алгоритм прост как валенок - после старта преобразования не обращая внимания на триггер оцифровываем сигнал на половину памяти. Дальше продолжаем оцифровывать, записывая в память по кругу, но уже проверяя триггер. Если он сработал, то после срабатывания делается еще выборки только на половину памяти и процесс останавливается. Собственно почти все осциллографы позволяют менять соотношение пре/посттриггер, так что до может быть 20% памяти, а после 80%. Или наоборот. Меня часто интересуют только сигналы до события, а что после вообще неинтересно.
|
|
|
|
25.04.2010, 12:03
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
|
Re: Портативный осциллограф
ПЛИС дает такт АЦП, считывает значение данных с АЦП и заносит этоже значение ("точку", "уровень") в СРАМ каждый раз после такого действия прибавляется значение счетчика регистра срам (чтоб знать сколько кадров сейчас в памяти). Триггер нужен для синхронизации с мк чтоб (из этой кучи точек которые получил) знал где нужно рисовать на дисплее. Для этого тригером нужно иметь возможность управлять с мк в зависимости от настроек которые выбраны в данный момент пользователем! Внешний тригер предлагаю сделать на основе встроенного в мк цап, сихронизации бобится будет проще)))
Последний раз редактировалось Uragan90; 25.04.2010 в 12:08.
|
|
|
|
25.04.2010, 12:40
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
|
Re: Портативный осциллограф
Да, и еще когда счетчик регистра срам посчитал сколько вообще точек это значение делится на допустим пополам в результате находим точку синхронизации. Вот от нее и двигаем экран куда нам надо! Опять же ИМХО!!!
|
|
|
|
25.04.2010, 12:51
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
|
Re: Портативный осциллограф
Сообщение от kison
|
|
Я вот не понял принцип. Надо на конкретном примере разбираться.
|
Спасибо за вопрос. Принцип работі следующий:
- в счетчик семплов загружаем число, соответствующее количеству интересующих нас семплов после синхроимпульса(0-NumOfSample).
- разрешаем работу счетчика адреса установив в 1 линию Start. Данные начинают записыватся в ОЗУ. Из-за малых размеров ПЛИС не получилось организовать доступ к шине адреса со стороны МК, поэтому синхронно с разрешением счета в МК включаем таймер1, который начинает работу параллельно с счетчиком адреса.
- выдержав паузу, равную длительности предтриггера выставляем 0 на линиях выборки регистров, что приводит к разрешению работы триггера синхронизации (сигнал SyncEn).
- после прихода синхроимпульса и подсчета заданного количества отсчетов счетчик семплов запретит работу счетчика адреса, одновременно с этим остановится таймер1 внутри МК.
- МК определив окончание счета по отсутствию изменений таймера за определенное время, считывает значение таймера и младших разрядов шины адреса и определяет адрес останова.
- вычтя из адреса останова величину размера выборки находим адрес старта отображения и начинаем через регистры-защелки последовательно считывать данные из ОЗУ.
Примерно так. Вроде ничего не упустил.
__________________
misterdi<@>i.ua
Последний раз редактировалось MisterDi; 25.04.2010 в 12:58.
|
|
|
|
25.04.2010, 13:51
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Портативный осциллограф
Сообщение от MisterDi
|
|
Из-за малых размеров ПЛИС не получилось организовать доступ к шине адреса со стороны МК, поэтому синхронно с разрешением счета в МК включаем таймер1, который начинает работу параллельно с счетчиком адреса.
|
Интересное решение. Именно из за этого и 4 ОЗУ? Ведь счетчик адреса при 2-х ОЗУ может считать с частотой дискретизации, т.е. напимер 100МГц. При распараллеливании на два банка это уже 50. Таймер в микрочипе может и справиться, хотя по документации ЕМНИП максимальная частота 40МГц для внешнего такта таймера.
Но вот на схеме приведенной выше - вход таймера не идет на плис, а является выходом выбора регистра ADR_L. Что то не сходится. Да и сигнал такта счетчика адреса из плисы не выходит.
Вообще давайте по кусочкам разбираться. Начнем с узла выделения синхроимпульса - inst36 и далее по схеме. Мне понятно как работает каждый элемент, а вот мозаика не складывается  А для Uragan90 подробный разбор вообще архиполезен
|
|
|
|
25.04.2010, 15:20
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
|
Re: Портативный осциллограф
Согласен с Kison, разобрать по винтикам! Чтото можно изменить у нас то плис не такая уж и маленькая! И по таймеру мк считать, может на плис это заделать?
|
|
|
|
25.04.2010, 17:11
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
|
Re: Портативный осциллограф
Маленькое отступление (мой мозг с частотой тактирования уходит в перезагрузку)! Я предлагаю унифицировать шины мк+плис. Между мк и плисой, помимо шины 8бит поставить 74нс4052 АВС управления режимоми с мк, выход будет Х- (такт регистра срам., старт., и т.д.) У- вход с плис (состояние счетчиков, регистров и т.д.) Х1-Х4, У1-У2- на плис. Чтобы иметь возможность радикально менять принцип работы плис в любой момент разработки? И ног мк не так много сест сие и у нашей плис ног тоже хватит!
|
|
|
|
25.04.2010, 17:26
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 30.06.2005
Сообщений: 3,392
Сказал спасибо: 5
Сказали Спасибо 429 раз(а) в 305 сообщении(ях)
|
Re: Портативный осциллограф
Сообщение от MisterDi
|
|
ПЛИС программируется через JTAG и имеет для этого соответствущие ноги. МК по-любому не будет программировать CPLD. Если ставить FPGA типа того же Cyclone, тогда есть смысл вместо конфигурационного ПЗУ использовать МК, считывающий прошивку FPGA с SD-карточки. Это позволит оперативно изменять конфигурацию, в зависимости от задачи. Но над этим еще надо думать.
|
В приципе протокол простой. Если уже есть МК то проще программить с него
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:31.
|
|