PDA

Просмотр полной версии : Вектор-06Ц: SSTV (медленное телевидение)



Tim0xA
31.01.2009, 02:00
Подозреваю, что Ramiros даже не представляет, на какие чудесные штуки способен его замечательный эмулятор. С помощью Стаса Бергича удалось запустить на эмуляторе VV его программу SSTV (медленное телевидение) (http://sensi.org/~svo/scalar/ware/631/) и получить изображение из реальных (скачанных из интернета) WAV-Файлов записей SSTV. В картотеку выложен архив с образом диска, примерами WAV и скриншотами. Для корректного декодирования картинки в эмуляторе VV следует установить опции Tape Loader Configuration: Delay=8, Point of Zero=-8.

svofski
31.01.2009, 02:06
БЕТОН!

BYTEMAN
31.01.2009, 12:36
Сейчас кто-нить через SSTV работает? Если да, то на какой частоте? Хочецца попробовать :)

svofski
31.01.2009, 15:36
HAM-ы никуда не делись и поиск по SSTV дает прорву результатов, не то что бы совсем протухших.

Вообще должен для Вектора быть еще софт для ХАМ-ства, без этого никак быть не могло. Где же он?

Добавлено через 1 час 18 минут
Графика с DemosFan-три-нуля, все любуемся!
http://sensi.org/~svo/scalar/ware/633/

Stas Bergich
31.01.2009, 17:53
Должна еще быть где-то моя программа для телеграфа - AUTOCW. У меня ее к сожалению нет но думаю найти возможно. Интересно бло бы потестировать с эмулем. Еще был модуль Pioner-2,3( автор Константинов Юрий николаевич) для работы RTTY и пакетом, но это уже железное решение. По поводу
Tape Loader Configuration: Delay=8, Point of Zero=-8.
эти настройки возможно прдется настраивать под конкретный файл если он принят с эфира тк при SSB модуляции в зависимоти от частоты гетеродина частота SSTV сигнала может плавать. Была также версия для модуля пионер-3 - она есть в исходниках
Хочу выразить почтение автору эмулятора - он действительно РЕАЛЬНЫЙ!(я активно использовал таймер ви-53 для измерения частоты) Похоже вектор действительно продолжает жить.

Добавлено через 3 минуты
Чуть не забыл wav файл с медведем записан в цветном формате. Когда писался SSTV (91g) цветного формата не было но программа его принимает в ЧБ

Добавлено через 44 минуты

Сейчас кто-нить через SSTV работает? Если да, то на какой частоте? Хочецца попробовать
http://www.dxzone.com/cgi-bin/dir/jump2.cgi?ID=2799
Пробуй на 20-ке в районе 14.230

Tim0xA
31.01.2009, 19:25
Должна еще быть где-то моя программа для телеграфа - AUTOCW.
Есть такая - выложу в картотеку.

svofski
31.01.2009, 19:46
Хорошо, что сказал, а то я уже чуть было не начал выкладывать. Там же еще cw, который как будто не auto? Было бы странно =)

Добавлено через 1 час 3 минуты
http://www.youtube.com/watch?v=mW9DXHkKpNo

Например.

Добавлено через 2 часа 31 минуту
Stas Bergich, а у меня не получается чего-то в своем fpga-шном Векторе занюхать SSTV. Даже не начинает прием. В чем потенциально может быть проблема? Таймер у меня работает четко. Не поддержаны режимы счета BCD, может быть в этом дело?

Добавлено через 4 часа 8 минут
Tim0xA, ты уверен, что в описании SSTV это все CC+F1 и т.д. Вроде бы Ctrl -- это УС, да и работает кажется так.

Tim0xA
01.02.2009, 18:36
Tim0xA, ты уверен, что в описании SSTV это все CC+F1 и т.д. Вроде бы Ctrl -- это УС, да и работает кажется так.
Это странно. В описании был СС и в статье в журнале Радиолюбитель тоже.

Добавлено через 2 минуты
Только что проверил. Работает и УС и СС

