Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91sam7s <-TWI -> FM24LC19
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
dotprod
Здравствуйте!
Возникла непонятная ситуация - при чтении из памяти ( http://ramtron.com/lib/literature/datashee...CL16ds_r3.3.pdf ) в самом начале приходит лишний байт 0xFF. Приходится его специально пропускать.

Код : http://www.everfall.com/paste/id.php?pxxv3v03gtib

Интересно, где ошибка? blink.gif
aaarrr
По-идее, должен не лишний байт появляться, а теряться байт, принятый в строке 102.

ИМХО, TWI в SAM'е лучше обслуживать по прерываниям.
dotprod
Цитата(aaarrr @ Dec 9 2006, 01:07) *
По-идее, должен не лишний байт появляться, а теряться байт, принятый в строке 102.

Это работающая версия, которая и выкидывает лишний байт в начале.

По датащиту FeRam сразу должен отвечать данными, на практике - с задержкой на 1 байт. Хочу разобраться, кто именно подглючивает.
beer_warrior
Да есть такая буква. Рамтрон тут не причем с АТ24 та же история. Единственное, что я не понял, зачем адрес писать принудительно - MMR прекрасно справляется с передачей адреса в автомате. Впрочем соглашусь с aaarrr, лучше все сделать на прерываниях
Dopler
Интересно, лишний байт именно приходит из памяти (осцилографом не смотрели?),
или берется у ARMа изнутря?
Alex03
Цитата(dotprod @ Dec 9 2006, 06:06) *
По датащиту FeRam сразу должен отвечать данными, на практике - с задержкой на 1 байт. Хочу разобраться, кто именно подглючивает.


У меня с LPC и FM24хх и FM31xx (там адрес длиннее) работает по датищу, без пропуска и лишних байт.
sensor_ua
В алгоритме чтения, нарисованном в DS, зачем-то написано установить MREAD = 0, хотя по описанию вроде как у Вас в стр.89 - MREAD должен быть 1. Может, чего-то знают?
aaarrr
Цитата(beer_warrior @ Dec 9 2006, 09:08) *
Да есть такая буква. Рамтрон тут не причем с АТ24 та же история.

У меня в связке с SAM7 прекрасно работают и FM24CL64, и AT24C256 - никаких лишних байтов не наблюдалось. Драйвер сидит на прерываниях, с поллингом я стараюсь никогда не связываться.

Справедливости ради нужно сказать, что реализация TWI у SAM'а, мягко говоря, далеко не безгрешна sad.gif
VIRt
Если не ошибаюсь, то для инициализации 24LCXX необходимо после сброса дать 9 импульсов по SCK для сброса. Возможно в этом проблема....
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.