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

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

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

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

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

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

Видеотехника Ремонт телевизоров, видео, DVD-проигрывателей. Разработка систем видеонаблюдения.

Закрытая тема
Опции темы
Непрочитано 15.02.2011, 00:40   #41
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Исходя из того, что вкладывать один в другой оператор IF...THEN нельзя, пришлось исхитриться следующим образом. Итак, готовый HDL скрипт генератора полного видеосигнала для протеуса получился таким:
Код:
FLOAT TSTEP=0.000002
FLOAT R
FLOAT R1
FLOAT R2
FLOAT R3
FLOAT R4
FLOAT CNT
INT LCNT
INT LINE
REM Sync level
FLOAT LS=0
REM Blanking level
FLOAT LG=0.3
REM Black level
FLOAT LB=0.35
REM White level
FLOAT LW=1


ON TIMER AT TSTEP EVERY TSTEP
 CNT=ROUND(REALTIME/TSTEP)%20000
 LCNT=CNT%32
 LINE=(CNT/32-FRAC(CNT/32))+1
 
 //simple lines
 IF LCNT‹1 THEN
  R1=LG
 ELIF LCNT‹3
  R1=LS
 ELIF LCNT‹6
  R1=LG
 ELSE
  R1=SIN(PI/8*LCNT)*(LW-LB)/2+(LB+LW)/2
 ENDIF

 //field sync
 IF LCNT‹14 THEN
  R2=LS
 ELIF LCNT‹16
  R2=LG
 ELIF LCNT‹30
  R2=LS
 ELSE
  R2=LG
 ENDIF
 
 //equalisation pulses
 IF LCNT‹1 THEN
  R3=LS
 ELIF LCNT‹16 THEN
  R3=LG
 ELIF LCNT‹17 THEN
  R3=LS
 ELSE
  R3=LG
 ENDIF

 //blanc lines
 IF LCNT‹1 THEN
  R4=LG
 ELIF LCNT‹3
  R4=LS
 ELSE
  R4=LG
 ENDIF

 IF LINE=1 OR LINE=2 THEN
  R=R2
 ELIF LINE=3 AND LCNT‹16 THEN
  R=R2
 ELIF LINE=3 AND LCNT›=16 THEN
  R=R3
 ELIF LINE=4 OR LINE=5 THEN
  R=R3
 ELIF LINE‹23 THEN
  R=R4
 ELIF LINE=23 AND LCNT‹16 THEN
  R=R4
 ELIF LINE=23 AND LCNT›=16 THEN
  R=R1
 ELIF LINE=311 OR LINE=312 THEN
  R=R3
 ELIF LINE=313 AND LCNT‹16 THEN
  R=R3
 ELIF LINE=313 AND LCNT›=16 THEN
  R=R2
 ELIF LINE=314 OR LINE=315 THEN
  R=R2
 ELIF LINE=316 OR LINE=317 THEN
  R=R3
 ELIF LINE=318 AND LCNT‹16 THEN
  R=R3
 ELIF LINE=318 AND LCNT›=16 THEN
  R=R4
 ELIF LINE›318 AND LINE‹336 THEN
  R=R4
 ELIF LINE=623 AND LCNT‹16 THEN
  R=R1
 ELIF LINE=623 AND LCNT›=16 THEN
  R=R3
 ELIF LINE=624 OR LINE=625 THEN
  R=R3
 ELSE
  R=R1
 ENDIF
 
ENDON

OUT=R
END
Чтобы он заработал, генератор нужно назвать "OUT".

Единственное отступление от стандарта заключается в том, что все импульсы кратны 2 мкс. Т.е., импульсы кадровой синхронизации длятся 4мкс, а не 4.7, как в стандарте и т.д.
Миниатюры:
Нажмите на изображение для увеличения
Название: vsignal.png
Просмотров: 63
Размер:	50.5 Кб
ID:	18390  
Реклама:
kaf-0 вне форума  
Сказали "Спасибо" kaf-0
Kabron (15.02.2011)
Непрочитано 15.02.2011, 00:45   #42
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Сообщение от Kabron Посмотреть сообщение
После того как я поправил выражение для CNT (с доп. скобками или послед деление) все ошибки исчезли, но CNT=0.
Ошибка исчезла потому, что на основе CNT вычислялся LINE, если CNT всегда 0, то LINE всегда 1, а вложенный один в другой IF...THEN исполнялся, только когда LINE=4. Оставьте CNT равным нулю и так же зафиксируйте LINE=4, ошибка произойдет сразу же.
Проверяйте лучше новый скрипт
kaf-0 вне форума  
Непрочитано 15.02.2011, 01:01   #43
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,540
Сказал спасибо: 698
Сказали Спасибо 4,315 раз(а) в 1,979 сообщении(ях)
Kabron на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Если оставит старую запись выражения, то ошибка появляется как раз после 20мс, те времени полного кадра. До этого симуляция идет нормально.
Kabron вне форума  
Непрочитано 15.02.2011, 01:10   #44
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,540
Сказал спасибо: 698
Сказали Спасибо 4,315 раз(а) в 1,979 сообщении(ях)
Kabron на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Запустил твой новый скрипт. На осцилле ничего. Датчик напряжения на выходе показывает на уровне 2*10^7.
Kabron вне форума  
Непрочитано 15.02.2011, 01:10   #45
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Да фиг с ним, новый скрипт-то устраивает?
kaf-0 вне форума  
Непрочитано 15.02.2011, 01:11   #46
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Поправьте тригер на осциллографе. Или попробуйте графиком, как у меня на скриншете.
kaf-0 вне форума  
Непрочитано 15.02.2011, 01:14   #47
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Вкладываю весь проект.
Вложения:
Тип файла: rar videogen.rar (14.2 Кб, 86 просмотров)
kaf-0 вне форума  
Непрочитано 15.02.2011, 01:15   #48
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,540
Сказал спасибо: 698
Сказали Спасибо 4,315 раз(а) в 1,979 сообщении(ях)
Kabron на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

kaf-0, в личку глянь, подарочек тебе подогнал.
Kabron вне форума  
Непрочитано 15.02.2011, 01:23   #49
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,540
Сказал спасибо: 698
Сказали Спасибо 4,315 раз(а) в 1,979 сообщении(ях)
Kabron на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Гуд. Теперь осталось только цветовые поднесущие добавить
Kabron вне форума  
Непрочитано 15.02.2011, 12:44   #50
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: Выделение синхросмеси без использования ИМС

Сообщение от Kabron Посмотреть сообщение
Гуд. Теперь осталось только цветовые поднесущие добавить
Могу конечно попробовать побаловаться, сделать поднесущие отдельным генератором, а потом их идеальным сумматором сложить, только мне нужно внятное описание цветной составляющей сигнала. В будущем и мне самому это пригодится.
kaf-0 вне форума  
Закрытая тема

Закладки


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

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

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


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot