Jump to content
Electronics-Lab.com Community


  • Posts

  • Joined

  • Last visited

Contact Methods

  • Website URL

Recent Profile Visitors

1,367 profile views

Forlinx's Achievements

  1. The OK7110-C's screen timing requires the dedicated calculation tool starFive_DSI_Tool.exe, which is stored in the Tools/dsi_tool folder of the user profile. Operation methods: 01 Parameter configuration Modify the input.ini file, which is used to configure the screen parameters; the following are the specific configuration parameters: hactive: Effective screen length Vactive:Effective screen width Bpp:bit per pixel Pixel depth fps:frame per second Frame rate pixelclock_source:Pixel clock source. Because pixel clock is divided by JH7110 PLL2 integer frequency, here need to input PLL2 frequency; VF2 is 1188MHz. dlanes: mipi dsi Number of channels ref_pixclk:reference pixel clock reference pixel clock; according to the screen datasheet to know its reference pixel clock or reference pixel clock range.If it is a range, it is better to write the low bound here; this parameter can be filled with 0 to indicate that the reference clock is not used in the calculation or needs to calculate the timing of other frame rates. nr_timing_generated:Number of time series to be generated For example 02 Running You need to install git on Windows.Open the DSI _ tool directory with git bash Run the script run. Sh. #!/bin/bash output=$1 if [ "$output" == "" ]; then output=output.txt fi ./StarFive_DSI_Tool.exe < input.ini > $output Use the command./run. Sh. Use the command./run. Sh. The timing generated by the tool is calculated from input.ini. For example: Welcome to use StarFive DSI timing generation tool v1.0 { .dpi_timing = { //1024x600, 24 bits, 49.93 Hz .pixelclock = 49500000, .hactive = 1024 , .hfront_porch = 475 , .hback_porch = 5 , .hsync_len = 5 , .vactive = 600 , .vfront_porch = 47 , .vback_porch = 5 , .vsync_len = 5 , }, .dsi_timing = { .dlanes = 4 , .bitrate = 380000000, .hsa = 910 , .hbp = 908 , .hfp = 902 , .hact = 3072 , }, }, The number of generated timings is determined by the nr_timing_generated parameter in input.ini. Note that if output.txt is generated in multiple groups,not every group will work properly. It is necessary to try them one by one to select the right timing for the screen. Timing example: { .dpi_timing = { //1024x600, 24 bits, 49.93 Hz .pixelclock = 49500000, .hactive = 1024 , .hfront_porch = 475 , .hback_porch = 5 , .hsync_len = 5 , .vactive = 600 , .vfront_porch = 47 , .vback_porch = 5 , .vsync_len = 5 , }, .dsi_timing = { .dlanes = 4 , .bitrate = 380000000, .hsa = 910 , .hbp = 908 , .hfp = 902 , .hact = 3072 , }, Make changes against the device tree file OK7110-C.dts: 1. Modify the seeed_plane point: dlanes: Modify according to the number of channels used on the screen. width-mm,height-mm,data-mapping:Modify according to the actual information on the screen. 2. Modify mipi_dsi node: Bitrate,hsa,hbp,hfp;modify according to the corresponding values in generation_timing.dsi_timing 3. panel-timing: The data in panel-timing, hactive and vactive are filled in according to the actual value of the screen; the rest of the panel-timing is modified according to the corresponding content in the generation sequence.dpi_timing. panel-timing. The modifications are as follows: panel-timing { clock-frequency =; hactive =; vactive =; hsync-len =; hfront-porch =; hback-porch =; vfront-porch =; vback-porch =; vsync-len =; }; After the modification, burn the new device tree into the device and see if it can be displayed properly. If it can't be displayed normally, use the rest of the timings in output.txt and continue to try according to the above steps; if it can be displayed normally, the screen adaptation is completed. Originally published at www.forlinx.net.
  2. Amazon recently announced its plan to use drones to deliver packages in the UK by the end of 2024. Amazon has been investing in drone technology for a decade now, but currently, its drone delivery services are limited to a few regions and primarily cover the delivery of non-pharmacy products such as home goods, office supplies, and beauty products. To drive business growth, Amazon has decided to expand its drone delivery services to the pharmaceutical industry. After purchasing medication from Amazon Pharmacy, users will be able to receive fast delivery within 60 minutes through drone services. This initiative aims to meet consumer demand for rapid medication delivery, which is particularly important in emergency situations. To drive business growth, Amazon has decided to expand its medication delivery services to the pharmaceutical industry. The launch of drone delivery services will bring new growth opportunities to the e-commerce industry and foster further advancements in technology innovation and the drone industry, opening up new possibilities for future delivery methods. Absolutely, in addition to that, we can also expect to see more drones playing a role in other industries, such as agriculture, mapping, and more. Indeed, the development of drone technology undoubtedly brings forth more possibilities for both our personal lives and work environments. However, drone product design faces certain challenges. For the purpose of targeted application in various scenarios, many drones adopt a modular design, which means incorporating additional expansion modules beyond the basic flight control system to achieve different functionalities. While this design approach offers flexibility, it increases the overall weight of the drone to some extent. As a result, the size of the drone is limited. If the size is too small, it may not be able to accommodate the necessary expansion modules. On the other hand, if the size is too large, it can increase power consumption and reduce battery life, affecting the overall flight endurance of the drone. Debugging and adaptation can also be a complex process. For drone product design and development, using a highly integrated processor with more advanced features as the drone's main controller is a more suitable choice. This allows for the integration of required functionalities directly into the drone, tailored to meet the specific needs of different fields. In this way, it is possible to better control the size of the drone, while balancing performance, size, and endurance. Forlinx Embedded recommends using the FET3588-C SoM as the main controller for a highly integrated drone. Forlinx Embedded's FET3588-C SoM is developed and designed based on Rockchip's RK3588 processor. It integrates a quad-core Cortex-A76 and quad-core Cortex-A55 architecture. The A76 cores have a clock speed of up to 2.4GHz, while the A55 cores have a clock speed of up to 1.8GHz, providing powerful performance support. The FET3588-C SoM has also undergone rigorous testing to ensure stability and reliability for customers' high-end applications. In terms of the most fundamental shooting functions of drones, the Forlinx Embedded FET3588-C SoM is also highly capable. It introduces the new generation 48 million pixels ISP3.0, which allows for lens shading correction, 2D/3D noise reduction, sharpening and fog removal, fisheye correction, gamma correction, and wide dynamic contrast enhancement effects. These features significantly enhance the image quality and are suitable for customers with special image requirements. RK3588 has undergone significant improvements in integer operations, floating-point operations, memory, overall performance, power consumption, and core area. It also features a wide range of high-speed data communication interfaces, meeting the diverse needs of various industries. Additionally, it is equipped with Rockchip's self-developed tri-core NPU, which can work in collaboration or independently, allowing for flexible allocation of computational power and avoiding redundancy. The integrated NPU can deliver up to 6 TOPS of computing power, empowering artificial intelligence applications and providing more possibilities for expanding the application scenarios of drones. Drones have penetrated into numerous industries, and the increasingly fierce competition has driven drones to develop and improve in the directions of intelligence, miniaturization, and systematization. In the selection of drone controllers, there will also be a greater preference for more versatile, all-encompassing, and powerful platform. The above is the drone controller selection scheme recommended by Forlinx Embedded, based on the FET3588-C SoM. We hope this can be helpful to all engineers.
  3. This solution employs Lontium Semiconductor's LT8912B, which features a single MIPI D-PHY receiver with four data lanes, each running at speeds of 80Mbps to 1.5Gbps, with a maximum input bandwidth of 6Gbps. LVDS has 1 clock lane and 4 data lanes for a maximum of 1.0 Gbps per data lane. The HDMI output supports the HDMI 1.4 standard, allowing for a maximum output of 60Hz at 1080p resolution with 8-bit color depth. The LT8912B does not support DDC and HDCP. This article describes how to use LT8912B to convert MIPI to LVDS. The hardware implementation can involve directly designing the LT8912B chip onto the carrier board or designing an adapter board to connect LT812B to the OK7110-C development board. Software modification method: Create a script file test. Sh to write the register parameters of I2C of LT8912B chip (the parameter configuration in this article is based on an LVDS screen with single 8-lane, 1280X800 resolution, and GT928 touch chip, and the specific parameter configuration is mainly based on the actual screen parameters). Place the test.sh script under /usr/bin/, or you can modify the name as you wish. Then, modify the path in the service configuration file. vi /usr/lib/systemd/system/[email protected] Note that a row has been addedExecStartPost=/usr/bin/test.sh & Note that if the path is modified, the path in the added line needs to be matched /usr/bin/test.sh [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/lib/systemd/systemd-fsck %f ExecStartPost=/usr/bin/test.sh & TimeoutSec=0 Modify the device tree OK7110-C.dts Originally published at www.forlinx.net.
  4. There are several methods to configure the Linux kernel, and one of them is using the text menu-based configuration interface called "make menuconfig", which provides an intuitive and straightforward way of configuring the kernel. 1. Components of the Linux Kernel Configuration: Configuring the Linux kernel involves three main components: a Makefile, a configuration file, and a configuration tool. In this article, we will dive into a specific configuration tool called make menuconfig. 2. The process of using make menuconfig: When you execute make menuconfig, several files are involved: • "scripts" directory in Linux root folder (not relevant for end users) • Kconfig files in the arch/ $ARCH/directory and various subdirectories • Makefile file that defines the values of environment variables • .config file to save the default system configuration values • The include/generated/autoconf.h file, which stores configuration options as macro definitions 3. How to add kernel functions using make menuconfig To illustrate the process, let's consider adding new functionality to the kernel using make menuconfig: Step 1: Add the appropriate options to the Kconfig file using the Kconfig syntax. Step 2: Execute make menuconfig to generate the .config and autoconf.h files. Step 3: Add compilation options to the relevant makefile. Step 4: Execute make zImage to compile the kernel with the new features. With the above steps, you can effectively use make menuconfig to configure the Linux kernel. Originally published at www.forlinx.net.
  5. On November 7th, 2023, Forlinx Embedded launched the Debian 11 system for the first time on their development board, OK3568-C/OK3568J-C, which is based on the RK3568 chipset. Forlinx Embedded officially supports the Debian 11 system on the OK3568-C/OK3568J-C platform. In the field of embedded development, stability and richness are crucial factors. The RK3568, as Forlinx's flagship embedded product, has high performance, low power consumption, and rich interface functions, making it appreciated by industry users. Debian 11 is a stable, reliable, and open-source operating system, which provides a powerful foundation for the OK3568-C. Debian 11 has undergone rigorous testing and validation to ensure system stability, so there is no need to worry about unexpected crashes or data loss. Moreover, Debian 11 has a vast software library, which enables developers to easily install and update required software packages. By combining the advantages of the OK3568-C hardware with Debian 11, developers can fully leverage the diversity of the 3568 hardware interfaces while enjoying the stability and open-source nature of Debian 11. Indeed, this strong combination provides an ideal environment for various embedded projects. When it comes to stability, free and open source, versatility, and vast software libraries, no operating system can rival Debian. Debian is a truly free operating system, and its strength is not only reflected in technology, but also in its active community. Stable Value: Debian stands out for its world-renowned stability. Whether you are building critical business systems or looking for reliable daily desktops, Debian is always the best choice. Debian 11 has undergone rigorous testing and validation to ensure system stability, so there is no need to worry about unexpected crashes or data loss. Free and Open Source: Debian adheres to the concept of free and open source, allowing you to freely use, modify, and share it. This is a truly free operating system. Not only can Debian be obtained for free, but you can also freely view, edit, and distribute its source code. Huge Software Library: Debian has a vast and diverse software library that covers almost any application and tool you can imagine. From office software to entertainment applications, server services to programming tools, Debian has everything in its software library. Not only that, it also provides an easy-to-use package management system, allowing you to easily install and update software. Multi-architecture Support: Debian supports multiple hardware architectures, including x86, ARM, PowerPC, MIPS, etc., making it suitable for various devices and systems. Whether you use a desktop, laptop, server, or embedded device, Debian can provide the ideal solution. Active Community Support: The Debian community is a vibrant place where you can find help, advice, and resources. Both novice and experienced users can participate in the community and receive support. Originally published at www.forlinx.net.
  6. On November 1, 2023, Vision China Shenzhen, hosted by the China Machine Vision Industry Union (CMVU) and organized by Munich Exhibition (Shanghai) Co., Ltd., successfully concluded at Hall 7 of Shenzhen International Convention and Exhibition Center (Bao'an New Hall). As an annual high-end industry exhibition targeting international vendors, Vision China is dedicated to advancing machine vision technology and its application integration, empowering industrial automation. The exhibition brought together renowned machine vision vendors, experts, scholars, and buyer groups from both domestic and international markets. With a global perspective, it showcased high-quality products and innovative technologies in the machine vision industry, earning recognition from numerous exhibitors and visitors. The three-day exhibition attracted more than 180 domestic and international high-tech companies, with an exhibition area of nearly 20,000 square meters. During the exhibition, the number of visitors exceeded 35,000. The market space for the transformation of China's intelligent manufacturing equipment industry structure and technological advancement is enormous, and the machine vision industry will benefit from it. Currently, China is further deepening the adjustment of industrial structure, promoting technological innovation in the manufacturing industry, and advancing the level of intelligent manufacturing. VisionChina Shenzhen provides a professional exhibition platform, focusing on the transition from technology-driven to innovation-driven, and dedicated to facilitating the transformation and upgrading of the industrial structure as well as further intelligentization of the manufacturing industry. The participating companies in the exhibition showcase over 50 new products and solutions. These include intelligent cameras, image processing systems, integrated machine vision systems, circuit boards, industrial lenses, and other primary and auxiliary components of machine vision. The extensive display of new products also demonstrates that Chinese machine vision manufacturers embrace an open attitude towards compatibility with new ecosystems, and empower intelligent manufacturing with cutting-edge technology. The future development path of machine vision is both exciting and promising. To have better picture quality, using multiple camera frames to stitch the picture is a more advantageous option. A panoramic camera manufacturer is looking to launch a higher-end 8K panoramic camera product that uses a combination of multiple HD cameras to ensure clear picture quality. Understanding this demand, Forlinx Embedded recommended that the customer use the FET3588-C CPU board as the main control of this 8K panoramic camera. The FET3588-C CPU board is developed and designed based on Rockchip's new-generation flagship RK3588 processor. As the first general-purpose SOC in the 8K era, the RK3588 offers significant improvements in integer operations, floating-point operations, memory, overall performance, power consumption, and core area. Features such as its own 8K hardware codec, support for multiple camera inputs, and 6TOPS of integrated arithmetic power make the FET3588-C CPU board the preferred solution used to create a 360°8K panoramic camera. 8K Decoder The FET3588-C CPU board is capable of supporting 8K decoders in multiple formats (8K@60fps H.265 / 8K@30fps H.264 / 8K@60fps VP9) with Rockchip's fourth-generation of the latest codec technology. 8K display output, AI-aware encoding, low-latency decoding (ROI), and the same encoding and decoding can bring a better experience of true 8K. Multi-lane camera input The FET3588-C CPU board supports the access of up to 6 cameras, and the new generation of 48 megapixel ISP 3.0 also greatly improves the picture quality, which can realize the functions of lens shadow correction, 2D/3D noise reduction, sharpening and defogging, fisheye correction and gamma correction, and can better complete the image mosaic processing. Moreover, the routines for video frame splicing are also available in the official SDK provided by Rockchip, which greatly reduces the R&D risk and cost of the customer's project. Built-in NPU with high computing power RK3588 processor also has built-in three-core NPU developed by Rockchip, which can work together or independently, so as to flexibly allocate computing power, avoid redundancy, and the comprehensive computing power can reach 6 TOPS; The introduction of INT4/INT8/INT16/FP16 hybrid operation increases the MAC utilization rate by more than 28% and upgrades the 2.0 RKNN TOOLkit2 suite with strong compatibility. Even if customers want to add more functions to the product, adding more information and special effects to the screen in real-time, they can be easily satisfied. Not only the function should meet the needs of customers, but also the quality of products should be stable and reliable. Forlinx Embedded FET3588-C CPU board will go through a strict power aging process and full-function test, and the company strictly executes ISO9001 quality system, from controlling the operation process to standardizing the production standard, which can ensure the 100% qualified rate of the products from the factory, and is responsible for the quality and customers, and provides the stable performance support for the customers' high-end applications. The above is the 8K panoramic camera solution based on FET3588-C core provided by Forlinx Embedded for customers, and we also hope to provide help for your project selection. Originally published at www.forlinx.net.
  7. Buses are an important transportation in cities and play a significant role in urban transportation. With the development of cities, the number of bus routes has increased, and their convenience has improved. The bus stop signs installation is crucial for the bus services. To provide diverse information, more and more regions are replacing traditional bus stop signs with electronic ones. Currently, the main types of electronic bus stop signs are LED and LCD screens, which can display various information such as bus route information, arrival times, first and last schedules, date information, city weather updates, and advertising messages. However, LED and LCD screens used in electronic bus stop signs face challenges such as difficulties in connecting to power and screen glare caused by strong external light. In addition, they consume significant amounts of energy and are difficult to control in a low-power and autonomous manner based on real-time conditions, leading to unsatisfying usage. As a result, e-ink electronic bus stop signs, with many advantages, have emerged as a popular alternative for displaying public transportation information. The following are the main advantages of E-ink screen electronic bus stop sign: 1. Low power consumption: E-ink technology has a static display, meaning it consumes energy only when updating information. Compared to traditional LCD screens, they have lower power consumption, allowing for energy and electricity cost savings. 2. High visibility: E-ink displays use reflective display technology, similar to the reflection effect of paper. They do not require a backlight and can maintain good visibility even in bright sunlight. They do not produce reflection issues, making it convenient for passengers to view information on the display. 3. Cost-saving maintenance: E-ink displays have a long lifespan, and they do not have the issue of backlight bulb damage, which is commonly found in LCDs. It reduces the cost of maintenance and replacement. 4. Environmentally friendly: E-ink displays do not require a backlight, which means they do not produce harmful substances and do not cause light pollution. This makes them a relatively environmentally friendly display technology. The FETMX6ULL-C SoM is designed based on NXP's i.MX6ULL a low-power ARM Cortex-A7 processor running at speeds up to 800MHz. A low main frequency can reduce the heat generated by the CPU and extend the service life of the CPU. Its stable performance has been verified in long-term use in many fields. FETMX6ULL-C SoM is highly integrated, compared with similar platforms, can ensure performance, and has a lower power consumption. When the power supply is not convenient, you can also rely on solar batteries and others to maintain the operation, in line with the characteristics of green energy-saving products;It supports for eight serial ports, 2x Ethernet ports, and 2x CAN, with a variety of interfaces that can be used to connect multiple sensors, which makes it easy to enhance the functionality of electronic signs and enrich their display. Dual-lane Ethernet can achieve dual-network redundancy. The 10M/100M adaptive Ethernet interface provides double insurance for the network. The support of WiFi and 4G also makes operation and maintenance more convenient. E-ink electronic bus stop signs have several advantages, including low power consumption, high visibility, cost savings in maintenance, and environmental friendliness. They are capable of delivering clear real-time information, thereby enhancing the service quality of public transportation and improving passengers' travel experience. It is suitable for outdoor applications, especially in cases where information needs to be displayed for long periods and under complex lighting conditions. Originally published at www.forlinx.net.
  8. The Allwinner T507-H chip is widely used in various fields such as automotive electronics, power, healthcare, industrial control, IoT, and smart terminals. In complex embedded Linux application scenarios, it is important to break down the barriers between ARM boards and Windows devices in order to achieve cross-platform file sharing. Here’s how you can accomplish this: We can use Samba, which is free software for SMB on Linux systems, to share files and printers between different operating systems. Samba makes it easy to share files between different platforms such as Linux, Windows and Mac, which greatly improves the efficiency of file transfer. So, how to set up Samba service on the embedded OKT507-C development board? 01 Compile source code 1.Source code download address: http://ftp.samba.org/pub/samba/ Download the Samba source package and enter the source3 path: 2.Configure: ./configure CC=aarch64-linux-gnu-gcc LD=aarch64-linux-gnu-ld AR=aarch64-linux-gnu-ar --target=arm-none-linux --host=arm-none-linux-gnueabihf samba_cv_CC_NEGATIVE_ENUM_VALUES=yes --cache-file=arm-linux.cache 3. Compile the source code (with only single-threaded compilation, without using the -j parameter): make 4.make install Generate the installation file: Specify the installation path in the Makefile samba-3.4.17/source3$make install 02 Configuration Service 1.Extract the compressed package to the following path: 2.Create a new configuration file at the following path: 3.Edit the contents of the file: 4.Add a library file Copy the dynamic link library file in the following path to the/lib directory of the board: 5.Start the service 03 Application services 1.OKT507-C development board (Linux board) and Windows host to share files: (1) Start the Samba service and configure the IP of the same network segment as the host: (2) Add Samba support in the Windows host: Open the control panel to enter the following interface: Check the following three options: (3) Enter the server IP in the file manager, and press Enter to see the shared path: 2.The Linux board shares directories with the Ubuntu virtual machine: (1) Install cifs-utils: (2) Create a mount point: (3) Mount the shared directory: At this point, we have completed the implementation of Samba service on the embedded OKT507-C development board of Forlinx, and successfully made this Linux board share files with Windows host and Ubuntu virtual machine. Of course, the specific operation of different master control platform boards will be different, but the overall idea is the same. I hope that the method provided in this article can be helpful to the project development of engineers in front of the screen. Originally published at www.forlinx.net.
  9. As technology develops rapidly, smart devices play an increasingly important role in our lives. Have you ever wondered why your smartphone, computer, and other smart devices can run various complex software and applications? This is all thanks to the powerful processor architecture. Today, we will take you into an eagerly anticipated processor architecture - RISC-V. RISC-V originated from the University of California, Berkeley, and was created by a group of researchers including Andrew Waterman, Krste Asanović, and Yunsup Lee. Their vision is to break the closed design pattern of computer processors and provide an open and flexible instruction set architecture. Since its release RISC-V has received widespread attention in various fields and has become a highly praised architecture. Advantages of RISC-V: 1. Openness and freedom: RISC-V’s open-source allows anyone to use and customize it for free, without paying patent royalties. 2. Modularity and customization: RISC-V’s design allows developers to choose different modules and create custom instruction sets that meet specific needs. 3. Technological innovation: RISC-V’s openness encourages technological innovation and attracts the participation of many companies and research institutions. 4. Wide range of application fields: RISC-V can be used for embedded systems, IoT devices, servers, high-performance computing and other fields. RISC-V is an eagerly anticipated open-source instruction set architecture, with a wide range of application prospects. It represents the future direction of computer processor design, and its openness, freedom, and technological innovation make it have potential in multiple fields. To boost the development of RISC-V, Forlinx Embedded launched a new product - FET7110-C System on Module, which is the first product based on RISC-V architecture. FET7110-C SoM is based on StarFive’s 64-bit high-performance quad-core RISC-V JH7110 processor design and development, with high performance, multi-function, low power consumption characteristics, CPU stable working frequency 1.5GHz, Coremark score of 5.09 CoreMark/MHz, performance better than Cortex-A55. 7110 uses IMG BXE-4-32 MC1 architecture, provides powerful GPU processing capability, supports multi-channel video encoding and decoding, and supports rich functional interfaces such as 2 PCIe2.0, 2 Gigabit Ethernet, and 2 CAN2.0, making its application scenarios more extensive. In terms of power consumption, the FET7110-C SoM is divided into eight power domains that can be switched independently. By using software, the CPU frequency can be adjusted, allowing customers to dynamically control the power consumption according to different application scenarios. FET7110-C SoM is a versatile board for all industries and can be used in many industries such as industrial intelligence, smart surveillance, commercial electronics, smart home and power and energy. After rigorous testing, the FET7110-C SoM can provide stable performance support for customers' high-end applications. The emergence of RISC-V provides a new option. In the future, with the increasing demand for openness and customization, RISC-V is expected to continue to grow in different application fields. In particular, RISC-V is expected to gain more market share in embedded systems, IoT, education and research. Originally published at www.forlinx.net.
  10. Road sensors are mainly used to collect data information on road conditions and provide raw data for the roadside sensing network. The requirements for intelligent transportation are developing towards informationization, intellectualization, real-time, and accuracy, and the perception of road information is becoming more and more sophisticated, thus putting forward higher demands for road sensors. Compared to traditional sensors that can only obtain information about the lane and speed of a vehicle in a section or at a specific moment. The radar-vision fusion integrated system utilizes mmWave radar, high-definition video processing, and AI deep learning algorithms to achieve all-weather and holistic perception of the road. It can detect the flow, speed, type, queue length, and debris of vehicles on the road. It can detect and identify accidents such as traffic congestion, breakdowns, and collisions on the road, as well as pedestrians, obstacles, and animals. It is also capable of automatically issuing warnings. The radar-vision fusion integrated system has a wide range of applications and can be installed on the sides of roads. It can be installed independently on poles or utilize existing road lamp poles. It is commonly applied in crucial areas of urban transportation , key bridges, tunnels, key sections of highways, and critical monitoring areas. Forlinx Embedded recommends using FETMX8MP-C SoM. The core board is designed based on the NXP i.MX 8M Plus processor, equipped with four Cortex-A53 cores with a maximum frequency of up to 1.6GHz and one Cortex-M7 core for real-time control. High Performance: It is equipped with a built-in NPU, providing high AI computing power of up to 2.3 TOPS to meet lightweight edge computing requirements.And it is paired with 32-bit LPDDR4 memory, with a high data rate of up to 4.0 GT/s. Low Power Consumption: 14nm FinFET,Applications running <2.0W,Deep Sleep Mode < 20mW, to meet the power requirements of mobile devices. Powerful Image Recognition: Dual hardware ISP (Image Signal Processor) supports resolutions of up to 12MP and provides an input rate of up to 375M pixels per second. This significantly enhances the image quality. Mainstream AI Architecture: tensorflow-lite, armNN, OpenCV, Caffe, etc. to facilitate machine learning. Advanced multimedia features: supports multiple hardware codec types: 1080p60, h.265 / 4, VP9, VP8. Rich High-speed Interface Resources: 2 Gigabit Ethernet, 2 dual-purpose USB 3.0/2.0, PCIe Gen 3, 3 SDIO 3.0, 2 CAN FD, bringing more possibilities for high-speed signal transmission. Originally published at www.forlinx.net.
  11. Saving existing data and avoiding data loss when dealing with sudden power loss is crucial for users of fast storage and acquisition data products. There are many solutions to this problem, among which ferroelectric memory (FRAM) is a good choice. FRAM is a non-volatile memory with fast write speed, capable of storing data in a non-volatile manner while also allowing operations similar to RAM. This article will utilize the Forlinx OK3568-C development board to introduce a solution that employs FRAM - using the SPI0 interface to connect the PB85RS2MC (FRAM) chip. The driver files and application files described in this article can be obtained by contacting Forlinx Embedded's technical support. Modification— To add an SPI device, the following steps need to be taken: Add a description to the device tree → corresponding device driver in the device tree description → device driver added to the kernel Result— Modify OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi Modify the following: Next, we will introduce the adaption process. 1 Driver We searched the menuconfig for fm25, pb85, and other commonly used FRAM words but found that there is no similar driver. So we need to handwrite or port a driver. After searching through various websites, I found a driver for W25Q64. After comparing the various operation codes of PB85RS2MC with W25Q64, I noticed that they are quite similar. Therefore, I have decided to port the W25Q64 driver to PB85RS2MC. According to the description in the PB85RS2MC chip manual, the various opcodes are: Command Name Command Description opcode WREN Write Enable Latch Commands 0000 0110B WRDI Reset Enable Latch CommandWrite Enable Latch Commands 0000 0100B READ Read Command 0000 0011B WRITE Write Command 0000 0010B RDID Read Device Serial Number Command 1001 1111B FSTRD High-speed read command 0000 1011B SLEEP Sleep command 1011 1001B RDSR Read Status Register 0000 0101B WRSR Write Status Register 0000 0001B Therefore, the following opcodes are macro-defined in the driver to be used in the following drivers: First, the initi and exit functions should be carried out in the driver, that is, the spidev _ init and spidev _ exit. The init function is to initialize the character device, register it, etc. The exit function is to release all the things we have registered when we exit. This must match the value of the compatible attribute in the device tree, otherwise the match will be unsuccessful. Furthermore, the driver and the device tree are matched by the value of the compatible attribute, which must be the same as the value of the compatible attribute in the device tree. Otherwise the match will be unsuccessful. The compatible value in the driver is shown below. After the successful matching of the driver and the device tree, we have to execute the probe function, where the probe function performs some initialization and registration of the primary and secondary device numbers. We can determine whether the driver, and the device tree match successfully by whether it prints spi_probe success! Check the read conditions in the PB85RS2MC chip manual, then read the data from the FRAM memory cell, which requires the READ opcode, any 24-bit address entered into the SI. The first spi_transfer structure is used to send the command cmd to the SPI device to prepare the device before reading the data, the second is to send the address to the SPI device, and the third is to receive the data read from the device. This code implements a synchronized read from the SPI device and copies the data to user space. Check the write conditions from the PB85RS2MC chip manual, the WREN command is used to set the write enable latch. The WREN command is required to set the write enable latch before the write operation (WRITE command), and the WRITE command writes data to the FRAM memory cell array. The WRITE opcode, any 24-bit address, and 8-bit write data are input to the SI. The following code implements the function of sending a write enable command to the SPI device. This code implements synchronized writing of data to SPI devices. It sends the write enable command first and then sends the address information and data. The following code writes data synchronously to the SPI device by copying user-space data to the device's transmit buffer and calling the spidev_sync_write function to write the data to the SPI device. 2 Applications To write data to an SPI device, call lseek to change the location of the written data so that data can be written throughout the SPI device, e.g. . /writeframAPP /dev/pb85rs 0 forlinx (0 is the address to write to, forlinx is what to write) To read data from an SPI device, call lseek to change the location of the read data so that it can be read throughout the SPI device, e.g. . /readframAPP /dev/pb85rs 0 (0 is the address of the data to be read) 3 Actual Test (1) First copy fram.ko, readframAPP, writefram APP to any folder in OK3568-C development board. (2) Load the fram.ko module with insmod, spi_probe success! shows that the driver matches the device tree successfully. (3) Look under /dev/ to see if there is a pb85rs device. (4) Use . /writeframAPP /dev/pb85rs 1500 forlinx Write data to the device, 1500 is the address and forlinx is what to write. (5) Use . /readframAPP /dev/pb85rs 1500 (1500 is the address of the data to be read) 4 Power Failure Test Re-reading the PB85RS2MC after a day of power loss revealed that the data was still there. The power-off data retention characteristics of the PB85RS2MC ferroelectric memory chip are verified. At this point, we have completed adding a new SPI ferroelectric memory chip to the OK3568-C development board! Originally published at www.forlinx.net.
  12. Forlinx has officially launched their latest System-on-Module, featuring the powerful StarFive JH7110 RISC-V chip. These versatile SoM and compatible carrier board are now available for order, catering to a wide range of applications including commercial, medical, and industrial automation. Recently, a few embedded products have emerged utilizing the same processor, including the VisionFive 2, Pine64, and Milk-V Mars. However, the FET7110 SoM will be the first product from Forlinx to feature the integrated Jinghong 7110 processor. See the JH7110 block diagram for reference. • JH7110 – 64-bit RISC-V, up to 1.5GHz (quad SiFive U74-RV64GC, up to 5.09 CoreMark/MHz) JH7110 block diagram The JH7110’s GPU integrates the IMG BXE-4-32 MC1 (up to 600MHz) which offers full support for mainstream APIs like OpenCL 3.0, OpenGL ES 3.2, and Vulkan 1.2. Regarding power consumption, Forlinx indicates that the JH7110 is segmented into eight independently switchable power domains. Additionally, the CPU frequency can be dynamically adjusted via software, allowing customers to fine-tune the frequency based on various application scenarios that require flexible control and power consumption. The JH7110 facilitates camera access through both MIPI-CSI and DVP interfaces, with ISP support. It enables video decoding capabilities of up to 4K@60fps and video encoding of 1080p@30fps. Moreover, the SoM supports HDMI (4K@30fps) and RGB (1080p@30fps) display output interfaces, along with MIPI-DSI (2K@30fps). Specifications listed for the FET7110-C SoM include: • Memory/Storage: ○ 2/4GB LPDDR4 RAM ○ 32GB eMMC 5.0 ○ 100 Mbps QSPI ○ SD 3.0/MMC 5.0 • Connectivity: ○ 2x GMAC for RMII/RGMII 10/100/1000 Mbps • Display/Audio: ○ 1x HDMI 2.0 (up to 4K@30fps) ○ 1x 4-lane MIPI DSI, (up to 2K@30fps) ○ 8-lane I2S PCM/TDM • Camera: ○ 1x 4-lane MIPI-CSI • Expansion: ○ 1x PCIe2.0x1, 2 PCIe2.0 controllers integrated w/ PHY • USB: ○ 1x USB 2.0 ○ 1x USB 3.0 • I/O Peripherals: ○ 6x UART, 7x I2C, 7x SPI ○ 1x SDIO ○ 8x PWM ○ 64x GPIOs ○ 2x CAN 2.0B (Up to 5Mbps) • Power: ○ 5V DC • OS: ○ Linux 5.15.0 • Mechanical: ○ 60 x 38mm ○ B2B connectors (3x 80-pin) Specifications listed for the OK7110-C development board include: • Memory/Storage: ○ 2/4GB LPDDR4 RAM ○ 32GB eMMC 5.0 ○ 100 Mbps QSPI ○ SD 3.0/MMC 5.0 • Connectivity: ○ 2x Gigabit Ethernet ports • Display/Audio: ○ 1x HDMI 2.0 port ○ 1x MIPI DSI ○ 2x Speakers ○ 1x Mic • Camera: ○ 1x MIPI-CSI • Expansion: ○ 2x PCIE 2.0 ○ 1x Micro SIM • USB: ○ 1x USB Type-C ○ 3x USB 3.0 • I/O Peripherals: ○ 2x CAN ○ 2x RS485 • Other Features: ○ 1x Power button, 1x Reset key ○ RTC battery • Power: ○ 12V DC (via barrel connector) • Mechanical ○ B2B connectors (3x 80-pin) These products are now available for ordering. Customers can find the product page for the FET7110-C SoM here.
  13. With the development of network technology, there is an increasing demand for storing video data over the network. As a result, surveillance systems that were previously centered around DVRs (Digital Video Recorders) have further evolved into NVR (Network Video Recorder) systems with network capabilities. NVR, which stands for Network Video Recorder, is the storage and forwarding component of a network video surveillance system. It is primarily responsible for functions such as accessing, storing, forwarding, decoding, and previewing network audio and video signals. In today's increasingly complex and widely applied surveillance scenarios, intelligence has become an inevitable trend in the development of video surveillance systems. Intelligent security monitoring is one such application of NVR intelligence. It utilizes advanced technologies and intelligent algorithms to enhance security, reduce monitoring workload, and provide real-time access, playing a crucial role in the field. They are suitable for various applications, ranging from home security to large-scale commercial and urban surveillance projects. With the constant advancement of technology, intelligent security surveillance systems will continue to evolve and improve, offering advanced features and greater convenience. Intelligent NVR can be utilized in security surveillance and, with algorithmic support, can achieve the following scenarios: Face Recognition Alarm: Comparative recognition of the target face can be performed through video or image streams. Fire Incident Visualization and Early Warning: Intelligent detection and identification of smoke and fire points, issuing early warnings before the fire spreads. Intrusion Detection and Alarm: The system can monitor an area and provide alerts for unauthorized intrusion by using object recognition and motion detection. Parking Space Vehicle Recognition: By using object recognition or license plate recognition, the system can detect and identify unauthorized or improperly parked vehicles (underground garages). Requirements Cases: A video surveillance system solution provider plans to launch a high-performance NVR (Network Video Recorder) device to meet the diverse monitoring needs of smart security applications. In the envisioned product positioning of this customer, this NVR can provide intelligent monitoring functions in various security surveillance scenarios, such as face recognition alarms, visualized fire hazard alerts, intrusion alarms, parking space vehicle recognition, etc. Unlike traditional NVRs, the implementation of intelligent monitoring functions requires AI computing power on the NVR's main control unit. This is because it needs to be able to run intelligent monitoring algorithms locally while performing traditional functions such as access, storage, forwarding, and decoding. Based on the above reasons, Forlinx Embedded recommends the FET3568-C SoM to customers as an ideal iteration tool for security back-end NVR devices. It adopts the RK3568 processor produced by Rockchip, featuring a quad-core Cortex-A55 architecture with a clock speed of up to 2GHz. Additionally, it integrates a 1 TOPS NPU, which enables lightweight local AI computing. It natively supports dual Gigabit Ethernet, which can be used for connecting network cameras, network communication, etc. It supports SATA 3.0 and PCIe 3.0, which can be used to connect mechanical hard drives or solid-state drives, enabling local storage of large video data capacity. It supports five different display interfaces: HDMI 2.0, eDP, LVDS, RGB Parallel, and MIPI-DSI. It also supports simultaneous and separate display on three screens, maximizing local preview and operation convenience. With the user-friendly model conversion tool RKNN-Toolkit, the FET3568-C allows for one-click conversion of popular architecture models such as Caffe, TensorFlow, TF-Lite, ONNX, PyTorch, Keras, and Darknet. This tool assists engineers in swiftly developing functions like face , object, action, license plate recognition, etc. Additionally, RK3568 supports various video input/output interfaces and offers hardware decoding of high-definition formats such as H.264, H.265, and VP9 at 4K resolution. It can decode multiple video sources simultaneously, making it highly compatible with NVR devices. Originally published at www.forlinx.net.
  14. FET3588-C System on Module based on Rockchip RK3588 FET3588-C System on Module (SoM) carries Rockchip’s advanced hybrid processor RK3588 contains quad-core Cortex-A76 and Cortex-A55 cores, A76 core runs up to 2.4GHz, and A55 core clocks up to 1.8GHz. It has a super advanced engine that can support up to 8K output and quad-screen with different content output; The SoM has been subjected to rigorous ambient temperature testing, which proves that it could be a trusted and best option for your high-end applications and products. Feature of Rockchip RK3588 8K video codec, can support various codec forms; ISP3.0 up to 48MP; Various video outputs up to 8K@60Hz; 4 PCIe3.0 and 3 PCIe2.1, up to 8Gbps; Multiple USB3.1 Type-C can support SATA3.1; FET3588-C System on Module (SoM) OK3588-C Single Board Computer
  15. The pollutants produced by human activities are the main factors causing water pollution. To protect the water environment, we must strengthen the monitoring of sewage discharge, the analysis of surface water, groundwater, industrial wastewater, and other water quality, and ensure the safety of people's water use. Drinking water safety concerns everybody, but many people still do not know its quality. Does the residual chlorine exceed the standard? What is the pH? These important indicators related to drinking water health need to be accurately detected. A water quality detector is a professional instrument used to analyze the content of water quality components, which can measure BOD, COD, ammonia nitrogen, total phosphorus, total nitrogen, turbidity, pH, and dissolved oxygen in water. It plays an important role and has been widely used in water quality detection and water resources protection. FETMX6ULL-C arm core board launched by Forlinx Embedded can be effectively used in water quality detectors to help us better protect drinking water. FETMX6ULL-C core board is a processor-based NXP i.MX6ULL is designed with a low-power ARM Cortex-A7 architecture that runs at speeds up to 800MHz. A low main frequency can reduce the heat generated by the CPU and extend the service life of the CPU. Its stable performance has been verified in long-term use in many fields. FETMX6ULL-C SoM is highly integrated and supports 8x serial ports, 2x network ports, and 2x CAN. The rich interfaces can connect dissolved oxygen sensors (with temperature), pH sensors, conductivity sensors, turbidity sensors, ammonia nitrogen analyzers, total organic carbon analyzers TOC, etc., to facilitate on-site construction and assembly. Dual-lane Ethernet can achieve dual-network redundancy. The 10M/100M adaptive Ethernet interface provides double insurance for the network. The support of WiFi and 4G also makes operation and maintenance more convenient. The software system uses Linux 4.1.15 and has an experienced technical support team to solve problems in the user design, allowing customers to quickly enter the product testing phase. Originally published at www.forlinx.net.
  • Create New...