реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> связь AD7391 c Atmega8
ViDo
сообщение Sep 20 2005, 10:43
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 3-02-05
Пользователь №: 2 397



Добрый день, господа. Может у кого-нибудь есть опыт связи Меги8 с ЦАП-ом AD7391. Этот ЦАП по SPI-совместимому интерфейсу подключается, но как я непробовал конфигурить SPI интерфейс и на отдельно на asm-е эмулировал SPI - упорно никакого сигнала на выходе нет. Пишу в CodeVision, ногу REF к питанию 5В цепляю.
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 20 2005, 12:39
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Опиши проблемму подробнее. Что именно не работает? SPI может не работать если fuse выставлены с запрещением SPI, хотя вряд ли, если ты программируешь через ISP.
Go to the top of the page
 
+Quote Post
BVU
сообщение Sep 20 2005, 12:45
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(ViDo @ Sep 20 2005, 14:43)
Добрый день, господа. Может у кого-нибудь есть опыт связи Меги8 с ЦАП-ом AD7391. Этот ЦАП по SPI-совместимому интерфейсу подключается, но как я непробовал конфигурить SPI интерфейс и на отдельно на asm-е эмулировал SPI - упорно никакого сигнала на выходе нет. Пишу в CodeVision, ногу REF к питанию 5В цепляю.
*


Протокол то хоть правильно реализован (SPI)? Если писали сами, могли сделать ошибку. Возьмите лучше - готовый (рабочий).


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
ViDo
сообщение Sep 21 2005, 07:33
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 3-02-05
Пользователь №: 2 397



Я брал готовый из CodeVision, но по-моему в протоколе SPI сигнал SS активный низким уровнем а для записи данных в этот ЦАП на ногу LD нужно подавать высокий.
Может у кого-нибудь найдется исходник на рабочий SPI?
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 21 2005, 09:04
Сообщение #5


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(ViDo @ Sep 21 2005, 10:33)
Я брал готовый из CodeVision, но по-моему в протоколе SPI сигнал SS активный низким уровнем а для записи данных в этот ЦАП на ногу LD нужно подавать высокий.
Может у кого-нибудь найдется исходник на рабочий SPI?
*


когда SPI в режиме мастер и SS настроен на выход, модуль SPI не использует эту ногу, ей нужно дергать самому.
запись в цап обычно по восходящему фронту
во все цапы которые попадались мне я обычно пишу так

Код
WaitSpi MACRO
       LOCAL _wsploop
_wsploop:  sbis SPSR, SPIF
          rjmp _wsploop
  ENDM        

out SPCR, xxxxx //нужная конфигурация SPI
cbi LD_PORT, LD_PIN //LD вниз

out SPDR, rXXX //обычно старший байт и номер канала
WaitSpi
out SPDR, rXXX //младший байт
WaitSpi

sbi LD_PORT, LD_PIN //LD вверх
Go to the top of the page
 
+Quote Post
ViDo
сообщение Sep 22 2005, 06:48
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 3-02-05
Пользователь №: 2 397



Здравствуйте, господа.
Да, ногой SS действительно нужно дергать самому. Только для AD7391 сначала на LD нужно высокий подать, а после окончания передачи данных - низкий. Все заработало, спасибо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 12:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016