Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 24.05.2011, 22:02  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 594
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию SPI ATMEGA8535 не запускается

Не пойму в чем дело. Второй день не могу запустить SPI. Связываюсь с АЦП AD7706. Но она не отвечала. Начал смотреть SPI. С ATMega128 проблем не было. И здесь, вроде, тоже самое. Но молчит SPI и все
Посмотрел осциллографом. Все три сигнала (MOSI, MISO, SCK) - высокие уровни. Программу зациклил, но никаких импульсов не видно. Программирование через SPI проходит нормально. Кто смотрел SPI осциллографом? Может там импульсы очень короткие и я их не вижу. У меня С1-73.
Ситуация такая, что вроде нет инициализации SPI. Но уже N раз все просмотрел. Что я упустил? Может кто со стороны увидит, а то я уже сам зациклился. Понимаю, что ерунда какая-то, а найти не могу.

В архиве вырезка из программы (IAR)

P.S.
Замена чипа ничего не дала.
Вложения:
Тип файла: rar cycle_prog.RAR (1.2 Кб, 57 просмотров)
Реклама:

Последний раз редактировалось pifa; 24.05.2011 в 22:06. Причина: добавил
pifa вне форума  
Непрочитано 24.05.2011, 22:37  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

На ногу SS установите низкий уровень, даже если она выход
niXto вне форума  
Непрочитано 24.05.2011, 23:09  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 594
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

Там низкий уровень.

Вот сейчас еще раз пробовал прочитать AD7706. Она, вроде, реагирует, но все р-ры отвечают FF (DATA, GAIN, OFFSET).
Дело в том, что напрямую проверить АЦП нет возможности. На плате не предусмотрен UART. Приходится смотреть "с извращениями". По I2C цепляю другую плату с ATMega128, LCD, клавиатурой и UART, который связан с ПК. А так как I2C на 8535 (Slave) работает по прерыванию, то я всегда получал в ответ затребованых 8 байт, не смотря на то работает АЦП или нет. А так как осциллографом ничего не видно, то грешил на SPI. Сейчас переписал тест так, чтобы после опроса р-ров АЦП выводилось дополнительное значение (0x70). Это указывает на то, что программа не "зависла" и SPI и АЦП что-то передали.
НО импульсов никаких я не вижу. Может так и должно быть?

Тогда вопрос уже по AD7706. Почему получаю FF?

И вопрос к модераторам. Можно ли как-то изменить название топика? Например, "SPI ATMega8535 и AD7706".
Миниатюры:
Нажмите на изображение для увеличения
Название: UART.gif
Просмотров: 72
Размер:	25.0 Кб
ID:	21992  

Последний раз редактировалось pifa; 24.05.2011 в 23:23.
pifa вне форума  
Непрочитано 24.05.2011, 23:37  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 594
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

Сообщение от niXto Посмотреть сообщение
На ногу SS установите низкий уровень, даже если она выход
А почему именно низкий? В datasheet указано следующее:

"When the SPI is configured as a Master (MSTR in SPCR is set), the user can determine
the direction of the SS pin.
If SS is configured as an output, the pin is a general output pin which does not affect the SPI system."

Т.е. достаточно установить его на выход, а его значение не влияет на SPI. Или я ошибаюсь?

Последний раз редактировалось pifa; 24.05.2011 в 23:40.
pifa вне форума  
Непрочитано 24.05.2011, 23:42  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

Сообщение от niXto Посмотреть сообщение
На ногу SS установите низкий уровень, даже если она выход
SS - Slave Select. Нужен 0 если SPI микроконтроллера работает слэйвом. В режиме мастера он обыный пин
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 25.05.2011, 07:25  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

Сообщение от pifa Посмотреть сообщение
Т.е. достаточно установить его на выход, а его значение не влияет на SPI. Или я ошибаюсь?
У S8535 и первых мег был глюк - инициализировать СПИ и начинать передачу надо было при нуле, иначе чип автоматом переворачивался в Слэйв. Независимо от направления SS

У старых 48/88 тоже иногда на это натыкаюсь
niXto вне форума  
Непрочитано 25.05.2011, 18:11  
avtoneru
Прописка
 
Регистрация: 17.10.2010
Сообщений: 113
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 12 сообщении(ях)
avtoneru на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

Ну вроде как то так:
в errdata на rev E AT90S/LS8535http://www.atmel.com/dyn/resources/prod_documents/DOC1657.PDF
про SPI только следующее
Цитата:
The SPI Can Send Wrong Byte
If the SPI is in Master mode, it will restart the old transfer if new data is written on the same clock edge as the previous
transfer is finished.
Problem Fix/Workaround
When writing to the SPI, first wait until it is ready, then write the byte to transmit.
устал и адекватно перевести сейчас не могу ... чтот типа что если не вовремя ...

в rev D то же самое.
avtoneru вне форума  
Непрочитано 25.05.2011, 18:22  
avtoneru
Прописка
 
Регистрация: 17.10.2010
Сообщений: 113
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 12 сообщении(ях)
avtoneru на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

переводчиком:
Цитата:
SPI Может Отправить Неправильный Байт
Если SPI будет в Основном режиме, то он перезапустит старую передачу, если новые данные будут записаны на том же самом фронте синхроимпульса как предыдущее
передача заканчивается.
Проблема Фиксирует/Обходной решение
При записи в SPI, сначала ожидайте, пока это не готово, затем запишите байт, чтобы передать.
avtoneru вне форума  
Непрочитано 25.05.2011, 18:36  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 594
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

У меня каждая передача анализируется на завершение:

SPDR = byte;

while(!(SPSR & 0x80));

К тому же процессор ATMega8535, а не 90S
pifa вне форума  
Непрочитано 25.05.2011, 18:56  
avtoneru
Прописка
 
Регистрация: 17.10.2010
Сообщений: 113
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 12 сообщении(ях)
avtoneru на пути к лучшему
По умолчанию Re: SPI ATMEGA8535 не запускается

Сообщение от pifa Посмотреть сообщение
К тому же процессор ATMega8535, а не 90S
прошу прощения, проморгал

в даташите от 06.2010 на ATmega8535 действительно ошибок по SPI не написано ...

хотя как мне думается - устройство контроллера - статическая логика, следовательно по-любому осцилографом импульсы можно было увидеть ...
правда у меня осцил цифровой и на ждущем режиме - пишет ...
а вот обычным лучевым, если процесс кратковременный, - можно и не словить даже на ждущем режиме, ИМХО ...

а что мешает вывести три проводочка плюс пара транзисторов ( преобразователь USART - RS232) и проверить работу не косвенно, а воочию, через терминал например?
ножки USART задействованы?

у меня коробочка с 3 проводами (к USART цеплять) и разъемом для ком порта вседа под рукой ... иногда помогало.
avtoneru вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с SPI mcp3550 :? dnpdz Proteus 5 30.05.2011 23:44
Организация SPI в PIC 32 forker Микроконтроллеры, АЦП, память и т.д 3 16.09.2010 18:47
Помогите с ЦАП AD7708/AD7718 или их аналогами ST_Senya Микроконтроллеры, АЦП, память и т.д 9 30.11.2009 19:03
Обмен по SPI - из 8 байтов берет только первый code-by Микроконтроллеры, АЦП, память и т.д 9 18.11.2008 02:41
Не удаётся запустить SPI на At90S8515 Coder Микроконтроллеры, АЦП, память и т.д 3 30.03.2005 14:17


Часовой пояс GMT +4, время: 18:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot