Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Как записать и воспроизвести последовательность импульсов?

Непрочитано 17.09.2012, 15:14  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

Цитата:
Народ, не тупите.
5% заполнения (или скважности) на 500 кГц будет выглядеть так:
1 - 100нс, 0 - 1900нс, 1 - 100нс, 0 - 1900нс и т.д.
Т.е. за 100нс Вам надо обработать два прерывания, одно по фронту, другое по спаду. Успеете?
Раздельно захватываются фронт и спад, а обрабатывается по одному из них.
У атмела например есть возможность одновременного захвата фронта и спада одним счетчиком.
Реклама:
Alecsej вне форума  
Непрочитано 17.09.2012, 15:21  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

Сообщение от Alecsej Посмотреть сообщение
Раздельно захватываются фронт и спад, а обрабатывается по одному из них.
Заполнение может меняться, причем, возможно, даже в процессе записи. По какому событию Вы будете обрабатывать прерывание?
alvadep вне форума  
Непрочитано 17.09.2012, 15:26  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

Цитата:
Скважность меняется 5-85%,длительность от 500 нс.
Со слов ТС.
Alecsej вне форума  
Непрочитано 17.09.2012, 15:32  
ВитГо
Прописка
 
Регистрация: 19.12.2009
Сообщений: 118
Сказал спасибо: 22
Сказали Спасибо 26 раз(а) в 20 сообщении(ях)
ВитГо на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

Сообщение от MisterDi Посмотреть сообщение
ВитГо, Вы программист? Тогда приймите мои соболезнования. ПЛИС - исконная вотчина электронщиков, и языки описания аппаратуры принципиально отличаются от обычных языков программирования. Наверно начинать нужно с выбора функциональной схемы, далее переходить к блок-схеме, после этого пробовать реализовать эту блок-схему в виде принципиальной (тут уже можно пользоваться Verilog/VHDL). Думаю обсуждение можно продолжить тут, т.к. здесь смотрит больше народа.
ок, надеюсь ТС не будет против..

в качестве языка я выбрал Verilog - он мне показался понятным (но в принципе готов его поменять на любой другой, если найдется тот кто сможет подсказывать в другом языке)

Сообщение от MisterDi Посмотреть сообщение
Для начала определимся с тактовой частотой. Если у нас период минимального сигнала 2мкС, то для точности 1% нужно иметь тактовую 20нС - 50МГц -вполне реальная частота для практически любой ПЛИС.
мой проект это цифровой осцилограф.
АЦП AD9057, частота захвата до 80 мгц
ПЛИС EPM240T100C5 (заказал себе отладочную плату с ней, еще не пришла), на плате кварц на 50 мгц, но в реальном проекте хочу применить кварцевый генератор на 150 мгц (нашел где продаются такие кварцы)

засада с ОЗУ - паябельные корпуса и приемлемый объем памяти у ассинхронных чипов, я пока смотрю в сторону CYC1041D - она 16ти битная, с временем доступа 10 нс

16 бит нужно для того чтобы записывать ее с частотой 37.5 мгц, тогда по идее мы соблюдаем 7 нс выдержку сигнала we для записи

я нарисовал временные диаграммы которые нужно получить от ПЛИС - diagrammy_signalov.xlsx

но когда касаюсь программирования ПЛИС то ничего не получается, так как возникают мало мне понятные сдвиги сигналов.. я понимаю что сигнал не распространяется мгновенно, но то что получаю я - вообще фигня какая то

из проекта уже выкинул все (чтобы не путаться) - но все равно не понимаю почему так все получается...

oscil1.zip

мне написали что для синхронизации сигналов нужно применять "констрейны" - но что это такое никто объяснить не может.. нашел ссылку на статью в журнале - но наверно уровень моих знаний в veriloge намного ниже требуемого для понимания статьи

как мне синхронизировать выдачу импульсов из плис (ну или уменьших разбег между ними)

p.s. чтото ucoz.ru лежит у меня там еще файлы есть.. но вообще неоткрывается сайт
ВитГо вне форума  
Непрочитано 17.09.2012, 15:51  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

Сообщение от Alecsej Посмотреть сообщение
Со слов ТС.
Да уж, 500 это не 100. Уже ближе к реалиям.
Но частота тактирование таймера должна быть 50 МГц как не крути.
alvadep вне форума  
Непрочитано 17.09.2012, 15:53  
ВитГо
Прописка
 
Регистрация: 19.12.2009
Сообщений: 118
Сказал спасибо: 22
Сказали Спасибо 26 раз(а) в 20 сообщении(ях)
ВитГо на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

