DM42: The internal view (hardware components) - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: Not HP Calculators (/forum-7.html) +--- Forum: Not quite HP Calculators - but related (/forum-8.html) +--- Thread: DM42: The internal view (hardware components) (/thread-10143.html) |
DM42: The internal view (hardware components) - jebem - 02-10-2018 11:31 PM Currently (2018, February), there is little information on the hardware platform besides the processor type and memory. The same applies to the firmware building components. May-2019 update: Q1 seems to be a 20ppm part, so a RTC built around it would result in several minutes time drift after one year. From the point of engineering view, it is essential to know what is the hardware design in order to fully understand the calculator low level software components. So far no one have published reverse engineering reports or just a brief analysis of the calculator internals. In fact I couldn't even find any high resolution photos of the PCB to learn what components were included in the hardware design. Recently I found this medium resolution picture, and it allowed to uncover some more details. I understand that there are several hardware versions, and the PCB in the picture would be the most recent version to this date (2018-Feb), marked with "calcbase3b (c) SwissMicros GmbH 2017". I am publishing here a copy of the picture in question. So far, i could identify the following hardware components: Integrated Circuits: - IC1: MX25R6435F M2ILO - Serial NOR FLASH ROM, 64Mbit (8M x 8), 80MHZ, 8-SOP package. - IC3: STM32L476 VGT6 - SoC Processor (V = 100/104 pins, G = 1Mbyte Flash, T = LQFP 100-pin, 6 = -40°C to 85°C). - IC4: 6-pin, Identification not readable in the picture - IC5: 6-pin, Identification not readable in the picture - IC7:LD3985 - LDO VR Ultra low drop and low noise BiCMOS voltage regulator. Active components: - UD1: UL46 - ST USBLC6-4 SOT23-6L package, very low capacitance ESD protection. - D1: Diode, Identification not readable in the picture - D2: Diode, Identification not readable in the picture - Q2: Transistor, Identification not readable in the picture Passive Components: - Q1: 32.768K-E - CRYSTAL 32.768kHz, ±20ppm, 6pF, 50kOhms, 4-SOJ package. - (Not listing here the capacitors and resistors). So: The total count of visible IC's are 5. The total count of visible active components are 4. This drawing (not to scale) list the above components in the PCB: And here is a few initial observations from the above: - Q1: This is a high precision crystal and curiously was marked with a transistor label in the PCB silkscreen (it should be marked as X1 imho). - UD1: The USB connector (JP1) I/O data lines connected to the Processor, are protected against external ESD or over-voltage by UD1, a fast high current low capacitance Diode/Zener based integrated circuit. This is good engineering from SwissMicros and they didn't cut costs to do a proper design here. - IC7: Michael's comments on the LDO 3Volt regulator helped to identify IC7 that is not readable in the published picture, but from the IC pinout configuration it was easy to guess what this IC is. So IC7 will be used when the calculator is connected via USB port to a computer, to regulate the external USB 5Volt down to 3Volt used to power the calculator, disabling the use of the internal CR2032 battery cell. This allows to run the Processor at 80MHz instead of the regular 24MHz when the calculator runs on the battery. - IC1 and IC3: These two are the most obvious integrated circuits that everyone is talking about, but they are not alone. This is not a two IC's design. - IC5 and L1: IC5 is not readable in the published picture. However, it is close to the LCD connector. Assuming that the LCD in use is a LS027B7DH01 from Sharp Microelectronics (is it?. I can't find the post where I read this a while ago), then it requires a 5Volt supply line to operate. As the internal battery cell supplies just 3Volt, a step-up converter is needed and the IC5 and L1 combination may be in use for this purpose. IC5 could be a single opamp on a 6-pin package, like the MAX4401 is. Although a more conventional charge pump IC and capacitor (no inductor required) could be used here. Just guessing. - IC4 and Q2: IC4 is not readable in the published picture. But its close proximity to the buzzer would make it an audio driver (again, a MAX4401) using Q2 transistor to connect to the buzzer. Again, just guessing. And what about the "missing" IC2 and IC6 integrated circuits? I mean, we have IC1 and IC7, therefore IC2 and IC6 could also belong to this design. Could it be that there are more components on the other side of the moon, I mean, the PCB? Any corrections, or even better, additional information on the hardware design and high resolution pictures of both sides of the PCB, is very welcome! RE: DM42: The internal view (hardware components) - jebem - 02-11-2018 10:05 AM Estimate for battery current consumption: Since SwissMicros is omitting the average current consumption on the DM42, here is a rough estimate for worst case scenarios: - 11.4uA in power Off mode on average. - 5.25mA in Power On state and running a non stop program (Note that the power on state value will be higher when writing to the Flash ROM). Can anyone with a current meter, an external 3VDC battery and a couple of wires take measurements for the benefit of all? How did I get the above estimates: Power On sate worst case scenario (running a non stopping program): Avg: 45uA + 2400uA + 2800uA = 5.25mA Max: 70uA + 2400uA + 4500uA = 6.97mA Details: LS027B7DH01: 1Hz refresh rate 35uA avg to 70uA max at 5V 3 to 5V step-up converter efficiency of 70% (guess value): 45uA to 91uA STM32L476VGT6: on low power run mode: 100 μA/MHz x 24MHz = 2400uA MX25R6435F: 100% reading mode only 2800uA avg to 4500uA max. Power Off sate worst case scenario: Avg. 10uA + 1.4uA = 11.4uA Max. 25uA + 1.4uA = 26.4uA Details: LS027B7DH01: 1Hz refresh rate 10uA avg to 25uA STM32L476VGT6: Stop 2 mode, with RTC: 1.4 μA The larger consumer when in power off state would be the LCD display. RE: DM42: The internal view (hardware components) - grsbanks - 02-12-2018 01:46 PM (02-11-2018 10:05 AM)jebem Wrote: The larger consumer when in power off state would be the LCD display. The LCD consumes zero power when the DM42 is switched off. It's a Sharp "Memory LCD". The 5V booster required to supply the LCD is actually switched off altogether when the DM42 is switched off. RE: DM42: The internal view (hardware components) - jebem - 02-12-2018 03:47 PM (02-12-2018 01:46 PM)grsbanks Wrote:(02-11-2018 10:05 AM)jebem Wrote: The larger consumer when in power off state would be the LCD display. Interesting... Of course I would expect the 5V booster to be switched off when the machine is in off state. However, I understand the Shard LCD requires power to maintain the Off image, as it is stored internally to LCD the memory cells (1 cell per pixel). If you remove the battery cell and short the battery holder contacts for a few hours, will the Off image retained and visible on the LCD display? RE: DM42: The internal view (hardware components) - jebem - 02-19-2018 07:00 PM Input/Output interfaces visible on the PCB Besides the standard USB I/O port and the InfraRed LED, at least two additional I/O ports are apparently available providing they are routed to the SoC STM32L476 VGT6 processor: SPI2: This is an obvious standard Serial Peripheral Interface bus. Located close to the battery cell and Reset/Pgm buttons. This port is cleared labeled on the silkscreen close to the 32.768K-E Crystal. Identified connector terminals: GND: Ground SPI2_SCK: Serial Clock SPI2_CS: Slave select SPI2_MOSI: Master Output / Slave Input SPI2_MISO: Master Input / Slave Output VCC: Power Supply The STM32L476 provides three SPI buses and one Quad SPI bus. LPUART1: This seems to be the Low Power Universal Asynchronous Receiver Transmitter interface provided by the SoC STM32L476 VGT6 processor. Located close to the buzzer wires solder joints. Identified connector terminals: VDD: Power Supply RX: Receiver Data line TX:Transmitter Data line GND: Ground Two additional unidentified PCB interfaces are visible close to the buzzer: J4 with 4 pins. J1 with 6 pins. The the SoC STM32L476 VGT6 processor provides a Serial Wire JTAG debug port (SWJ-DP). According to the ST documentation, this is an ARM standard CoreSight debug port that combines a JTAG-DP (5-pin) interface and a SW-DP (2-pin) interface. J4 could be used as the development/debug interface, but from the picture it is not possible to see where the PCB traces are going to. RE: DM42: The internal view (hardware components) - jebem - 02-28-2018 05:39 PM Estimate for battery current consumption - Take 2: According to a video presentation of the DM42P prototype by Günter Schink at the HHC2016 published on youtube on Sept 21, 2016, the power consumption values were measured for a "few test runs" in these conditions (please check the video at 25:43): DM42P Hardware Power consumption: - At 27MHz, continuous ops: 50h - Screen ON but idle: 2000h (~80 days) - While OFF ?? I don't know what battery capacity was used for the above test runs. So, assuming a standard nominal 210mAh CR2032 battery cell, the current consumption for the above hours of operation would be: - At 27MHz, continuous ops: 50h Translates to 4.2mA average (my estimate in a previous post above was 5.25mA avg in worst case scenario) - Screen ON but idle: 2000h (~80 days) (This means Power ON, idling) Translates to 0.1mA average - While OFF ?? Current consumption while in power OFF state remains unknown until a good soul can take some readings and share the results One note on heavy loads on the CR2032 battery cells: The DM42 figure of 4.2mA current consumption when running a looping program for long periods of time is above the recommended standard continuous current supply for any CR2032 battery cell if we want to be able to consume all the cell nominal capacity. This applies also to other machines like the HP-35S, HP-20B, and HP-30B (however HP have designed two CR2032 cells in parallel in the power supply to reduce the heavy current loads imposed per battery cell). The standard continuous current discharge for a CR2032 is 0.2mA (this corresponds to a 15Kohm load, and that is the value used by the manufacturers to test its CR2032 products in order to evaluate the actual available capacity). Of course the CR2032 can supply above the 0.2mA, typically up to 10mA on extreme heavy loads (or even more, depending on brand/model), but the battery will be stressed and its life (meaning, its capacity) will be shortened accordingly. Those extreme 10mA heavy loads may typically result in 1 Volt dropped in the battery internal impedance, meaning that for many processors the cut-off voltage is very close to happen in these conditions. So, I would expect to see a single, good quality (lower internal impedance over time among other factors), above average 220mAh ~ 240mAh capacity, CR2032 battery cell powering the DM42 for a good amount of time (up to a maximum of 2000 Hours), as long as continuous looping programs are not run all the time (and the amount of write operations to flash kept to a minimum). RE: DM42: The internal view (hardware components) - hth - 02-28-2018 06:00 PM I am curious about the extra flash memory which I understand is on a serial bus. Is it memory mapped into the ordinary address space and what kind of bus performance does it have compared to the built-in flash? Håkan RE: DM42: The internal view (hardware components) - grsbanks - 02-28-2018 07:09 PM @jebem Power consumption when off is in the region of 3uA. @Håkan the QSPI is indeed (partially at least) memory mapped into the L476's address space but I don't have any information on how the bus speed affects performance. I would guess that the effect is minimal given that it's mostly tables of data used by the Intel Decimal Floating Point library rather than executable code in the lower 2MB and the other 6MB is certainly never read from or written to unless you give a specific order to load/save something from/to the FAT disk (program or machine state file). RE: DM42: The internal view (hardware components) - jebem - 02-28-2018 07:57 PM (02-28-2018 06:00 PM)hth Wrote: I am curious about the extra flash memory which I understand is on a serial bus. That makes two of us... The STM Reference manual for the processor contains huge information on the subject, but we do not know how the system was implemented by SwissMicros, as many working parameters must be set by the operating system to set the hardware intended behavior. As far as I know, the STM processor uses a linear 4GB address space divided in eight 512MByte blocks, where all memory and peripherals are mapped. I would expect a performance degradation when accessing the external Flash memory when compared to the internal Flash. By how much, probably only after exhaustive testing can be determined. This is a complex processor architecture, and there are many parameters that need to be set at low level in the O.S. depending on the designer goals. For instance, the memory latency (wait cycles) must be set depending on the intended processor operation/speed/voltage settings and this applies to the internal Flash as well. On the internal Flash a variable number of cycles is required depending on the type of code. Also STM offers instruction prefetch and cache to increase efficiency when accessing the Flash at higher clock speeds. These features need to be configured by software as well. On the other hand the external Flash connected to the Quad-SPI processor interface can be accessed in a number of different ways, namely direct memory-mapped or indirect using registers or interrupt driven, different data word sizes can be accessed, etc. Anyhow, the QUADSPI interface talks to the external Flash using 5-phase commands, and any one of these 5 phases needs to be set/skipped, so this introduce more indeterminacy on the performance. For example, the dummy cycles phase (wait cycles) can be used when operating the processor at higher speeds to let the Flash be ready for the processor. RE: DM42: The internal view (hardware components) - jebem - 03-01-2018 03:17 PM (02-28-2018 07:09 PM)grsbanks Wrote: Power consumption when off is in the region of 3uA. Thanks for your information, Godwin. Assuming that the DM42 O.S. leaves the STM32L476VGT6 processor in Stop 2 mode with RTC when the calculator is powered off, then only 1.4μA should be accounted for the processor as documented by the manufacturer. The remaining 1.6μA are consumed by one or more of the other calculator components that will not be totally shutdown during the power off state. So, concerning the power consumption, here is what we can assume at this point: 1. Assuming a standard 210mAh 3Volt CR2032 battery cell as the power supply. 2. Power ON state, continuous operation: 50h (~2 days) or 4.2mA average. 3. Power ON state, idle: 2000h (~80 days) or 0.1mA average. 4. Power OFF state, battery left inside: 70000h (~8 years) or 3 µA average. 8 years would be a nice lifespan for any coin cell battery if they could survive that long. Maybe they can if the environment conditions are ideal and a good brand advertising expiration dates is chosen. Otherwise battery internal current leakage would usually prevent a CR2032 to maintain its ability to supply current for that long. RE: DM42: The internal view (hardware components) - Gene - 03-01-2018 05:37 PM Great work, Jebem! RE: DM42: The internal view (hardware components) - jebem - 03-03-2018 03:41 PM (03-01-2018 05:37 PM)Gene Wrote: Great work, Jebem! Thank you for your encouraging words I don't own a DM42 (well, not yet, but I will buy one later during this year). From what I have been reading here in the MoHPC and on the SwissMicros forums, I find this calculator to be an outstanding achievement, integrating Free42 on a modern comprehensive miniaturized hardware platform. For instance, SwissMicros was able to produce the molds for the keys and case at an almost affordable price (and this is of course my humble opinion), considering the low volumes involved in this manufacturing. Well, my guess is that they ordered the keys and case from the Far East manufacturing plants able to produce the molds at a lower cost for small runs when compared to what our European plants could offer. I would like to learn about this design process and what was the manufacturing plant chosen for the case/keys production. I have no specific reason in mind, but considering that this is a niche product made for a small community of enthusiasts (when compared to the healthy world population that doesn't care about RPN calculators), all the information about the production of the calculator could be disclosed to satisfy the natural human curiosity. On the other hand, many times the secrecy still is the key to a successful business by keeping your competitors in the dark and behind you. In Portugal we have a proverb, for which I don't know the equivalent in English: "O segredo é a alma do negócio" RE: DM42: The internal view (hardware components) - jordsan - 11-21-2018 10:03 PM I have been able to further identify the following components: Integrated Circuits:
Active Components:
Has anybody measured Vbat (pin 6 of the micro, or one side of C5) when on and then when off? The spec for the micro calls for 1.55V < Vbat < 3.6. My DM42 measures 0.7V at Vbat all the time! RE: DM42: The internal view (hardware components) - toml_12953 - 11-22-2018 08:22 AM (03-03-2018 03:41 PM)jebem Wrote: In Portugal we have a proverb, for which I don't know the equivalent in English: In American English we say "Secrets are the soul of a business" |