b2m
01.02.2009, 18:56
у меня не получается чего-то в своем fpga-шном Векторе занюхать SSTV
Покрути с тактовой частотой. У меня обе картинки показываются лишь при тактовой частоте 2650КГц, хотя та, где мужик выглядит лучше при 2900КГц, и даже бабочка в левом верхнем углу выглядит отчётливо.

b2m
01.02.2009, 19:06
Начинает тикать медленнее :)

svofski
01.02.2009, 19:12
Тогда другой вопрос — а чем это отличается от, например, растягивания входного WAV-а? А кадровое прерывание медленнее от этого тикает?

b2m
01.02.2009, 19:17
svofski, если интересует, могу рассказать суть кодирования: градация цвета кодируется широтой импульса, сначала идёт строка зелёного цвета (она же - чёрнобелая), а потом красного и синего, после чего идёт синхроимпульс конца строки, он кодируется ещё более длинными импульсами, а в зависимости от количества импульсов в синхропачке это либо строчный, либо кадровый. Так что видимо у тебя крутится в цикле ожидания синхроимпульса, он ждёт пачку частотой не более 1200-1400Гц.

Добавлено через 2 минуты
Для данной программы частота кадров - не принципиальна, главное - какое значение имеет счётчик ВИ53. Кстати, у тебя есть команда считывания текущего значения?

svofski
01.02.2009, 19:47
Да, без нее бы Exolon не работал. Попробую попозже поиграться, спасибо!

SSTV вообще клевая штука. Хоть беги покупай приемник с SSB :)

BYTEMAN
01.02.2009, 20:16
SSTV вообще клевая штука. Хоть беги покупай приемник с SSB :)

Как я понимаю, хватит CW/SSB приёмника? (У меня Волна-К, подключить к РС не получается, сумасшедшие помехи, поэтому хочу попробовать подключить к чему-нить более простенькому. К Вектору, например :))

svofski
01.02.2009, 20:58
Тут я не знаю, но современный софт для SSTV явно более помехоустойчив и способен разбирать все современные форматы. Так что все-таки я бы начал с PC :)

Я пробовал декодировать звуки записей трансляций с ISS на ютубе, получается прямо с микрофона. Очень круто.

Stas Bergich
02.02.2009, 00:06
Stas Bergich, а у меня не получается чего-то в своем fpga-шном Векторе занюхать SSTV. Даже не начинает прием. В чем потенциально может быть проблема? Таймер у меня работает четко. Не поддержаны режимы счета BCD, может быть в этом дело?

Может быть 2 причины:
1. wav файл если он был принят с эфира может иметь не стандартные частоты - особенно это важно для строчного синхро импульса
2. эмуляция ВИ53. При каждом перепаде импульса на компараторе я читаю из ВИ53 порта текущее значение таймера и по разноти этих величин определяю частоту

попробуй записать сигнал SSTV в режиме передачи затем принять его

svofski
02.02.2009, 02:02
Stas Bergich, спасибо за советы. Я попробовал передать, передача тоже не работает. Пищит и все. Наверное все-таки у меня чтение не во всех режимах работает. Мне показалось (я бегло пробежался по сорцам, разумеется я ничего не понял сходу), что ты используешь чтение без защелкивания. Помнишь ли ты такие подробности?

Stas Bergich
02.02.2009, 06:34
Stas Bergich, спасибо за советы. Я попробовал передать, передача тоже не работает. Пищит и все. Наверное все-таки у меня чтение не во всех режимах работает. Мне показалось (я бегло пробежался по сорцам, разумеется я ничего не понял сходу), что ты используешь чтение без защелкивания. Помнишь ли ты такие подробности?

Честно говоря я уже мало что могу вспомнить сейчас. В то время у меня была книжка с описанием ВИ53, а сейчас уже нет. Не помню что означает
MVI A,86H
OUT 8
установить таймер в кокой-то режим?
Всюду в коде встречается макрос "JCU" который проверяет был ли перепад импульса. Он в свою очередь зовет подпрограмму "PEREPAD".Эта часть как бы выполняется на фоне и определяет текущую частоту. Основоной цикл приема начинается с BEG: - для тебя это уже не важно. Можно написать простенькую тестовую программку используя jcu i perepad которая позволит протестировать работу таймера

