"The acceleration of the global information industry has prompted more and more companies to invest in the big cake of the Internet of things. The Internet of things has always existed, but it has never been truly popularized and benefited the people, but from the perspective of the current development process of electronic products, The hot trend of smart homes such as smart sockets and smart wearable devices has promoted the acceleration and rise of the Internet of things.
Last year, big brother Intel released the quark processor for the Internet of things and the Galileo development board based on Quark processor and compatible with Arduino development board. Recently, it was reported that Intel would carry out in-depth cooperation with Microsoft to enter the Internet of things. With the participation of world-class companies, the field of the Internet of things is hot It's getting worse. This is not true. The local enterprise inbette, which was just acquired by the global electronic component distributor e Luomeng last year, also brought a development platform for the Internet of things -- riotboard development board.
When I just got the riotboard development board, I was still worried about how to take such a tongue twister name. I didn't know its meaning or how to "call it". Fortunately, the name font printed on the packaging box specially highlighted "IOT" (Internet of things), as shown in the figure below.
Riotboard development board packing box
It's easy to guess the purpose or purpose of this board. It's ready to revolutionize the Internet of things with riotboard development board. We still remember the Galileo development board launched by Intel in the field of Internet of things last year. It seems that the effect is not ideal. What role will riotboard play and whether it can play the title of Internet of things revolutionary? Go on
What's in the riotboard box
When you open the box, there are only two things in the box, a riottboard development board sealed with an anti-static bag and a mini USB cable. Originally, you thought you could power up the board with this USB cable. In fact, it is no (described in detail later), and the cable is very short. For those who are used to putting the host under the table, it is a trap, and some is equal to none. If you use a laptop, That's not a problem. However, this mini USB cable is very universal, just a long one. Unfortunately, it is not equipped with a 5VDC adapter for power supply, which is rare at present. Remove the anti-static bag and present the riotboard development board in front of you.
Riotboard development board
The simple board card is really good. It has a feeling of "tall and tall". There are wood and wood. The core of the board is Freescale application processor based on arm cortex-a9, which will be introduced in detail later. It's necessary to be wordy here. The author has used many inbette boards. Generally speaking, the quality is "strong".
Riotboard development board
Riotboard is a kind of board that makes people feel "loved at first sight and unforgettable over the years". It is a dark red 8-layer PCB with a length and width of 120mm * 75mm. It is the size of two bank cards and carries rich peripheral resources, as shown in the figure below (click the picture to enlarge).
Front of riotboard development board (click the picture to enlarge)
Reverse side of riotboard development board (click the picture to enlarge)
Riotboard onboard resources:
Freescale i.MX 6solo application processor, based on arm cortex-a9 core, 1GHz main frequency
Freescale kinetis MCU (K20)
2*512MB DDR3 SDRAM,4GB eMMC Flash
LVDS interface * 1, HDMI interface * 1, digital camera interface * 1, USB2.0 host interface * 4, USB OTG interface * 1
Mipi interface * 1, open SDA * 1, SD card interface, TF card interface, 10 / 100M / 1Gbps RJ45 interface * 1, JTAG interface * 1
3-wire TTL level interface (three led out in the expansion interface and one debugging serial port), reset button * 1, audio input / output interface * 1
Boot configuration dial switch * 1, led * 4 (one system led, two custom LEDs, one open SDA LED)
LCD interface * 1, I2C interface * 2, SPI interface * 2, PWM interface * 3, GPIO interface (led out in the expansion interface and some pins are multiplexed)
Recommended development board
Freescale i.mx53 entry development board Open source development platform of 1 GHz application processor based on cortex-a8 kernel
Freescale i.mx6 series Sabre development board Fast development board based on quad core cortex-a9 processor, for smart phones
The configuration of riotboard is quite powerful. Freescale i.mx6solo processor based on arm cortex-a9 core and 1GB DDR3 memory are already the top configuration in the development board. Even the real 8-core processor mobile phones launched by Huawei and Xiaomi, which are crazy in the market, only use MediaTek mt6592 baseband chip - based on arm cortex-a7 core.
The rich on-board resources are better than ordinary smart phones. The introduction of many peripherals can greatly reduce the secondary development cost of users, and it is also more convenient for users to add functional modules, such as GPS, Bluetooth, WLAN, etc. In addition to rich peripheral functions, there are several debugging functions of riotboard development board. In addition to the JTAG port that needs to be debugged with the help of simulator, serial port and open SDA are convenient and easy-to-use debugging methods.
In addition to the rich hardware resources, the operating system of the riotboard development board can also adapt to a variety of. Everyone is very familiar with Android and GNU / Linux systems. Moreover, riotboard also supports users to build their own development environment and compile custom operating systems. In general, riotboard is an ideal open source hardware platform for developers.
The basic hardware block diagram of riotboard development board is summarized as follows
Hardware block diagram of riotboard development board
Seeing this, I can't help thinking that last year, imbet released a similar board - Mars board, but it uses Freescale based i.MX 6dual application processor (dual core), which has much better performance than i.mx6solo. The shape of Mars board is more like the riotboard of mini board (see the figure below), but it leads to less peripheral resources, If you are interested, please refer to Mars board for initial experience.
Mars board and riotboard development board
Freescale i.MX 6solo application processor
From the previous brief introduction, we learned that the application processor adopted by riotboard is not as good as the i.MX 6 Series in Mars board launched last year, which may cause some doubts - isn't this going backwards? To grasp the key point of this problem, we must cut in from the positioning of riotboard:
First of all, riotboard is positioned in the Internet of things, and the Internet of things devices have not yet grown to the same height as mobile phones - the system hovers and dead Biao hardware performance
Second, Internet of things devices pay more attention to function and power consumption. It is also the principle of embedded systems to ensure applicability while meeting application conditions
Therefore, we see the entry-level application processor based on Freescale - i.MX 6solo from the rtotboard development board. Let's take a specific look at this huge "heart".
Freescale i.MX 6solo application processor - mcimx6s5dvm1ab
Freescale i.MX 6solo application processor - mcimx6s5dvm1ab system block diagram
Freescale i.MX 6solo application processor has a specific model of mcimx6s5dvm1ab, 21mm * 21mm in size and BGA package. From such a huge package, you can imagine how rich the functions of i.MX 6solo are.
Freescale i.MX 6solo application processor features:
Based on arm cortex-a9 core (with TrustZone), the main frequency is 1GHz, integrating 2D, 3D graphics processor and 1080p 3D video processor
It integrates power management module, memory with various 32 / 64 bit interfaces, HD display, camera and other interfaces
MMC / SD / SDIO interface, USB2.0 host, USB2.0 OTG, PCIe interface
It supports the maximum 192Khz audio sampling output and I2S output, 5-channel UART, RS232 interface and 9-bit RS485 mode
4 ecspi, 4 I2C, 1 Gigabit Ethernet port controller, 4 PWM, 8x8 keyboard control
Two can, two watchdog, GPIO, JTAG, Mipi, csi-2 interface, etc
Recommended development board
Freescale i.mx53 entry development board Open source development platform of 1 GHz application processor based on cortex-a8 kernel
Freescale i.mx6 series Sabre development board A fast development board based on four core cortex-a9 processor, facing smart phones
From the features of Freescale i.MX 6solo application processor, it is not difficult to find that riotboard has not fully excavated the functions of the processor, or it can not be done with such a small board, but fortunately, the existing functions are powerful enough to include the functions commonly used by developers. Compared with a single microcontroller, i.MX 6solo really feels like it has no way to start. After all, each function extension can become a unique function product.
However, here, I would like to introduce a very important functional unit of i.MX 6solo - TrustZone (in the i.MX 6solo hardware system box). When it comes to this, some people may immediately wonder what this is? Don't worry, first listen to the author tell a story.
As we all know, when iphone5s was released, several important functions were touch ID (fingerprint identification), 64 bit application processor A7 and coprocessor. Fingerprint identification was the most attractive function, which greatly improved the user experience. But at the same time, the problem comes. The fingerprint identification system can be used for user password unlocking or payment authentication. It has a very powerful protection function. However, who will protect our fingerprints?
At that time, Apple CEO cook also repeatedly stressed at the press conference that the user's fingerprint will not be uploaded to the network or backed up to the cloud. It will only be stored in a secure enclave of the A7 processor through hardware encryption (even if the software is too powerful to pry open). In the final analysis, this secure enclave is an encryption technology used by arm in the later stage - TrustZone, It stores and processes the information that needs to be encrypted separately, and prevents malicious software or unauthorized programs from reading the content of this part on the hardware, so as to realize more secure payment and authority management. TrustZone mainly includes two parts: hardware construction and software architecture, as shown in the figure below.
TrustZone hardware architecture
TrustZone software architecture
TrustZone switches the user's system running in the safe area or ordinary area through the monitoring mode, so as to realize the encryption of important information. With the increasing popularity of the Internet, network information security has become an important step in life. In particular, it was recently revealed that Huawei, a company with such influence and technical strength in China and even the world, has been monitored by the United States for seven years without being detected. It's terrible to think about it. Therefore, the author focuses on the TrustZone unit, At present, arm TrustZone technology is all Cortex - basic functions of class a processor.
In addition, from the perspective of many peripheral functions of i.MX 6solo application processor, as a development board, it is a project that gives full play to its functions. As for product applications, it seems a bit wasteful. It seems that such a product can make full use of the functions of i.mx6solo. However, in another way, it seems that many schemes can be implemented by i.mx6solo. After all, In Freescale's view, i.mx6 is not simply defined as an application processor only for the field of Internet of things. It can be flexibly applied in consumer electronics, automobile, industry and other fields, such as human-computer interaction, multimedia network telephone, GPS navigation and other applications. The following figure illustrates the hardware principle block diagram of some applications
Principle block diagram of human-computer interaction application based on i.mx6s
GPS navigation equipment
Multimedia network telephone
In addition, what makes people more uneasy is that such a powerful i.MX 6solo is only an entry-level product in Freescale i.MX 6 Series (see the figure below). On top of this, it has dual cores (Mars board) and 4 cores, and it also expands more functions.
Freescale i.MX 6 series application processor
Recommended development board
Freescale i.mx53 entry development board Open source development platform of 1 GHz application processor based on cortex-a8 kernel
Freescale i.mx6 series Sabre development board Fast development board based on quad core cortex-a9 processor, for smart phones
Other functional chips of riotboard board
The powerful i.mx6s application processor of riotboard development board also needs the cooperation of peripheral chips to realize various functions. The following briefly introduces several other important function chips.
Freescale K20 series microcontroller - mk20dx128vfm5
The open SDA debugging module of riotboard development board is mainly composed of microcontroller mk20dx128, which is a Freescale K20 series product. It is based on arm cortex-m4 core and integrates USB controller. Among the boards launched by Freescale, it is mainly located in the controller of debugging module, which is useful in Freescale frdm-ke02z and other boards. For details, please refer to the evaluation of freedom development board.
Power management IC -- mmpf0100npaep
The power management chip adopts Freescale's mmpf0100npaep scheme, which is a programmable power management chip integrating 6 step-down converters and 6 linear regulators. Mmpf0100npaep can output different voltages to supply power to the whole system,
Our other product: