Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

модуль видеокарты для микроконтроллера (версия 2)

Чт авг 24, 2017 18:22:39

решил добавить к микроконтроллеру "видеокарту", думаю без ПЛИС не обойтись
выбор ПЛИС (у)пал на ATF750LVC
[img][img]http://img.radiokot.ru/files/125484/thumbnail/1cyz348ka0.jpg[/img][/img]

работет все так
1. устанавливаем RST
2. снимаем RST
3. на входе LO низкий уровень
4. выставляем COLOR 4 bit+FON 4 bit на шину D0-D7
5. при переходе LO из низкого в высокий с шины устанавливется цвет точки и цвет фона
6. устанавливаем наличие/отсутствие точек на шину D0-D7
7.при переходе LO с высокого в низкий с шины точки записываются в ПЛИС
8. идем на п.4

на вход LO надо подать управляющий сигнал 3 такта низкий 5 тактов высокий
Последний раз редактировалось KP1801BM1A Пт авг 25, 2017 09:37:11, всего редактировалось 1 раз.

Re: модуль видеокарты для микроконтроллера (версия 2)

Пт авг 25, 2017 09:28:50

получается:
за 8 тактов нужно выставить цвет фона/символов в течении 5ти тактов и 8 точек в течении 3х тактов
при разрешении 640х480 и частоте соответственно 25.175 МГц
частота МК составит 8.392 МГц (если МК только на видеокарту будет работать)

кстати не мог прикрепить файл в LogSim 2.7.1

Re: модуль видеокарты для микроконтроллера (версия 2)

Чт авг 31, 2017 00:52:56

новая версия
на вход LO подается меандр с частотой F/8
при переходе с низкого на высокий уровень загружаются цвет точки и цвет фона (по 4 бита)
при переходе с высокого на низкий уровень загружается наличие/отсутствие точек (8 бит)
потом данные на линиях D0-D7 нужно удерживать 1 такт
Вложения
VGA_5c.rar
(450.78 KiB) Скачиваний: 322

Re: модуль видеокарты для микроконтроллера (версия 2)

Ср сен 06, 2017 07:58:16

VGA5_cr.jpg
(104.11 KiB) Скачиваний: 682

Написано WinCupl 5.30.4

Name VGA;
Partno atf750c;
Date 07/09/17;
Revision 01;
Designer Yad PLD;
Company Atmel Corporation;
Assembly U00;
Location San Jose;
Device v750c;

/** Inputs **/

PIN 1 = CLK; /* Synchronous clock pin using .CKMUX */
PIN 2 = RST;
PIN 3 = D0;
PIN 4 = D1;
PIN 5 = D2;
PIN 6 = D3;
PIN 7 = D4;
PIN 8 = D5;
PIN 9 = D6;
PIN 10 = D7;
PIN 11 = LO;
PIN 13 = SWP;

/** Outputs **/

PIN 14 = S1;
PIN 15 = QD0;
PIN 16 = S2;
PIN 17 = Q0;
PIN 18 = Q1;
PIN 19 = Q2;
PIN 20 = Q3;
PIN 21 = S3;
PIN 22 = S4;
PIN 23 = XQ;

PINNODE 25 = QD1;
PINNODE 26 = QD2;
PINNODE 27 = QD3;
PINNODE 28 = Q4;
PINNODE 29 = Q5;
PINNODE 30 = Q6;
PINNODE 31 = Q7;
PINNODE 32 = QD4;
PINNODE 33 = QD5;
PINNODE 34 = QD6;


/** Logic Equations **/


QD0.d = !RST & !LO & XQ & D0
# !RST & LO & XQ & QD1
# !RST & !XQ & QD1;

QD1.d = !RST & !LO & XQ & D0 & !D1
# !RST & !LO & XQ & !D0 & D1
# !RST & LO & XQ & QD2
# !RST & !XQ & QD2;

QD2.d = !RST & !LO & XQ & D1 & !D2
# !RST & !LO & XQ & !D1 & D2
# !RST & LO & XQ & QD3
# !RST & !XQ & QD3;

QD3.d = !RST & !LO & XQ & D2 & !D3
# !RST & !LO & XQ & !D2 & D3
# !RST & LO & XQ & QD4
# !RST & !XQ & QD4;

QD4.d = !RST & !LO & XQ & D3 & !D4
# !RST & !LO & XQ & !D3 & D4
# !RST & LO & XQ & QD5
# !RST & !XQ & QD5;

QD5.d = !RST & !LO & XQ & D4 & !D5
# !RST & !LO & XQ & !D4 & D5
# !RST & LO & XQ & QD6
# !RST & !XQ & QD6;

QD6.d = !RST & !LO & XQ & D5 & !D6
# !RST & !LO & XQ & !D5 & D6
# !RST & !LO & !XQ & D6 & !D7
# !RST & !LO & !XQ & !D6 & D7;

[QD6..0].ckmux = CLK;
[QD6..0].sp = 'b'0;

XQ.d = LO;
XQ.ck = CLK;
XQ.sp = 'b'0;

S1.d = S2;
S2.d = S3;
S3.d = S4;
S4.d = QD0;

[S1..4].sp = 'b'0;
[S1..4].ckmux = CLK;

Q0.d = LO & !XQ & SWP & !D4
# LO & !XQ & !SWP & !D0
# LO & XQ & SWP & Q4
# LO & XQ & !SWP & Q0
# !LO & SWP & Q4
# !LO & !SWP & Q0
# RST;

Q4.d = LO & !XQ & SWP & !D0
# LO & !XQ & !SWP & !D4
# LO & XQ & SWP & Q0
# LO & XQ & !SWP & Q4
# !LO & SWP & Q0
# !LO & !SWP & Q4
# RST;

Q1.d = LO & !XQ & SWP & !D5
# LO & !XQ & !SWP & !D1
# LO & XQ & SWP & Q5
# LO & XQ & !SWP & Q1
# !LO & SWP & Q5
# !LO & !SWP & Q1
# RST;

Q5.d = LO & !XQ & SWP & !D1
# LO & !XQ & !SWP & !D5
# LO & XQ & SWP & Q1
# LO & XQ & !SWP & Q5
# !LO & SWP & Q1
# !LO & !SWP & Q5
# RST;

Q2.d = LO & !XQ & SWP & !D6
# LO & !XQ & !SWP & !D2
# LO & XQ & SWP & Q6
# LO & XQ & !SWP & Q2
# !LO & SWP & Q6
# !LO & !SWP & Q2
# RST;

Q6.d = LO & !XQ & SWP & !D2
# LO & !XQ & !SWP & !D6
# LO & XQ & SWP & Q2
# LO & XQ & !SWP & Q6
# !LO & SWP & Q2
# !LO & !SWP & Q6
# RST;

Q3.d = LO & !XQ & SWP & !D7
# LO & !XQ & !SWP & !D3
# LO & XQ & SWP & Q7
# LO & XQ & !SWP & Q3
# !LO & SWP & Q7
# !LO & !SWP & Q3
# RST;

Q7.d = LO & !XQ & SWP & !D3
# LO & !XQ & !SWP & !D7
# LO & XQ & SWP & Q3
# LO & XQ & !SWP & Q7
# !LO & SWP & Q3
# !LO & !SWP & Q7
# RST;

[Q7..0].ckmux = CLK;
[Q7..0].sp = 'b'0;
Вложения
VGA5.JPG
(145.86 KiB) Скачиваний: 685
Ответить