Overview
Harware block diagram
The above block diagram gives a general overview regarding the operation of components. For better illustration it has been divided into four functional blocks. Furthermore, these functional blocks can be subdivided and will be explained below.
- Input Stage
DCC Signal Level Shift
Bridge Rectifier & Voltage Regulator
- Motor Driver
Motor Driver
Back EMF measurement (ADC)
- General Purpose
GPIO
Auxiliary output
- Microcontroller
Flash memory
Crystal oscillator
USB Connector
Electrical Characteristics
Parameter |
Symbol |
Minimum |
Maximum |
Unit |
|---|---|---|---|---|
Absolute max. DCC input voltage difference |
VDCC |
+24 |
V |
|
Absolute max. GPIO voltage(0) |
VPIN |
-0.5 |
3.3+0.5 |
V |
Input voltage high(0) |
VIH |
2.145 |
3.6 |
V |
Input voltage low(0) |
VIL |
0 |
1.155 |
V |
Total GPIO Current(0) |
IIOVDD |
50 |
mA |
|
Absolute max. motor output current(1) |
IMOTOR |
2.8 |
A |
|
Absolute max. auxiliary output current (2)(3) |
IAUX |
1.4 |
A |
(0): According to: RP2040 Datasheet (assuming VDD= 3.3V)
(1): According to: BDR6133 Datasheet
(2): According to: Si1308EDL Datasheet
(3): TCase= 25°C, keep power dissipation, thermal resistance the corresponding temperature rise ΔT and switching losses in PWM mode in mind!
Note
Keep in mind that realistically these maximum ratings can’t be reached in practice due to thermal limitations. For example the motor current can probably not exceed 1.5A for continuous operation.
Input Stage
Input stage
D2 Rectifies the DCC square-wave into VDC, the amplitude is not critical as long as it’s within the 25V limit. The rectified voltage VDC is then provided to the 3.3V voltage regulator and to the motor driver. The shottky diode D1 and the bridge rectifier D2 ensure a logical “or” linkage of the VBUS supply voltages and the DCC input voltage, meaning that the decoder can be powered either by the DCC track signal or by the VBUS supply voltage which is supplied via USB connector.
The MOSFET on the right effectively translates the rather high DCC voltage to a suitable level for the microcontroller to process. When Q1 is turned off GPIO21 is pulled high by the RP2040 internal pull-up resistor, as soon as Q1 gets turned on (VGS> VGS,th), GPIO21 gets pulled to GND potential. R1 and R2 ensure that VGSdoesn’t exceed ±12V.
Motor Driver
Motor driver
The Motor Driver is a special H-Bridge IC that is made for DC motors. To control the motor, it is necessary to measure the back-EMF voltage, which is directly related to the motor’s speed. This is done by the ADC, which measures at Points ADC_EMF_A and ADC_EMF_B. The two resistors work together as a voltage divider.
Auxiliary Outputs
Auxiliary Outputs
Switching of loads can be done using four N-Channel MOSFETs (Q2 to Q5). The amount of current is somewhat dependend on either static RDS(on) losses and/or switching losses using PWM. They are switching on the low-side, which means the load effectively gets connected to GND potential as the transistor starts to conduct. GPIO24 - GPIO27 are used.
GPIO
To switch lighter loads, six GPIO soldering pads are connected to GPIO0 to GPIO5 pins. Although not yet set up in the software, they could be used as inputs as well (e.g. reed switch). GPIO0 and GPIO1 can also be used to facilitate stdio logging via UART, which can easily be set up in CMakeLists.txt.
Microcontroller
Microcontroller, flash memory, crystal oscillator, USB connector, …
The Microcontroller needs a crystal oscillator for its clock. External flash memory holds the configuration variables and the program itself. The USB connector can be used to flash the software onto the decoder and also for logging via stdio (can be enabled via CMakeLists.txt). D3 is used as a status LED. R11 & C13 are used to filter ADC_AVDD (ADC Reference Voltage).
Complete Schematic
Complete Schematic
Wiring the Decoder
Wiring Diagram
The illustration above provides an example of a wiring configuration. It supports the connection of up to 4 transistor-switched outputs and 6 GPIOs for lighter loads or custom applications. When switching inductive loads, always include a free-wheeling diode to protect the circuit.