Mainboard¶
This document describes the design consideration, implementation details, and board interface details for the sensor mainboard. A block diagram is presented and each component is discussed in detail.
Relevant Hardware Versions¶
AMDS REV D
Application / Purpose¶
The mainboard is specifically designed to interface directly to the GPIO expansion port on the AMDC.
Features¶
Can connect up to 8 sensor cards.
Can communicate with an external controller (like AMDC). An external controller can obtain the measurement results and also is allowed to control the digital conversion process.
Robust differential IO communication is used to transmit sensor data to an external controller.
High throughput of up to 1 MSPS (depending on ADC device on sensor cards).
Block Diagram and SPI Connection Configuration¶
The eight sensor cards transmit data to the STM32 MCU using standard SPI protocol. The sensor cards are grouped into four pairs of daisy chain connections. See the following block diagram.
The sensor cards can be connected in daisy chain pair configuration (D) or single SPI configuration (S). The daisy chain configuration will have a throughput of 500 kSPS. If the number of sensor cards is less than or equal to four, then a single SPI configuration can be used to get higher throughput. This single SPI configuration will have a throughput of 1 MSPS. The configuration can be changed using jumpers (P9, P10, P15, P16) as shown in the following figure.
External Connections¶
There are two interfacing DB-15 connectors on the measurement board. The first connector is used for interfacing with the controller (the AMDC driver) via differential I/O. The second connector is intended to connect to an external expansion for the AMDS, and is connected back to the GPIO port of the MCU on the AMDS mainboard.
DB15 Connector 1: AMDC Link (connects to a GPIO port on the AMDC)¶
Pin number |
Signal name |
Voltage level |
Protocol |
---|---|---|---|
1 |
5V_IN |
5V |
- |
2 |
DATA0_P |
5V |
Differential IO |
3 |
DATA0_N |
5V |
Differential IO |
4 |
DATA1_P |
5V |
Differential IO |
5 |
DATA1_N |
5V |
Differential IO |
6 |
NC |
- |
- |
7 |
isoSPI2_P |
5V |
IsoSPI |
8 |
isoSPI2_N |
5V |
IsoSPI |
9 |
isoSPI3_P |
5V |
IsoSPI |
10 |
isoSPI3_N |
5V |
IsoSPI |
11 |
GND |
- |
- |
12 |
SYNC_ADC_P |
5V |
Differential IO |
13 |
SYNC_ADC_N |
5V |
Differential IO |
14 |
SYNC_TX_P |
5V |
Differential IO |
15 |
SYNC_TX_N |
5V |
Differential IO |
NOTE: The IsoSPI interface on pins 7-10 is a legacy interface and is not used. Only the differential I/O pins are used for signals between the AMDC and AMDS.
DB15 Connector 2: AMDS GPIO Link¶
Pin number |
Signal name |
Voltage level |
---|---|---|
1 |
3V3 |
3.3V |
2 |
GPIO_1 |
3.3V |
3 |
GPIO_2 |
3.3V |
4 |
GPIO_3 |
3.3V |
5 |
GPIO_4 |
3.3V |
6 |
GPIO_5 |
3.3V |
7 |
GPIO_6 |
3.3V |
8 |
GPIO_7 |
3.3V |
9 |
GPIO_8 |
3.3V |
10 |
GPIO_9 |
3.3V |
11 |
GPIO_10 |
3.3V |
12 |
GPIO_11 |
3.3V |
13 |
GPIO_12 |
3.3V |
14 |
GND |
- |
15 |
GND |
- |
Implementation details of IsoSPI and Differential IO is described later in the document.
Systems on Board¶
Per the block diagram above, the mainboard is made of several systems, as explained below.
STM32F7 Microcontroller¶
STM32F7 microcontroller is used as an interface between the sensor card and an external controller. This MCU has a core ARM 32-bit Cortex M7 CPU. This IC can operate at a supply voltage of 1.7 V to 3.6 V. JTAG / SWD interface is used for debugging and programming the MCU. It has 6 SPIs which is used for sensor card and AMDC isoSPI interfaces. The maximum speed of the MCU SPI interface is 54 Mbps. It has 4 USART with a maximum baud rate of 26 Mbps, which are used to transmit sensor card data to the AMDC. GPIO pins of the MCU can be accessed using GPIO connector. More information on this MCU can be found here.
Differential IO Isolated Transceiver¶
The MCU transmits sensor data via USART communication. These USART signals are converted to differential IO using differential transceiver ISO3086T. Differential IO has the ability to communicate over long distances and at faster communication rate compared to standard USART. This IC has an in-built isolation barrier. A signaling rate of up to 20 Mbps is obtained from this IC. The operating voltage is provided in the following table.
Parameter |
Conditions |
MIN |
MAX |
---|---|---|---|
Supply voltage VCC2 (Bus-side) |
4.5 V |
5.5 V |
|
IO supply voltage VCC1 (UART side) |
3.3V operation |
3 V |
3.6 V |
IO supply voltage VCC1 (UART side) |
5V operation |
4.5 V |
5 V |
The maximum supply current consumed by the IC including to drive currents for differential lines is 60 mA, which corresponds to 300 mW for 5 V supply.
IsoSPI Communication Interface¶
The isoSPI communication interface is implemented using LTC6820. This IC provides a bi-directional interface between standard SPI signals and differential pulses. The operating conditions are provided in the following table.
Parameter |
Conditions |
MIN |
MAX |
---|---|---|---|
Supply voltage VDD (Differential side) |
2.7 V |
5.5 V |
|
IO supply voltage VDDS (SPI side) |
1.7 V |
5.5 V |
|
High-level input voltage |
VDDS = 2.7V to 5V |
0.7 VDDS |
VDDS |
High-level input voltage |
VDDS = 1.7V to 2.7V |
0.8 VDDS |
VDDS |
Low-level input voltage |
VDDS = 2.7V to 5V |
0 |
0.3 VDDS |
Low-level input voltage |
VDDS = 1.7V to 2.7V |
0 |
0.2 VDDS |
This IC can operate at a maximum SPI communication speed of 1 Mbps. The bias resistors (RB1
and RB2
) are used to adjust the drive currents to the differential lines. These resistors are selected such that the drive currents are set at 10 mA. These resistors are on the schematic, see the following figure.
The maximum supply current consumed by the IC including to drive currents for differential lines is 17 mA, which corresponds to 85 mW for 5 V supply.
IsoSPI Isolation Transformer¶
A transformer is required for implementing isoSPI. This will provide an isolation barrier to the differential SPI signals. This is implemented by adding pulse transformer HX1188NLT, which has 1:1 turns ratio. More information on the pulse transformer is found in the datasheet.
Sensor Card Interface¶
In order to design a daugter card, the interface information provided in this section will be useful. Each sensor card slot has two headers, where the sensor card can be plugged in. See the following figure.
One header is used to supply power to the cards and the other header is used for SPI interface.
Header 1: Power Supply¶
Pin number |
Signal name |
---|---|
1 |
+15V |
2 |
GND |
3 |
-15V |
Header 2: SPI interface¶
Pin number |
Signal name |
---|---|
1 |
5V |
2 |
3V3 |
3 |
GND |
4 |
DIN (ADC IN, MOSI) |
5 |
SCLK |
6 |
DOUT (ADC OUT, MISO) |
7 |
CONVST (Conversion start) |
For information regarding the placement of the headers, refer to the mainboard PCB Altium file in the AMDS repo located: /Mainboard/altium/SensorMotherBoard.PcbDoc
.
For more information on designing a sensor card, refer the sensor card documentation.