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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> AVR + DataFlash
DeXteR
сообщение Jan 10 2006, 16:30
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Добрый день уважаемые специалисты smile.gif

Кто нибудь пробывал подключать к AVR DataFlash
Необходимо сделать примерно то что описано в avr335 толька с управлением по I2C

Перекомпилил все под Мегу 8 (поменял ножки)
Собрал схему на макетнице
DataFlash AT45DB081B питаю 3.3 вольтами Атмегу 8 - Пятью

В датащите на AT45DB081B сказано что с 5 вольтовыми сигналами нет проблемм

Тем немение DataFlash ничего не отвечает
несмотря на то что осцилографом видно как Атмега посылает данные.
Сигнала BUSY тоже нету. На выходе ДатаФлеща - 0.

Может спалил
Незнаю

Подскажите пожалуста если кто имеет какието мысли по этому поводу
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jan 10 2006, 16:54
Сообщение #2


Иногдящий
****

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



Работал с DataFlash + ATmega64, пользуясь аппаратным SPI. Питание контроллера - 5В, флэшки - 3,3В. Никаких проблем не возникло.
Проверьте:
1. Сконфигурированы ли у Вас соответствующие порты контроллера (MISO на вход, MOSI, ~SS и SCK на выход)
2. Включен ли SPI
3. Правильно ли выставлен режим SPI (должен быть 0 или 3)
4. Перед началом каждой команды, посылаемой в DataFlash, необходимо деактивировать и вновь активировать ChipEnable. Текущая команда выполняется флэшкой именно до деактивации chipenable, а не просто до получения новой команды (я на этом поначалу обжегся).

Кстати, сигнал BUSY, как и соответствующий флаг в регистре статуса, выставляется только на время выполнения нескольких команд (запись буфера в память, чтение памяти в буфер, сравнение памяти и буфера) и не означает, что флэшку вообще нельзя беспокоить. Скажем, получать у нее статус можно в любое время. Читать и писать буфер - тоже. Об этом довольно подробно написано в даташите на флэшку и в аппликейшне AN-4 Using Atmel's DataFlash.
Go to the top of the page
 
+Quote Post
solidreg
сообщение Jan 10 2006, 17:40
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 24-10-05
Пользователь №: 10 056



Работал с AT45DB021B, аппаратный SPI, но только всё 3.3В. Ни наких проблем, всё работает.
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 10 2006, 17:53
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(AndyBig @ Jan 10 2006, 19:54) *
Работал с DataFlash + ATmega64, пользуясь аппаратным SPI. Питание контроллера - 5В, флэшки - 3,3В. Никаких проблем не возникло.
Проверьте:
1. Сконфигурированы ли у Вас соответствующие порты контроллера (MISO на вход, MOSI, ~SS и SCK на выход)
2. Включен ли SPI
3. Правильно ли выставлен режим SPI (должен быть 0 или 3)
4. Перед началом каждой команды, посылаемой в DataFlash, необходимо деактивировать и вновь активировать ChipEnable. Текущая команда выполняется флэшкой именно до деактивации chipenable, а не просто до получения новой команды (я на этом поначалу обжегся).

Кстати, сигнал BUSY, как и соответствующий флаг в регистре статуса, выставляется только на время выполнения нескольких команд (запись буфера в память, чтение памяти в буфер, сравнение памяти и буфера) и не означает, что флэшку вообще нельзя беспокоить. Скажем, получать у нее статус можно в любое время. Читать и писать буфер - тоже. Об этом довольно подробно написано в даташите на флэшку и в аппликейшне AN-4 Using Atmel's DataFlash.



1. Порты сконфигурированы как нада.
2. СПиАй включен
Обмен по нему видел осцилграфом
Но память ничего не отвечала
3. Насчет режима - содрал с АВР335 точно не проверял - надеюсь ошибка не там - проверю.
4. Насчет ChipEnable такого не видел осцилографом и в коде похоже нету.
Надеюсь что проблемма в этом

Завтра приду на работу - все проверю.

Вопрос: на какой интервал времени достаточно запретить а потом разрешить Флешку ??


Ещораз спасибо



