Skip to content
README.md 5.19 KiB
Newer Older
f4grx's avatar
f4grx committed
Circuit board for hn70ap
========================

This folder contains the schematic of the KiCAD board used by the hn70ap
project.
f4grx's avatar
f4grx committed

It is released under the CERN OHL.

The project is completely standalone, it does not depend on ANY external
schematic library.
f4grx's avatar
f4grx committed
To open it you need kicad version 4.0.7.
f4grx's avatar
f4grx committed
Enclosure
=========
Any enclosure that can host a 80x100mm PCBs with connectors on both 100mm
sides is usable, for example a slotted extrusion box. I am using a
Multicomp MCREBS80 box from Farnell.

f4grx's avatar
f4grx committed
Power supply
============
 * Input via Anderson PowerPole for standard 13.8V ham
 * LTC3646 Creates a 5V 1A rail
 * Each component (radios, CPU, ethernet) has a ferrite bead then big storage
capacitor followed bu 3V3 LDO. Radios can reach 100mA each, Ethernet is max
40 mA, CPU is much lower.
 * When using the RF4463 1W module instead of the RFM26, we need a clean 5V
regulated with a LDO, so the LTC is configured for 5.5V instead.
f4grx's avatar
f4grx committed
 
Clocks
======
 * Ethernet PHY has a 25 MHx XTAL that gets doubled in the PHY to generate the
RMII reference clock
 * SI4463 has a 30 MHz XTAL for its own use, but a footprint is available for a
5x3.2mm TCXO via an UFL, which can also be used to feed an external reference.
 * CPU HSE is connected to a 20 MHz xtal to reach its max clock speed of 180 MHz
with correct accuracy
f4grx's avatar
f4grx committed
 * CPU 32 kHz clock is connected to a cylindrical watch xtal
Another design that I know has the 25 MHz xtal on the cpu, then feeds a 25 MHz
MCO line to the PHY, which doubles it and feeds it back to the RMII clock input.
f4grx's avatar
f4grx committed
Weird CPU delay loop calculations, long RF lines, not good.
f4grx's avatar
f4grx committed

CPU peripheral connections
==========================

Ethernet
--------

The STM32 Ethernet Peripheral is connected to a KSZ8081RNA PHY via RMII. 50 MHz
RMII Clocking is provided via a 25 MHz XTAL doubled by the PHY.
f4grx's avatar
f4grx committed

f4grx's avatar
f4grx committed
```
RX0    PC4/33
RX1    PC5/34
CRSDV  PA7/32
TX0    PB12/51
TX1    PB13/52
TXEN   PB11/48
REFCLK PA1/24
IRQ    PE12/43
MDIO   PA2/25
MDC    PC1/16
```

f4grx's avatar
f4grx committed
Some GPIOs are used to indicate the link status and reset the PHY:

f4grx's avatar
f4grx committed
```
f4grx's avatar
f4grx committed
MAC_LINK PD8/55 Open Drain for a LED
f4grx's avatar
f4grx committed
MAC_RST  PB0/35
```

Debug UART
----------
This uart is used to display the NuttX console. It is connected to UART4 (not an
USART). It runs at 230400 bauds, 8N1. The FTDI chip is powered via USB only, so
UART LEDs are not powered when USB is not connected.
f4grx's avatar
f4grx committed

```
TXD4  PC10/78
RXD4  PC11/79
```

SPI Flash
---------
This memory is used to store the firmware update to be programmed by the
bootloader, and a flash filesystem for file storage. It is connected to bus
SPI2.

NuttX creates two partitions on it:
* a 2 MB partition for firmware updates
* a 6 MB partition for data storage
f4grx's avatar
f4grx committed

f4grx's avatar
f4grx committed
```
MOSI2  PB15/54
MISO2  PB14/53
SCLK2  PB10/47 via pin PD10/57 to help routing
CS     PA9/68
```

I2C EEPROM
----------
This memory stores the Ethernet MAC address and generic non volatile parameters
that must survive reset. The device is connected to I2C3. The I2C bus is also
available on a pin header, can be used to add some daugterboards. The pinout is
compatible with standard I2C OLED screens based on the SSD1306 controller. Some
configurations enable support for this screen so debug information can be
displayed.
f4grx's avatar
f4grx committed

f4grx's avatar
f4grx committed
```
SDA3  PC9/66
SCL3  PA8/67
```

Main radio transceiver
----------------------
The main radio transceiver is a si4463 with separate TX and RX signals along
with commutation signals in the form of 5V DC bias on the RF lines. It can be
connected to external RF hardware (LNA/PA/Switch). Using BOM components, it is
RF matched for the 430-440 MHz frequency band, but you can tweak components for
any frequency of your choice (have a look at Silabs app notes). The device is
connected to SPI4.
f4grx's avatar
f4grx committed

f4grx's avatar
f4grx committed
```
MOSI4  PE6/5
MISO4  PE5/4
SCLK4  PE2/1
CS     PE4/3
IRQ    PC13/7
f4grx's avatar
f4grx committed
SDN    PE3/2 Used to reset the chips in a clean way
f4grx's avatar
f4grx committed
Auxiliary radio transceiver
f4grx's avatar
f4grx committed
---------------------------
The auxiliary radio transceiver is either an off-the-shelf RFM26W from HopeRF
(20 dBm output power) or a RF4463F30 (high power, 30 dBm). These are also based
on the Silabs si4463. The matching is on-board and there are several frequency
bands available. The device shares the same SPI4 bus as the main transceiver.
SDN line is shared with the main transceiver, IRQs are separate.
f4grx's avatar
f4grx committed

f4grx's avatar
f4grx committed
```
CS    PA3/26
IRQ   PA6/31
f4grx's avatar
f4grx committed
```
f4grx's avatar
f4grx committed

f4grx's avatar
f4grx committed
Power supply
------------
The switching regulator provides a PGOOD output that is asserted while the
output voltage is within a 5% tolerance. This can be used to prevent writes to
the external SP flash if the power is about to fail.
f4grx's avatar
f4grx committed

f4grx's avatar
f4grx committed
```
PGOOD  PC0/15
```

LEDs
----
Informative LEDs are available. They are connected to the supply voltage and
their GPIO pins are configured as open drain, except for the bicolor LED.
Signification of external LEDs may change in the future.
f4grx's avatar
f4grx committed

f4grx's avatar
f4grx committed
```
f4grx's avatar
f4grx committed
LED1  (D301, Panel)    PB9/96 + PE0/97 (Bicolor Green/Red - Status)
LED2  (D302, Panel)    PB8/95 (Blue - Clients connected)
LED3  (D303, Panel)    PB7/93 (Orange - Transmit)
LED4  (D304, Panel)    PB6/92 (Green - Receive)
LED5  (D305, Internal) PD15/62 (Ay color - Heartbeat)
LED6  (D306, Internal) PD11/58 (Any color - CPU Activity)
LED7  (D401, Internal) ---     (Any color - FTDI TX)
LED8  (D402, Internal) ---     (Any color - FTDI RX)
f4grx's avatar
f4grx committed
LED9  (J201, Ethernet) ---     (Ethernet activity)
f4grx's avatar
f4grx committed
LED10 (J201, Ethernet) PD8/55  (Ethernet link status)