Author |
Message |
masterspammer
Fanat
Joined: 13 Dec 2020 21:11 Posts: 95
|
Под воздействием алкоголя (пиво Saldens DIPA, если интересно) возникла следующая идея - хранить в видеоОЗУ готовый PAL-сигнал.
Что нам нужно - уровень базового (ч/б) сигнала плюс колебания на заведомо известной частоте вокруг него. Например, храним один байт, раскладываем его на 4 части (2*2). Если думать о монохроме, то это 4 пикселя. В цвете же у нас получается полубайт 0b0011 это низкий уровень, потом высокий - пусть он превратится в последовательность 4147 (грубая аппроксимация синусоиды, частота, насколько помню, нужна 4.33МГц), полубайт 0b1100 - то же, но в противофазе. Второй полубайт - на строке ниже для другого цветоразностного сигнала.
Итого у нас есть схема генераторов с перезапуском, тактовая 17 с мелочью МГц, тут же схема генерации синхровспышки. Для каждого байта берётся чётный/нечётный полубайт (смотря какая - чётная или нечётная - строка) и генерируется по табличке (PAL/GAL или даже ОЗУ/ПЗУ - тут даже можно придумать палитру) последовательность из 4-х чисел, далее R2R ЦАП и на выход.
Опробовать хочу так: 1. взять готовый генератор PAL-полосок на AVR. 2. заменить часть полоски на вывод того сигнала, который требуется (проблема в том, что вывести 1 байт за такт можно только из регистра, так что картинка будет маленькой, пикселей так на 10-15 в ширину. 3. проверить - будут ли реальные телевизоры воспринимать сигнал не вида 4147, а вида 1177 (возможно со сдвигом по фазе на полтакта) 4. заменить вывод данных на вывод адреса и припаять микросхему память 5. если сигнал вида 1177 будет работать, то подать с миросхемы памяти биты на R2R 6/ иначе - сделать табличку чтоб из полубайта получать 4 уровня
Насколько идея безумная? А может уже было устройство, где память была устроена так?
|
25 Jun 2024 09:13 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Делать "вручную" цветной сигнал PAL задача тяжёлая, но разрешимая
|
25 Jun 2024 09:53 |
|
|
masterspammer
Fanat
Joined: 13 Dec 2020 21:11 Posts: 95
|
Идея не в том, чтоб его делать, а именно что хранить в видеопамяти в максимально готовом к употреблению виде.
|
25 Jun 2024 09:55 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
угу - многие так и делали (делают), но например с NTSC это сильно проще: viewtopic.php?f=67&t=9771&start=135
|
25 Jun 2024 10:19 |
|
|
masterspammer
Fanat
Joined: 13 Dec 2020 21:11 Posts: 95
|
Это я кажется даже видел... Но я имел в виду серийные изделия.
|
25 Jun 2024 10:28 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Apple-II Sprinter Но это всё конечно дела давно минувших дней...
|
25 Jun 2024 10:30 |
|
|
masterspammer
Fanat
Joined: 13 Dec 2020 21:11 Posts: 95
|
Apple ][ именно то, что я имел в виду. А всего лишь хотелось сделать простой видеовыход... Без кодера и один на монохром высокого разрешенич и цвет
|
25 Jun 2024 10:37 |
|
|
masterspammer
Fanat
Joined: 13 Dec 2020 21:11 Posts: 95
|
Пришли кварцы с четырёхкратной частотой PAL (17 примерно МГц, не помню точно), а я почти и забыл, что заказывал.
Что характерно, резисторы на r2r-лестницу купить я забыл...
Интересно, насколько сложной получается схема и какую часть её можно засунуть в GAL/PAL, потому как целая ATMega для такого это сильно-сильно изврат.
Как я понимаю, схема состоит из: 1. памяти - тут всяко нужна микросхемка, в AVR столько нет вообще. 2. дешифратора/палитры - в принципе это тоже SRAM, можно взять мелкую, а можно сделать для каждой группы из N строк свою палитру. 3. R2R, вывод, разъём - без комментариев. 4. счётчики 5. схема дешифрации и перезапуска счётчиков, тут же - формирование синхроимпульсов. 6. схема организации доступа к памяти для процессора 7. схема организации доступа к палитре для процессора
4 и 5 можно сделать как программно ATMega, так и аппаратно, 6 - скорее подход, чем собственно схема - или формируется стоп для процессора или делаются две попытки чтения (как на "Специалисте"), плюс какой-то буфер между видео и общей шиной.
Пока вырисовывается 4+5 на платке-мезонине вторым этажём поверх основной платы, чтоб сначала там был AVR (сильно кастрированная программа генератора синхроимпульсов, выдающая наружу только синхроимпульсы, адреса и сигнал выбора мультиплексора - брать сейчас уровни синхроимпульсов или выход с RAM палитры, а потом можно было бы её заменить на плату со счётчиками и дешифраторами.
|
12 Jul 2024 08:07 |
|
|