Нет обратной связи от SPI MOSI, я делаю что-то не так? - PullRequest
0 голосов
/ 23 апреля 2020

ОБНОВЛЕНИЕ: в беспорядке проводов я случайно не подключил мой провод мисо, поэтому я читал только случайные импульсы.

Я работаю с системным чипом, который говорит по SPI, я был возникли проблемы при получении сообщения и он хотел бы получить второе мнение о том, не соответствует ли моя установка спецификациям производителя.

Я использую полный дуплекс SPI stm32f4 с включением и выключением gpio в качестве csn. из того, что я вижу на листе данных, spi настроен на РЕЖИМ 1, с часами <5 МГц (им при 1,25) и где время до и после того, как csn опускается низко и высоко, должно быть больше 250 нс (что я я измерил) </p>

У меня такое ощущение, что моя интерпретация их кода ardiuno -> hal_library может быть неправильной

Мои настройки для этой библиотеки (каждый раз, когда я вызываю функцию, она использует библиотеку hal_spi для отправить его соответственно)

/* ================================================================================ */
/* =======================   SPI communication functions     ====================== */
/* ================================================================================ */ 



uint8_t SBC_SPI_INIT(void) {
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, 1);
    return 0;
}



uint16_t SBC_SPI_TRANSFER16(uint8_t Upper, uint8_t Lower) {

    Tx16SPI_Buffer= (Upper<<8) | Lower;

    TxSPI_Buffer[0]=Upper;
    TxSPI_Buffer[1]=Lower;

    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, 0);

    HAL_SPI_TransmitReceive(&hspi1, TxSPI_Buffer , RxSPI_Buffer, 1, 200);

    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, 1);
    Rx16SPI_Buffer= RxSPI_Buffer[0]<<8 | RxSPI_Buffer[1];

return Rx16SPI_Buffer;

}

Мои настройки:

CubeMX setup

мой код и их код рекомендации (с использованием ardiuno); я уже настроил свой spi перед вызовом init, поэтому мне нужно только вернуть 0; MycodeVtheirs

Это то, что я получаю 1 сигнал из многих, результаты для других на боковой панели: RESULTS + text miso/mosi results

Спи-спецификации следующие: SPI clk, csn, mosi & miso image

Timing diagram

и иногда, когда я получаю такой ключ, я получаю такой короткий пинг от MOSI (все еще 0x00), когда в другой раз я получаю прямой 0x00 enter image description here

...