|
|
  |
Народ кто имел дело с EP9302, Как оно глюков много |
|
|
|
Sep 18 2006, 06:37
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 25-01-05
Из: Мск регион.
Пользователь №: 2 161

|
Цитата(sff @ Sep 17 2006, 19:40)  Цитата(aaarrr @ Sep 17 2006, 18:59)  Цитата(MemoryTest @ Sep 17 2006, 18:31)  совместно с еп9302 использую ds1306 с выходом в 32kHz - этим убил 2х "зайцев" - TTL 32kHz на плате которые заведены на проц + RTC энеггонезависимые по SPI на процц тоже заведены.
Хорошее решение, только следует учитывать, что на пин RTCXTALI нельзя подавать уровень выше CVDD (1.8V). Как ни странно я тоже хотел так изначально, смотрел правда, в сторону DS1390-18 работающий от 1.8в но оказалось, что достать в штучном количестве просто нереально =( А вот в даташите к ds1306 нписано 2.0V to 5.5V Operation, собственно вопрос к MemoryTest вы его напрямую от 1.8 запитывли или через дополнительный буфер клок пускали? а то с дополнительным буфером уже не так элегантно Блин чесно скажу я упустил это согласование насчет 1.8 и RTCXTALI, обычно я ставлю резистор в линию порядка 100ом для таких случаев. Кстати в каком документе это написано??? о 1.8В. Я завел напрямую выход в 32кГц(3.3В) на RTCXTALI, сейчас посмотрел осцилографом сигнал - меандр 3.3В на RTCXTALI т.е. с выхода ds1306 он не подсаживается ер9302, ds1306 не греется, процц греется но этто изз своей рабочей частоты(200\100). Пока что по субъективним наблюдениям при подаче питания плата стартут всегда. Но наверное в следующей ревизии воткну 100ом в линию.
|
|
|
|
|
Sep 18 2006, 06:56
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404

|
Цитата(MemoryTest @ Sep 18 2006, 10:37)  Блин чесно скажу я упустил это согласование насчет 1.8 и RTCXTALI, обычно я ставлю резистор в линию порядка 100ом для таких случаев. Кстати в каком документе это написано??? о 1.8В. Ну по крайне мере в AN265 в каждом его абзаце на это налегают, хотя чтобы чёрным по белому, в даташите не нашёл  В догонку, а вы CS для ds1306 напрямую с EGPIO взяли, или как референс дизайне с маразмом возле SFRM, или может ещё как-то более экзотично...
Сообщение отредактировал sff - Sep 18 2006, 07:02
|
|
|
|
|
Sep 18 2006, 07:20
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 25-01-05
Из: Мск регион.
Пользователь №: 2 161

|
Цитата(sff @ Sep 18 2006, 10:56)  Цитата(MemoryTest @ Sep 18 2006, 10:37) 
Блин чесно скажу я упустил это согласование насчет 1.8 и RTCXTALI, обычно я ставлю резистор в линию порядка 100ом для таких случаев. Кстати в каком документе это написано??? о 1.8В.
Ну по крайне мере в AN265 в каждом его абзаце на это налегают, хотя чтобы чёрным по белому, в даташите не нашёл  В догонку, а вы CS для ds1306 напрямую с EGPIO взяли, или как референс дизайне с маразмом возле SFRM, или может ещё как-то более экзотично... использую пин async так как у меня пины EGPIO все заняты а этот болтался без дела  //Chip select RTC *AC97I_SYNC = 0x00000006; // SET ASYNC pin to log 1. .... //deselect RTC *AC97I_SYNC = 0x00000004; // SET ASYNC pin to log 0.
|
|
|
|
|
Sep 19 2006, 09:34
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(asen @ Sep 19 2006, 09:39)  как я понял линукс у него находится в флеше подключеной на внешнию шину а в SPI EEPROM только чтото типа начального загрузчика который конфигурит систему и перегружает из флеши на внешней шине данные в СДРАМ и потом стартует все остальное SPI EEPROM в циррусовских китах используется для хранения MAC-адреса платы. Загрузка производится из параллельной флеш. Цитата(asen @ Sep 19 2006, 09:39)  много ли будет надо переделать если грузить все из внешней SPI EEPROM/Flash в СДРАМ и потом стартовать
сколько примерно надо под линукс памяти во флесш Переделать можно, но для этого придется изрядно поковыряться в RedBoot'е. Кроме того, в минимальной конфигурации линуксу потребуется около 3МБайт флеш, что для SPI памяти многовато.
|
|
|
|
|
Sep 21 2006, 13:51
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 25-01-05
Из: Мск регион.
Пользователь №: 2 161

|
Цитата(asen @ Sep 19 2006, 09:39)  еще пару вопросов по киту на EP9302
как я понял линукс у него находится в флеше подключеной на внешнию шину а в SPI EEPROM только чтото типа начального загрузчика который конфигурит систему и перегружает из флеши на внешней шине данные в СДРАМ и потом стартует все остальное
много ли будет надо переделать если грузить все из внешней SPI EEPROM/Flash в СДРАМ и потом стартовать
еще может ктонебуть порекомендовать паралельную Flash чтобы ее на шину цепонуть 8-32 мбайта
сколько примерно надо под линукс памяти во флесш пробовал цеплять am29lv128 к еп9302 -> не пошло, долго копался и пришел к выводу несовместимости времянок контроллера срам и данной линейки памяти миррор бит от амд.  Ставлю интеловскую флешь te28f128 (есть и 256mbit..) будет работать и с микроновской флешь. Насчет SPI: посмотрите DataFlash от атмела размер доходит до 6 мегабайт насколько я помню.
|
|
|
|
|
Sep 22 2006, 05:29
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(asen @ Sep 22 2006, 06:03)  я вот подумываю поставить AT45DB642 помоему должно быть все в ожуре может кто юзал уже такую А по-моему получится дорого и медленно - максимальная скорость SPI на EP93xx составляет 3.686 МБит/с. Чем параллельная флеш не угодила? Цитата(asen @ Sep 22 2006, 06:03)  А где можно посмотреть доки по RedBoot чтобы оценить трудаемкость переконфигурирования на spi загрузку оброза линукса Драйверы DataFlash в ECOS'е, кажется, есть. В любом случае, достаточно трудоемкий процесс.
|
|
|
|
|
Sep 22 2006, 12:15
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404

|
Цитата(asen @ Sep 22 2006, 11:31)  а не подскажете где доки взять по линуксу и его настройке На сайте http://arm.cirrus.com/ очень неплохо документировано, с тулчанами и исходниками. Или про какую настройку идёт речь?
|
|
|
|
|
Sep 23 2006, 11:23
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404

|
Было решил что со схемой EDB всё ясно, но вот что обнаружилось: в datasheet сказано что все IO ноги по Input' у должны влезать в RVDD+0.3V Tolerance, но в EDB AC97 (CS4271 ) выход SDOUT подключен напрямую к МК, но сама CS4271 запитана от 5V. И как это понимать? Так RTC подключить возможно или я что-то напутал? Относительно SPI, здесь SFRM учитывать не нужно?
|
|
|
|
|
Sep 23 2006, 11:51
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(sff @ Sep 23 2006, 15:23)  Было решил что со схемой EDB всё ясно, но вот что обнаружилось: в datasheet сказано что все IO ноги по Input' у должны влезать в RVDD+0.3V Tolerance, но в EDB AC97 (CS4271 ) выход SDOUT подключен напрямую к МК, но сама CS4271 запитана от 5V. И как это понимать? В циррусе тоже люди работают. На старых EDB все было правильно. Цитата(sff @ Sep 23 2006, 15:23)  Так RTC подключить возможно или я что-то напутал? Относительно SPI, здесь SFRM учитывать не нужно? Я бы еще добавил pull-up на CE. Если INT1 - это сигнал процессора, то следует учесть, что срабатывают они только по высокому уровню. Что касается SFRM, то все будет зависеть от того, что у Вас сидит на SPI. Если только часы, то с SFRM можно ничего не делать.
|
|
|
|
|
Sep 23 2006, 14:55
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404

|
Цитата(aaarrr @ Sep 23 2006, 15:51)  В циррусе тоже люди работают. На старых EDB все было правильно. Тоесть считать за глюк и лучше поставить буфер. А как было на старых? Цитата(aaarrr @ Sep 23 2006, 15:51)  Я бы еще добавил pull-up на CE. Если INT1 - это сигнал процессора, то следует учесть, что срабатывают они только по высокому уровню. Что касается SFRM, то все будет зависеть от того, что у Вас сидит на SPI. Если только часы, то с SFRM можно ничего не делать. Именно pull-up, ведь ds1306 активна по высокому CE. И как написано в datasheet internally pull-down 55kohm? А по SFRM я действительно что-то, видно, не понимаю. Нет не одни часики ещё SD/MMC в SPI. Почитав доку вот что у меня сложилось. Я рассматривал режимы SPI при SPO=1 SPH=1 8 битная передача и SPI в мастере. При этом в момент простоя SCLK будет в HIGH. [начальное состояние CE_DS1306 = 0; CS_SD = 1; ] Допустим нужно пообщаться с часиками. Устанавливаю CE_DS1306 = 1; // CS_DS1306 идёт на GPIO SSPDR=ADDR_SEC; //работаю напрямую с SSPDR записываю адрес (как я понимаю при этом появляется SCLK и по SSPTXD поплыли биты) SSPDR=NEW_SEC; //так как FIFO глубокий пишу сразу туда и байт данных while(~(SSPSR & (1 << TFE))); //Дожидаюсь завершения передачи // после опустошения SCLK переходи в HIGH и остается в нём. Устанавливаю CE_DS1306 = 0; При работе с SD CS_SD = 0; // для простоты аналогично, хотя собираюсь, конечно, через DMA CS_SD = 1; и у меня получилось что для этого случая SFRM мне не нужен. В чём ошибка?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|