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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> ATSAM4S + память F-RAM FM25V20, Не читаются данные
Haamu
сообщение Apr 30 2014, 12:58
Сообщение #16


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

Группа: Участник
Сообщений: 90
Регистрация: 12-12-13
Пользователь №: 79 587



Нет, конфликтов не видно. Да и проверил на всякий случай, опускается в ноль только нужный CS, остальные остаются в единице. Видимо все-таки дохлая память.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 30 2014, 13:31
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а питание, земля, правильность ног (MISO, MOSI), возможные непропаи проверили?
если картинка на осциле совпадает с описанием и ответа нет, то только неправильная работа микрухи, больше ничего...
Go to the top of the page
 
+Quote Post
DmitryM
сообщение May 1 2014, 03:22
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(Haamu @ Apr 30 2014, 09:06) *
Попробовал паузы делать после установки CS и между байтами в 1-2 мкс.

Tpu = min = 1 ms, не us
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 1 2014, 07:02
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(DmitryM @ May 1 2014, 09:22) *
Tpu = min = 1 ms, не us

С чего вы взяли? FRAM она не такая медленная.
У меня во многих проектах используется FRAM на SPI (и на I2C). Везде на максимальной или близкой к максимальной частоте,
везде прекрасно работает. Никаких задержек между CS=0 и стартом, и стопом и CS=1 нигде нет. Все необходимые
задержки формирует SPI-модуль CPU.
Проблемы были вначале только с аппаратно формируемым сигналом CS. Когда сделал
его программным - больше проблем не было.

А у ТС какой CS? Программно формирует или от SPI-порта?
У меня проблема выражалась в том, что при частоте SPI==20МГц, DMA, аппаратном CS происходили редкие сбои.
CPU - LPC1758, LPC1778.
Выявить их удалось только осциллом причём на большой частоте в ждущем режиме - очень короткие просадки CS -
положительные импульсы порядка десятков нсек. Видимо DMA где-то не успевает. Хотя в SPI имеется FIFO.
Видимо CPU занимает шину и DMA изредка не успевает прокачать.
Go to the top of the page
 
+Quote Post
DmitryM
сообщение May 1 2014, 07:12
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(jcxz @ May 1 2014, 10:02) *
С чего вы взяли? FRAM она не такая медленная.

Из datasheet.
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 1 2014, 07:42
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



а точнее? Приведите выдержку.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 1 2014, 09:26
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



в даташите там все наносекунды
самая длинное время деселекта 60 нСек
время между чипселектом и первым фронтом клока 10-12 нСек зависит от питания

а вот время PowerUp действительно 1 милисекунда, причем считая не от падания питания, а от момента его достаточного уровня.

http://static.uralchip.ru/content/pdfs/284/9105149.pdf

да аппаратный CS часто после каждого слова возвращает чипселект обратно, для этой памяти так нельзя,он всю посылку должен быть выбран. Но у автора на шине несколько устройств, так что вряд-ли у него чипселект аппаратный, как бы он тогда выбирал бы?
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 1 2014, 13:40
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ May 1 2014, 15:26) *
да аппаратный CS часто после каждого слова возвращает чипселект обратно, для этой памяти так нельзя,он всю посылку должен быть выбран. Но у автора на шине несколько устройств, так что вряд-ли у него чипселект аппаратный, как бы он тогда выбирал бы?

А вы знаете SPI-периферию атмеловских армов?
Вот например в OMAP L-138 SPI-порты имеют по несколько штук аппаратных чипселектов.
И ими можно рулить прямо в процессе записи в data-регистр SPI (в старших битах регистра находятся биты управления
этими CS, и вместе с операцией записи данных в порт можно устанавливать нужный CS. Там-же кстати насколько помню
можно сразу задавать какие-то задержки относительно CS, этой-же записью).
Может у атмела тоже что-то подобное есть?

В LPC CS не должен возвращаться назад после каждой записи, ибо там FIFO, да ещё DMA должно по идее успевать
подкачивать след. слово пока выдвигается предыдущее. Но не всегда видать успевает. sad.gif
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 1 2014, 15:38
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



А правда ваша, в этом проце 4 чипселекта, вот диковинка какая... я правда сначала даже не понял как вы определили что за проц, а потом понял что в названии темы написанsm.gif.

А про LPC 1768 как показала мое исследование с осциллографом для его SSP, чипселект ведет себя по разному в зависимости от скорости передачи. На одних скоростях чипселект падал на каждое слов, на максимальных на всю посылку. И зависит от того как данные лезут по DMA или через FIFO.
Go to the top of the page
 
+Quote Post
gappi
сообщение Mar 3 2015, 17:38
Сообщение #25





Группа: Новичок
Сообщений: 3
Регистрация: 6-02-15
Пользователь №: 84 982



Haamu, Вы в итоге разобрались со своей проблемой?
У меня например после подачи команды на чтение статус регистра всегда отвечает 0x0F
Пробовал записывать и отчищать защиту от записи - содержание статус регистра (врнее, то что читается не изменяется)
Клоки, ноги проверял.
Go to the top of the page
 
+Quote Post

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

 


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


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