Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91RM9200: загрузка с SPI и дешифратор для CS
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Ruslan1
Здравствуйте!
Я новичок в ARM, но документацию прочитал. smile.gif
Задачка следующая:
Дано: хочу загружаться из DataFlash типа AT45Dxxx, при этом во время работы на шине SPI будет висеть еще 6 устройств. То есть мне нужно итого 7 сигналов SPICS.
Вопрос: как это сделать?

Вроде бы можно включить режим работы с внешним дешифратором (PCSDEC = 1). Но после сброса этот режим выключен. Одновременно сказано, что для загрузки мое SPI должно висеть на nPCS0.
Я вот думаю, как это совместить?

Вариант 1.
Если у меня дешифратор "4->16 то я просто цепляю бутовое SPI на выход 14, так как при поиске бутового SPI на шинах nPCS3:nPCS0 выставляется 1110, верно?

Вариант 2.
так как у меня только 6 устройств, то достаточно повесить дешифратор "3->8"на шины nPCS3:nPCS1 (причем использую все выходы дешифратора, кроме комбинации 111) а бутовое SPI я вешаю на nPCS0.
Тогда в момент загрузки выбран nPCS0, остальные в "1", а после начала работы моей программы я перехожу в режим работы без встроенного дешифратора и с точки зрения программы для выбора моих устройств SPI следует указывать только нечетные номера (чтобы nPCS0 был равен 0). Ну, для надежности могу аппаратно переводить дешифратор в неактивное состояние при nPCS0==0.


Как думаете, работоспособны оба варианта? Или есть какие-то подводные камни, которые я по неопытности не заметил?
Rybo
Наверняка ответа до сих пор не было поскольку:
- обычно вполне хватает 4 SPI устройств;
- для тех кому не хватает, после многих часов проведенных в поиске ответа сдаются и используют ноги ввода/вывода для контроля CS, что влечет за собой "лечение" драйверов.

Атмел хороший производитель, но вот SPI на их ARM'ах имеют некоторые нюансы, если мягко выразится.

Не буду углублятся конкретно, просто дам ссылку с решением конкретно этой ситуации:
http://www.fh-augsburg.de/~hhoegl/proj/com...MATIC_V1_02.pdf
Ruslan1
Цитата(Rybo @ Nov 20 2007, 16:06) *
Наверняка ответа до сих пор не было поскольку:
- обычно вполне хватает 4 SPI устройств;
- для тех кому не хватает, после многих часов проведенных в поиске ответа сдаются и используют ноги ввода/вывода для контроля CS, что влечет за собой "лечение" драйверов.

Атмел хороший производитель, но вот SPI на их ARM'ах имеют некоторые нюансы, если мягко выразится.

Не буду углублятся конкретно, просто дам ссылку с решением конкретно этой ситуации:
http://www.fh-augsburg.de/~hhoegl/proj/com...MATIC_V1_02.pdf

Прям как привет из прошлой жизни получил....... Много воды с тех пор выпито было...... smile.gif

Ну, не надо катить бочку на незапятнанные места Атмеловского АРМа. С SPI проблем нет. Все давно работает, причем именно так, как я и расчитывал. Никаких подводных камней. Висит два дешифратора (то есть в сумме 4->16). И грузится с этого датафлеша, и работает с ним дальше тоже.
PS. Работает у меня именно вариант1.
Rybo
Цитата(Ruslan1 @ Nov 23 2007, 23:01) *
Висит два дешифратора (то есть в сумме 4->16). И грузится с этого датафлеша, и работает с ним дальше тоже.
PS. Работает у меня именно вариант1.


Руслан, извините, много уже времени прошло, но все-же..
Да, разумеется, девайс 14 работать будет. А вот остальные без лечения драйверов у вас заработали? Без программного SPI?
dch
а там разве не два SPI каждый со своими чип селектами
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.