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

 
 
> Модуль SSP в LPC21xx
vetbaston
сообщение Feb 12 2007, 15:29
Сообщение #1


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

Группа: Новичок
Сообщений: 80
Регистрация: 21-08-06
Пользователь №: 19 702



Подскажите, как правильно настроить модуль SSP на работу в режиме SPI. help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
vetbaston
сообщение Feb 13 2007, 12:28
Сообщение #2


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

Группа: Новичок
Сообщений: 80
Регистрация: 21-08-06
Пользователь №: 19 702



Спасибо за ответы, я уже сам разобрался.
Go to the top of the page
 
+Quote Post
mihask
сообщение Feb 13 2007, 16:27
Сообщение #3


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

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Цитата(vetbaston @ Feb 13 2007, 15:28) *
Спасибо за ответы, я уже сам разобрался.


Если у вас есть время подскажите пожалуйста как вы настроили SSP в lpc2xxx.
Дело в том что у меня как раз с SSP в LPC2103 проблема - нету клоков и данных
на выходах SSP. SSP - настроен как и у вас в режиме SPI, у меня он в режиме
Master. На форумах я нашел что якобы в случае если SSP мастер то на
младших моделях серии lpc21xx SSEL1 должен быть подтянут к питанию
и в PINSEL1 должен быть настроен как SPI а не как GPIO. Но в официальной
документации я подобных рекомендаций не обнаружил.
Go to the top of the page
 
+Quote Post
KostyanPro
сообщение Feb 13 2007, 17:06
Сообщение #4


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

Группа: Свой
Сообщений: 160
Регистрация: 30-01-07
Из: Minsk
Пользователь №: 24 870



Цитата(mihask @ Feb 13 2007, 15:27) *
Если у вас есть время подскажите пожалуйста как вы настроили SSP в lpc2xxx.
Дело в том что у меня как раз с SSP в LPC2103 проблема - нету клоков и данных
на выходах SSP.

например так для LPC2148
Код
SSPCR1  = 0x00000000;

PINSEL1|= 0x000000A8;            //Enable SPI1 pins
IODIR0 |= 1 << 20;            //Enable Chipselect pin as output

SSPCPSR    = 0x00000006;            //Set Clock at10MHz
SSPCR0    = 0x00000007;            //Configure SPI
SSPCR1  = 0x00000002;



Цитата
Но в официальной документации я подобных рекомендаций не обнаружил.

Соглашусь , сайт немного не удобен , но там много чего есть:
http://www.nxp.com/acrobat/applicationnotes/AN10369_1.pdf
http://www.nxp.com/acrobat/applicationnotes/AN10406_3.pdf

Для троечки app в целом
http://www.nxp.com/pip/LPC2101FBD48.html

Сообщение отредактировал KostyanPro - Feb 13 2007, 17:31
Go to the top of the page
 
+Quote Post
vetbaston
сообщение Feb 14 2007, 11:02
Сообщение #5


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

Группа: Новичок
Сообщений: 80
Регистрация: 21-08-06
Пользователь №: 19 702



Строчку
IODIR0 |= 1 << 20; //Enable Chipselect pin as output
можно не писать.
Go to the top of the page
 
+Quote Post
mihask
сообщение Feb 15 2007, 06:04
Сообщение #6


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

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Цитата(mihask @ Feb 13 2007, 19:27) *
Цитата(vetbaston @ Feb 13 2007, 15:28) *

Спасибо за ответы, я уже сам разобрался.


Если у вас есть время подскажите пожалуйста как вы настроили SSP в lpc2xxx.
Дело в том что у меня как раз с SSP в LPC2103 проблема - нету клоков и данных
на выходах SSP. SSP - настроен как и у вас в режиме SPI, у меня он в режиме
Master. На форумах я нашел что якобы в случае если SSP мастер то на
младших моделях серии lpc21xx SSEL1 должен быть подтянут к питанию
и в PINSEL1 должен быть настроен как SPI а не как GPIO. Но в официальной
документации я подобных рекомендаций не обнаружил.


Если вдруг кому интересно - SPI1 - у меня заработал. smile.gif Действительно надо было
пин SSEL1 - притянуть к питанию и в PINSEL1 настроить как SSEL1. Cудя по обсуждениям
на форумах - это правило действует по крайней мере до LPC2106 включительно, в дальнейших
сериях SSEL1 можно использовать как GPIO.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 15 2007, 10:40
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(mihask @ Feb 15 2007, 05:04) *
Cудя по обсуждениям на форумах - это правило действует по крайней мере до LPC2106 включительно, в дальнейших сериях SSEL1 можно использовать как GPIO.

А еще можно судить (причем с высокой степенью угадывания) по официальной документации smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
mihask
сообщение Feb 15 2007, 11:10
Сообщение #8


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

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Цитата(zltigo @ Feb 15 2007, 13:40) *
Цитата(mihask @ Feb 15 2007, 05:04) *

Cудя по обсуждениям на форумах - это правило действует по крайней мере до LPC2106 включительно, в дальнейших сериях SSEL1 можно использовать как GPIO.

А еще можно судить (причем с высокой степенью угадывания) по официальной документации smile.gif.


Ткните носом пожалуйста smile.gif. Я там(в даташите) только вот этот абзац нашел:
12.2.9 Mode fault
The SSEL signal must always be inactive when the SPI block is a master. If the SSEL
signal goes active, when the SPI block is a master, this indicates another master has
selected the device to be a slave. This condition is known as a mode fault. When a mode
fault is detected, the mode fault (MODF) bit in the status register will be activated, the SPI
signal drivers will be de-activated, and the SPI mode will be changed to be a slave.

но это глава описания SPI0, а не SPI1, хотя конечно можно предположить что это описание
работы мастера для обоих SPI smile.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:12
Рейтинг@Mail.ru


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