|
LPC2194 SSP |
|
|
|
Oct 20 2010, 12:40
|
Участник

Группа: Участник
Сообщений: 59
Регистрация: 3-01-07
Из: Germany
Пользователь №: 24 071

|
Уважаемые коллеги! Заклинился я на имлементации кода для LPC1294/01 помогите пожалуста. void ssp_init(void) { volatile unsigned int pconv = PCONP; pconv &= ~(1 << 10); // SPI1 power off pconv |= (1 << 23); // SSP power on PCONP = pconv; // здесь не происходит включение питания для SSP PINSEL1_bit.P0_17 = 2; // CLK PINSEL1_bit.P0_18 = 2; // MISO PINSEL1_bit.P0_19 = 2; // MOSI PINSEL1_bit.P0_20 = 2; // CS
SSPCR0_bit.DSS = 7; // 8 bit transfer SSPCR0_bit.FRF = 0; // SPI Mode SSPCR0_bit.CPOL= 0; SSPCR0_bit.CPHA= 0; SSPCR1_bit.SSE = 1; // SSP Enable } Почему не происходит включение питания для SSP, или что я не правильно делаю?
Ошибочка, LPC2194/01 он называется. Уж думал что с кристаллом но на другой платине такое же плачевное состояние дел...
|
|
|
|
|
Oct 20 2010, 20:05
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(DpInRock @ Oct 21 2010, 01:40)  А самое любопытное, что в этом процессоре нету SSP. Откуда дровишки? В даташите в примечании на Fig 1.Block diagram указано Цитата SSP interface and high-speed GPIO are available on LPC2194/01 only. У топикстартера Цитата Ошибочка, LPC2194/01 он называется.
|
|
|
|
|
Oct 21 2010, 08:58
|
Участник

Группа: Участник
Сообщений: 59
Регистрация: 3-01-07
Из: Germany
Пользователь №: 24 071

|
Во первых очень благодарен за отзывы! У меня мануал Rev. 03 — 2 April 2008 в нём явно стоит что новые серии кристала /01 имеют SSP и он подключен параллкльно к SPI1. Что бы переключть на SSP нужнл сначала питание SPI1 в PCONP бит 10 отключить, затем PCSSP бит 23 в PCONP включить. Описывается на странице 219 и 220 мануала. Кстати на странице 219 пишется что это бит 21 а на странице 77 как бит 23:(
Пробовал и то и другое - результат тот же: SPI1 выключается а бит PCSSP остаётся нулевым.
pconv &= ~(1 << 10); // SPI1 power off pconv |= (1 << 23); // PСSSP power on
Hi-Speed GPIO работает значит кристал не подделка настоящяя /01 версия.
|
|
|
|
|
Oct 22 2010, 17:38
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
Цитата The PINMODE registers control the on-chip pull-up/pull-down resistor feature for all GPIO ports. Есть вот такая фраза в даташите на LPC2478. Типа, вот мол все порты регулируются. Цитата Remark: Pins P0.27 and P0.28 are dedicated I2C open drain pins without pull-up/down. Pins P0.29, P0.30, P0.31 are USB specific pins without configurable pull-up or pull-down resistors. А это - спустя 10 страниц убористого текста. Т.е. в единственном месте даташита тебе говорят, что ты зря не поставил резюки на порты.
--------------------
On the road again (Canned Heat)
|
|
|
|
|
Oct 22 2010, 18:13
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(DpInRock @ Oct 22 2010, 23:38)  Т.е. в единственном месте даташита тебе говорят, что ты зря не поставил резюки на порты. Ничего подобного. В таблице Pin description расписаны все отличия для каждого пина, Нужно только не лениться кликать на циферки примечаний. В частности для пинов P0.27 и P0.28 примечание гласит Цитата [4] Open-drain 5V tolerant digital I/O pad, compatible with I2C-bus 400 kHz specification. It requires an external pull-up to provide output functionality. When power is switched off, this pin connected to the I2C-bus is floating and does not disturb the I2C lines. Open-drain configuration applies to all functions on this pin.
|
|
|
|
|
Oct 25 2010, 08:21
|
Участник

Группа: Участник
Сообщений: 59
Регистрация: 3-01-07
Из: Germany
Пользователь №: 24 071

|
Проблема конкретно в том что питание для SSP не включается. Есть примеры исползования SSP но не для этого криставлла. Вообщим написал письмо в NXP Support, надеюсь они поймут мой плохой английский и ответят.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|