Хотел сделать акцент
Использовал ли кто либо при работе
AVR335: Digital Sound Recorder with AVR and DataFlash
или все сами писали процедуры обмена с ДатаФлешкой ???
Я слышал что а Апноутах часто бывают ошибки
Хотя скорее вего ошибаюсь я

Спасибо
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jan 10 2006, 21:16
Сообщение #5


Иногдящий
****

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



Цитата
и в коде похоже нету


Ну как же... Я сам там видел smile.gif. Я тоже ковырял этот аппноут и именно там заметил деактивацию чипселекта.

Например:
Код
void write_to_flash(unsigned char flash_data)
{
    static unsigned int buffer_counter;
    static unsigned int page_counter;
    unsigned char temp = 0x80;
    
    if((ACSR & 0x02))                       // if flag is set that new data has to be written
    {
        buffer_counter = 0;
        page_counter = 0;                   // reset the counter if new data has to be written
        ACSR &= 0xFD;                       // clear the signal flag
    }

    while(!(PINB & 0x02));                  // check if flash is busy

    PORTB &= ~DF_CHIP_SELECT;               // enable DataFlash
    
    SPDR = BUFFER_1_WRITE;
    while (!(SPSR & temp));                 // wait for data transfer to be completed
    SPDR = 0x00;                            // don't cares
    while (!(SPSR & temp));                 // wait for data transfer to be completed
    SPDR = (char)(buffer_counter>>8);       // don't cares plus first two bits of buffer address
    while (!(SPSR & temp));                 // wait for data transfer to be completed        
    SPDR = (char)buffer_counter;            // buffer address (max. 2^8 = 256 pages)
    while (!(SPSR & temp));                 // wait for data transfer to be completed    
    SPDR = flash_data;                      // write data into SPI Data Register
    while (!(SPSR & temp));                 // wait for data transfer to be completed
    
    PORTB |= DF_CHIP_SELECT;                // disable DataFlash
    
    buffer_counter++;
        
    if (buffer_counter > 528)               // if buffer full write buffer into memory page
    {
        buffer_counter = 0;
        if (page_counter < 4096)            // if memory is not full  
        {
            PORTB &= ~DF_CHIP_SELECT;       // enable DataFlash
        
            SPDR = B1_TO_MM_PAGE_PROG_WITHOUT_ERASE; // write data from buffer1 to page
            while (!(SPSR & temp));         // wait for data transfer to be completed
            SPDR = (char)(page_counter>>6);
            while (!(SPSR & temp));         // wait for data transfer to be completed
            SPDR = (char)(page_counter<<2);
            while (!(SPSR & temp));         // wait for data transfer to be completed
            SPDR = 0x00;                    // don't cares
            while (!(SPSR & temp));         // wait for data transfer to be completed                      
        
            PORTB |= DF_CHIP_SELECT;        // disable DataFlash
        
            page_counter++;
        }
        else
        {
            PORTB |= 0x08;                  // turn LED off
            while (!(PIND & 2));            // wait until button for recording (button 1) is released
        }
    }
}


Цитата
Вопрос: на какой интервал времени достаточно запретить а потом разрешить Флешку ??

Учитывая, что флэшка работает на частоте до 20 МГц, никаких пауз между деактивацией и активацией делать не надо. Лишь бы компилятор не "оптимизировал" код, который в результате оставляет содержимое регистра в прежнем виде smile.gif).

На всякий случай прилагаю код, который у меня на атмеге64 работает прекрасно. Просьба ногами не бить, изяществом код не блещет smile.gif))).
Прикрепленные файлы
Прикрепленный файл  at45spi.rar ( 1.4 килобайт ) Кол-во скачиваний: 167
 
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jan 11 2006, 07:58
Сообщение #6


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



BTW, господа никто не сталкивался с интересным эффектом -
когда пишешь или читаешь большой массив
на границе страниц возникают сбои?
Лечилось задержкой между подачей команд.
В фирменной доке по этому поводу молчание.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jan 11 2006, 10:37
Сообщение #7


Иногдящий
****

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



Я не читал больше 30 КБ за раз и при этих объемах никаких сбоев не замечал.
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 11 2006, 19:18
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Добрый день

Огромное спасибо всем

У меня заработало !!!!