b2m
02.02.2009, 10:46
Не помню что означает
MVI A,86H
OUT 8
установить таймер в кокой-то режим?
Это как раз и означает - защёлкнуть значение 2-го канала.

Добавлено через 7 минут
А считыватся потом из 0-го :)

Добавлено через 11 минут
svofski, попробуй вместо MVI A,86H поставить MVI A,06H (там всего в двух местах, одна и та-же процедура), может и заработает...

Добавлено через 20 минут
После этих исправлений у меня и на 3МГц загрузилась картинка с бабочкой...

Tim0xA
02.02.2009, 12:36
AUTOCW в картотеке http://sensi.org/~svo/scalar/ware/636/

Добавлено через 13 минут
АОН в картотеке http://sensi.org/~svo/scalar/ware/637/

Добавлено через 3 часа 13 минут
Карточка АОН заменена на более полный пакет "Телекоммуникационная система TELECOM V1200", который включает в себя программу АОН и массу других.

Добавлено через 7 часов 16 минут
Комплект программ для работы с модемом ADD MD1200 http://sensi.org/~svo/scalar/ware/639

svofski
03.02.2009, 11:51
Это как раз и означает - защёлкнуть значение 2-го канала.

А считыватся потом из 0-го :)

svofski, попробуй вместо MVI A,86H поставить MVI A,06H (там всего в двух местах, одна и та-же процедура), может и заработает...


Вот жесть. Как же оно работает, если защелкивается 2-й, а считывается из нулевого.. Тогда ведь считывание прерывает ход счета. В общем, у меня пока ничего не получилось, ни с 0x86, ни с 0x06. Может быть добавлю гистерезис на входе сегодня вечером — есть подозрение, что этот измеритель просто обалдевает от шума в начале пока нет сигнала. Слишком умный!

Немудрено вообще, это наверное вторая из известных мне программ для Вектора, которая считывает чего-то из таймера (предыдущая — Exolon). Авторы всех остальных были исключительно писателями ;)

ivagor
03.02.2009, 12:02
svofski
http://sensi.org/%7Esvo/scalar/ware/8/
http://sensi.org/%7Esvo/scalar/ware/606/
так что скорее четвертая

b2m
03.02.2009, 12:28
Тогда ведь считывание прерывает ход счета
Нет, ход счёта не прерывается, но возможно несоответствие старшего и младшего байтов, например младший считался как ноль, при этом старший был, например 2, а потом читаем старший, а он уже 1, итого - вместо 0х200 прочитаем 0х100, а следующее считывание даст, например, 0х1F5. И как на это отреагирует алгоритм? :)

svofski
03.02.2009, 16:50
ivagor, ок, четвертая. А кстати, ты знаешь, зачем SkyNet читает таймер? Хотя, вопрос риторический. Она вообще много куда не след лазит просто вредности ради, уж намучался я с ней...


b2m, да, пожалуй не останавливается. Но все равно чего-то мне не воткнуть, как это, программируем один канал, а считываем другой. Всё бы ничего, но оно ведь работает при этом. Не знаю что там за бабочка, а я ей уже сам сигналы генерил, по крайней мере те, что попроще (Robot/8s) работают в b2m безо всяких ухищрений и правок.

b2m
03.02.2009, 17:07
все равно чего-то мне не воткнуть, как это, программируем один канал, а считываем другой

Как я полагаю, регистр, откуда идёт считывание значения, постоянно обновляется значением счётчика. Однако, когда мы даём команду "защёлкуть" значение, обновление прекращается до тех пор, пока не произойдёт считывание (обоих байтов, в случае двухбайтового режима). Команда считывания не относится к командам изменения режима, там вроде даже на младшие 4 бита вообще наплевать.


по крайней мере те, что попроще (Robot/8s) работают в b2m безо всяких ухищрений и правок.

Даже если и произойдёт считывание с несоответствующими байтами, ничего страшного не произойдёт. Во-первых вероятность не очень высока, а во-вторых будет просто неправильный цвет точки (чёрный вроде-бы).

svofski
03.02.2009, 17:24
Да, если память не изменяет, команда "защелкнуть", имеет приоритет над всеми остальными.

