OpenTag can be ported to many kinds of radios. In this case, a “radio” is a two-way device (a transceiver) that supports at least RSSI, Preamble+Sync-word-based listening, and some type of binary data modulation. Most radios that OpenTag will ever use support an register-based SoC interface or some type of SPI-style interface.
It is possible to write a driver for almost any type of radio, even the most rudimentary devices. However, given the large availability of low-cost, sophisticated silicon radios, these are the expected targets. Below is a list of basic, practical requirements that enable OpenTag to work nicely with the chosen radio platform.
|Packet Support||Preamble + Sync Word + Payload|
|Data Bufferring||Internal FIFO for RX/TX, at least 16 bytes|
|Data Interface||Register-based, with serial databus or direct memory access|
|IRQ Interface||At least 2 IRQ sources to signal radio events (e.g. sync-word detected)|
|RSSI||RSSI reporting with 3dB resolution or better|
As you may know, OpenTag is designed primarily to work with DASH7 Mode 2, so the best performance will be achieved when assuring that the radio also meets DASH7 Mode 2 requirements.
|Spectrum||Supports 433.05 - 434.79 MHz band|
|Modulation||Supports filtered-FSK (typically GFSK) with +/-50 kHz Fdev|
|Data Rate||Supports 55.55 kbps and 200 kbps|
|Preamble||Configurable length between at 4-8 bytes, and 10101010… data usage|
|Sync Word||Supports 16 bit sync word with PQI or 24 bit sync word without PQI|
|Normal Packet Mode||256 Byte frame with length byte as byte 0|
|Multiframe Packet Mode||Ability to support packets up to 65536 (theoretically) in length|
|Interrupt Sources||Chip Ready, Carrier Sense, Clear Channel Sense, Sync Word Detected, Buffer Low, Buffer High, Buffer Empty, Packet Done, Error|
|CC110x||TI||Active||Sub 1 GHz radio with full feature support|
|CC430||TI||Active||Part of CC430 SoC, full feature support except CRC & FEC|
|MLX73xxx||Melexis||Preliminary||Sub 1 GHz radio family with full feature support except FEC|
|SPIRIT1||ST||Active||Sub 1 GHz radio with full feature support|
|SX1212||Semtech||Active||433 MHz radio with support for low-rate channels (55.55 kbps), and very low power RX|
|SX1231||Semtech||Active||Sub 1 GHz radio family with full feature support except CRC & data encoding|
Here is an inexhaustive list of radios that should be able to work nicely with OpenTag, and thus might be supported in the future. If there are others you know about, please contact JP. Alternatively, join the wiki and add a row (keep in alphabetical order please).
|ADF7023||ADI||Active||Sub 1 GHz radio, should support most features, uncertain about preamble|
|ADuCRF101||ADI||Active||SiP combining ADF7023 and an ARM Cortex M3 MCU|
|ERF4 Draco||Energy Micro||Preliminary||433 MHz SoC or radio core component – should support most or all features|
|SX1282||Semtech||Active||SoC combining SX1212 radio and a CoolRISC MCU.|
GNU Radio provides cost-effective method of testing radio transceiver. See testing_with_gnuradio.