Дело было именно в ноге CS Незная оставил микросхему постоянно выбраной.

Хотел задать ещо пару попроссов

1. Дело в том что Атмега питаеться от 5 В а датафлеш от 3.3
Небудит ли проблемм с уровнем в канале данных от датафлешки к Атмеги Нужен ли там приобразователь уровня ?? Если да - какой посоветуете.

2. Счас Датафлешка питаеться от LM317
Гдето видел схему подачи питания через 3-4 кремниевых диода.
Насколько это приемлимо ???

Ещораз спасибо за участие !
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jan 11 2006, 19:38
Сообщение #9


Иногдящий
****

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



1. Проблем не будет, ничего не нужно.
2. А зачем через диоды? Чем не устраивает стабилизатор?
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 11 2006, 22:16
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(AndyBig @ Jan 11 2006, 22:38) *
1. Проблем не будет, ничего не нужно.
2. А зачем через диоды? Чем не устраивает стабилизатор?


Да здоровый очень
А Маленькую версию в Одессе заказывать нада и ждать долго =(
Да и по деньгам нада быть оптимальным ....

Хотя думаю обойдусь стабилизатором в ТО220 =)
Go to the top of the page
 
+Quote Post
*SERG
сообщение Jan 12 2006, 04:46
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 274
Регистрация: 10-08-05
Из: Екатеринбург
Пользователь №: 7 517



Цитата(DeXteR @ Jan 11 2006, 22:18) *
Дело было именно в ноге CS Незная оставил микросхему постоянно выбраной.


А почему так нельзя??? Как надо, подскажите плиз mellow.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 12 2006, 06:22
Сообщение #12


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата(*SERG @ Jan 12 2006, 06:46) *
Цитата(DeXteR @ Jan 11 2006, 22:18) *


Дело было именно в ноге CS Незная оставил микросхему постоянно выбраной.


А почему так нельзя??? Как надо, подскажите плиз mellow.gif


Потому что переход CS 0->1 есть признак окончания комманды и старт ее выполнения. А переход 1->0 соответственно начало комманды.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jan 12 2006, 07:46
Сообщение #13


Иногдящий
****

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



Цитата
Да здоровый очень

Ну, если дешево и сердито, то можно использовать схему типового линейного стабилизатора - стабилитрон+резистор+транзистор, но все же лучше использовать интегральный стабилизатор.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 12 2006, 08:27
Сообщение #14


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(DeXteR @ Jan 11 2006, 21:18) *
1. Дело в том что Атмега питаеться от 5 В а датафлеш от 3.3
Небудит ли проблемм с уровнем в канале данных от датафлешки к Атмеги Нужен ли там приобразователь уровня ?? Если да - какой посоветуете.

Преобразователь уровня желателен именно в случае применения AVR, т. к. у последнего CMOS уровни, в отличие от многих 51-х, у которых TTL уровни.
Цитата(DeXteR @ Jan 11 2006, 21:18) *
2. Счас Датафлешка питаеться от LM317
Гдето видел схему подачи питания через 3-4 кремниевых диода.
Насколько это приемлимо ???

Приемлемо, применял.

Присоединённые файлы разные по содержимому, а не просто перевод!
Прикрепленные файлы
Прикрепленный файл  3V_DataFlash_to_5V_rus.pdf ( 497.39 килобайт ) Кол-во скачиваний: 299
Прикрепленный файл  3V_DataFlash_to_5V.PDF ( 91.92 килобайт ) Кол-во скачиваний: 155
 
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 12 2006, 09:48
Сообщение #15


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(DeXteR @ Jan 12 2006, 00:16) *
Цитата(AndyBig @ Jan 11 2006, 22:38) *

1. Проблем не будет, ничего не нужно.
2. А зачем через диоды? Чем не устраивает стабилизатор?


Да здоровый очень
А Маленькую версию в Одессе заказывать нада и ждать долго =(
Да и по деньгам нада быть оптимальным ....

Хотя думаю обойдусь стабилизатором в ТО220 =)


