The MAX78000 is essentially an ARM Cortex-M4F microcontroller with a lot of hardware around it, including a neural network (CNN) accelerator designed by Maxim (Figure 1). This machine learning (ML) support enables the chip to do things like recognize keywords or even faces in real time without wasting power budget.
1.MAX78000 includes Cortex-M4F and RISC-V cores and CNN accelerator.
The chip also includes a notable RISC-V core, but, since it’s so new, the Cortex-M4F is the primary processor. Even CNN support is still out of beta, but that’s the point of this article.
The MAX78000 has the usual microcontroller peripheral features, including a range of serial ports, timers, and parallel/serial interfaces such as I2S. It even has a parallel camera interface, and among the analog peripherals there is an 8-channel 10-bit sigma-delta ADC, which also includes four comparators.
The chip has 512kB of flash memory as well as 128kB of SRAM and a boot ROM that allows for more complex boot processes such as secure boot support. There is on-chip key storage as well as CRC and AES hardware support, and CNN support will be available in the future. The Github-based documentation is quite informative.
The development tools are free and based on Eclipse, which is the basis for other platforms such as Texas Instruments' Code Composer Studio and Silicon Labs' Simplicity Studio. Maxim doesn't do much customization, but there are enough conveniences to use hardware such as the MAX78000 while making it easy to use third-party plugins and tools, which is very convenient when dealing with cloud or IoT development environments. The default installation includes examples and tutorials that make it easy to test CNN hardware and other peripherals.
The MAX78000 development board has two LCD displays. The larger 3.5" TFT touch display is for the processor, while the second smaller display provides power management information. The chip does not have a built-in display controller and uses a serial interface to work with the larger display. Power tracking support is very complete.
The board comes with a 16 MB QSPI flash chip for convenient storage of image data. In addition, a USB bridge to the flash chip allows for faster and easier downloading of data.
The board also adds some useful devices such as a digital microphone, a 3D accelerometer and a 3D gyroscope. Several buttons and LEDs complete the peripherals, and JTAG is supported.
As mentioned before, this time we are not using a RISC-V core, but instead we are generating C code for a Cortex-M4F to set up the CNN hardware. The CNN hardware is designed to handle a single model, but can be quickly swapped out for a new model.
As with most machine learning hardware, most programmers prefer to hide the underlying hardware, providing more of a black box operation where you set up a box and feed your data into the other end. This works well if a model is available; that is, trained with different information or using a trained model. There are challenges when developing and training new models, which is something I will avoid discussing here.
I did try out the two models that Maxim offers, including the Keyword Spotting and Facial Recognition (FaceID) apps. The Keyword Spotting app is essentially a voice recognition system that listens for keywords to launch cloud-based services, which is how most Alexa-based voice systems work, as the cloud handles everything after the keyword is recognized.
On the other hand, being able to recognize many different keywords makes it possible to build voice-based command systems, such as those used in many car navigation systems. The Cortex-M4F processes the input and makes some adjustments to provide suitable input to the CNN accelerator (Figure 2). The detected class output specifies which keyword, if any, was recognized. The application can then make use of this information.
2. The Cortex-M4F processes the initial audio input stream before handing the information over to the CNN accelerator.
The FaceID system highlights the MAX78000’s camera support (Figure 3). This can be used to recognize faces or identify specific parts moving on an assembly line. The sample application can operate using fixed input (as shown) or from a camera.
3. The FaceID application highlights the ability of CNN to process images in real time.
It's easy to get by with the defaults. Maxim provides all the example code and procedures. These can be modified slightly, but retraining the model is a more involved job, although Maxim's documentation does cover that. The examples outline what needs to be done and what needs to be changed to customize the solution.
Changing the model and application to something like a motor vibration monitoring system would be a lot of work and require a new model, but the chip would likely be able to handle it. It would just require more machine learning and CNN support.
The toolset supports models from platforms such as TensorFlow and PyTorch (Figure 4). This is useful because training is not handled by the chip but rather on a platform such as a PC or cloud server. Likewise, models can be refined and tested on high-end hardware to validate the model, which can then be trimmed to fit the MAX78000.
4. PyTorch is just one of the frameworks that the MAX78000 handles. Training is not done on the microcomputer. Maxim's tools convert the model into code that drives the CNN hardware.
At this time, documentation for the CNN accelerator and RISC-V support are both scarce. Maxim's CNN model compiler can import C code into the Eclipse IDE. Debug regular application code and remote debugging via JTAG.
Maxim also offers the MAX78000FTHR, a simplified evaluation board (Figure 5) that has no display or other peripheral hardware, but leaves most of the I/O exposed. The development board alone is only $25. When purchased in volume, the chip will cost about $15 each.
5. Simplified evaluation board MAX78000FTHR
The MAX78000 is very interesting to use. It is a great platform to support edge ML applications. However, note that while this is a very low-power solution, it is not even close to the low-end Nvidia Jetson Nano. It is interesting to examine the power tracking support, as low power consumption can be a key factor in many MAX78000 applications, especially battery-based solutions.
Previous article:TDK's ultra-compact full-color laser module brings users colorful visual effects
Next article:All-round product implementation, Feiteng realizes the rise of domestically produced CPUs
- Popular Resources
- Popular amplifiers
- "Cross-chip" quantum entanglement helps build more powerful quantum computing capabilities
- Why is the vehicle operating system (Vehicle OS) becoming more and more important?
- Car Sensors - A detailed explanation of LiDAR
- Simple differences between automotive (ultrasonic, millimeter wave, laser) radars
- Comprehensive knowledge about automobile circuits
- Introduction of domestic automotive-grade bipolar latch Hall chip CHA44X
- Infineon Technologies and Magneti Marelli to Drive Regional Control Unit Innovation with AURIX™ TC4x MCU Family
- Power of E-band millimeter-wave radar
- Hardware design of power supply system for automobile controller
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Intel promotes AI with multi-dimensional efforts in technology, application, and ecology
- ChinaJoy Qualcomm Snapdragon Theme Pavilion takes you to experience the new changes in digital entertainment in the 5G era
- Infineon's latest generation IGBT technology platform enables precise control of speed and position
- Two test methods for LED lighting life
- Don't Let Lightning Induced Surges Scare You
- Application of brushless motor controller ML4425/4426
- Easy identification of LED power supply quality
- World's first integrated photovoltaic solar system completed in Israel
- Sliding window mean filter for avr microcontroller AD conversion
- What does call mean in the detailed explanation of ABB robot programming instructions?
- CATL releases October battle report
- Battery industry in October 2024: growth momentum remains unabated!
- Mercedes-Benz will launch the eCitaro equipped with NMC4 batteries to provide high energy density and long life
- Many companies have announced progress on solid-state batteries. When will solid-state batteries go into mass production?
- Xsens Sirius Series Inertial Sensors Enable 3D Inertial Navigation in Harsh Environments
- Infineon's Automotive Landscape: From Hardware to Systems
- STMicroelectronics discloses its 2027-2028 financial model and path to achieve its 2030 goals
- 2024 China Automotive Charging and Battery Swapping Ecosystem Conference held in Taiyuan
- State-owned enterprises team up to invest in solid-state battery giant
- The evolution of electronic and electrical architecture is accelerating
- In addition to being used in mobile phones and computers, what other functions and applications does Bluetooth have?
- 【RPi PICO】DDS sine generator and dual PWM output
- Problems with adding PROTEL99SE schematic library to AD13
- [National Technology N32WB452 Review] 3. BLE routine analysis and LCD display implementation
- Some experience on fast implementation of rounding function in TI C2000 fixed-point DSP
- TLC5620 driver design based on FPGA (DA)
- Add charging function to Xiaomi Bluetooth mouse
- EEWORLD University Hall----Automobile Body Control Module System Design
- [Domestic RISC-V Linux board Fang·Starlight VisionFive trial report] Nodejs development on Starlight board 2: web server
- [OpenCV Getting Started Tutorial 17] OpenCV Remapping & SURF Feature Point Detection Collection