Надо будет проверить начальные установки. Если там всю дорогу программируется не тот канал таймера, то может так статься, что действительно используемый канал находится не в том режиме. Например. А какие начальные уставновки ВИ53 после сброса, кто знает? Режимы 2 и 3 похожи на первый взгляд, но в один и тот же момент времени считываются принципиально разные значения.

http://www.sharpmz.org/download/8253.pdf <- вот мой любимый даташит на 8253, в нем как будто бы ничего не сказано про начальное состояние и даже ноги RESET у него нет, оказывается.

У меня эта программа при работе пощелкивает, а в b2m я чего-то ничего особенного не слышу.

svofski
05.02.2009, 13:16
[добавлено через 12 лет и 3 месяца, чисто запамятовал, решил дополнить]

...А вот в интеловском даташите сказано, что да ни в коем разе низя не устанавливать режим, нету никакого режима по умолчанию. И глаза страшные и ножкой топ.

В то же время, какой-то режим устанавливается в главной программе SSTV.COM. Так что возможно, что результаты работы немодифицированной SSTVR.COM отличаются от приемника в SSTV.COM.

Тест таймера i8253 у меня показывает интересные результаты, вероятно потому, что у меня импульс INT не сбрасывается по INTA, а должен бы. Показывает то количество отсчетов, которое приличествует времени развертки одного экрана. Один HLT как будто проглатывается, потому что обработчик прерывания пустой. Сделал прерывание edge-sensitive, стало как у всех — показывает 1613.

Но на SSTV это все, разумеется, повлиять не могло =)

Stas Bergich
05.02.2009, 23:26
...А вот в интеловском даташите сказано, что да ни в коем разе низя не устанавливать режим, нету никакого режима по умолчанию. И глаза страшные и ножкой топ.

В то же время, какой-то режим устанавливается в главной программе SSTV.COM. Так что возможно, что результаты работы немодифицированной SSTVR.COM отличаются от приемника в SSTV.COM.

Тест таймера i8253 у меня показывает интересные результаты, вероятно потому, что у меня импульс INT не сбрасывается по INTA, а должен бы. Показывает то количество отсчетов, которое приличествует времени развертки одного экрана. Один HLT как будто проглатывается, потому что обработчик прерывания пустой. Сделал прерывание edge-sensitive, стало как у всех — показывает 1613.

Но на SSTV это все, разумеется, повлиять не могло =)
__________________
Больше игр нет

Pohoje ispolizuietsia 2 kanala: 1 - dlia proverki vremeni perehoda k sleduiushemu pixeliu i 2 dlia izmerenia chastoty
vot initsializatsia:
MVI A,074H
OUT 8
DD1: MVI A,0E0H
OUT 0AH
DD2: MVI A,2
OUT 0AH
MVI A,30H
OUT 8
JMP A7043

kanal 1 budet jdati poka ne obnulitsia(sleduiushii pixel 2E0 - interval):
A70BA: JCU
MVI A,46H
OUT 8
IN 00AH
SB3: IN 00AH
ANA A
JNZ A70BA

vot izmerenie chastoty:

PEREPAD:
MOV D,A
ANI 10H
JZ @PEE1
MVI A,86H
OUT 8
IN 0BH
RRC
RRC
ANI 00111111B
MOV B,A
IN 0BH
RRC
RRC
ADD B
STA ST1

MVI A,3
OUT 0BH
OUT 0BH
RET
Kto mojet podskazati chto takoe:
MVI A,074H
OUT 8
i
MVI A,30H
OUT 8
?

svofski
06.02.2009, 03:07
074h: счетчик 1 (порт 0Аh), загрузка двумя байтами, режим 2 — генератор импульсов (не путать с генератором меандра)

030h: счетчик 0 (порт 0Bh), загрузка двумя байтами, рехим 0 — прерывание по окончанию счета

b2m
06.02.2009, 11:27
Формат управляющего слова такой:
AABBCCCD

AA - номер счётчика 0-2 (3-запрещённое значение)

BB - режим обмена (1 младший байт, 2 старший байт, 3 оба байта) или команда считывания, если ноль