маленькие 3х вольтовые стабилизаторы
TPS76333 - MSOP..
IRU1010-33 - SOT223..
78L03 - как KT3102 ;>
в крайнем случае питайте DataFlash от стабилитрона, SMD стабилитроны тянут 20-30MA должно хватить для флешки.
а можно и дешевым опером запитать, LM358/LM158 - включить по схеме Voltage Follower итого 2 резюка и опер ~70коп ;>
когда была напряженка со стабилизаторами ARM от опера питал, у LM358 как раз два опера в одном корпусе - 2х уровневое напряжения выдавал... smile.gif
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jan 12 2006, 11:36
Сообщение #16


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



2 DeXteR:
Диоды можно, но осторожно, у меня была ситуация:
при батарейном питании уровень 1 не дотягивал до восприятия АВРом(CMOS уровень).
На крайняк поставить транзистор с делителем.

2AndyBig
Мне надо было забирать логи из всей памяти(4мб)
и соответственно между блоками 0-1,31-32 итд возникали сбои.
Изучение даташита показало, что это аккурат границы между
секторами(выше я неправильно выразился).
Замена на кристаллы другой емкости и ревизий дала
тот же результат.
Вылечили как я уже сказал задержки.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jan 12 2006, 16:12
Сообщение #17


Иногдящий
****

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



beer_warrior
Спасибо, я возьму это на заметку.
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 15 2006, 19:49
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Добрый день уважаемые специалисты

Во вложении - схема согласования 3.3 вольтовой ДатаФлеш и Атмеги с питанием 5 вольт

Каковы будут ваши мнения ??
Будет ли нормально работать ??
Будут ли проблеммы ??
Прикрепленное изображение


Спасибо !
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jan 15 2006, 21:22
Сообщение #19


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Сдвиг уровня на диоде?
Симпатичненько.
Проблем не вижу.

Сообщение отредактировал beer_warrior - Jan 15 2006, 21:25


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Andrey_31
сообщение Jan 24 2006, 04:30
Сообщение #20





Группа: Новичок
Сообщений: 14
Регистрация: 3-01-06
Пользователь №: 12 807



У меня тоже АТ45 глючит,при записи страницы первые 4 байта меняются,а при чтении первые 2 байта .
И ещё проблема, после выключения питания память обнуляется. Может кто сталкивался или знает ответ
?
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 24 2006, 08:49
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(Andrey_31 @ Jan 24 2006, 08:30) *
У меня тоже АТ45 глючит,при записи страницы первые 4 байта меняются,а при чтении первые 2 байта .
И ещё проблема, после выключения питания память обнуляется. Может кто сталкивался или знает ответ
?


Может ты забываеш запустить команду для записи буфера на страницу и работаеш с буфером.
Посотри апликухи от атмела . А из них все выдрал и все работает =)
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 27 2006, 07:31
Сообщение #22


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Dexter - заработала схема согласования?
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 27 2006, 08:34
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(zheka @ Jan 27 2006, 11:31) *
Dexter - заработала схема согласования?


Простите пока немекетировал .... Делаю срочно другой проэкт.
Шеф говорит - заработает - Он человек умный =)
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 27 2006, 14:24
Сообщение #24


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



А что за диоды? И номинал резистора?
То есть фактически - эта схема как своеобразный блок питания, и если стабилизация не нужна, то все будет работать?
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 27 2006, 15:52
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Идея проста

На любом диоде есть падение
На кремниевых (маленьких) обычно 0.4 - 0.6 вольта.

На диодах делаем стабилизатор питания
Суммарное падение должно быть вольта 1,5 - 2,0
В принципе допуск по питанию у AT45 довольно таки большой.

Резистор - Думаю килоома полтора =)
Нада считать из допустимого тока AT45

Толька если работать небудет - чур в меня камнями некидать Я не проверял этот вариант
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 27 2006, 21:02
Сообщение #26


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Кстати, а почему не запитать скажем Mega8 у которой напряжене питания 2,7-6,0 вольт на 3,3 как датафлеш? Частоту в два раза уменьшить в 4 раза, чтоб работала без сбоев. Или нельзя мегу8 на 4МГц гонять?
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 28 2006, 10:48
Сообщение #27


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Что ж никто не отвечает-то?
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 28 2006, 17:27
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



