×

Внимание

Форум находится в режиме только для чтения.

SPI и DAC в STM32F4 Discovery

11 года 4 мес. назад #3664 от bootsa
bootsa создал тему: SPI и DAC в STM32F4 Discovery
Добрый день.

Возник вопрос по поводу совместной работы всех 3х SPI и 2х DAC на F4. Проблема в том, что SPI1_NSS и SPI3_NSS могут находиться на ногах и взаимозаменяемы PA4 и PA15, в тоже время DAC2 находится на ноге PA4. Для работы системы управления лабораторного стенда импульсного преобразователя требуется генерация синусоиды и пилы на 1ом и втором DAC соответственно, а также управления 3мя цифровыми потенциометрами AD5260 по 4х проводному SPI. В итоге получается, что один SPI будет без NSS, так как DAC занял ногу PA4. Для выбора всех используемых ног контроллера использовал фирменную утилиту Microxplorer от ST. Можно ли как-нибудь обойти данное ограничение или нужно переделать схему и убрать оттуда один SPI, сделав организацию регулирования параметра как-то по другому? 
11 года 4 мес. назад #3665 от Денис Ягов
Денис Ягов ответил в теме Re: SPI и DAC в STM32F4 Discovery
Настроить SPI с совтовым управлением NSS. Примерно так:

/*!< SPI configuration */
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4;

SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
SPI_InitStructure.SPI_CRCPolynomial = 7;
SPI_Init(sFLASH_SPI, &SPI_InitStructure);

/*!< Enable the sFLASH_SPI  */
SPI_Cmd(sFLASH_SPI, ENABLE);


Выводы NSS - брать с любых свободных портов. Управлять вручную.
Время создания страницы: 0.039 секунд
Работает на Kunena форум