Есть ли подробные примеры Si4463?

Недавно я купил два чипа Si4463, но не не знаю, как их использовать. Это кажется сложным. Я хотел бы знать, есть ли примеры использования Si4463 с Arduino?

, 👍3

Обсуждение

попробуйте [это](https://github.com/Yveaux/RadioHead/tree/master/RadioHead), @ARK

@ARK Я только новичок в Arduino, знаете ли вы подробный курс о том, как использовать 4463?, @lanse7pty

@ARK В вашей сети есть много вещей, на самом деле я не знаю, что подходит и как это использовать., @lanse7pty

Библиотека QAPRS также на si4436 — пример маяка кадров Rado APRS, @Tom


4 ответа


Лучший ответ:

3

Похоже, этот чип используется в RFM24. Загляните в библиотеку RadioHead:

http://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF24.html

Обычно я использую одни и те же библиотеки для RFM69 (Semtech SX1231) с моим Whisper Node и работает нормально. Я ожидаю того же от RFM24.

Кстати, получить кремний и собрать радио может быть довольно сложно. Вы можете начать с Dev Kit или собранного модуля.

Кроме того, я не думаю, что HopeRF больше производит RFM24, не могу найти на их сайте (http://www.hoperf. com/rf_transceiver/). Если вам это нужно только для одного проекта и вы не собираетесь создавать из него продукт, возможно, лучше выбрать другой/более популярный вариант. Легче будет найти поддержку в Интернете.

,

4

Я просмотрел технические характеристики этого устройства и думаю, что это неправильный выбор устройства для новичка. Могу ли я предложить вам начать с рассмотрения относительно простого устройства с интерфейсом DPI, такого как датчик или RTC. Это научит вас основам отправки команд через библиотеку Wire. Вы даже можете освоить его, просто взглянув на существующие библиотеки.

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

void begin(void);
uint8_t read(const uint8_t& address);
void write (const uint8_t& address, const uint8_t& bytesOfData, const uint8_t* pData);

Вам нужно будет конкретизировать эти функции, вот и все. Если вы хотите сделать свою библиотеку более удобной, прочитайте таблицу данных и создайте функции-оболочки для каждого из регистров, к которым можно получить доступ.

// Эта инструкция требует 10 бут, распределенных по двум байтам.
void writeFrequencyOffset (const uint8_t& highByte, const uint8_t& lowByte)
{
  write (0x73, lowByte);
  write (0x74, highByte);
}

Процесс создания дружественных оболочек — утомительная операция, нужно просто прочитать лист данных и преобразовать его в код.

,

Рассматриваемая часть является периферийным устройством SPI, а не I2C, поэтому библиотека проводов не применяется., @Chris Stratton


1

Я нашел этот пример, который использует si4463 для создания маяка. Возможно, это поможет вам.

https://github.com/alexander-sholohov/si4463-beacon

,

1

Микросхема Si4463 от Silicon Labs — отличный коммуникационный чип с очень хорошей чувствительностью. Однако его встроенный MCU использует SPI в качестве интерфейса связи для связи с внешним микроконтроллером.

В таком модуле, как HC-12, микроконтроллер STM8SF103F3, запрограммированный на работу в качестве моста SPI-UART. Модули HC-12 позволяют управлять всеми внутренними функциями Si4463, даже используя команды AT+ для таких вещей, как настройка скорости передачи данных и мощности передачи. К сожалению, код, выполняющий соединение SPI и UART, является проприетарным, что ставит вас в невыгодное положение, если вы пытаетесь использовать чипы Si4463 для создания реального продукта.

Но, возможно, если вы приобрели что-то вроде модуля RFM26W или у вас просто есть базовая микросхема Si4463 для работы, вам нужно будет взаимодействовать с ней через контакты SPI. Следует отметить, что не существует стандартной библиотеки Arduino для связи с контактами SPI Si4463.

Работа с выводами SPI может немного усложниться, поскольку вы пытаетесь синхронизировать часовой механизм. Если вы хотите запачкать руки, вы можете пойти дальше и взглянуть на Si4463 и просмотрите временные параметры SPI на стр. 16.

К счастью, на GitHub есть проект библиотеки Si4463, который вы можете изучить и, возможно, изменить код в соответствии со своими потребностями.

Вот страница GitHub для библиотеки Si4463 Arduino, созданной zkemble:

https://github.com/zkemble/Si446x

Вот сообщение в блоге, где он объясняет это более подробно:

http://blog.zakkemble.net/si4463-radio-library-avr-arduino/

Вот документация для указанной библиотеки:

https://zkemble.github.io/Si446x/_si446x_8h.html

,