123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- digraph G {
- newrank=true;
- overlap=false;
- splines=ortho;
- node [shape=box fillcolor=white style=filled fontname="Inter" width=1 target="_top"];
- edge [arrowsize="0.5"];
- rankdir=TB;
- fontname="Inter";
- label=<<font point-size='24'> <br/>MNT Reform 2.0D-4 System Diagram<br/> </font>>;
- labelloc="t";
- rtc [label="Realtime\nClock" href="system.html#rtc"];
- rtcbat [label="Coin Cell" href="system.html#rtc"];
-
- subgraph cluster_som {
- fontname="Inter";
- color=lightgrey;
- label=<<br/><b>System on Module</b>>;
- labelloc="t";
- margin="25.0";
-
- style=filled;
-
- subgraph cluster_soc {
- fontname="Inter";
- color=white;
- label=<<br/>System on Chip (i.MX8M)>;
- labelloc="t";
- margin="25.0";
-
- dsi [label="MIPI DSI" href="system.html#mipi-dsi"];
- hdmi [label="HDMI" href="system.html#hdmi"];
- sai [label="SAI" href="system.html#sai"];
- i2c0 [label="I2C 1" href="system.html#i2c"];
-
- usb0 [label="USB3 Root 1" href="system.html#usb3"];
- usb1 [label="USB3 Root 2" href="system.html#usb3"];
- ddrc [label="DDRC" href="system.html#ddrc"];
- sd1 [label="MMC/SD1" href="system.html#mmc"];
- sd2 [label="MMC/SD2" href="system.html#mmc"];
-
- uart1 [label="UART 2" href="system.html#uart"];
- pcie0 [label="PCIe 1" href="system.html#pcie"];
- pcie1 [label="PCIe 2" href="system.html#pcie"];
- uart0 [label="UART 1" href="system.html#uart"];
-
- //uart2 [label="UART 3"];
-
- pwm [label="PWM" href="system.html#pwm"];
-
- ethmac [label="ETH MAC" href="system.html#eth-mac"];
- cpu0 [label="Cortex-A53" href="system.html#cortex-a53"];
- cpu1 [label="Cortex-M4F" href="system.html#cortex-m4f"];
- gpu [label="GPU GC7000L" href="system.html#gpu"];
-
- i2c1 [label="I2C 2" href="system.html#i2c"];
- spi1 [label="SPI" href="system.html#spi"];
- }
- ram [label="LPDDR4\nRAM 4GB" href="system.html#ddrc"];
- emmc [label="eMMC\n~8GB" href="system.html#mmc"];
-
- ethphy [label="ETH PHY" href="system.html#eth-phy"];
-
- s5v [label="5V Input"];
- }
-
- hub [label="USB Hub" href="system.html#usb-hub"];
-
- adac [label="DAC WM8960" href="system.html#dac"];
- dsi2edp [label="DSI to eDP\nConverter" href="system.html#dsi2edp"];
- subgraph cluster_headers {
- fontname="Inter"
- labelloc="b";
- margin="25.0";
- color=lightgrey;
- style=filled;
- label=<<b>Internal Ports</b><br/> >;
- iuart0 [label="UART1" href="system.html#uart"];
- iuart1 [label="UART2\nConsole" href="system.html#uart"];
- iusb0 [label="IUSB1" href="system.html#usb3"];
- iusb1 [label="IUSB2" href="system.html#usb3"];
- impcie [label="mPCIe Slot" href="system.html#pcie"];
- im2 [label="M.2 Slot\nKey M" href="system.html#pcie"];
- }
-
- subgraph cluster_power {
- fontname="Inter"
- label=<<b>Power</b><br/> >;
- labelloc="b";
- color=lightgrey;
- style=filled;
- margin="25.0";
-
- subgraph cluster_system_control {
- fontname="Inter"
- label="System Control\n ";
- labelloc="b";
- color=white;
- style=filled;
- margin="25.0";
-
- lpc [label="MCU LPC11U24" width=4 href="system.html#lpc"];
- ina [label="Current &\nVoltage Monitor" href="system.html#ina"];
-
- ltc [label="Buck/Boost\nDC-DC and Charger" href="system.html#ltc4020"];
- mon [label="Cell Monitor\nBalancer" href="system.html#balancer"];
-
- lspi [label="SPI" shape=diamond fillcolor=lightgrey href="system.html#spi"];
- li2c [label="I2C" shape=diamond fillcolor=lightgrey href="system.html#i2c"];
-
- cells [label="8x LiFePO4 18650 Batteries" shape=rectangle href="system.html#cells"];
- supply [label="24V Power Supply\nfrom Barrel Jack" shape=rectangle href="system.html#barreljack"];
-
- enabchg [label="Charge On" shape=diamond fillcolor=lightgrey href="system.html#lpc"];
- enab5v [label="On" shape=diamond fillcolor=lightgrey href="system.html#lpc"];
- enab3v3 [label="On" shape=diamond fillcolor=lightgrey href="system.html#lpc"];
- }
- subgraph cluster_power_rails {
- fontname="Inter"
- label="Power Rails\n ";
- color=white;
- style=filled;
- margin="25.0";
-
- r28v [label="~28V" shape=diamond fillcolor=lightgrey];
- stby [label="3V3 Standby" href="system.html#standby"];
- r5v [label="5V" width=1.1 href="system.html#r5v"];
- r3v3 [label="3V3" href="system.html#r3v3"];
-
- r1v2 [label="1V2" width=0.5 href="system.html#r1v2"];
- r1v5 [label="1V5" width=0.5 href="system.html#r1v5"];
- r1v8 [label="1V8" width=0.5 href="system.html#r1v8"];
- }
- }
- subgraph cluster_ports {
- fontname="Inter"
- label=<<b>External Ports</b><br/> >;
- labelloc="b";
- margin="25.0";
- color=lightgrey;
- style=filled;
-
- pusb3 [label="USB3 Port 3" href="system.html#usb3"];
- pusb2 [label="USB3 Port 2" href="system.html#usb3"];
- pusb1 [label="USB3 Port 1" href="system.html#usb3"];
- pbarrel [label="Barrel Jack" href="system.html#barreljack"];
-
- phdmi [label="HDMI Port" href="system.html#hdmi"];
- psdcard [label="SD Card Slot" href="system.html#mmc"];
- peth [label="1G Ethernet Port" href="system.html#eth-mac"];
- paudio [label="Headphone &\nMic Jack" href="system.html#audiojack"];
- }
- lshift [label="Level Shifter" href="system.html#mmc"];
-
- //refclk [label="PCIe Clock Generator"];
-
-
- subgraph cluster_hmi {
- fontname="Inter"
- color=lightgrey;
- style=filled;
- label=<<b>Human Machine Interface</b><br/> >;
- labelloc="b";
- margin="25.0";
-
- subgraph cluster_screen {
- fontname="Inter"
- color=white;
- style=filled;
- label="Screen Assembly\n ";
- margin="25.0";
- panel [label="12.5\" 1920x1080\nIPS Panel" href="system.html#panel"];
- backlight [label="Backlight" href="system.html#panel"];
- speakers [label="Stereo\nSpeakers" href="system.html#speakers"];
- }
-
- subgraph cluster_trackball {
- fontname="Inter"
- color=white;
- style=filled;
- label="Trackball\n ";
- margin="25.0";
-
- tmcu [label="MCU Atmega32U2" width=3 href="system.html#tbctrl"];
- tsens [label="Motion Sensor" href="system.html#tbsensor"];
-
- ti2c [label="I2C" shape=diamond fillcolor=lightgrey href="system.html#i2c"];
- tgpio [label="GPIO" shape=diamond fillcolor=lightgrey href="system.html#tbctrl"];
- tkeys [label="5 Buttons" href="system.html#kbkeys"];
- }
- subgraph cluster_keyboard {
- fontname="Inter"
- color=white;
- style=filled;
- label="Keyboard\n ";
- margin="25.0";
-
- kmcu [label="MCU Atmega32U4" width=3 href="system.html#kbctrl"];
- oled [label="OLED Display 128x32" href="system.html#oled"];
-
- ki2c [label="I2C" shape=diamond fillcolor=lightgrey href="system.html#i2c"];
- kuart [label="UART" shape=diamond fillcolor=lightgrey href="system.html#kbctrl"];
- kgpio [label="GPIO" shape=diamond fillcolor=lightgrey href="system.html#kbctrl"];
- kkeys [label="Key Matrix" href="system.html#kbkeys"];
- }
- }
- { rank=same; ddrc, cpu0, cpu1, gpu }
-
- { rank=same; kmcu, tmcu, lpc, panel }
- { rank=same; ltc, mon, ina }
- { rank=same; enab5v, enab3v3, cells, supply }
-
- { rank=same; iusb0, iusb1, iuart0, iuart1, impcie, im2, paudio}
-
- { rank=same; usb0, usb1, ethphy, rtc, i2c1 }
- { rank=same; adac, dsi2edp }
- { rank=same; spi1, i2c0, pwm }
- { rank=same; hdmi, ethmac, emmc }
- { rank=same; peth, hub, pusb3 }
-
- { rank=same; phdmi, psdcard, pbarrel }
-
-
- // power signals
-
- lpc -> lspi -> mon [arrowhead=none];
- lpc -> li2c -> ina [arrowhead=none];
- lpc -> enabchg -> ltc;
-
- mon -> cells [arrowhead=none];
- ina -> cells [arrowhead=none];
-
- ltc -> cells [arrowhead=none,color=red];
- supply -> ltc [arrowhead=none,color=red];
- lpc -> enab5v -> r5v;
- lpc -> enab3v3 -> r3v3;
- // power
-
- r28v -> r5v [color=red];
- r28v -> r3v3 [color=red];
- r28v -> stby [color=red];
- r5v -> r1v2 [color=red];
- r5v -> r1v5 [color=red];
- r3v3 -> r1v8 [color=red];
- ltc -> r28v [color=red];
- cells -> r28v [color=invis];
- rtcbat -> rtc [arrowhead=none,color=red];
-
- stby -> lpc [color=red,constraint=false];
- stby -> kmcu [color=red,constraint=false];
- // soc/som signals, external ports
- usb1 -> hub [arrowhead=none];
- hub -> pusb1 [arrowhead=none];
- hub -> pusb2 [arrowhead=none];
- usb0 -> pusb3 [arrowhead=none];
- hdmi -> phdmi [arrowhead=none];
- sd2 -> lshift -> psdcard [arrowhead=none];
- ethmac -> ethphy -> peth [arrowhead=none];
- sai -> adac [arrowhead=none];
-
- ddrc -> ram [arrowhead=none];
- sd1 -> emmc [arrowhead=none];
- r5v -> s5v [color=red constraint=false];
- // internal ports
- pcie0 -> impcie [arrowhead=none];
- pcie1 -> im2 [arrowhead=none];
- uart0 -> iuart0 [arrowhead=none];
- uart1 -> iuart1 [arrowhead=none];
- hub -> iusb1 [arrowhead=none];
- hub -> iusb0 [arrowhead=none];
- iusb0 -> kmcu [arrowhead=none];
- iusb1 -> tmcu [arrowhead=none];
- // trackball internal signals
- tmcu -> ti2c -> tsens [arrowhead=none];
- tmcu -> tgpio -> tkeys [arrowhead=none];
- // keyboard internal signals
-
- kmcu -> ki2c -> oled [arrowhead=none];
- kmcu -> kgpio -> kkeys [arrowhead=none];
- kmcu -> kuart -> lpc [arrowhead=none];
-
- i2c1 -> rtc [arrowhead=none];
- i2c0 -> adac [arrowhead=none];
- // uart2 -> lpc;
- spi1 -> lpc [arrowhead=none,constraint=false];
- // screen assembly
-
- dsi -> dsi2edp;
- dsi2edp -> panel;
- panel -> backlight [arrowhead=none];
- pwm -> backlight [constraint=false];
- adac -> speakers [arrowhead=none,style=dashed];
- adac -> paudio [arrowhead=none,style=dashed,constraint=false];
- }
|