Пользовал ADS1243 (это почти тоже самое). Долго пытался завести, пока не выкинул конденсаторы, которые у кварца стоят (на 20пФ) и все заработало. (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 220V 17 сентября 2003 г. 08:26
В ответ на: Помогите утопающим (ADS1241 + ATmega128) !!! 2 недели уже танцуем... чита\ются с АЦП только нули и сигнал DRDY не дёргается... Лио всегда в 0 висит, либо в 1. Две платы, собрано аккуратно, SPI два варианта пробовали: встроенный ATmega и программно (запрещаем прерывания)... Ну что ещё ему надо ???? отправлено AU 16 сентября 2003 г. 17:45

А программа на асме была такая:

;Инициализация ADS1243 (при RESET микроконтроллера)
;Сброс микросхемы
ldi r16,$FE
rcall SPI_MasterTransmit
rcall DELAY ;Задержка (без нее не работает)

;Инициализация ADS1243
ldi r16,0b01010000 ;Команда "Записать с нулевого адреса...
rcall SPI_MasterTransmit
ldi r16,0b00000010 ;...три регистра следующими значениями...
rcall SPI_MasterTransmit
ldi r16,0b00000111 ;...первый регистр SETUP....
rcall SPI_MasterTransmit
ldi r16,0b00000001 ;...второй регистр MUX.....
rcall SPI_MasterTransmit
ldi r16,0b00010100 ;...третий регистр ACR
rcall SPI_MasterTransmit
;Запуск непрерывного преобразования
ldi r16,$03
rcall SPI_MasterTransmit
rjmp ENDRESET


;********************************************************
;Чтение данных их ADS1243 (обработка перрывания по сигналу готовности АЦП)

;Читаем старший байт
ldi r16,$00
rcall SPI_MasterTransmit
mov r30,r16
;Читаем средний байт
ldi r16,$00
rcall SPI_MasterTransmit
mov r29,r16
;Читаем младший байт
ldi r16,$00
rcall SPI_MasterTransmit
mov r28,r16

;**************************************************
;Подпрограмма задержки
DELAY: ldi r16,$A0
DELAY2: dec r16
brne DELAY2
ret
;******************************************************
;Подпрограмма передачи/приема байта данных по SPI
;В регистр R16 нужно поместить передаваемый байт.
;По окончанию в R16 будет находится принятый байт
SPI_MasterTransmit:
out SPDR,r16
Wait_Transmit: ;Ждем окончания передачи
sbis SPSR,SPIF
rjmp Wait_Transmit
;Читаем принятый байт
in r16,SPDR
ret
;*****************************************************************

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru