Измерительное оборудование Осциллографы, мультиметры, анализаторы и другая измерительная техника необходимая каждому разработчику. |
24.04.2010, 23:55
|
#101
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Портативный осциллограф
Огромное спасибо и низкий поклон!!! Пойду разбираться...
|
|
|
|
25.04.2010, 09:56
|
#102
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Портативный осциллограф
В этом случае если я вас правильно понял, надо тригер гонять на максимально возможной частоте складывая всю память в мк, допустим 400точек. После нахождения адреса точки синхронизации нужно отнять или прибавить 200 (середина) или другое число на которое нужно сдвинуть картинку. И точка синхронизации попадает в нужное нам место причем не обязательно ей быть в пределах видимости экрана. Таким образом можно просматревать 32к памяти и узнать что было до момента синхронизации! Но это мое ИМХО...
Последний раз редактировалось Uragan90; 25.04.2010 в 09:58.
|
|
|
|
25.04.2010, 11:30
|
#103
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Портативный осциллограф
Сообщение от Uragan90
|
В этом случае если я вас правильно понял, надо тригер гонять на максимально возможной частоте складывая всю память в мк, допустим 400точек. После нахождения адреса точки синхронизации нужно отнять или прибавить 200 (середина) или другое число на которое нужно сдвинуть картинку.
|
Что значит - складывая в МК?
Алгоритм прост как валенок - после старта преобразования не обращая внимания на триггер оцифровываем сигнал на половину памяти. Дальше продолжаем оцифровывать, записывая в память по кругу, но уже проверяя триггер. Если он сработал, то после срабатывания делается еще выборки только на половину памяти и процесс останавливается. Собственно почти все осциллографы позволяют менять соотношение пре/посттриггер, так что до может быть 20% памяти, а после 80%. Или наоборот. Меня часто интересуют только сигналы до события, а что после вообще неинтересно.
|
|
|
|
25.04.2010, 12:03
|
#104
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Портативный осциллограф
ПЛИС дает такт АЦП, считывает значение данных с АЦП и заносит этоже значение ("точку", "уровень") в СРАМ каждый раз после такого действия прибавляется значение счетчика регистра срам (чтоб знать сколько кадров сейчас в памяти). Триггер нужен для синхронизации с мк чтоб (из этой кучи точек которые получил) знал где нужно рисовать на дисплее. Для этого тригером нужно иметь возможность управлять с мк в зависимости от настроек которые выбраны в данный момент пользователем! Внешний тригер предлагаю сделать на основе встроенного в мк цап, сихронизации бобится будет проще)))
Последний раз редактировалось Uragan90; 25.04.2010 в 12:08.
|
|
|
|
25.04.2010, 12:40
|
#105
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Портативный осциллограф
Да, и еще когда счетчик регистра срам посчитал сколько вообще точек это значение делится на допустим пополам в результате находим точку синхронизации. Вот от нее и двигаем экран куда нам надо! Опять же ИМХО!!!
|
|
|
|
25.04.2010, 12:51
|
#106
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Портативный осциллограф
Сообщение от kison
|
Я вот не понял принцип. Надо на конкретном примере разбираться.
|
Спасибо за вопрос. Принцип работі следующий:
- в счетчик семплов загружаем число, соответствующее количеству интересующих нас семплов после синхроимпульса(0-NumOfSample).
- разрешаем работу счетчика адреса установив в 1 линию Start. Данные начинают записыватся в ОЗУ. Из-за малых размеров ПЛИС не получилось организовать доступ к шине адреса со стороны МК, поэтому синхронно с разрешением счета в МК включаем таймер1, который начинает работу параллельно с счетчиком адреса.
- выдержав паузу, равную длительности предтриггера выставляем 0 на линиях выборки регистров, что приводит к разрешению работы триггера синхронизации (сигнал SyncEn).
- после прихода синхроимпульса и подсчета заданного количества отсчетов счетчик семплов запретит работу счетчика адреса, одновременно с этим остановится таймер1 внутри МК.
- МК определив окончание счета по отсутствию изменений таймера за определенное время, считывает значение таймера и младших разрядов шины адреса и определяет адрес останова.
- вычтя из адреса останова величину размера выборки находим адрес старта отображения и начинаем через регистры-защелки последовательно считывать данные из ОЗУ.
Примерно так. Вроде ничего не упустил.
__________________
misterdi<@>i.ua
Последний раз редактировалось MisterDi; 25.04.2010 в 12:58.
|
|
|
|
25.04.2010, 13:51
|
#107
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Портативный осциллограф
Сообщение от MisterDi
|
Из-за малых размеров ПЛИС не получилось организовать доступ к шине адреса со стороны МК, поэтому синхронно с разрешением счета в МК включаем таймер1, который начинает работу параллельно с счетчиком адреса.
|
Интересное решение. Именно из за этого и 4 ОЗУ? Ведь счетчик адреса при 2-х ОЗУ может считать с частотой дискретизации, т.е. напимер 100МГц. При распараллеливании на два банка это уже 50. Таймер в микрочипе может и справиться, хотя по документации ЕМНИП максимальная частота 40МГц для внешнего такта таймера.
Но вот на схеме приведенной выше - вход таймера не идет на плис, а является выходом выбора регистра ADR_L. Что то не сходится. Да и сигнал такта счетчика адреса из плисы не выходит.
Вообще давайте по кусочкам разбираться. Начнем с узла выделения синхроимпульса - inst36 и далее по схеме. Мне понятно как работает каждый элемент, а вот мозаика не складывается ![Обижен](images/smilies/icon_beee.gif) А для Uragan90 подробный разбор вообще архиполезен
|
|
|
|
25.04.2010, 15:20
|
#108
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Портативный осциллограф
Согласен с Kison, разобрать по винтикам! Чтото можно изменить у нас то плис не такая уж и маленькая! И по таймеру мк считать, может на плис это заделать?
|
|
|
|
25.04.2010, 17:11
|
#109
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Портативный осциллограф
Маленькое отступление (мой мозг с частотой тактирования уходит в перезагрузку)! Я предлагаю унифицировать шины мк+плис. Между мк и плисой, помимо шины 8бит поставить 74нс4052 АВС управления режимоми с мк, выход будет Х- (такт регистра срам., старт., и т.д.) У- вход с плис (состояние счетчиков, регистров и т.д.) Х1-Х4, У1-У2- на плис. Чтобы иметь возможность радикально менять принцип работы плис в любой момент разработки? И ног мк не так много сест сие и у нашей плис ног тоже хватит!
|
|
|
|
25.04.2010, 17:26
|
#110
|
Почётный гражданин KAZUS.RU
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
|
Re: Портативный осциллограф
Сообщение от MisterDi
|
ПЛИС программируется через JTAG и имеет для этого соответствущие ноги. МК по-любому не будет программировать CPLD. Если ставить FPGA типа того же Cyclone, тогда есть смысл вместо конфигурационного ПЗУ использовать МК, считывающий прошивку FPGA с SD-карточки. Это позволит оперативно изменять конфигурацию, в зависимости от задачи. Но над этим еще надо думать.
|
В приципе протокол простой. Если уже есть МК то проще программить с него
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:44.
|
|