Реалити-шоу «КБ13 и АЦП». День 5

Сегодня непроверенным остался только rs — из-за отсутствия нужных железок.

И АЦП и память заставили немного повозиться — при разогнанном проце их работа, так сказать, немного отличалась от эталонной.

При использовании простой функции оцифровки всех каналов АЦП, все каналы в буфере оказывались сдвинуты на несколько позиций. Т.е. первый канал — в третьей переменной, второй — в четвертой и т.д.

Изучение даташита на АЦП показало, что его минимальное время готовности составляет 3 мкс. То есть только через три микросекунды после подачи сигнала на ножку старт можно начинать считывать результаты оцифровки. Собственно, именно такая пауза и была до разгона, а после него — сократилась.
Добавили небольшую паузу перед началом забора значений в буфер — все встало на свои места.

Подключеные к звукогенератору каналы показали нормальные возрастающе-убывающие значения, без скачков, провалов или мусора. 50, 100, 400 Гц — все стабильно.

Собственно, на этом вопрос оцифровки можно пока закрыть — АЦП признано работающим.

Переходим к памяти.
Начали гонять простенькую тестовую программу:

	    LED_ON(RED);
	    for (i = 0, j = 0; i < sdram_size; i++)
	    {
	      sdram[i] = i;
	    }
	    LED_OFF(RED);

	    // Recover the test pattern from the SDRAM and verify it.
	    LED_ON(YELLOW);
	    for (i = 0, j = 0; i < sdram_size; i++)
	    {
	      tmp = sdram[i];
	      if (tmp != i)
	      {
	        noErrors++;
	      }
	    }
	    LED_OFF(YELLOW);

noErrors, которая должна быть равна нулю, показывает кучу ошибок...

Посмотрели, как память инициализируется, и точно:

sdramc_init(APPLI_CPU_SPEED);

Частота ей задается старая - 24 МГц, именно столько задефайнено в APPLI_CPU_SPEED.

Как только удвоили частоту памяти, сделав ее равной текущей частоте проца - все встало на место, ошибки исчезли.

Флэш как работала, так и работает.
Осталось разобраться с rs, но тут ничего не сделаешь.
Завтра переходим к самой прошивке.

Похожий бред:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Protected by WP Anti Spam