Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Spi variable CS
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
dmelniko
Народ подскажите пожалуйста,

Имеем AT91M42800, на spi висят ацп и флешка, spi сконфигурирован как variable, для приема/передачи данных во флеш хотелось бы использовать pdc, но вот вопрос а как в режиме variable делать тогда чипселект между ацп и флешкой?
AlexBoy
Цитата(dmelniko @ Mar 2 2007, 15:58) *
Народ подскажите пожалуйста,

Имеем AT91M42800, на spi висят ацп и флешка, spi сконфигурирован как variable, для приема/передачи данных во флеш хотелось бы использовать pdc, но вот вопрос а как в режиме variable делать тогда чипселект между ацп и флешкой?

В pdc нужно выборку сделать 32 бит.
Цитата
The Variable Peripheral Selection allows buffer transfers with multiple peripherals without repro-
gramming the Mode Register. Data written in SPI_TDR is 32 bits wide and defines the real data
to be transmitted and the peripheral it is destined to. Using the PDC in this mode requires 32-bit
wide buffers, with the data in the LSBs and the PCS and LASTXFER fields in the MSBs.
Dron_Gus
19.11 SPI Transmit Data Register
Register Name: SP_TDR
Access Type: Write-only
Offset: 0x0C
• TD: Transmit Data (Code Label SP_TD)
Data which is to be transmitted by the SPI Interface is stored in this register. Information to be transmitted must be written
to the transmit data register in a right-justified format.
• PCS: Peripheral Chip Select
This field is only used if Variable Peripheral Select is active (PS = 1) and if the SPI is in Master Mode.
If PCSDEC = 0:
PCS = xxx0 NPCS[3:0] = 1110
PCS = xx01 NPCS[3:0] = 1101
PCS = x011 NPCS[3:0] = 1011
PCS = 0111 NPCS[3:0] = 0111
PCS = 1111 forbidden (no peripheral is selected)
(x = don’t care)
If PCSDEC = 1:
NPCS[3:0] output signals = PCS

Так что PDC должен гнать 32 разрядные данные, в каждое слово которых предварительно записан номар аресата. Если используете Dataflash то в variable-режиме могут возникнуть проблеммы с тем, что SPI будет поднимать ногу CS после посылки каждого байта. Соответсвенно будут глюки. Лучше дергать эту ногу "руками".

Опередили smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.