На меге 8 я и сделал но пока все в стадии макета и
осталось - заказчик гонит немного .... =(
Не питал 3.3 вольтами вот по каким причинам.

Я хотел выводить звук на частоте 12 кГц + девайс должен управляца по I2C другой мегой + адресация к разным звуковым эффектам записаным на АТ45.

Это звуковое сопровождение к игровому аппарату.
Там вся переферия стандартная и она 5 вольтовая.

Я пощитал что с моими скромными навыками програмирования на Си
я врядли бы сделал прогу которая успеет все это на 4 Мгц =)

Может вы думаете иначе - Попробуйте =)

Счас у меня мега8 питаеться от 5 вольт (кренка 7805) а АТ45 от 3.3 (LM317)
Схемы согласования нету - просто выход от АТ45 к входу Меги8 и странно но работает.....

Естественно в серию так оно непоидет ....
Разбросс параметров элементов может опустить напряжение
вывода АТ45 ниже логической единицы - и труба =)

Если очень нада Нарисую схему и пришлю прогу мою за денижку =)
Если денег нету Пишите на icq 114279881 Пообщаемся =)
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 28 2006, 17:42
Сообщение #29


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



У меня тоже с 5-вольтовыми ИС AT45DB041B нормально работает. И это правильно, т.к. в datasheet'e четко на первой странице написано: "5.0V-tolerant Inputs: SI, SCK, CS, RESET, and WP Pins".


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 28 2006, 17:50
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(makc @ Jan 28 2006, 21:42) *
У меня тоже с 5-вольтовыми ИС AT45DB041B нормально работает. И это правильно, т.к. в datasheet'e четко на первой странице написано: "5.0V-tolerant Inputs: SI, SCK, CS, RESET, and WP Pins".


Но выход данных то с АТ45 3.3 вольтовый
А Атмега8 5 вольтовая КПОП
Значит если чтото гульнет по питанию и логическая единичка с АТ45 равная например 2,7 вольта (гульнуло :-) ) примица авркой с питанием 5.8 (тоже гульнуло) то АВРка прочитает ноль и все поидет насмарку =)

Это в теории =)
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 28 2006, 19:43
Сообщение #31


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(DeXteR @ Jan 28 2006, 20:50) *
Но выход данных то с АТ45 3.3 вольтовый


Это так.

Цитата
А Атмега8 5 вольтовая КПОП
Значит если чтото гульнет по питанию и логическая единичка с АТ45 равная например 2,7 вольта (гульнуло :-) ) примица авркой с питанием 5.8 (тоже гульнуло) то АВРка прочитает ноль и все поидет насмарку =)


Это значит, что питание должно гульнуть в разную сторону. Т.е. на AT45 оно должно уменьшиться, а на Меге увеличиться. Мне, например, сложно себе представить, как такое может случиться, особенно если питание AT45 получается чем-нибудь вроде LDO из 5 вольт Меги, которые тоже должны быть стабилизированными (в теории wink.gif ). Так что наиболее вероятна просадка именно по 5 вольтам. В этом случае LDO для AT45 будет продолжать выдавать свои 3.3 вольта, а вот Меге будет несколько сложнее. Но все-равно 1 с AT45 в этом случае будет воспринята правильно. smile.gif

Цитата
Это в теории =)


Теории бывают разные. wink.gif


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 28 2006, 20:02
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата
Теории бывают разные. wink.gif


А там по теме выше пару файликов мине умный человек прикрепил
Там это все проанализировано =) ....

Гон конечно но диод с резистором я всеже впаяю ....
... но потом =)
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 28 2006, 20:03
Сообщение #33


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



В общем план у меня такой:
1. Денежку никому не платить
2. Попробовать всю схему запитать от 3,3 вольт. Звук у меня 8 битный, 8 килогерцовый, выход по питанию не критичный.


Вы мен только скажите, если я на Меге8 спаяю девайс, на какой частоте она сможет работать, если при заявленых 5 волтах она работает на 16 МГц ?
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 28 2006, 20:10
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(zheka @ Jan 28 2006, 23:03) *
В общем план у меня такой:
1. Денежку никому не платить
2. Попробовать всю схему запитать от 3,3 вольт. Звук у меня 8 битный, 8 килогерцовый, выход по питанию не критичный.


