#int_timer1
void Refresh ( )
{
unsigned int16 i;
// to output, CAS must be high, then each row is output followed
// by an RAS cycle
output_high(RAS);
output_high(CAS);
for(i=0;i<0x100;i++)
{
addressByte(i);
output_low(RAS);
output_high(RAS);
}
// set the timer up so that it will role over in 4ms
set_timer1(0xC800);
}
Выглядит так:
Вопрос - это хоть похоже на правду? Пробовал РУ5 и 4164 - пишу в ячейки 0xAA, читаю постоянно со всех адресов 0x00...
Если не отшибло память, то регенерация тактированием начала применяться с 41256 (РУ7). От 4116 до 4164 нужно выставлять адрес на адресные линии. На этом, кстати, некоторые программы для z80 делали защиту, переписывая значения регистра R, тем самым не давли регенерироваться некоторым пулам адресов.
P.S. Еще по памяти 41256 и РУ7 могут работать в пакетном режиме, тактированием по 4 бита с автоинкрементом адреса (EDO?).
for(i=0;i<0x100;i++)
{
addressByte(i); // здесь на ноги A0..A7 выставляется адрес (i)
output_low(RAS); // защелкивается
output_high(RAS); // поехали дальше
}
В итоге что-то вроде того получается при приближении:
На A0..A7 - адрес (от 0 до 255), потом опускаем RAS, потом поднимаем. И так до 255.
Посмотрел, ремонт дома - это капец, вроде бы всё правильно написано. Однако, проверь: после установки /RAS=0 нужна задержка, порой в 200нс, а то и того больше, до /RAS=1, после чего задержка минимум 120нс.
for(i=0;i<0x100;i++)
{
addressByte(i); // здесь на ноги A0..A7 выставляется адрес (i)
output_low(RAS); // защелкивается
delay(200); //200ns
output_high(RAS); // поехали дальше
delay(120); //120ns
}
Вот почему я недолюбливаю Си для управления чем либо - хрен пойми сколько тактов займёт та или иная операция, надо сначала компилировать, потом смотреть что вышло на асме, и только потом пересчитывать во времянки.
jdigreze wrote:В чём проблема то была, разобрался?
Угу, проблема была в том, что я к панельке питалово перевернутое припаял - плюс на минус а минус на плюс Я еще все думал - чето оно сильно греется как-то...
Что удивительно, РУ5, 4164 и 41256 вполне нормально пережили продолжительный перевертыш питания. Хорошие микросхемы, тест прошли по полной программе