Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Некорректная работа AT45DB041
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Ivan Kuznetzov
Года четыре производим девайс с AT45DB041D флешкой на борту.
Служит для хранения сэмплов речевого информатора.
Пришла последняя партия этих микросхем - звук воспроизводится некорректно (хрипит).
Конструкция девайса: ATMEGA32, VS1053, AT45DB041D.
Питается все от 3.3В, девайсы сидят на одном SPI.
_4afc_
Цитата(Ivan Kuznetzov @ Dec 3 2010, 13:34) *
Года четыре производим девайс с AT45DB041D флешкой на борту.


А с каким размером страницы вы привыкли работать 256 или 264 байта?
Возможно вы раньше сначала переключали их в режим Power of 2, а сейчас забыли.
Возможно вы раньше работали со страницей в 264 байта, а сейчас купили с установленным режимом Power of 2.

А может программатор/программа/провода поменяли?
Или БП+ATMEGA32+VS1053 другие?

Если прошить старый девайс сейчас заново - не будет хрипеть?
Если в старый рабочий девайс поставить новую прошитую AT45DB041D захрипит?
Sergey_Aleksandrovi4
Есть предположение.
Из даташита 13 глава
Цитата
“Power of 2” binary page size Configuration Register is a user-programmable nonvolatile register
that allows the page size of the main memory to be configured for binary page size
(256 bytes) or the DataFlash standard page size (264 bytes). The “power of 2” page size is a
one-time programmable configuration register and once the device is configured for
“power of 2” page size, it cannot be reconfigured again. The devices are initially shipped
with the page size set to 264 bytes. The user has the option of ordering binary page size (256
bytes) devices from the factory.
For details, please refer to Section 26. ”Ordering Information” on
page 47.

Может быть Вам прислали партию флешек с уже сконфигурированным на заводе размером страницы в 256 байт? Или наоборот, я не знаю, какие Вы используете. Прочитайте статусный регистр, младший бит которого показывает размер страницы, станет яснее.
Ivan Kuznetzov
Разобрался, дело было в партии микросхем, запрограммированных на размер страницы в 256 байт. (Power of 2 mode). Пришлось добавить в драйвер определение типа микросхемы по статус регистру, и соответствующие ветвления в вычислении адреса страниц для разных типов датафлешек.

Всем спасибо за помощь!
Sergey_Aleksandrovi4
В последнее время всё чаще слышу, что "атмел" реализует чипы (будь то МК или флешки) с фьюзами, отличными от значения "по умолчанию". Видимо нераспроданые запасы сливает.
Petka
Цитата(Sergey_Aleksandrovi4 @ Dec 4 2010, 16:24) *
В последнее время всё чаще слышу, что "атмел" реализует чипы (будь то МК или флешки) с фьюзами, отличными от значения "по умолчанию".

Подтверждаю.
Попались две серии AVRок с фузами, прошитыми на внешний генератор. В устройстве предполагалось использовать внутренний RC. В итоге сотни собранных устройств, которые невозможно прошить "в схеме". Уроды. maniac.gif
ILYAUL
Цитата(Petka @ Dec 4 2010, 18:11) *
....невозможно прошить "в схеме". Уроды. maniac.gif

Вывод: При разработке устройства всегда оставлять возможность перепрограмирования устройства в "схеме"
Petka
Цитата(ILYAUL @ Dec 5 2010, 09:33) *
Вывод: При разработке устройства всегда оставлять возможность перепрограмирования устройства в "схеме"

Возможность перепрограммирования в схеме есть, но это сделать не получится. По причине отсутствия внешней генерации на плате.
demiurg_spb
Вылечил несколько платок путём втыкания иглы щупа USB осцилла-генератора в режиме генерации меандра в ногу XTAL1. Уколы подействовали незамедлительно:-)
Petka
Цитата(demiurg_spb @ Dec 6 2010, 23:11) *
Вылечил несколько платок путём втыкания иглы щупа USB осцилла-генератора в режиме генерации меандра в ногу XTAL1. Уколы подействовали незамедлительно:-)

Да, так и лечили. Однако муторно это.
HARMHARM
Цитата(Ivan Kuznetzov @ Dec 4 2010, 15:08) *
Разобрался, дело было в партии микросхем, запрограммированных на размер страницы в 256 байт. (Power of 2 mode). Пришлось добавить в драйвер определение типа микросхемы по статус регистру, и соответствующие ветвления в вычислении адреса страниц для разных типов датафлешек.

Попалась партия AT45DB321D перемаркированных. Внутри AT45DB321C. Неприятно. Тоже пришлось добавлять определение типа.
demiurg_spb
Цитата(HARMHARM @ Dec 7 2010, 23:59) *
Неприятно. Тоже пришлось добавлять определение типа.
Зачем? Между ними почти нет разницы.
Я работаю одинаково с AT45DB321(B,C,D) и уже много лет никаких правок в драйвер DF не вносил.
HARMHARM
Цитата(demiurg_spb @ Dec 8 2010, 14:27) *
Зачем? Между ними почти нет разницы.
Я работаю одинаково с AT45DB321(B,C,D) и уже много лет никаких правок в драйвер DF не вносил.

Программа была написана под D (c B и C до того не работал), и использовались специфические для D команды. Теперь-то уж использую команды, которые везде работают sm.gif
Sergey_Aleksandrovi4
Цитата(demiurg_spb @ Dec 8 2010, 15:27) *
Зачем? Между ними почти нет разницы.

Это смотря где их использовать. Например, в качестве загрузочной дял сигнальника ADSP-BF53x можно поиметь большой геморрой применив вместо B-литеры, литеру D. Даже на этом форуме, если память не изменяет, это обсуждалось.
Сергей Борщ
QUOTE (Ivan Kuznetzov @ Dec 4 2010, 15:08) *
Разобрался, дело было в партии микросхем, запрограммированных на размер страницы в 256 байт. (Power of 2 mode).
Поскольку из этого состояния в исходное микросхемы перевести невозможно - можно смело "натягивать" поставщика, возвращать всю партию и требовать неустойку. Хотя, учитывая сегодняшнее положение с AT45, можно ограничиться неустойкой.
MrYuran
Цитата(Сергей Борщ @ Dec 8 2010, 17:21) *
можно смело "натягивать" поставщика, возвращать всю партию и требовать неустойку.

А если вся партия уже распаяна?
Petka
Цитата(MrYuran @ Dec 8 2010, 17:28) *
А если вся партия уже распаяна?

Требовать от поставщика дополнительно возмещение убытков, связанных с демонтажем компонентов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.