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

 
 
 
Reply to this topicStart new topic
> Быстрая запись в EEPROM АТмеги128, Можно ли ждать 8 мс не после кажого байта, а после каждой страницы?
Zlumd
сообщение Jul 23 2009, 04:32
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 12-04-05
Из: Новосибирск
Пользователь №: 4 057



В даташите на АТмегу128 сказано, что перед записью каждого байта в EEPROM, нужно дождаться когда флаг EEWE в регистре EECR сбросится в ноль и потом писать. На это ожидание уходит около 8 мс. Если записывать за один раз много байт, то получается слишком долго.
В разделе Parallel Programming написано, что размер страницы EEPROM 8 байт. Значит ли это, что я могу переделать процедуры записи в EEPROM так, чтобы они писали за один раз целую страницу из 8 байт, и уже потом делалось ожидание бита EEWE ? Кто-нибудь пробовал так делать?
P.S. Пишу на IAR v5.11B.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Jul 23 2009, 05:33
Сообщение #2


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Zlumd @ Jul 23 2009, 07:32) *
В разделе Parallel Programming написано, что размер страницы EEPROM 8 байт. Значит ли это, что я могу переделать процедуры записи в EEPROM так, чтобы они писали за один раз целую страницу из 8 байт, и уже потом делалось ожидание бита EEWE ? Кто-нибудь пробовал так делать?
P.S. Пишу на IAR v5.11B.


В документаци также написано The ATmega128 contains 4K bytes of data EEPROM memory. It is organized as a separate
data space, in which single bytes can be read and written.
О том что есть возможность буфферизации данных при записи еепром из секции программы или секции бутлоадера нигде не упоминается. Так что пишите побайтно или программируйте еепром при прошивке контроллера.
Go to the top of the page
 
+Quote Post
xelax
сообщение Jul 23 2009, 05:53
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Постраничный доступ к eeprom из firmware невозможен для atmega. Только при параллельном программировании.
В XMegа есть возможность страничного доступа к eeprom.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 23 2009, 23:48
Сообщение #4


кекс
******

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



Цитата(Zlumd @ Jul 23 2009, 07:32) *
Значит ли это, что я могу переделать процедуры записи в EEPROM так, чтобы они писали за один раз целую страницу из 8 байт, и уже потом делалось ожидание бита EEWE ?

Так, увы, сделать нельзя.
Но, Вы можете воспользоваться прерыванием EE READY и буферизировать самостоятельно столько данных, сколько нужно.
Go to the top of the page
 
+Quote Post
Zlumd
сообщение Jul 24 2009, 03:45
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 12-04-05
Из: Новосибирск
Пользователь №: 4 057



Цитата(defunct @ Jul 24 2009, 06:48) *
Так, увы, сделать нельзя.
Но, Вы можете воспользоваться прерыванием EE READY и буферизировать самостоятельно столько данных, сколько нужно.
Увы, все 4КБ оперативки забиты до отказа. Поэтому я в будущем хочу перейти на Хмегу с внешней SDRAM. Кстати, никто не знает доставабельную 8-разрядную SDRAM 8 или 16 МБайт с температурным диапазоном от -40 градусов?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 24 2009, 22:46
Сообщение #6


кекс
******

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



Цитата(Zlumd @ Jul 24 2009, 06:45) *
Увы, все 4КБ оперативки забиты до отказа. Поэтому я в будущем хочу перейти на Хмегу с внешней SDRAM.

можно к m128 подцепить SRAM, при условии что 32-64KB хватит.

Цитата
Кстати, никто не знает доставабельную 8-разрядную SDRAM 8 или 16 МБайт с температурным диапазоном от -40 градусов?

http://www.micron.com/products/dram/sdram/partlist.aspx
Поидее все доставабельные.
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Jul 25 2009, 06:01
Сообщение #7


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

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
Увы, все 4КБ оперативки забиты до отказа. Поэтому я в будущем хочу перейти на Хмегу с внешней SDRAM.

Для начала можно посмотреть на ATmega2561 с 8K SRAM на борту и pin-2-pin совместимую со 128-й. А насчёт SDRAM и xmega были слышны отрицательные моменты - http://caxapa.ru/160029.html. Как вариант SPI FRAM или SRAM.
Но, думаю, что в большинстве случаев можно для начала постараться утоптать программуwink.gif на предмет увеличения свободного ОЗУ за счёт ПЗУ.


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 25 2009, 19:04
Сообщение #8


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

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



Рассмотрите вопрос использования флеша программ вместо EEPROM для хранения данных. Там можно будет писать пачками.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Zlumd
сообщение Jul 27 2009, 02:03
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 12-04-05
Из: Новосибирск
Пользователь №: 4 057



Цитата(sensor_ua @ Jul 25 2009, 13:01) *
А насчёт SDRAM и xmega были слышны отрицательные моменты - http://caxapa.ru/160029.html.
Посмотрел внимательно. Дейстительно ATXmega128A1 может только с 4-разрядной SDRAM общаться.
Цитата(defunct @ Jul 25 2009, 05:46) *
http://www.micron.com/products/dram/sdram/partlist.aspx
Поидее все доставабельные.
Среди 4-разрядных на этой странице все чипы только от 0 градусов. У самсунга из 4-х разрядных чипов только 256 Мбит, которые в ХМеге не подключишь. Так что облом получается.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 27 2009, 03:57
Сообщение #10


кекс
******

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



Цитата(Zlumd @ Jul 27 2009, 05:03) *
Среди 4-разрядных на этой странице все чипы только от 0 градусов.

Если потеря половины емкости не смущает, можно подключить любые 4 разряда 8-ми разрядного чипа памяти.
Думаю для xmega не принципиально будет использоваться 8MB или 16MB из 16MB. И то и другое изразходовать слабо реально.
По цене, 16Mb x 4 или 16Mb x 8 тоже принципиальной разницы не составит.
Так что не все так скверно.
Go to the top of the page
 
+Quote Post
xelax
сообщение Jul 27 2009, 05:52
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(Rst7 @ Jul 25 2009, 23:04) *
Рассмотрите вопрос использования флеша программ вместо EEPROM для хранения данных. Там можно будет писать пачками.


Но только из boot секции. Смысл в такой кривизне.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 27 2009, 05:59
Сообщение #12


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

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



Цитата
Но только из boot секции. Смысл в такой кривизне.


Не так страшен черт wink.gif Хотя, конечно, надо аккуратно подходить к вопросу.


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


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Код
Так, увы, сделать нельзя.
Но, Вы можете воспользоваться прерыванием EE READY и буферизировать самостоятельно столько данных, сколько нужно.


Кстати а почему действительно не использовать буфферизацию и работу по прерыванию?
Организовуете фифо, кидаете в него данные (естественно первый байт пойдёт сразу на запись а остальные в фифо, в прерывании проверяете указатель на хвост и голову фифо, если они не равны значит ещё есть данные, извлекаете байт и пишете следующий байт в еепром и так пока не опустошите фифо).
Пока идёт запись в еепром процессор то ведь может заниматься другими задачами. Получится запись в еепром в фоновом режиме с минимальной загруженностью процессора.

Сообщение отредактировал mempfis_ - Jul 27 2009, 06:48
Go to the top of the page
 
+Quote Post

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

 


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


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