Вы мен только скажите, если я на Меге8 спаяю девайс, на какой частоте она сможет работать, если при заявленых 5 волтах она работает на 16 МГц ?

При 5В. Легко =)
При 3.3 Непробывал - думаю будет.
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 29 2006, 07:08
Сообщение #35


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Вопрос:
Цитата
Вы мен только скажите, если я на Меге8 спаяю девайс, на какой частоте она сможет работать, если при заявленых 5 волтах она работает на 16 МГц ?


Ответ:
Цитата
При 5В. Легко =)
При 3.3 Непробывал - думаю будет


Что-то несвязанно как-то... Поясните свою мысль.
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 30 2006, 07:43
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



При 5 вольтах - 16 Мгц работает
При 3.3 вольтах - 16 Мгц - незнаю ... smile.gif
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 30 2006, 07:53
Сообщение #37


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Атмел не гарантирует работу 8-й меги на 16МГц при 3.3В. Вот что нам говорит документация:
• Operating Voltages
– 2.7 - 5.5V (ATmega8L)
– 4.5 - 5.5V (ATmega8)
• Speed Grades
– 0 - 8 MHz (ATmega8L)
– 0 - 16 MHz (ATmega8)

Выводы делайте сами...


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 30 2006, 09:40
Сообщение #38


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Я думаю вывод такой - покупать Mega8L питать от 3,3 В, кварц на 8МГц - тогда и стабилизатор один, и согласования не потребуется...
Я прав?

ЭВРИКА!!! Нашел!

http://www.gaw.ru/html.cgi/txt/app/Atmel/m...y/at45db_5v.htm
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 30 2006, 11:52
Сообщение #39


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(zheka @ Jan 30 2006, 12:40) *


Английский вариант этой статьи уже был выше по теме. smile.gif


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 30 2006, 12:28
Сообщение #40


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Так все-таки, я прав насчет питания Mega8L и DataFlash от 3 вольт без согласования?
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 30 2006, 13:55
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(zheka @ Jan 30 2006, 15:28) *
Так все-таки, я прав насчет питания Mega8L и DataFlash от 3 вольт без согласования?

Прав

8мгц + Атмега 8L + Датафлешка - 3.3 вольта
16 Мгц + Атмега 8 + Датафлешка + согласование - 5 вольт.

Мне больше подходит второй вариант
Потомучто для моих целей нехватает 8Мгц
Go to the top of the page
 
+Quote Post
zheka
сообщение Jan 30 2006, 16:57
Сообщение #42


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



мне нужно звук оцифрованный записывать - в оригинале была схема на AT90LS8535 - на 8 МГЦ

Хм... а третий вариант - кварц 8 Мгц + Атмега 8 + Датафлешка 3,3 вольт?
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 30 2006, 17:17
Сообщение #43


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(zheka @ Jan 30 2006, 19:57) *
мне нужно звук оцифрованный записывать - в оригинале была схема на AT90LS8535 - на 8 МГЦ

Хм... а третий вариант - кварц 8 Мгц + Атмега 8 + Датафлешка 3,3 вольт?


Нет, это не вариант, хотя может и будет работать. Мега8 не работает по документации при 3.3 В. huh.gif


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
micci_n
сообщение Jan 30 2006, 21:47
Сообщение #44


Частый гость
**

Группа: Свой
Сообщений: 143
Регистрация: 21-07-05
Из: Москва
Пользователь №: 6 981



в вышеупомянутой статье по согласованию микросхем, рассмотрены даже спец микросхемы согласовани уровней, хотя помниться мне, что двунаправленный преобразователь, вполне даже делается на паре резистров и одном полевике
ну когда много каналов - да, лучше один чип
а не полевиках , вон во всякие программаторы например лепят
Go to the top of the page
 
+Quote Post
valera_o
сообщение Apr 10 2008, 13:46
Сообщение #45


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Цитата(Rst7 @ Jan 12 2006, 09:22) *
А почему так нельзя??? Как надо, подскажите плиз mellow.gif
Потому что переход CS 0->1 есть признак окончания комманды и старт ее выполнения. А переход 1->0 соответственно начало комманды.