ССС - режим счёта
0 - программная задержка (начало счёта после загрузки счётчика при активном сигнале gate, возможен останов и продолжение счёта по сигналу gate)
1 - аппаратная задержка (начало счёта по сигналу gate, счёт не прерывается, возможна повторная загрузка счётчика сигналом gate)
2,6 - делитель частоты
3,7 - генератор меандра
4 - программный строб (то-же, что и 0, но выходной сигнал устанавливается сразу после загрузки режима, а по окончании счёта короткий импульс L)
5 - аппаратный строб (то-же, что и 1, но выходной сигнал устанавливается сразу после загрузки режима, а по окончании счёта короткий импульс L)

D - двоично-десятичный режим счёта

Tim0xA
25.01.2010, 00:13
Еще одна программа для коротковолновиков CW
http://sensi.org/~svo/scalar/ware/797/

http://sensi.org/~svo/scalar/media/s/CW2.gif http://sensi.org/~svo/scalar/media/s/CW3.gif

svofski
26.01.2010, 19:07
о! интересно натравить ее на рукотворный CW ;)

Stas Bergich
27.01.2010, 01:59
о! интересно натравить ее на рукотворный CW
Она только для модуля Пионер была сделана, там на входе узкополосный фильтр был, который выдавал на порт 0 или 1

svofski
27.01.2010, 16:28
Скорее интересно насколько она толерантна к неравномерности подачи. Сколько будет прочитано, если с обратной стороны сидит дедка с прямым ключом.

Stas Bergich
28.01.2010, 01:33
Da mehanicheskie kliuchi nikto uje let 10 kak ne ispolizuet. V moei programme byla avtomaticheskaia nastroika na skorosti peredachi i ona v obshem rabotala neploho. Znaiu tochno chto eta na priem rabotala huje

---------- Post added at 17:33 ---------- Previous post was at 17:32 ----------

PS timer ia ne ispolizoval na chtenie ;-)

svofski
31.01.2010, 01:58
Я когда Деген с SSB купил, слушал однажды на 4мГц соревнование CW-шников всю ночь. Не эксперт, но по-моему все-таки используют =)

Stas Bergich
31.01.2010, 09:33
Я когда Деген с SSB купил, слушал однажды на 4мГц соревнование CW-шников всю ночь. Не эксперт, но по-моему все-таки используют =)
Ну есть наверное фанаты механики, да я и сам электронным работать толком не умею, но помню даже в 1990 большинство молдавских коротковолновиков уже имели и использовали электронные ключи, особенно молодое поколение. Я сам морзянку учил в армии, а там была механика и терминлы(о это было что-то - на тиратронах, таких маленьких электронных лампах. Мне даже в учебке пришлось ремонтировать пару таких аппаратов)

---------- Post added at 01:23 ---------- Previous post was at 01:18 ----------

наверное слушал на 3.5 Ж:-)

---------- Post added at 01:33 ---------- Previous post was at 01:23 ----------

вот нашел - http://museum.radioscanner.ru/r_140/r_010.html

Stas Bergich
31.01.2010, 20:33
Деген с SSB купил
а какую модель дегена ты купил, я вижу не ебэе 1103 довольно дешевый

Stas Bergich
02.02.2010, 08:05
15869

15870

15871

Наконец дошли руки и залил в альтеру вектор! Ну и первым делом SSTV - каково же было мое удивлние что все работает. В качестве источника сигнала использовал вот эту программу:
http://mmhamsoft.amateur-radio.ca/pages/programmers/programmer-downloads.php

Stas Bergich
02.02.2010, 08:18
PS Надо найти старый софт который поддерживает развертку 32 сек. У этого есть только чб режимы 8 и 12.
Изображение несколько сплюснуто, поскольку из всех моих мониторов только wide поддерживают данную развертку - надо будет заняться этим вопросом.
svofski - мое почтение, вектор в де1 получился что надо!

svofski
02.02.2010, 18:48
Я старался =)

Моему широколицему монитору можно сказать, что сигнал все ж 4:3 и он принимает на веру.

