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

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

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

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

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

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

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

 
Опции темы

Помогите разобраться AT45DB161+ATmega8

Непрочитано 14.04.2010, 13:21  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
Восклицание Помогите разобраться AT45DB161+ATmega8

Привет, разбираюсь с микросхемой At45db161, купил ее в 8-ми выводном корпусе (других небыло), соответственно выводу Rdy/busy нет. В задаче №7 avr123-nm-ru опрашивали его командой
while(!(PINB & 0x02)); // wait until flash is not busy.
Мне нужно опросить его программно, только что написать вместо while(!(PINB & 0x02)).
Программу корректирую под Atmega8. Цель задачи записать данные из АЦП в At45db161.
Вот чтото сообразил:
SPDR = STATUS_REGISTER; // посилаем код 0x57
while (!(SPSR & temp)); // wait for data transfer to be completed
while(!(SPDR & 0x80)); // пероверяєм занятость Rdy/busy
(7-й бит в регистре статуса АТ45 должен стать 1)
Насколько я понял, ми посилаем код 0x57 в регистр статуса, и в ответ на SPDR приходить значение із регистра статуса. Но у мея чтото невишло. На ПК воводитса какойто набор символов.
Вложения:
Тип файла: rar AT45.rar (6.4 Кб, 89 просмотров)
Реклама:
sergx1300 вне форума  
Непрочитано 14.04.2010, 14:13  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

Регистр статуса датафлэш нужно опрашивать в цикле

Код:
//******************************************
        do
         {
//         DF_CS = low;

         SPDR = STATUS_REGISTER;
         while (!(SPSR & temp));             // отправляем команду

         SPDR = 0x00;
         while (!(SPSR & temp));             // забираем данные

//         DF_CS = high;
         }
        while(!(SPDR & 0x80));               // проверяем бит занятости
//******************************************

Последний раз редактировалось AJScorp; 14.04.2010 в 15:54. Причина: Забыл забрать данные с SPI
AJScorp вне форума  
Непрочитано 14.04.2010, 14:46  
pifa
Гражданин KAZUS.RUN
 
Регистрация: 26.12.2005
Сообщений: 620
Сказал спасибо: 25
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

Сообщение от sergx1300 Посмотреть сообщение
SPDR = STATUS_REGISTER; // посилаем код 0x57
while (!(SPSR & temp)); // wait for data transfer to be completed
while(!(SPDR & 0x80)); // пероверяєм занятость Rdy/busy
Внимательно изучите работу SPI интерфейса. После посылки команды Вы еще не получаете ответ. Для этого нужно послать еще один байт (холостой).
Попробуйте так:
Вложения:
Тип файла: rar test_AT45.rar (263 байт, 92 просмотров)
pifa вне форума  
Непрочитано 14.04.2010, 15:19  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

При опросе SPDR SPI интерфейс должен бути включен?
sergx1300 вне форума  
Непрочитано 14.04.2010, 15:40  
pifa
Гражданин KAZUS.RUN
 
Регистрация: 26.12.2005
Сообщений: 620
Сказал спасибо: 25
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

Без разницы.
pifa вне форума  
Сказали "Спасибо" pifa
AJScorp (14.04.2010)
Непрочитано 14.04.2010, 15:57  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

После посылки холостого байта тоже ничего невишло. Когда АТ45 физически приклеплена к МК прога виснет. Когда АТ45 физически винимаю МК проходит все епапи и виводит:
NextPg.яяяяяяяяяяяяяяяяяяяяя� �яяяяяяяяяяяя ...яяяяяяяяяяNextPg.
Может у меня чтото нетак настроено (SPI или виводи АТ45).
sergx1300 вне форума  
Непрочитано 14.04.2010, 15:59  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

Сообщение от pifa Посмотреть сообщение
Без разницы.
Как ото без разницы. Как ми будем читать SPDR. Или я чтото непонимаю
sergx1300 вне форума  
Непрочитано 14.04.2010, 16:05  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

pifa, Ваш код подвиснет, если Dataflash будет занята
Код:
unsigned char result;

//	CS_AT45_active

	SPDR = 0xD7;				//должно работать  и с 0x57
	while(!(SPSR & 0x80));			//wait for transfer complete
	
	SPDR = 0x00;				//холостой байт, чтоб получить ответ
	while(!(SPSR & 0x80));			//wait for transfer complete
	result=SPDR;

//	CS_AT45_inactive

while(!(result & 0x80));                        //!!!Вот тут!!!
ибо result меняться больше не будет
AJScorp вне форума  
Непрочитано 14.04.2010, 16:15  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

Сообщение от AJScorp Посмотреть сообщение
Регистр статуса датафлэш нужно опрашивать в цикле
Опрашивал в цикле, тоже ничего невишло.
Когда АТ45 физически приклеплена к МК виводит:
NextPg.VVЯ?_RЁЇяі{њшўц8е|Жe№їЋЫћ ~›ЮЮ^ІпеїтяНФuі_l?Mо-мтtRџю}Э›{мн

Когда АТ45 физически винимаю МК виводит:
NextPg.яяяяяяяяяяяяяяяяяяяяя� �яяяяяяяяяяяя ...яяяяяяяяяяNextPg.
sergx1300 вне форума  
Непрочитано 14.04.2010, 16:22  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите разобраться AT45DB161+ATmega8

Сообщение от AJScorp Посмотреть сообщение
while(!(result & 0x80)); //!!!Вот тут!!!
Понимаю что тут. Но как МК обходит ето без подключеной Dataflash
sergx1300 вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться WXXXW1 TTL и CMOS логика 13 12.01.2012 19:30
Помогите разобраться в схеме "мокрые пелёнки" koiah Электроника - это просто 85 14.05.2010 17:53
Блок питания 0....30В, помогите разобраться!! d.a.denisov Источники питания и свет 33 14.05.2010 09:23
Помогите разобраться с таймером begun Proteus 1 11.04.2010 19:07
Помогите разобраться с дисплеем Easyrider83 Микроконтроллеры, АЦП, память и т.д 10 28.01.2010 14:14


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.