1
0
mirror of https://github.com/peterantypas/maiana.git synced 2025-05-28 05:10:40 -07:00
This commit is contained in:
Peter Antypas 2016-06-14 17:01:45 -07:00
parent 308da514a4
commit 72d91f75af

View File

@ -13,25 +13,34 @@ else if there is enough interest and participation.
### Hardware
On the hardware side, the design is based on two Silicon Labs 4463 transceiver ICs and an STM32F302CBT6 ARM Cortex M4 microcontroller.
One of the SiLabs ICs acts as a transceiver, while the other IC works as a receiver only. In receiver mode, each IC tunes to a different
channel. When a transmission is scheduled, the ICs swap channels if the transceiver is not listening on the next transmit channel. This configuration
may be construed as a violation of the AIS specification, but it makes for a much simpler PCB layout and negates the need for a 3-position RF switch.
The GPS is a GlobalTop "LadyBird" unit, but any decent GPS module with NMEA and PPS output should work.
The radio incorporates an external bandpass / LNA (NXP BGA2869) and a Skyworks 66100 front end (PA/switch).
The RF board incorporates an external bandpass / LNA (NXP BGA2869) and a Skyworks 66100 front end (PA/switch).
The transmitter output is nominally 0.5Watts (+27dBm) and it has a verified range of 5 nautical miles with a vanilla telescopic antenna (< 3dBi).
The circuit is powered entirely from a 5V connection (USB for now, but leaning against it long term). It draws 135 mA in RX mode,
and spikes up to 350 mA during transmission at full power. For persisting station data there is a 1Kbit Microchip EEPROM on board.
I intend to use a Raspberry Pi as the front end of the transceiver, as the unit is supposed to be mounted outside, directly connected to its own antenna.
The Pi will act as a source of power, a WiFi Access Point, a NMEA distributor and a web server for configuration and software updates. All communication between the transponder
and the Pi is done over a single serial port.
Persistent station data (MMSI, call sign, name, dimensions, etc) is stored on a 1Kbit EEPROM attached to I2C1. Remarkably, it works fine with the MCU's
internal pull-ups, but I updated the design to include external pull-up resistors on the SDA and SCL lines. The code should be modified if you choose to
install those.
The circuit is powered entirely from a 5V connection (USB for now, but leaning against it long term). It draws 135 mA in RX mode,
and spikes up to 350 mA during transmission at full power.
I intend to use a Raspberry Pi as the front end of the transceiver, as the unit is supposed to be mounted outside, directly connected to its own antenna.
The Pi will act as a source of power, a WiFi Access Point, a NMEA distributor and a web server for configuration and software updates. All communication between the transponder
and the Pi is done over a single serial port.
### Software
There are two programs that need to be installed on the flash. The bootloader and the main application. The bootloader is
optional, but it allows for software update via a very simple (albeit proprietary) serial protocol.
There are two programs that need to be installed on the flash. The [bootloader](bootloader/) and the main [application](application/).