Деген 1103, тот самый, бесконечно воспетый во всевомзожных интернетах. У себя дома насладиться им я так толком и не смог: каменные джунгли, людской муравейник и даже то, что последний этаж, не спасает. Может быть твой радиолюбительский опыт тут пригодится, а я ничего сделать с этим не могу. Серьезный мужчина собрал бы, наверное, селектор для внешней антенны... А за городом волшебно, но я там практически не бываю.

Stas Bergich
02.02.2010, 19:21
У себя дома насладиться им я так толком и не смог: каменные джунгли, людской муравейник и даже то, что последний этаж, не спасает
Esli poslednii etaj, to chto mojet byti proshe - delaeshi vneshnuu antennu, znaiu hlopotno, no rezulitat budet garantirovano

---------- Post added at 11:21 ---------- Previous post was at 11:20 ----------

a mojno li kak to sdelati rejim 60 hz - uj ochni hochetsia staryi 17 inch monitor zadeistvovati. Ia pomniu ty kak-to zaikalsia naschet etogo rejima

svofski
03.02.2010, 02:28
a mojno li kak to sdelati rejim 60 hz - uj ochni hochetsia staryi 17 inch monitor zadeistvovati. Ia pomniu ty kak-to zaikalsia naschet etogo rejima
Нет, нереально. Реально подключить к PAL-телевизору =)

svofski
03.02.2010, 16:34
Вообще, в принципе, весь видеовывод можно пересчитать под 60 Гц. Но во-первых, это запарно, потому что можно сказать, что весь компьютер слеплен вокруг видеоадаптера. И, во-вторых, это уже будет не совсем Вектор: прерывания пойдут чаще и многие программы будут на этом валиться. Даже не не самые притязательные.

Другой вариант: завести промежуточный буфер для экранной памяти, весь видеовывод перенаправить в него, а его содержимое выдвигать на экран под 60Гц развертку. Тут проблема прежде всего с объемом памяти. Поскольку этот буфер должен будет содержать труколор и бордюр.. получается, допустим, (512+32*2)*(256+32*2) = 184320 байт на страницу. В принципе, столько памяти есть. Надо только разобраться как-то с циклами записи-чтения. Память не двухпортовая, все операции надо разделять, а при нынешнем положении дел там и так уже практически все временные слоты заняты.

Если вдруг ты задашься-таки такой целью, то есть смысл сразу заводить контроллер DRAM-а. Тогда этот "адаптер" можно сделать вооообще отдельным модулем, который будет жить совершенно асинхронно. Это вполне выполнимо. Зря что ли DE1 покупал? =)

Ramiros
03.02.2010, 18:50
svofski, а если просто подразогнать задающюю частоту, чтобы на выходе было 60 Гц? реальное быстродействие получится немного выше, но зато инструкций за прерывание будет выполнятся столько же, сколько и при 50 Гц на штатной частоте, программы незаметят разницы и с совместимостью проблем небудет.

svofski
03.02.2010, 20:02
Это можно попробовать, опорная частота действительно одна на всех и если монитор будет согласен, то даже чего-то можно будет увидеть. Единственное, что 50Гц и 60Гц -- это две совершенно разные развертки, там пропорции чуть-чуть отличаются и монитор в принципе может закапризничать.

Tim0xA
04.10.2010, 23:55
Обнаружены исходники программы SSTV (http://sensi.org/~svo/scalar/ware/631/)

Stas Bergich
06.10.2010, 04:50
Обнаружены исходники программы SSTV

Да они в общем-то всегда были в "исходниках бергича" - просто имена замаскированы Ж;-)

оопс - нет это мои пионеры ваяли редактор для SSTV

Tim0xA
06.10.2010, 09:58
оопс - нет это мои пионеры ваяли редактор для SSTV
То что я выложил - это редактор? Можно подробнее, для чего он нужен?

Stas Bergich
07.10.2010, 05:27
Да я уже толком не помню - что-то типа графического редактора для подготовки картинок. Надо скомпилировать и посмотреть

---------- Post added at 21:27 ---------- Previous post was at 21:24 ----------

Да я уже и не помню - что-то типа графического редактора для редактирования картинок для SSTV. Надо бы скомпилировать и посмотреть