mega128+vga

8-битные микроконтроллеры AVR (AT90, ATtiny, ATmega) от Atmel (в настоящий момент принадлежит Microchip)

Moderator: Shaos

Milk
Junior
Posts: 3
Joined: 04 Sep 2008 00:45
Location: 80.80.111.240

mega128+vga

Post by Milk »

Есть некоторые мысли по поводу сабжа, хочу разобраться более плотно с авр и с синхрами vga и rgb. на словах схема выглядит следующим образом:
имеем атмега, 128х8 sram и регистр 8битный 573.
порты меги А и С подкл к шине адреса памяти, порт D к данным.
регистр вешается на шину данных, выход регистра через R-2R к RGB 3-3-2.
идея работы следующая, т.к. чтение из внешней памяти занимает 3 такта (поправте если не так), и нужно еще инкрементировать адрес и вывести в порт, то это все в итоге много времени жрет. я же хочу попробовать во время вывода RGB устанавливать на озу адрес а все что оно будет выдавать, сразу выводить на монитор.
по моим подсчетам, при 256 точек на линию, 8бит цвета, достаточно 20мГц (точнее 20.314).
Возникают вопросы
если сигнал `ОЕ на sram держать низким, т.е. разрешение чтения, постоянно, при этом менять адрес, будет ли меняться значения на шине данных?
как без внешнего генератора сделать 60герц прерывания на меге, по таймеру? т.е. каждый раз заводить таймер на время?
вобщем если не трудно прошу некоторой помощи в объяснении если смысл в таком выводе видео.
если непонятна схема, попробую нарисовать в картинке =), потому как все пока в бумаге и голове.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

По поводу срамы скажу: да. Если ее активно включить на чтение, то ее данные будут меняться согласно изменению адреса и записанных данных с учетом задержки распространения сигнала в конкретном чипе (нормируется в датащите, обычно в разделе эпюр).
Milk
Junior
Posts: 3
Joined: 04 Sep 2008 00:45
Location: 80.80.111.240

Post by Milk »

спс, а-то я что-то очковал по этому поводу, уже продумывал как синхронизировать от кварца :)
Milk
Junior
Posts: 3
Joined: 04 Sep 2008 00:45
Location: 80.80.111.240

Post by Milk »

Еще вопрос, столкнулся с такой проблемой, в АВРстудио неправильно понимаются порты E F G. при копиляции на команду DDRF DDRG DDRE пишет что error: Operand 1 out of range: 0x64 на команду типа
OUT DDRG,R16
потом решил поморгать светодиодом на порт Д. он прост горит и никак не хочет моргать.
в итоге когда в понипроге проверил установку фьюзов, они считались все установленные и после этого мега вооще перестала шится/читаться. может поник глюканул и установил чтото сам,
есть возможность сделать чип ресет на 128?
DDp
Novelist
Posts: 46
Joined: 24 Aug 2006 02:14
Location: pуcвoceмьнадцaть

Post by DDp »

Milk wrote:Еще вопрос, столкнулся с такой проблемой, в АВРстудио неправильно понимаются порты E F G. при копиляции на команду DDRF DDRG DDRE пишет что error: Operand 1 out of range: 0x64 на команду типа
OUT DDRG,R16
Для портов с адресами >$40 использовать комманды ST/LD (PDFник, раздел AVR ATmega128 Memories | IO Memory, а так же можно поизучать m128def.inc)
Milk wrote:...когда в понипроге проверил установку фьюзов, они считались все установленные и после этого мега вооще перестала шится/читаться. может поник глюканул и установил чтото сам,
бывает... :wink:
Milk wrote:...есть возможность сделать чип ресет на 128?
Подать внешнюю тактовую на XTAL1 и тем же понипрогом установить нужные фузы (стереть чип, ...)
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Все гораздо проще: собираем паралельный прогер (схема есть на сайте атмела) и нормально шьем. Даже с убитым бутлодырем.