- Главная
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры
- SPI и DAC в STM32F4 Discovery
SPI и DAC в STM32F4 Discovery
- bootsa
- Автор темы
- Посетитель
11 года 11 мес. назад #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, сделав организацию регулирования параметра как-то по другому?
Возник вопрос по поводу совместной работы всех 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 года 11 мес. назад #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 - брать с любых свободных портов. Управлять вручную.
/*!< 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.038 секунд