Jonny review #1
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "main"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@johannes.strobel : This Review should be the other way round develop -> main, but the main branch is further, so I do it like that.
I will put in my comments, onto the release.
WIP review
@ -0,0 +55,4 @@<img src="images/Main_Pwr.jpg" width="600"></p>To see the location of the Jetson Nano (with the large heatsink), we remove the antenna mount and cooling cover just below the fan. The cover assists with airflow through the device and ensures air is pushed across the heat sink.Jetson Xavier NX (16GB)
It still reads "Jetson Nano"
The Jetson Nano is a very old module, we havent used that since before the first pearl orbs
You're right, looks like the commit didn't take. Should be fixed now
@ -0,0 +69,4 @@To start with, here is a full-system block diagram, color-coded by approximate function:<p align="center"><img src="images/BlockDiagramFunction2.jpeg" width="1200">can we use a vectorgraphic here ?
SVG or PDF
@ -0,0 +76,4 @@One of the most complex systems of the Orb is the power distribution network. Below we describe the main power supplies, EXCLUDING the dedicated ones for the security subsystem which will be covered in its own section.Since illuminating the eye sufficiently to capture the necessary detail requires a large amount of (pulsed) light and therefore energy, TFH designed their own battery pack to accommodate this requirement.Not entirely true, we did design the battery pack for the pearl orb but diamond battery (amber battery) was designed by highpower
@ -0,0 +78,4 @@Since illuminating the eye sufficiently to capture the necessary detail requires a large amount of (pulsed) light and therefore energy, TFH designed their own battery pack to accommodate this requirement.The battery is a custom Li-Ion pack consisting of 8x 18650 cells with 3.7V nominal voltage in a 2P4S configuration (14.8V) and a capacity of close to 100Wh. This voltage is transformed into several main rails that power other components:Its 3.6V per cell (nominal) which gives 14.4V
@ -0,0 +82,4 @@(**Note**: It is easier to follow the power tree description by consulting the architecture diagram. We recommend inspecting the diagram in parallel with reading the below descriptions.)- **+V_BAT** (**VBAT_SW** in the schematic): This rail is somewhat circular. In normal operation, it is generated directly from +VBAT. However, it can ALSO be supplied from the +12V_CAPS (which is generated from +17V_CAPS, which is charged from +V_BAT)This is a bit confusing. I would explain by splitting into two subpoints:
When battery is inserted: VBAT_SW is supplied from the battery. It can be disabled for powersaving (hence the suffix SWitched).
When the battery is removed: VBAT_SW is supplied by 12V_CAPS to keep the orb powerd for some time and allow a so called "gracefull shutdown", to avoid any damage to the components or corruped filesystem. (not sure if that should also be added here: “also the input of the 12V_CAPS converter is disconnected from the VBAT_SW net”)
Ah, I wondered if SW stood for software...
@ -0,0 +84,4 @@- **+V_BAT** (**VBAT_SW** in the schematic): This rail is somewhat circular. In normal operation, it is generated directly from +VBAT. However, it can ALSO be supplied from the +12V_CAPS (which is generated from +17V_CAPS, which is charged from +V_BAT)- **+12V_CAPS**: This rail is created from the +17V_CAPS rail, and is mainly used as a backup to +V_BAT in the case the main battery is removed but shutdown operations are not yet complete. It also supplies the stepper motors, the cooling fan and the liquid lens focusing.When battery is inserted: supplied from VBAT_SW
When the battery is removed: Supplyied from Supercapacitors 17V_CAPS, to keep the orb powerd for some time and allow a so called "gracefull shutdown", to avoid any damage to the components or corruped filesystem.
Decide if to put that comment to the VBAT description or here or to both.
@ -0,0 +88,4 @@- **+17V_CAPS**: These supercapacitors provide the instantaneous current required to run all of the IR illumination LEDs. It is derived from +V_BAT.- **PVCC (31V)**: Derived from +17V_CAPS, this is used to actually run the LEDs. Using 31V supercapacitors would be impractical due to size constraints, so the 17V rail is boosted as needed.31.5V if you want to be exact
@ -0,0 +90,4 @@- **PVCC (31V)**: Derived from +17V_CAPS, this is used to actually run the LEDs. Using 31V supercapacitors would be impractical due to size constraints, so the 17V rail is boosted as needed.- **5V**: Directly powers the Nvidia Jetson, stepper motor driver, polarizer motor. Switched down to several further rails:steppers are supplied by the 12V_CAPS, for the gimbal stepper controller 5V is only used for the controller internally (no need to mention, I would say)
You could mention the (UX + shroud illu) RGB LEDS on the frontunit
We should also mention that 12V_CAPS is supplied by the VBAT_SW when the battery is inserted and by 17V_CAPS when the battery is removed.
This was mentionend in one of the otter comments, I dont know why this is at the wrong line, though:
The option to supply it from VBAT_SW as well is, to allow to power it up even when the supercaps are not charged up.
@ -0,0 +91,4 @@- **PVCC (31V)**: Derived from +17V_CAPS, this is used to actually run the LEDs. Using 31V supercapacitors would be impractical due to size constraints, so the 17V rail is boosted as needed.- **5V**: Directly powers the Nvidia Jetson, stepper motor driver, polarizer motor. Switched down to several further rails:- **3.3V**: These power WiFi, LTE, SSD, NFC, motor drivers, ALS, temperature sensors, IR & thermal cameras and most glue logic (port expanders, comparators etc)not sure if we should mention there are dedicated switching converters for some of the functions.
Also there is basically a missnomer (from legacy): the 3V3_SSD with is used for the SD card now -> not sure if we should adjust or just keep it as is.
Not sure if we should mention that the cameras (except 2D TOF) have there internal LDO, so we dont get shit for supplying the cameras with a switching converter.
@ -0,0 +92,4 @@- **5V**: Directly powers the Nvidia Jetson, stepper motor driver, polarizer motor. Switched down to several further rails:- **3.3V**: These power WiFi, LTE, SSD, NFC, motor drivers, ALS, temperature sensors, IR & thermal cameras and most glue logic (port expanders, comparators etc)- **1.8V**: TPM module, RGB camera, 2D Time of Flightthere is no RGB cam, only RGB-IR, which is only taking 3V3 and generating all the voltages it needs on its own
Maybe you can add comunication interfaces going to the jetson, like audio amp, (I2C + triggers of the cameras)
@ -0,0 +94,4 @@- **3.3V**: These power WiFi, LTE, SSD, NFC, motor drivers, ALS, temperature sensors, IR & thermal cameras and most glue logic (port expanders, comparators etc)- **1.8V**: TPM module, RGB camera, 2D Time of Flight- **2.8V**: Thermal camera coprocessor- **3.6V**: 2D Time of Flightjust for the illumination, so for driving the VECSEL.
There is an 3V3_LDO for the analog supply of the IC
@ -0,0 +95,4 @@- **1.8V**: TPM module, RGB camera, 2D Time of Flight- **2.8V**: Thermal camera coprocessor- **3.6V**: 2D Time of Flight- **2.8V** LDO: Stable supply for RGB cameranope, this is removed, no RGB camera anymore
@ -0,0 +99,4 @@- **5V_RGB**: This powers the single RBG LED on the Operator Interface board- **3.3V_UC**: Powers the main microcontroller separately for power gating purposesmaybe mention: this supply is allways on as long as the main battery is inserted
@ -0,0 +110,4 @@The main goal of the tamper detection is to quickly erase the security keys in the event of an intrusion, even if the main battery and the backup battery are removed.This system consists of the following parts:- **4.7V rail**: This rail powers the security subsystem and is derived from +VBAT. This rail also charges the single cell Li-Poly security backup battery. Note that it is NOT derived from VBAT_SW, in order to avoid charging the backup battery from the main supercapacitors in the event of a disconnected main battery.Background -> if the backupbattery would be discharged or removed the keys would be erased and the orb would be inoperatable
@ -0,0 +113,4 @@- **4.7V rail**: This rail powers the security subsystem and is derived from +VBAT. This rail also charges the single cell Li-Poly security backup battery. Note that it is NOT derived from VBAT_SW, in order to avoid charging the backup battery from the main supercapacitors in the event of a disconnected main battery.- **Small supercapacitor** (missing from block diagram): This acts as a temporary UPS in case even the backup battery gets removed, and provides enough runtime to delete the security keys.told Erkang to add it into the block diagramm
I did it myself, no worries
@ -0,0 +128,4 @@Since the optical system will be discussed in detail in the next section, we will mention here only the non-imaging components connected to the Jetson.- **WiFi**: Orbs include PCEe-based WiFi cards in a M.2 slot. The current Diamond Orb uses a standard AX200 card.AX210
Hmm, the schematic says AX200 everywhere, even in v 4.7...
so than thats another thing we need to adjust, good catch
@ -0,0 +144,4 @@- **Main MCU**: This MCU is responsible for controlling most Orb hardware aside from the imaging system. It communicates with the Jetson through a single-wire custom CAN implementation, and is discussed in the next section- **MIPI**: This is a standard interface for most image sensors, and is used as such in the Orb for communicating with the main face detection IR-RGB camera and the iris scanning camera.2D TOF is also MIPI-CSI
@ -0,0 +148,4 @@- **I2C**: Another standard interface, this is used by the Jetson to configure the imagers as well as the 2D Time of Flight sensor.- **USB**: Several peripherals on the Orb are USB-based. These include the thermal imager, the BLE component of the WiFi card and an internal unused USB port for debugging.also connecton to the Cone / stand -> please clarify the naming of these accesoirs and which of them are actually gona be used.
WiFi card has USB, but USB is only used for the bluetooth on that combined wifi+ble module
Sorry, need more info besides clarifying the BLE and that it also goes to the stand. Did I miss any USB accessories?
@ -0,0 +66,4 @@One often-asked question when trying to understand a complex hardware system is "How does this even go together?" To help our readers get that question out of the way, this diagram shows the arrangement of the major components by actual PCB or FPC.<p align="center"><img src="images/ConnectionDiagram.svg" width="800">Reset button is connected to the powerboard not to the mainboard.
SD Interface board is missing as well.
Polarizer wheel stepper is also not mentioned (not sure if we need)
@ -0,0 +133,4 @@Since the optical system will be discussed in detail in the next section, we will mention here only the non-imaging components connected to the Jetson.- **WiFi**: Orbs include PCEe-based WiFi cards in a M.2 slot. The current Diamond Orb uses a standard AX210 card.@ -0,0 +166,4 @@- **Sensors**: The Orb contains many internal sensors, which are used for health and status monitoring.- Temperature sensors in various places throughout the device for overtemperature conditions and adjust cooling.- Voltage measurement on every rail to ensure the device’s power supply is operating correctly. Also used for switching between available power sources- Hardware version can be read as an analog voltage (industry standard practise)Hardware version for Frontunit, powerboard and mainboard is with digital inputs, a for digit binary number on 4 pins of a portexpander.
Only the security MCU has a analog value to detect the versioning.
@ -0,0 +167,4 @@- Temperature sensors in various places throughout the device for overtemperature conditions and adjust cooling.- Voltage measurement on every rail to ensure the device’s power supply is operating correctly. Also used for switching between available power sources- Hardware version can be read as an analog voltage (industry standard practise)- IMU: The inertial measurement unit is used to detect Orb motion (drops, displacement, jerks), which can be used to inform tampering or theft decisions.IMU is only connected to the security MCU.
Just as a note: if you only mentioning the Main MCU peripherals here
@ -0,0 +169,4 @@- Hardware version can be read as an analog voltage (industry standard practise)- IMU: The inertial measurement unit is used to detect Orb motion (drops, displacement, jerks), which can be used to inform tampering or theft decisions.- **Cooling**: The main MCU controls the cooling fan, which mainly cools the Jetson module but also the imaging subassembly via indirect airflow.The airflow is guided trough the device by air deflectors in a way to have the highest deltaT for all the components. It starts with the lowest temperature rated Supercaps, than cameras and LEDs from the imaging unit followed by the jetson and in the end the highest rated power converters.
@ -0,0 +174,4 @@- **Liquid Lens**: Part of the optical assembly includes a liquid lens for focusing. This is controlled from the main MCU.- **LEDs**: All LEDs on the Orb are driven from the main MCU, though most are located on the Front Unit. Control signals are routed through the Power Board to the Front Unit. There are several sets of LEDs:- **RGBW**: These are individually addressable (clock, data) and are used for indication of state and user positioning.RGB, there is no white in the addressable LEDs
But, there are so called Booster LEDs (white LEDs) that can be dimmed but not indiviually. Purpuse is for illuminating the users face for RGB imaging.
@ -0,0 +179,4 @@- **Gimbal**: The eye camera sensor has a very narrow field of vision. Therefore, the Orb includes an X-Y scanning gimbal which allows the device to locate the user's eyes in the larger frame recorded by the RGBIR (face) camera. This gimbal is driven by two stepper motors.- **Polarizer**: The third stepper motor controls the orientation of the polarizer wheel. This is used for recording IR images in two different light orientations, which helps resolve detail in iris structures.Purpose is to identifiy objects that try to manipulate and variate the Iriscode of a user, so it is basically tamper protection.
Buzzword is Birefringence, but not shure if this should be mentioned...
Part of the IR leds also have a polarisation filter on them.
Again, I dont know how deep we should go there.
The LEDs on Orb have polarizers over them? Which ones?
@ -0,0 +189,4 @@The Orb software runs several asynchronous "agents" that execute tasks more or less in parallel. Thus, in order to take images of the users's eye, the following biometric capture tasks run and deliver results to and from each other:- Use the RGB/IR "face" camera to track the user's eyes within the frameWe also take a RGB image from the users face, for face recognition on the phone, to make sure the user identifying with this world-id is the same one that registered with the orb.
-> again, might be too detailed
Probably too detailed. That should go in (some) description of the PCP, not in EE open sourcing I think.
@ -0,0 +209,4 @@To achieve this, the Orb contains a large number of infrared LEDs in two wavelengths (32x 850nm and 40x 940nm), which flood the user's face during the imaging process described above and allow capturing the necessary amount of detail at the required distance.We also have a number of RGBW LEDs positioned around the main camera that are used as a user interface of sorts, as well as state indication. The white component of the LEDs is further used to illuminate the entire face during the eye tracking stage of the process.RGB and seperate White LEDs
Old typo, fixed!
@ -0,0 +214,4 @@The following image shows the placement of all the LEDs inside the front unit. Please refer to the individual repository for further details.<p align="center"><img src="images/Illumination.png" width="600">maybe put an image of the frontunit without the face, to be able to see all the LEDs
We have it in the individual repository - I think that's good enough!
Design review closed