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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Питание памяти AT45db161-SU, питание 2.7 или как ?
kostian296
сообщение Oct 25 2008, 10:17
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 20-10-08
Пользователь №: 41 074



Какое питание необходимо подать на память ?
В даташите написано, что поддерживате 2.7-3.6В, но потом написано что AT45DB161 - это 2.7В память ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2008, 10:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Её вполне устроит 3.3V.

Про 2.7V написано для рекламы: приколитесь, какая понтовая у нас получилась память - она работает от 2.7V!
Go to the top of the page
 
+Quote Post
kostian296
сообщение Oct 25 2008, 10:57
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 20-10-08
Пользователь №: 41 074



Цитата(aaarrr @ Oct 25 2008, 13:50) *
Её вполне устроит 3.3V.

Про 2.7V написано для рекламы: приколитесь, какая понтовая у нас получилась память - она работает от 2.7V!


SPCR = (1 << SPE)|(1 <<MSTR)|(1 << CPOL)|(1 << CPHA);
SPSR = (1 << SPI2X); // 2x rate

// initialize PORTB for SPI
DDRB |= (1 << SPI_MOSI)|(1 << SPI_SCK)|(1 << SPI_SS);
DDRB &= ~(1 << SPI_MISO);

void SPI_Write_Byte(unsigned char cool.gif
{
SPDR = b;
while (!(SPSR & (1<<SPIF))); // wait for data transfer to be completed
}

unsigned char SPI_Read_Byte(void)
{
SPDR = 0x00;
while (!(SPSR & (1<<SPIF))); // wait for data transfer to be completed
return SPDR;
}

unsigned char at45ReadVID(void)
{
unsigned char ID;
CS_ON; //óñòàíîâèì CS äëÿ DataFlash
SPI_Write_Byte(0x9f); //ïåðåäàåì íîìåð êîìàíäû
ID=SPI_Read_Byte(); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
CS_OFF;; //ñáðîñèì CS äëÿ DataFlash

return(ID);
}

Какие бы скорости не выставлял все время возврщает ID=0 ?
Прикрепленные файлы
Прикрепленный файл  Flash_USB.sch ( 96 килобайт ) Кол-во скачиваний: 29
 
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2008, 11:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Схему лучше выложить в PDF.
Go to the top of the page
 
+Quote Post
kostian296
сообщение Oct 25 2008, 11:11
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 20-10-08
Пользователь №: 41 074



Цитата(aaarrr @ Oct 25 2008, 14:03) *
Схему лучше выложить в PDF.

Прикрепленные файлы
Прикрепленный файл  sch.doc ( 78 килобайт ) Кол-во скачиваний: 65
 
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2008, 11:28
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



AT45 на ней обнаружить не удалось sad.gif Программатор-то отключен во время проверки?
Go to the top of the page
 
+Quote Post
kostian296
сообщение Oct 25 2008, 11:59
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 20-10-08
Пользователь №: 41 074



Цитата(aaarrr @ Oct 25 2008, 14:28) *
AT45 на ней обнаружить не удалось sad.gif Программатор-то отключен во время проверки?


прошу прощения smile.gif . вот тут точно есть. конечно отключаю.
Прикрепленные файлы
Прикрепленный файл  sch2.doc ( 55.5 килобайт ) Кол-во скачиваний: 56
 
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2008, 12:27
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Попробуйте в цикле почитать статусный регистр (0xD7) и посмотреть осциллографом, что происходит на выводах AT45.
Go to the top of the page
 
+Quote Post
Baser
сообщение Oct 25 2008, 12:38
Сообщение #9


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



1) Не забыли предварительно снять RESET2 с флешки?

2) Не ошиблись с полярностью CS (CS_ON; CS_OFF;) ?

3) Процессор у вас имеет право не работать: 11.059мгц @ 3.3V - это превышение мах. параметров.
Попробуйте снизить частоту кварца раза в два для пробы.


з.ы. зачем было два топика на одну тему рядом открывать? sad.gif
Go to the top of the page
 
+Quote Post
kostian296
сообщение Oct 25 2008, 14:07
Сообщение #10


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 20-10-08
Пользователь №: 41 074



Цитата(Baser @ Oct 25 2008, 15:38) *
1) Не забыли предварительно снять RESET2 с флешки?

2) Не ошиблись с полярностью CS (CS_ON; CS_OFF;) ?

3) Процессор у вас имеет право не работать: 11.059мгц @ 3.3V - это превышение мах. параметров.
Попробуйте снизить частоту кварца раза в два для пробы.
з.ы. зачем было два топика на одну тему рядом открывать? sad.gif


да все снято. все сигналы првильные. попробовал отправить 0xD7 - все равно 0 шлет в ответ. взял подвесил 10к на выход данных памяти, теперь на команду 0x9f и 0xd7 - в ответ всегда 0xff ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2008, 14:25
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Если все сигналы правильные, то не отвечать она не может. Вы осциллографом смотрели?
Go to the top of the page
 
+Quote Post
kostian296
сообщение Oct 25 2008, 14:30
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 20-10-08
Пользователь №: 41 074



Цитата(aaarrr @ Oct 25 2008, 17:25) *
Если все сигналы правильные, то не отвечать она не может. Вы осциллографом смотрели?


пока нет возможности. он не понятно что может быть не так ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2008, 14:40
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Да что угодно.

Попробуйте сделать так:
Код
unsigned char SPI_Read_Byte(void)
{
    SPDR = 0x55;
    while (!(SPSR & (1<<SPIF))); // wait for data transfer to be completed
    return SPDR;
}


Затем оторвите SO AT45 и:
1. Замкните MISO-MOSI со стороны AT45, убедитесь, что получаете 0x55.
2. Замкните MISO-CS, убедитесь, что получаете 0.
3. Замкните MISO-RESET2, убедитесь, что получаете 0xFF.
Go to the top of the page
 
+Quote Post
kostian296
сообщение Oct 25 2008, 14:58
Сообщение #14


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 20-10-08
Пользователь №: 41 074



Цитата(aaarrr @ Oct 25 2008, 17:40) *
Да что угодно.

Попробуйте сделать так:
Код
unsigned char SPI_Read_Byte(void)
{
    SPDR = 0x55;
    while (!(SPSR & (1<<SPIF))); // wait for data transfer to be completed
    return SPDR;
}


Затем оторвите SO AT45 и:
1. Замкните MISO-MOSI со стороны AT45, убедитесь, что получаете 0x55.
2. Замкните MISO-CS, убедитесь, что получаете 0.
3. Замкните MISO-RESET2, убедитесь, что получаете 0xFF.


0x55 - что за команда ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2008, 15:01
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Это не команда, а затычка для проверки железа.
Go to the top of the page
 
+Quote Post

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

 


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


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