Есть некоторые мысли по поводу сабжа, хочу разобраться более плотно с авр и с синхрами vga и rgb. на словах схема выглядит следующим образом:
имеем атмега, 128х8 sram и регистр 8битный 573.
порты меги А и С подкл к шине адреса памяти, порт D к данным.
регистр вешается на шину данных, выход регистра через R-2R к RGB 3-3-2.
идея работы следующая, т.к. чтение из внешней памяти занимает 3 такта (поправте если не так), и нужно еще инкрементировать адрес и вывести в порт, то это все в итоге много времени жрет. я же хочу попробовать во время вывода RGB устанавливать на озу адрес а все что оно будет выдавать, сразу выводить на монитор.
по моим подсчетам, при 256 точек на линию, 8бит цвета, достаточно 20мГц (точнее 20.314).
Возникают вопросы
если сигнал `ОЕ на sram держать низким, т.е. разрешение чтения, постоянно, при этом менять адрес, будет ли меняться значения на шине данных?
как без внешнего генератора сделать 60герц прерывания на меге, по таймеру? т.е. каждый раз заводить таймер на время?
вобщем если не трудно прошу некоторой помощи в объяснении если смысл в таком выводе видео.
если непонятна схема, попробую нарисовать в картинке =), потому как все пока в бумаге и голове.
mega128+vga
Moderator: Shaos
-
- Junior
- Posts: 3
- Joined: 04 Sep 2008 00:45
- Location: 80.80.111.240
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
-
- Junior
- Posts: 3
- Joined: 04 Sep 2008 00:45
- Location: 80.80.111.240
-
- Junior
- Posts: 3
- Joined: 04 Sep 2008 00:45
- Location: 80.80.111.240
Еще вопрос, столкнулся с такой проблемой, в АВРстудио неправильно понимаются порты E F G. при копиляции на команду DDRF DDRG DDRE пишет что error: Operand 1 out of range: 0x64 на команду типа
OUT DDRG,R16
потом решил поморгать светодиодом на порт Д. он прост горит и никак не хочет моргать.
в итоге когда в понипроге проверил установку фьюзов, они считались все установленные и после этого мега вооще перестала шится/читаться. может поник глюканул и установил чтото сам,
есть возможность сделать чип ресет на 128?
OUT DDRG,R16
потом решил поморгать светодиодом на порт Д. он прост горит и никак не хочет моргать.
в итоге когда в понипроге проверил установку фьюзов, они считались все установленные и после этого мега вооще перестала шится/читаться. может поник глюканул и установил чтото сам,
есть возможность сделать чип ресет на 128?
-
- Novelist
- Posts: 46
- Joined: 24 Aug 2006 02:14
- Location: pуcвoceмьнадцaть
Для портов с адресами >$40 использовать комманды ST/LD (PDFник, раздел AVR ATmega128 Memories | IO Memory, а так же можно поизучать m128def.inc)Milk wrote:Еще вопрос, столкнулся с такой проблемой, в АВРстудио неправильно понимаются порты E F G. при копиляции на команду DDRF DDRG DDRE пишет что error: Operand 1 out of range: 0x64 на команду типа
OUT DDRG,R16
бывает...Milk wrote:...когда в понипроге проверил установку фьюзов, они считались все установленные и после этого мега вооще перестала шится/читаться. может поник глюканул и установил чтото сам,

Подать внешнюю тактовую на XTAL1 и тем же понипрогом установить нужные фузы (стереть чип, ...)Milk wrote:...есть возможность сделать чип ресет на 128?
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда