Это нужно для того, чтобы шина не подвисала до окончания таймаута, ожидая ответа от слэйва, когда к нему по каким-то причинам пришла некорректная команда и он её проигнорировал.
Не могли бы раскрыть подробнее? Насколько я понимаю, поводов для подвисания там вроде присутствовать не должно, т.к. шина всегда притянута вверх или вниз мастером или слейвом.
А зачем вам мегагерц? На вашем же скрине написано, что тактовая может быть от 32 кГц.
В статье я и не утверждаю, что целюсь в такие скорости. Однако, поскольку информации в интернете по данному интерфейсу особо нет, на момент реализации, я старался с запасом попасть в требуемые RFFE параметры. Чтобы исключить лишние неопределённости. Потому старался добиться максимальных скоростей тактирования на шину.
Добиться ровного и стабильного тактирования на скорости в 1МГц и более не вышло.
Про DMA идея отличная, на момент реализации, почему-то, для себя выбрал реализацию с таймером. Собственно, на лучшую реализацию не претендую. Главное, что стабильно работает.
Что касается измерений на линии SCLK, как будет момент, постараюсь перепроверить для STM32F411CEU6. Активная работа над реализацией была давненько, что-то мог упустить) Однако точно помню, что на AT32F413KCU7-4 тайминги точно укладывались в спецификацию интерфейса.
Самое обидное, что в I2C у тебя хотя бы есть механизм ACK/NACK. У RFFE устройств такого нет. И сиди гадай, ты не прав, или все же микросхема. А она просто молчать будет до победного.
Добрый день, спасибо за комментарий
Не могли бы раскрыть подробнее? Насколько я понимаю, поводов для подвисания там вроде присутствовать не должно, т.к. шина всегда притянута вверх или вниз мастером или слейвом.
В статье я и не утверждаю, что целюсь в такие скорости. Однако, поскольку информации в интернете по данному интерфейсу особо нет, на момент реализации, я старался с запасом попасть в требуемые RFFE параметры. Чтобы исключить лишние неопределённости. Потому старался добиться максимальных скоростей тактирования на шину.
Добиться ровного и стабильного тактирования на скорости в 1МГц и более не вышло.
Спасибо за комментарий. Рад, что было интересно)
Про DMA идея отличная, на момент реализации, почему-то, для себя выбрал реализацию с таймером. Собственно, на лучшую реализацию не претендую. Главное, что стабильно работает.
Что касается измерений на линии SCLK, как будет момент, постараюсь перепроверить для STM32F411CEU6. Активная работа над реализацией была давненько, что-то мог упустить) Однако точно помню, что на AT32F413KCU7-4 тайминги точно укладывались в спецификацию интерфейса.
Самое обидное, что в I2C у тебя хотя бы есть механизм ACK/NACK. У RFFE устройств такого нет. И сиди гадай, ты не прав, или все же микросхема. А она просто молчать будет до победного.