Цитата(ILYAUL @ Jul 9 2012, 07:53)

Из тогоже графика видим , что данные появляются на шине по спаду CLK поэтому по фронту следующего импульса мы уже можем их забрать , о чём ксати сообщает нам и Table 3.
Ну не знаю что там видно в графике. Если смотреть на него, то данные на линии сразу после спада CS, при высоком клоке. И именяются на высоком клоке. И вообще до сигнала CS полярность клока не нормируется. Значит он либо ждёт первого подъёма, либо реагирует на изначальную единицу в линии клока. В общем, странный график...
Впрочем, вы оказались правы, ваш вариант всех битов в 1 работает устойчивей всего.
Цитата(DpInRock @ Jul 9 2012, 10:59)

Всякая теория должна уметь предсказывать.
Ну, я это ещё пару сообщений сверху предсказал. И частота клока тут не при чём - если есть дребезг, он проявится одинаково на любой частоте.
Что касается пинцета, то данный тест не гарантирует 100% результата, а значит "не научен!" (с). В одних условиях сработает, в других прокатит. Я это ещё лет 8 назад осознал, когда SD флешки к атмеге подключал. Не вижу в нём никакого практического смысла.
Вот кофе с сахаром куда более близко к реальности. Только прототипчик жалко

Меня сейчас вот что волнует...
Куда делся целый бит?
Имеем AD7609. Питание 5 вольтов. На REF напряжение идёт через делитель на резисторах 1к (пока китайские полосатики, в конечном девайсе будут прецизионные). Такое включение в связи с ратиометрическими датчиками.
Датчик имитирует потенциометр, включённый между питанием (5 вольт) и землёй. Соответственно на входе имеем 0-5 вольт. Вход V8- АЦП соединён с общей землёй, на V8+ подаётся напряжение с потенциометра.
Входной диапазон АЦП включён +-5 вольт.
Снимаю график:

Максимальный код 00FDD6 (64982). То есть 16 бит.
Ну ладно один бит я теряю за счёт двуполярности. Но куда делся второй?
Она, конечно, посностью дифференциальная, но должна же от заданной земли работать? Или таки от внутреннего смещения?
ПС. Для будущих поколений настройка USART AVR (ATmega640, 16 MHz) для этой МС:
Код
// инициализация порта для АЦП
UBRR1 = 0;
// Установка XCKn, Tx и CS как выходов
PORTD |= (1<<CS);
DDRD |= (1<<XCKn)|(1<<Tx)|(1<<CS);
// Set MSPI mode of operation and SPI mode.
UCSR1C = (1 << UMSEL11)|(1 << UMSEL10)|(1 << UCPHA1)|(1 << UCPOL1); // биты 7,6,1,0.
// Enable receiver and transmitter.
UCSR1B = (1<<RXEN1)|(1<<TXEN1);
UCSR1A = 0x00;
// Устанавливаем скорость.
// Важно. Скорость надо устанавливать ПОСЛЕ включение приёмника и(или) передатчика.
UBRR1H = 0;
UBRR1L = 68; // 115200 (16000000/(2*115200)-1) = 68,44444444444
Сообщение отредактировал Dikoy - Jul 11 2012, 04:00