привет! может тема и давнишняя, только грабли всё новые. хотел тоже читать всё подряд и памяти, ан нет, не читается, на ногу CS повесил нолик, согласно (AN-4)"The CS pin must remain low during the loading of the opcode, the address bits, the don’t care bits, and the reading of data." и"A low-to-high transition on the CS pin will terminate the read operation and tri-state the SO pin". и вот теперь сижу и думаю, что ж его делать? если решил отправить команду 68Н, то судя по цитате вверху надо ногу CS подкинуть в "1",, а судя по ан-4, это прекратит выполнение этой команды. Дилемма, однако... Что же таки делать?
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 10 2008, 13:55
Сообщение #46


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Тема двухлетней давности. Зачем было поднимать ее? twak.gif А грабли ваши стары как мир и происхождение их от невнимательности при чтении документации.
Go to the top of the page
 
+Quote Post
valera_o
сообщение Apr 11 2008, 14:09
Сообщение #47


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



не бейте по голове, лучше ткните носом, я ж привел цитату из ан4 и с форума, что не дочитал в даташите? если не сложно помогите...
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 11 2008, 14:25
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(valera_o @ Apr 11 2008, 20:09) *
не бейте по голове, лучше ткните носом, я ж привел цитату из ан4 и с форума, что не дочитал в даташите? если не сложно помогите...

DataFlash имеет интерфейс SPI. SPI это синхронный интерфейс. У него нет начала и конца, как у асинхронных интерфейсов. Пока идут тактовые импульсы идет обмен по SPI. Чтобы выделить начало и/или конец фрейма (кадра/посылки) используется дополнительный сигнал фреймовой синхронизации. У DataFlash этим сигналом является CS. Кроме того, CS дополнительно (традиционная его функция) используется для управления разрешением функционирования самого интерфейса SPI (входов и выходов). Т.е. у сигнала CS здесь две функции: управление интерфейсом и управление фреймовой синхронизацией. Активизация CS (переход 1->0) служит для выделения начала фрейма. Фрейм обязательно начинается с команды, затем идет дополнительная информация, необходимая для выполнения команды, и только затем передаются/принимаются данные. Деактивация CS (переход 0->1) сигнализирует об окончания фреймовой транзакции и отключает функционирование интерфейса SPI. Вот в общем-то и все.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 11 2008, 21:53
Сообщение #49


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(valera_o @ Apr 11 2008, 16:09) *
что не дочитал в даташите?

в даташитах на AT45 есть секции Read Operations и Write Operations.
В самом начале этих секций есть диаграммы сигналов где показано, что команда начинается подачей "0" на CS, и завершается возвращением CS в "1".

относительно этой цитаты:
Цитата
Потому что переход CS 0->1 есть признак окончания комманды и старт ее выполнения.

полагаю автор цитаты имел в виду старт записи непосредственно во флеш (операция записи из буфера во флеш - длительная).

К командам чтения статусов и данных из DF, эта цитата не имеет и не может иметь никакого отношения.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Apr 12 2008, 14:28
Сообщение #50


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



а вообще,друзья мои, какие альтернативы DATAFLASH?


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Apr 12 2008, 16:05
Сообщение #51


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(Kovrov @ Apr 12 2008, 10:28) *
а вообще,друзья мои, какие альтернативы DATAFLASH?


у ST Microelectronics есть вкусные в каталоге www.mouser.com


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
valera_o
сообщение Apr 14 2008, 05:51
Сообщение #52


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Благодарю всем, за подсказки и советы. Все заработало. Всем удачи!
Go to the top of the page
 
+Quote Post
valera_o
сообщение May 14 2009, 08:47
Сообщение #53


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Возник еще вопрос.
Кусок проги вставлю позже. В общем смысл таков. Читаю из одной области памяти прямым чтением, потом перехожу на другую область памяти. получается что контроллер "дочитывает" кусок из первой области, а только потом начинает чтения второй с "0". Однозначно что-то с кодом, но проверять своё неблагодарное дело... никак не найду ошибку. помогите, пожалуйста!

Сообщение отредактировал valera_o - May 14 2009, 08:49
Go to the top of the page
 
+Quote Post

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

 


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


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