Важная информация

User Tag List

Страница 2 из 236 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 2351

Тема: ZXKit1 - плата VGA & PAL

  1. #11
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию НАЧНЕМ ПРОЕКТИРОВАТЬ ПРОШИВКУ ПЛИС:

    ИСХОДНЫЕ ДАННЫЕ.

    Параметры экрана Спектрума.
    1. Цвет точки кодируется четырьмя битами - R,G,B,I.
    2. Длительность отображения точки на телевизоре - 1 / (7 МГц) ~ 143 нс.
    3. В строке телевизора умещается 56 * 8 = 448 точек. Длительность строки - 64 мкс.
    4. В кадре - 312/320 строк. Частота кадров - 50/48 Гц.

    Входные сигналы:
    1. GND - земля
    2. +5V - питание
    3. R - цифровой RED
    4. G - цифровой GREEN
    5. B - цифровой BLUE
    6. I - цифровой BRIGHT
    7. KSI — кадровые синхроимпульсы
    8. SSI — строчные синхроимпульсы
    9. F14MHz — тактовые импульсы частотой 14 МГц

    Выходные разъемы:
    1. DHR-15F - VGA / SCART
    2. MDN-4J - S-VIDEO
    3. тюльпан 103 1гн. - COMPOSITE VIDEO
    Размеры платы: около 60х70 мм.

    Входные сигналы ПЛИС (ТТЛ - уровень).
    1. R - цифровой RED
    2. G - цифровой GREEN
    3. B - цифровой BLUE
    4. I - цифровой BRIGHT
    5. KSI - кадровые синхроимпульсы
    6. SSI - строчные синхроимпульсы
    7. F14MHz - тактовые импульсы частотой 14 МГц

    Выходные сигналы ПЛИС для VGA (размах - 3.3 В).
    1. R_VGA - цифровой RED
    2. G_VGA - цифровой GREEN
    3. B_VGA - цифровой BLUE
    4. IR_VGA - цифровой BRIGHT для RED (состояния - 0/Z)
    5. IG_VGA - цифровой BRIGHT для GREEN (состояния - 0/Z)
    6. IB_VGA - цифровой BRIGHT для BLUE (состояния - 0/Z)
    7. VSYNC_VGA - кадровые синхроимпульсы
    8. HSYNC_VGA - строчные синхроимпульсы

    Выходные сигналы ПЛИС для телевизора (размах - 3.3 В).

    1. R_VIDEO - цифровой RED
    2. G_ VIDEO - цифровой GREEN
    3. B_ VIDEO - цифровой BLUE
    4. IR_ VIDEO - цифровой BRIGHT для RED (состояния - 0/Z)
    5. IG_ VIDEO - цифровой BRIGHT для GREEN (состояния - 0/Z)
    6. IB_ VIDEO - цифровой BRIGHT для BLUE (состояния - 0/Z)
    7. SYNC_VIDEO - синхросмесь кадровых и строчных синхромипульсов


    ТРЕБУЕТСЯ ПОЛУЧИТЬ.

    Сигналы для монитора VGA:
    1. Цвет точки кодируется шестью битами - R,G,B,RI,GI,BI.
    2. Длительность отображения точки на мониторе - 1 / (14 МГц) ~ 71 нс.
    3. В строке монитора умещается 56 * 8 = 448 точек. Длительность строки - 32 мкс.
    4. Строку повторять дважды.
    5. В кадре режима 1 (исходная частота кадров 50/48 Гц) - 624/640 строк.
    6. В кадре режима 2 (частота кадров 60 Гц) - 525 строк.
    7. Полярность и длительность гасящих и синхроимпульсов как в режиме VGA 480x640 60Гц.

    Сигналы для телевизора:
    1. Цвет точки кодируется шестью битами - R,G,B,RI,GI,BI.
    2. Длительность отображения точки на телевизоре - 1 / (7 МГц) ~ 143 нс.
    3. В строке телевизора умещается 56 * 8 = 448 точек. Длительность строки - 64 мкс.
    4. В кадре - 312/320 строк. Частота кадров - 50/48 Гц.
    5. Параметры синхроимпульсов — максимально приблизить к параметрам PAL.

    Дополнительные возможности.
    1. Возможность инверсии всех входных сигналов в соответствии с положением перемычек / тумблеров.
    2. Возможность подачи вместо сигналов на VGA сигналов, аналогичных сигналам для телевизора (вместо HSYNC_VGA подать SYNC_VIDEO, вместо VSYNC_VGA подать логическую единицу).
    3. ...
    Последний раз редактировалось zx-kit; 26.09.2009 в 20:47.
    "L-256"

  2. #12
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию ПРИКИНЕМ АДРЕСАЦИЮ ЭКРАНА

    Коды цвета RGBI со Спектрума будем записывать в ОЗУ. Для вывода на VGA будем считывать данные из ОЗУ.

    Для адресации 448 точек в строке нужно 9 бит адреса ОЗУ: A0...A8 ОЗУ.
    Нужно подать частоту F14MHz на счетчик с выходами H0...H8.
    Счетчик будем сбрасывать по спаду (при переходе из 1 в 0) входного строчного синхроимпульса.

    На ОЗУ адрес точек надо подавать через мультиплексор.
    При записи кодов цвета подавать сигналы H0...H8, а при чтении - F14MHz, H0...H7.

    Для адресации 312/320 строк нужно 9 бит адреса ОЗУ: A9...A17 ОЗУ.
    Нужно подать входные строчные синхроимпульсы на два счетчика с выходами VIN0...VIN8 и VOUT0..VOUT8.

    Счетчик VIN будем сбрасывать по спаду входного кадрового синхроимпульса.
    Счетчик VOUT сбрасывать не будем, он будет считать автономно от N+0 до N+261/262.
    N строк после синхроимпульса изображать не будем, чтобы из частоты 50/48 Гц получить 60.
    N нужно уточнить, чтобы изображение было симметрично по-вертикали. Зависит от числа строк в кадре - 312 или 320.

    На ОЗУ адрес строк надо подавать через мультиплексор.
    При записи кодов цвета подавать сигналы VIN0...VIN8. При чтении - в зависимости от режима.
    В режиме 1 (частота кадров 50/48 Гц) подавать адрес VIN0...VIN8, уменьшенный на единицу.
    В режиме 2 (частота кадров 60 Гц) - VOUT0..VOUT8.
    Последний раз редактировалось zx-kit; 17.07.2009 в 15:13.
    "L-256"

  3. #13
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    460
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    При записи кодов цвета подавать сигналы H0...H8, а при чтении - F14MHz, H0...H7.
    1. Пережуйте-ка тщательнее всё, что написали про строчную часть. В том виде, как есть - вообще непонятно как работать будет. Хотя бы например процитированное - 8 разрядов адреса при чтении - 256 точек? А остальные 192?

    2. При пиксельном клоке 14МГц и 525 строках изображение спектрумовского экрана заметно растянется по вертикали, а на мониторе с соотношением сторон 5:4 (типовая семнашка 1280х1024) - так и вовсе станет квадратным, по хорошему при 60Гц надо снижать частоту вывода пикселей.
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

  4. #14
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    При записи кодов цвета подавать сигналы H0...H8, а при чтении - F14MHz, H0...H7.
    1. Пережуйте-ка тщательнее всё, что написали про строчную часть. В том виде, как есть - вообще непонятно как работать будет. Хотя бы например процитированное - 8 разрядов адреса при чтении - 256 точек? А остальные 192?
    За время отображения строки на телевизор надо вывести две одинаковые строки на монитор. Для этого адреса при чтении должны сменяться в два раза чаще, чем при записи. При чтении тоже 9 битов адреса. Частота младшего адреса при чтении F14MHz в два раза больше частоты младшего адреса при записи H0, которая 7 MHz.

    2. При пиксельном клоке 14МГц и 525 строках изображение спектрумовского экрана заметно растянется по вертикали, а на мониторе с соотношением сторон 5:4 (типовая семнашка 1280х1024) - так и вовсе станет квадратным, по хорошему при 60Гц надо снижать частоту вывода пикселей.
    Посчитаем
    Видимая часть экрана VGA:
    для 50 Гц составит 448-53=339 на 312/320 - 1 = 311/319 точек
    для 60 Гц составит 448-53=339 на 523/2=261.5 точки

    У меня 17" имеет размер 32 х 24 см формат 4:3
    По-горизонтали 339/32 = 10.59
    По-вертикали:
    Для 50 Гц (312 строк) 311/24 = 12.96 12,96/10,59=1.22
    Для 50 Гц (320 строк) 319/24 = 13.29 13,29/10,59=1.25
    Для 60 Гц 261.5/24 = 10,9 10,9/10,59 =1.03

    Посчитаем для другого монитора
    19" Samsung 933SN (LS19CMYKF(Z)) TFT формат 16:9 частота кадров 50-75 Гц.
    По-горизонтали 339/16 = 21.19
    По-вертикали:
    Для 50 Гц (312 строк) 311/9 = 34.56 34.56/21.19=1.63
    Для 50 Гц (320 строк) 319/9 = 35.44 35.44/21.19=1.67
    Для 60 Гц 261.5/9 = 29.05 29.05/21.19 = 1.37

    Расчеты не очень точные и без учета гасящих импульсов. Ниже более точный расчет.

    У кого Спектрум подключен к монитору, измерьте, пожалуйста, размер монитора и картинки Спектрума 256х192 точки. Укажите также частоту строк, кадров и способ подключения к монитору...
    Последний раз редактировалось zx-kit; 17.07.2009 в 21:36.
    "L-256"

  5. #15
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    460
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    При чтении тоже 9 битов адреса. Частота младшего адреса при чтении F14MHz в два раза больше частоты младшего адреса при записи H0, которая 7 MHz.
    223, 224, 255, 256
    Посчитайте, откуда при этих значениях счетчика будут считываться данные для VGA.

    ---------- Post added at 20:06 ---------- Previous post was at 19:23 ----------

    Цитата Сообщение от zst Посмотреть сообщение
    Видимая часть экрана VGA:
    для 50 Гц составит 448-53=339 на 312/320 - 1 = 311/319 точек
    для 60 Гц составит 448-53=339 на 523/2=261.5 точки
    Эка вы кадр целиком засунули..
    Да и 448-53=395 вообще-то Впрочем это не очень важно, у монитора свои понятия о видимой области.
    На самом деле видимых строк будет 300 и 240 соответственно, а видимых точек в строке - где-то в районе 360..380.
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

  6. #16
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию ПЕРЕСЧИТАЕМ С УЧЕТОМ ГАСЯЩИХ ИМПУЛЬСОВ

    Эка вы кадр целиком засунули..
    Да и 448-53=395 вообще-то Впрочем это не очень важно, у монитора свои понятия о видимой области.
    На самом деле видимых строк будет 300 и 240 соответственно, а видимых точек в строке - где-то в районе 360..380.
    Посчитаем
    Видимая часть экрана VGA:
    для 50 Гц составит 448-80=368 на (320*2-28)/2 = 306 точек
    для 60 Гц составит 448-80=368 на (525-45)/2 = 240 точек

    У меня 17" имеет размер 32 х 24 см формат 4:3
    По-горизонтали 368/32 = 11,5
    По-вертикали:
    Для 50 Гц (320 строк) 306/24 = 12,75 12,75/11,5 = 1.11
    Для 60 Гц 240/24 = 10,0 10,0/11,5 = 0,87

    Посчитаем для другого монитора
    19" Samsung 933SN (LS19CMYKF(Z)) TFT формат 16:9 частота кадров 50-75 Гц.
    По-горизонтали 368/16 = 23
    По-вертикали:
    Для 50 Гц (320 строк) 306/9 = 34 34/23=1.48
    Для 60 Гц 240/9 = 26,67 26,67/23 = 1.16

    Выводы: Наименьшие искажения для мониторов с форматом 4:3 при 50 Гц,
    для мониторов с форматом 16:9 при 60 Гц.
    Но это теория - надо смотреть. Может немного поможет регулировка размера на мониторе.

    У кого Спектрум подключен к монитору, измерьте, пожалуйста, размер монитора и картинки Спектрума 256х192 точки. Укажите также частоту строк, кадров и способ подключения к монитору...

    ---------- Post added at 23:49 ---------- Previous post was at 23:22 ----------

    Цитата Сообщение от UncleDim Посмотреть сообщение
    223, 224, 255, 256
    Посчитайте, откуда при этих значениях счетчика будут считываться данные для VGA.[COLOR="Silver"]
    Спасибо, заметил неточность. Исправил про адресацию точек в строке:

    Для адресации 448 точек в строке нужно 9 бит адреса ОЗУ: A0...A8 ОЗУ.
    Нужно подать частоту F14MHz на два счетчика с выходами HIN0...HIN8 и HOUT0...HOUT7. Счетчик HOUT должен считать от 0 до 223. Счетчики будем сбрасывать по спаду (при переходе из 1 в 0) входного строчного синхроимпульса.

    На ОЗУ адрес точек надо подавать через мультиплексор.
    При записи кодов цвета подавать сигналы HIN0...HIN8, а при чтении - F14MHz, HOUT0..HOUT7.
    "L-256"

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    460
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от heroy Посмотреть сообщение
    Я вот не понимаю, планируется хватать из строки только 256 точек которые соответствуют активной области спектрумовского экрана (без бордюра) ?
    Конечно же нет, строка хавается целиком, все 64мкс.
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

  9. #18
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию ПЕРВИЧНАЯ ОБРАБОТКА ВХОДНЫХ СИГНАЛОВ

    Для выбора режима работы используется семь входов ПЛИС, которые подтянуты резисторами 10 кОм к +5 В. Каждый вход можно соединить с землей с помощью перемычки:

    Перемычки для выбора режима:

    JP1. INVERSE_RBGI - инверсия кода цвета: ON - инвертировать, OFF - нет.

    JP2. INVERSE_KSI - инверсия кадровых синхроимпульсов: ON - инвертировать, OFF - нет.

    JP3. INVERSE_SSI - инверсия строчных синхроимпульсов: ON - инвертировать, OFF - нет.

    JP4. INVERSE_F14MHZ - инверсия тактовых импульсов : ON - инвертировать, OFF - нет.

    JP5. VGA_SCART - выбор сигнала на разъеме VGA: ON - для SCART, OFF - для VGA (в некоторых прошивках не используется).

    JP6. SET_FK_IN - не используется.

    JP7. SET_FK_OUT- установка выходной частоты кадров: ON - 50/48Гц, OFF - 60 Гц ( для прошивки V3.01 - 100 Гц).



    Инверсия входных сигналов.

    Чтобы было не важно, какая фаза или полярность входного сигнала, предусмотрена инверсия входных сигналов. Инверсия соответствующего сигнала выбирается перемычками 1- 4. В ПЛИС инверсию можно реализовать на элементах исключающее или. Если понадобится, добавить инверторы. После данной обработки сигналы получают названия R_IN, G_IN, B_IN, I_IN, KSI_IN, SSI_IN, F14.
    В предыдущем описании алгоритма работы с ОЗУ использовать эти полученные сигналы. Например, где написано F14MHz применять новый сигнал F14 .

    Синхронизация проинвертированных сигналов.

    Далее сигналы цвета, кадровые и строчные синхроимпульсы нормальной полярности подаются на регистр, который записывает сигналы со входа на выход по спаду сигнала F14 (при переходе из 1 в 0).

    Формирование сигналов сброса для счетчиков.


    Для получения сигнала сброса для счетчиков точек в строке нужно сигнал SSI_IN задержать на пол-периода тактовых импульсов с помощью регистра, который записывает сигналы со входа на выход по фронту сигнала F14 (при переходе из 0 в 1). Получим сигнал SSI_IN2. Далее сделать схему, которая формирует сигнал сброса RES_H. Сигнал должен быть активным, т.е. равен нулю, тогда, когда SSI_IN=0 и SSI_IN2=1.

    Для получения сигнала сброса для счетчиков строк нужно сигнал KSI_IN задержать на пол-периода тактовых импульсов с помощью регистра, который записывает сигналы со входа на выход по фронту сигнала F14 (при переходе из 0 в 1). Получим сигнал KSI_IN2. Далее сделать схему, которая формирует сигнал сброса RES_V. Сигнал должен быть активным, т.е. равен нулю, тогда, когда KSI_IN=0 и KSI_IN2=1.
    Последний раз редактировалось zx-kit; 15.04.2011 в 19:41.
    "L-256"

  10. #19
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    460
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Формирование сигналов сброса для счетчиков.
    IMHO ерундой занимаетесь уже. Зачем детализировать до последнего элемента? Пусть компилятор детализирует..
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

  11. #20
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от UncleDim Посмотреть сообщение
    IMHO ерундой занимаетесь уже. Зачем детализировать до последнего элемента? Пусть компилятор детализирует..
    А как на VHDL сказать компилятору, чтобы он сбросил счетчик по спаду синхроимпульса?

    Да и кодировать пока рано - надо сначала разработать алгоритм...

    ---------- Post added at 14:12 ---------- Previous post was at 13:54 ----------

    На плате установлена микросхема памяти K6R4016V1D. Объем 256К х 16 бит. Время доступа 10 нс.

    Сигналы с ПЛИС на ОЗУ.

    Шина адреса - A17...A0.
    Шина данных - D15...D0.
    Шина управления - OE, WE, UB, LB. Вход CS ОЗУ подключен к земле.

    Требуется.

    Стоит задача написать алгорит управления памятью. Проблема в том, что максимальная частота в ПЛИС равна 14 МГц. За период этой частоты надо успеть записать данные в ОЗУ и прочитать для вывода на VGA. Для решения этой проблемы нужно объединять данные кодов цвета при записи и чтении по 8 или 16 бит...

    Какие будут соображения по этому поводу?
    "L-256"

Страница 2 из 236 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Похожие темы

  1. ZXKit1 - конструктор для ZX-творчества
    от zx-kit в разделе ZX Концепции
    Ответов: 449
    Последнее: 07.01.2020, 15:42
  2. Что это за плата?
    от Sergei Frolov в разделе Несортированное железо
    Ответов: 3
    Последнее: 05.07.2009, 16:49
  3. От чего эта плата?
    от Nikita в разделе Несортированное железо
    Ответов: 8
    Последнее: 26.12.2008, 23:49
  4. Подскажите что за плата это ?
    от Mad Killer/PG в разделе Несортированное железо
    Ответов: 2
    Последнее: 18.12.2008, 00:50
  5. Что это за плата кто знает ?
    от sinchuk в разделе Несортированное железо
    Ответов: 14
    Последнее: 30.11.2008, 17:29

Ваши права

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