подробнее про память:

если писать 8 бит данных в память то нужно как то обеспечить 7 нс длительности сигнала we
а как отмерить такую длительность на плис паузами или еще как - я не понял
поэтому решил взять 16ти битную память, и записывать в нее 16 бит данных,
то есть один цикл записи в SRAM будет приходиться на 2 такта выборки данных из ADC

далее, АDC работает на частоте 75 мгц (решил не упираться в максимальные для AD9057 80 мгц а взять частоту чуть меньше) - на управление ADC я оставил 2 такта клока на частоте 150 мгц - по идее по фронту клока я хочу выдавать сигнал ADC_ENC (это сигнал на выдачу результата оцифровки на ШД микросхемы ADC), а по спаду импульса клока - читать ШД ADC и запоминать (первый байт с ADC запоминаем в регистре ПЛИС, второй байт выдаем в младших 8 битах слова на запись в SRAM с первым байтом в старших 8 битах слова на запись - поэтому и получилось 16 бит данных в ОЗУ)

ПЛИС может работать вроде как до 300 мгц, так что 150 для нее не много..

но вот как синхронизировать выдачу - это вопрос...
в проекте который я приложил есть диаграммы сигналов которые у меня получаются - откуда берутся такие значения задержек ?

Последний раз редактировалось ВитГо; 17.09.2012 в 16:08.
ВитГо вне форума  
Непрочитано 17.09.2012, 16:05  
ВитГо
Прописка
 
Регистрация: 19.12.2009
Сообщений: 118
Сказал спасибо: 22
Сказали Спасибо 26 раз(а) в 20 сообщении(ях)
ВитГо на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

или правильнее начать разработку с разработки электрической схемы с применением стандартных элементов микросхем ? - гм. но я все равно не понимаю как отслеживать задержки... - или они там меньше возникают ?

сейчас попробую нарисовать (я же до плис хотел делать на логике.. вот заодно и потренируюсь)
ВитГо вне форума  
Непрочитано 17.09.2012, 16:06  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

Вот более работоспособный вариант.
https://kazus.run/forums/attachment....1&d=1347883480
Вложения:
Тип файла: zip oscil1.zip (194.5 Кб, 91 просмотров)
Alecsej вне форума  
Сказали "Спасибо" Alecsej
ВитГо (17.09.2012)
Непрочитано 17.09.2012, 16:19  
ВитГо
Прописка
 
Регистрация: 19.12.2009
Сообщений: 118
Сказал спасибо: 22
Сказали Спасибо 26 раз(а) в 20 сообщении(ях)
ВитГо на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

Сообщение от Alecsej Посмотреть сообщение
Вот более работоспособный вариант.
то есть моя основная ошибка это применение инкрементируемого счетчика состояния?

получается что быстрее записать номер следующего состояния чем инкрементировать номер следующей фазы ?

p.s. Вы гений.. но как все просто и рядом лежало !! а я тут инкремент замучал уже !
ВитГо вне форума  
Непрочитано 17.09.2012, 16:25  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Как записать и воспроизвести последовательность импульсов?

Сообщение от ВитГо Посмотреть сообщение
или правильнее начать разработку с разработки электрической схемы с применением стандартных элементов микросхем ? - гм. но я все равно не понимаю как отслеживать задержки... - или они там меньше возникают ?

сейчас попробую нарисовать (я же до плис хотел делать на логике.. вот заодно и потренируюсь)
Если планируете что-либо делать на триггерных элементах - делайте все построения с применением энейблов. Все должно стробироваться входными сигналами. Иначе у вас все поразбегается кто куда, и потом никакой логикой не соберете. Все триггерные элементы должны быть в привязке к одному фронту. Естественно есть и исключения.
У вас опыт работы с триггерной логикой в ПЛИСах имеется?
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RFID - как прочитать и записать? victor1956 Микроконтроллеры, АЦП, память и т.д 456 10.02.2016 22:25
Как записать переменную neox-neox Микроконтроллеры, АЦП, память и т.д 24 24.02.2012 19:50
Три условия, как записать на си? Mitrar Микроконтроллеры, АЦП, память и т.д 4 23.09.2009 13:36
как записать строку в массив? dimonbest Микроконтроллеры, АЦП, память и т.д 8 27.02.2008 12:18
как записать в eeprom atmegi128? sma-etu Микроконтроллеры, АЦП, память и т.д 1 06.12.2006 15:35


Часовой пояс GMT +4, время: 00:16.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.