Jump to content
Electronics-Lab.com Community

Forlinx

Members
  • Posts

    74
  • Joined

  • Last visited

  • Days Won

    1

Forlinx last won the day on March 21

Forlinx had the most liked content!

2 Followers

Contact Methods

  • Website URL
    https://www.forlinx.net/

Recent Profile Visitors

4,772 profile views

Forlinx's Achievements

  1. Product Description The peritoneal dialysis machine is an advanced medical device designed for performing peritoneal dialysis, a treatment for acute and chronic renal failure. This process involves infusing dialysate into the patient's abdominal cavity, where the peritoneum serves as a semipermeable membrane to exchange solutes and fluids, effectively removing metabolic waste and toxins while correcting fluid and electrolyte imbalances. The device comprises a main unit, control unit, and heater, available in both powered and gravity-driven models. This technology significantly enhances the quality of life for patients, allowing them to connect the peritoneal dialysis catheter to an automated machine before sleep. The machine performs dialysis treatments overnight, typically for 8 to 10 hours. In the morning, patients can disconnect the catheter and continue their daily activities seamlessly. Hardware Key Components Central Control Unit: Manages the operation and data processing of the device. Modern systems feature intelligent controls that monitor and record real-time parameters, such as infusion volume, dwell time, drainage time, outflow volume, and dialysate temperature. Heater: Ensures the dialysate is warmed to the optimal temperature, improving efficiency and patient comfort. Power Unit: Facilitates the delivery and drainage of dialysate to and from the patient's peritoneal cavity. Sensors and Monitoring System: Utilizes various sensors to ensure real-time monitoring and safety of the dialysis process. User Interface: Provides an intuitive platform for setting parameters, monitoring status, and receiving alerts. Main Challenges in Hardware Design Precise Control and Monitoring: Demands accurate control and monitoring of parameters like temperature, pressure, and flow rate, requiring high hardware accuracy and stability. Portability and Compact Design: Essential for home-based dialysis, necessitating a balance between size, weight, and performance. Safety and Reliability: Critical for medical equipment, requiring thorough consideration of electrical and mechanical safety, and prevention of cross-contamination. Cost-effectiveness: Balancing performance, safety, and reliability with reduced hardware costs to alleviate patient financial burdens and enhance market competitiveness. Recommended Hardware Platform: Forlinx T113 SoM The T113 SoM stands out as a highly competitive solution for addressing the hardware challenges of peritoneal dialysis machines. Here are five reasons for its recommendation: High-Performance Computing: Integrates dual-core Cortex-A7 CPU, 64-bit XuanTie C906 RISC-V DSP with clock speeds up to 1.2GHz, providing robust computing power for precise control and real-time monitoring. Extensive Connectivity: Offers diverse connectivity options (USB, SDIO, UART, SPI, CAN, Ethernet) for flexible data exchange and communication, enhancing compatibility and future upgrade potential. Multimedia Support: Capable of decoding and encoding multiple formats with various display and audio interfaces, improving the user interface and feedback experience. Stable and Reliable Performance: Undergoes rigorous testing for environmental stress and long-term stability, ensuring consistent operation and high patient satisfaction. Cost-effective: Features compact, low-power consumption design ideal for portable devices, with competitive pricing to reduce overall machine costs and ease patient financial burdens. In conclusion, the T113 SoM's combination of high performance, rich connectivity, multimedia support, compact size, and reliable operation makes it an excellent core hardware solution for peritoneal dialysis machines. It effectively addresses the need for control, monitoring, and user experience while reducing costs and enhancing market competitiveness.
  2. 1. GPIO Wake-up The supported system sleep modes can be viewed with cat /sys/power/state. To achieve functionality similar to the 6ul, use the "wake-up" function in ''gpio-keys.c''. Add a GPIO node specifying the wake-up GPIO pin. During sleep, a message indicates only GPIO0 supports wake-up; testing confirmed only GPIO0 can wake up. cat /proc/interrupts indicates that the interrupt for key1 has been successfully registered. Testing has been conducted to verify that both freeze and mem modes can wake up. 2. Network Wake-up Firstly, NIC support for Wake-on-LAN is required. Use the ethtool tool to check NIC information. The default setting for wake-on is ''d'', which means network wake-up is disabled. The ''supports Wake-on'' option is ''ug'', where ''u'' allows any unicast data and ''g'' allows magic packets. The wake-on can be set to ''ug'' for eth0 using the following command: ''ethtool -s eth0 wol ug''. Test for u: echo freeze > /sys/power/state//Enter freeze sleep mode Waking up can be achieved by pinging the IP of this network port in any local area network. Test for g: ethtool -s eth0 wol g//Set wake-on to g At this point, the ping fails, but the mac can be specified through the wol to wake up. Testing revealed that Wake-On-LAN is only possible in freeze mode. Observations showed that after entering mem mode, the network LED does not light up; whereas, in freeze mode, the network LED continues to blink normally. This indicates that the PHY (physical layer) is not functioning in mem mode, and therefore, it cannot trigger an interrupt for wake-up. It is also possible that this interrupt pin is connected to gpio3 _ A2.
  3. To fully meet the growing demand in the AIoT market for high performance, robust computing power, and low power consumption, Forlinx Embedded presents the all-new FET3576-C SoM, developed based on the Rockchip RK3576 processor! Integrated with 4 x ARM Cortex-A72 and 4 x ARM Cortex-A53 high-performance cores, featuring a built-in 6 TOPS powerful NPU, the FET3576-C SoM empowers your AI applications. With a board-to-board connection design and plug-and-play capability, it facilitates easy installation and maintenance for your products. The product undergoes rigorous testing at Forlinx Embedded Laboratory ensuring stability and reliability for your products. With a 10-15 year life-cycle, it assures continuous supply. FET3576-C SoM release marks a new milestone in the collaboration between Forlinx Embedded and Rockchip. As we enter the era of mobile intelligence, we are committed to working together to provide customers with excellent products and high-quality services. 01 Eight-core High-performance Chip with Advanced Video Decoding Capabilities RK3576 is a high-performance, low-power application processor designed by Rockchip specifically for the AIoT market. It features four ARM Cortex-A72 cores and four ARM Cortex-A53 high-performance cores, along with a built-in 6TOPS powerful NPU for advanced computing tasks. Additionally, it includes an embedded 3D GPU, a dedicated 2D hardware engine with MMU, and H.265 hardware decoding, supporting up to 8K resolution for enhanced display performance. 02 Firewall Achieves True Hardware Resource Isolation RK Firewall for managing access rights from master to slave devices and memory areas for true hardware resource isolation 03 Supercharge Your AI Applications With 6TOPS Computing Power NPU! RK3576 processor is equipped with a powerful 6TOPS NPU, supporting INT4/INT8/INT16/FP16/BF16/TF32 operations. It can operate in dual-core collaboration or independently, facilitating multitasking and parallel processing across various scenarios. It supports multiple deep learning frameworks such as TensorFlow, Caffe, Tflite, Pytorch, Onnx NN, and Android NN. 04 Ultra-HD Display + AI Intelligent Repair RK3576 processor supports high-definition H.264 and H.265 encoding/decoding, and features five display interfaces: HDMI/eDP, MIPI DSI, Parallel, EBC, and DP. It enables triple-display setups, 4K@120Hz Ultra HD display, and super-resolution capabilities. Intelligent image restoration enhances blurry images and improves video frame rates, meeting diverse display requirements across multiple scenarios. 05 FlexBus New Parallel Bus Interface FlexBus features a flexible parallel bus interface capable of simulating irregular or standard protocols, supporting 2/4/8/16-bit data parallel transmission at clock speeds up to 100MHz. Additionally, it includes a rich array of bus communication interfaces such as DSMC, CAN-FD, PCIe 2.1, SATA 3.0, USB 3.2, SAI, I2C, I3C, and UART. 06 Continuously Updated User Profile Comprehensive resources including carrier board schematics ensure simplified development and streamlined production processes for you. 07 Wide Range of Industry Applications Forlinx Embedded FET3576-C SoM is versatile across industrial, AIoT, edge computing, and smart mobile terminals. With Forlinx's robust technical support services, accelerate your product's time-to-market and seize the lead in your industry. Carrier Board OK3576-C Development Board To minimize your development workload, we can provide starter kits that can be used as complete development platforms for evaluation and application development. OK3576-C Single Board Computer by Forlinx is powered by Rockchip RK3576 processor, featuring 4x ARM [email protected] + 4x [email protected], 2GB/4GB LPDDR4 RAM, and a 6TOPS NPU. It employs 4 100-pin board-to-board connectors to easily access all processor function pins, offering seamless functionality and ease of customization, and supports Linux 6.1.57 system. Featuring open system architecture design, it can provide technical information for your secondary development. OK357
  4. ECG monitor is a kind of medical equipment that is used to monitor and record human ECG in real-time. It can continuously observe the electrical activity of the heart through the display, providing doctors with reliable and valuable indicators of cardiac activity, thus guiding real-time management. ECG monitor has a wide range of applications in the medical field, especially for patients with abnormal ECG activity, such as acute myocardial infarction, various arrhythmias, etc., which plays an important role in auxiliary diagnosis. Application Scenario ECG monitor is widely used in various places of the hospital, such as ICU, CCU, operating room, ward and so on. It is suitable for critically ill patients or patients with certain risks after operation, as well as patients who need to monitor ECG signals continuously for a long time. By using an electrocardiogram monitor, doctors can promptly detect abnormalities in patients' physiological indicators, thereby taking appropriate treatment measures to ensure the patients' safety. Features: 1. Accurate monitoring:The electrocardiogram monitor can real-time monitor the patient's cardiac signals, collect the weak signals of cardiac electrical activity through electrodes attached to the patient's body, and display them on the screen after internal circuit processing. In addition to cardiac signals, an electrocardiogram monitor can also simultaneously monitor other physiological parameters such as respiration, blood pressure, blood oxygen saturation, etc., providing doctors with comprehensive physiological information. 2. Alarm function: The electrocardiogram monitor has an alarm function, which can be set with different alarm thresholds according to the patient's condition and the doctor's requirements. When the monitored parameters exceed the set values, the monitor will emit audio and visual alarms to promptly remind medical staff to take action. 3. Data recording and analysis: The electrocardiogram monitor can automatically record the patient's cardiac data and generate electrocardiograms for analysis. Doctors can analyze the electrocardiogram to understand the patient's cardiac condition, providing a basis for subsequent diagnosis and treatment. 4. Stable operational capability: The electrocardiogram monitor can effectively shield interference factors such as electromyographic signals and electromagnetic signals, ensuring the accuracy and reliability of cardiac data. It can continuously monitor patients' physiological parameters for 24 hours, assisting doctors in promptly detecting changes in the patient's condition. Folinx Solutions As an important equipment in the medical field, ECG monitor plays a vital role in monitoring the physiological parameters of patients continuously, stably and accurately. In order to meet the high performance, high stability, multi-function and other requirements of modern medical ECG monitor, for product development, we recommend the embedded FETMX8MP-C SoM based on NXP i.MX8MPlus processor as the development platform of ECG monitor. Technical Features: High performance: The CPU is a 1.6GHz quad-core 64-bit Cortex-A53 architecture with a Neural Processing Unit (NPU) running up to 2.3TOPS. Network Interface: The SoM natively supports 2 Gigabit network interfaces, which makes data transmission and interaction with external medical information systems (LIS/HIS) efficient and stable. Display and Expansion Interface: It also supports screen interfaces such as LVDS and HDMI, which can meet the display needs in different scenarios, such as dual-screen simultaneous display or heterodyne display, and the highest resolution of HDMI can be reached4K. In addition, communication interfaces support USB 3.0, PCIE Gen 3, SDIO, CAN FD, etc. to connect to various sensors or medical devices. Industrial-grade design and stability: The whole board adopts industrial-grade design and undergoes the stringent 7x24 hours continuous stable operation test and high and low-temperature experiments. This design ensures highly stable operation in various environments, especially in medical environments where continuous operation is required. This is critical for cardiac monitors that require 24/7 monitoring of patient physiological parameters.
  5. ECG monitor is a kind of medical equipment that is used to monitor and record human ECG in real-time. It can continuously observe the electrical activity of the heart through the display, providing doctors with reliable and valuable indicators of cardiac activity, thus guiding real-time management. ECG monitor has a wide range of applications in the medical field, especially for patients with abnormal ECG activity, such as acute myocardial infarction, various arrhythmias, etc., which plays an important role in auxiliary diagnosis. Application Scenario ECG monitor is widely used in various places of the hospital, such as ICU, CCU, operating room, ward and so on. It is suitable for critically ill patients or patients with certain risks after operation, as well as patients who need to monitor ECG signals continuously for a long time. By using an electrocardiogram monitor, doctors can promptly detect abnormalities in patients' physiological indicators, thereby taking appropriate treatment measures to ensure the patients' safety. Features: 1. Accurate monitoring:The electrocardiogram monitor can real-time monitor the patient's cardiac signals, collect the weak signals of cardiac electrical activity through electrodes attached to the patient's body, and display them on the screen after internal circuit processing. In addition to cardiac signals, an electrocardiogram monitor can also simultaneously monitor other physiological parameters such as respiration, blood pressure, blood oxygen saturation, etc., providing doctors with comprehensive physiological information. 2. Alarm function: The electrocardiogram monitor has an alarm function, which can be set with different alarm thresholds according to the patient's condition and the doctor's requirements. When the monitored parameters exceed the set values, the monitor will emit audio and visual alarms to promptly remind medical staff to take action. 3. Data recording and analysis: The electrocardiogram monitor can automatically record the patient's cardiac data and generate electrocardiograms for analysis. Doctors can analyze the electrocardiogram to understand the patient's cardiac condition, providing a basis for subsequent diagnosis and treatment. 4. Stable operational capability: The electrocardiogram monitor can effectively shield interference factors such as electromyographic signals and electromagnetic signals, ensuring the accuracy and reliability of cardiac data. It can continuously monitor patients' physiological parameters for 24 hours, assisting doctors in promptly detecting changes in the patient's condition. Folinx Solutions As an important equipment in the medical field, ECG monitor plays a vital role in monitoring the physiological parameters of patients continuously, stably and accurately. In order to meet the high performance, high stability, multi-function and other requirements of modern medical ECG monitor, for product development, we recommend the embedded FETMX8MP-C SoM based on NXP i.MX8MPlus processor as the development platform of ECG monitor. Technical Features: High performance: The CPU is a 1.6GHz quad-core 64-bit Cortex-A53 architecture with a Neural Processing Unit (NPU) running up to 2.3TOPS. Network Interface: The SoM natively supports 2 Gigabit network interfaces, which makes data transmission and interaction with external medical information systems (LIS/HIS) efficient and stable. Display and Expansion Interface: It also supports screen interfaces such as LVDS and HDMI, which can meet the display needs in different scenarios, such as dual-screen simultaneous display or heterodyne display, and the highest resolution of HDMI can be reached4K. In addition, communication interfaces support USB 3.0, PCIE Gen 3, SDIO, CAN FD, etc. to connect to various sensors or medical devices. Industrial-grade design and stability: The whole board adopts industrial-grade design and undergoes the stringent 7x24 hours continuous stable operation test and high and low-temperature experiments. This design ensures highly stable operation in various environments, especially in medical environments where continuous operation is required. This is critical for cardiac monitors that require 24/7 monitoring of patient physiological parameters.
  6. Introduction: In March of this year, I attended the Embedded World Exhibition, which focuses on embedded systems. During my visit, I explored the Forlinx booth. Forlinx is renowned for developing System on Modules (SoMs) and Evaluation Boards for industrial PCs. I previously acquired an evaluation board from Forlinx last year. This year, I am excited to present the new Forlinx OK3588-C board in this video. Presenting the OK3588-C Development Board (featuring a Rockchip RK3588) Today, we will explore the Forlinx OK3588-C board. Allow me to switch off the camera and transition to the desktop view. Here, I have the hardware manual for the OK3588 board. If you require this hardware manual or the necessary SDKs to develop software for this board, please contact Forlinx, and they will provide you with the required resources. SoM Appearance Diagram: The evaluation board comprises two primary components. Firstly, this is the physical appearance. Here, we have the System on Module (SoM) mounted on a carrier board, which connects all peripherals to the SoM. Let's begin by examining the System on Module. This module includes the Rockchip RK3588 main processor, two DRAM ICs, and eMMC storage for non-volatile data. Various components on the module generate the required voltages for the chip's operation. The Rockchip RK3588 is a robust processor. RK3588 Description: Displayed here is a block diagram of the RK3588. It features a dual-cluster core configuration. One cluster consists of a quad-core Cortex-A76 processor clocked at 2.6 GHz, and the second cluster includes a quad-core Cortex-A55 processor, clocked at either 1.5 or 1.8 GHz. This setup allows for power-saving capabilities by disabling the A76 cores when full performance is not required. Another notable feature is the high-performance Neural Processing Unit (NPU), which is advantageous for tasks related to artificial intelligence and machine learning. In the future, I hope to demonstrate the NPU's capabilities. The chip also includes a multimedia processor supporting various video decoders, even up to 8K resolution, and an embedded Mali-G GPU. For external memory interfaces, it has two eMMC controllers and support for LPDDR4 and LPDDR5. Additionally, it includes standard system peripherals, such as USB OTG 3.1, PCIe interfaces, Gigabit Ethernet, GPIO, SPI, and I²C. Development Board Interface Description: The carrier board includes numerous peripherals. There is a 12V power supply, a power switch, a reset switch, up to five camera connectors, microphone and speaker connectors, USB 2.0 host, and two USB 3.1 OTG ports. These USB ports can function as either hosts or devices. It also features two HDMI ports (one input and one output), a real-time clock with a battery, eDP ports, ADC connectors, an SD card slot, a fan connector, and M.2 slots for Wi-Fi and cellular cards. The board also includes two full-size PCIe connectors, user buttons, CAN interfaces, an RS485 interface, a USB-to-serial adapter, and two Gigabit Ethernet ports. The overall setup is impressive. Operation: Let's power on the board. I have also connected a PCIe card to a free slot. Before proceeding, let's open the serial terminal to monitor the output. The board is booting, and the kernel is starting successfully. Currently, we are running a minimal BusyBox root file system. In a future video, I will demonstrate how to build a custom Linux for this board. For now, this setup is sufficient. We are running kernel version 5.10.66, built for ARM64 architecture. The board has eight processors, consisting of different Cortex-A cores. The available memory is 3.6 GB, with 155 MB currently in use. Background processes and the Mali GPU likely consume some memory. We have eight I²C buses available, with one connected to the display connector for Display Data Channel (DDC) management. The eMMC storage has multiple partitions. The board features seven GPIO chips and eight I²C connectors. Lastly, I have connected a PCIe card, and the system detects it successfully. The card operates at PCIe Gen 1 speed with a link width of x1. Higher-end cards could achieve link speeds up to 8 GT/s and wider link widths. This concludes the initial demonstration of the OK3588 board. In future videos, I will compile software for this board and provide more in-depth coverage of this compelling embedded system platform. I'm excited to showcase the full potential of the Forlinx OK3588-C development board and how it can be leveraged for a wide range of innovative projects. Stay tuned as I delve deeper into the capabilities of this board and explore how it can be leveraged for various applications.
  7. Software version: Linux 4.19 Design Idea: Detect screen touch events to determine whether the screen is being used or not in an auto-break application. If the screen detects input events, it will remain on. If no touch events are received for a period of time, the screen will transition from on to a dimmed state, reminding the user that it is about to enter the screen-off mode. If no touch events occur after dimming, the screen will enter the screen-off mode. When a touch event occurs again, the screen will transition from screen-off mode to the on state. Currently, the approach to implement automatic screen-off is to treat touch events as a fixed path that can be applied to familiar boards. To enhance convenience in application, two additional alternative approaches are provided below: ▊ The first implementation method You can apply the evtest command to get the path to/dev/input/event1 (event1 is the name of the touch event on my board). You can then pass the path to your program as a parameter. For example, you can modify your program to accept command-line arguments to specify the path of the device file to open int argc, char *argv[]; Opens a file with the passed in parameters as the device file path int fd = open(argv[1], O_RDONLY); You can compile and run the program, passing it/dev/input/event1 as a command-line argument, like this: ./your_program /dev/input/event1 ▊ The second implementation method is to fix the screen touch node in the device tree. Look for the screen touch node in the device tree and note its address. On the I2C bus, the address of the touch node is simply 2-0038 So we can use grep to filter out touch nodes based on their addresses. ls -l /sys/class/input | grep "0038" | awk -F ' ' '{print $9}' | grep "event" The following command is used in the application to find the touch event based on the touch address. char *command_output = exec("ls -l /sys/class/input | grep '0038' | awk -F ' ' '{print $9}' | grep 'event'"); Use the sprintf function to splice the path containing the event, and then read the event. Examples of using Sprintf: int main() { char str[100]; int num = 123; float f = 3.14; //Write the formatted data to the string sprintf(str, "%d%.2f", num, f); //print the generated string printf("The output is. %s\n", str); return 0; }
  8. Some customers rely on battery power for their products and have limited battery capacity. If a screen is used in the product, the screen will be one of the main sources of energy consumption. Therefore, turning off the screen in time can effectively extend the battery life and improve the user experience. In addition, the auto-screen-off function not only extends the life of the screen but also effectively prevents the risk of information leakage and privacy exposure. Generally speaking, the automatic screen off function plays an important role in improving the performance of the device, saving energy and protecting privacy. Knowledge points involved: 1. Struct input _ event: a data structure used to represent Linux input event This structure usually contains various information of the input event, such as event type, event code, value, etc. When dealing with input devices such as keyboards and mice, you can use this structure to store and pass information about input events. Specifically, the struct input _ event structure typically contains the following fields: Struct timeval time: The timestamp of the event occurrence. Unsigned short type: The type of event (e.g., key press, release, etc.) Unsigned short code: Code of the event (such as which key was pressed). Int value: The value of the event (key press/release, etc.) By defining such a structure, it is easy to package together the various attributes of an input event for processing and passing in the program. When reading the events of the input device, this structure can be used to store the specific information of each event, which is convenient for subsequent analysis and response to the input events. 2. Functions and differences of read function and select function The read () function and the select () function are both functions used in Linux systems to handle I/O operations, but there are some differences in what they do and how they are used. (1)Read () function: The read () function is used to read data from a file descriptor, such as a file, socket, and so on.It is a blocking system call, that is, when there is no data to read, the program will be blocked until there is data to read or an error. The read () function reads data from the file descriptor into the specified buffer and returns the actual number of bytes read, or -1 if an error occurs. (2)Select () function: The select () function monitors multiple file descriptors to determine whether they are in a readable, writable, or abnormal state. Through the select () function, multiplexing can be achieved, that is, one of multiple file descriptors is selected for I/O operation without blocking and waiting. The select () function blocks the process until at least one of the specified file descriptors is in a readable, writable, or exception state, or the specified timeout has passed. The select () function is usually used to listen to multiple file descriptors at the same time, so that when any file descriptor is ready, the corresponding read and write operations can be performed to improve the efficiency of the program. In summary, the read () function is a blocking operation to read data from a single file descriptor, while the select () function is a function to multiplex the state of multiple file descriptors to help the program manage multiple I/O operations more efficiently. The select () function is typically used in situations where you need to listen to multiple file descriptors at the same time. In the program, events are read from the input device through the read () function. If no event is reported, the read () function blocks the program and does not return until an event occurs or an error occurs. Therefore, if there is no event reported, the program will stay at the read () function and will not perform subsequent printing operations. If an event is reported, the read() function reads the event data and returns the number of bytes of the event. In this case, the program performs a subsequent print operation to print out the event information. This is why messages are printed only when there is an event reported and not when there is no event reported. To print the information even if no event is reported, you can set a timeout before reading the event. If no event is reported within the timeout period, the prompt information will be printed. This can be done using the select() function. In this modified code, we use the select() function to wait for the file descriptor to be ready for a read operation, and if it is not ready within the timeout period, it returns 0, at which point we print "No event reported within 1 second". If ready, read the event and print the appropriate message. This will print a reminder message every 1 second even if no events are reported. 3. Character devices for /dev/disp Switch for controlling display device The method of operation of a string device is disp _ fops: In fact, only two functions, disp _ ioctl () and disp _ mmap (), have concrete implementations.ioctl can refer to: "T507_Display_Module_Use_Documentation.pdf". 4. Sleep Mode / /sys/power/state freeze freeze: In the Freeze sleep state, the system will suspend CPU operation, but memory and devices will remain active to resume working faster. Mem: In the Mem sleep state, the system saves everything to memory and turns off unnecessary devices to save power. The CPU stops running, and the memory and some necessary devices continue to be active. In general, the freeze sleep state is relatively shallow, and the system can recover to the working state more quickly, but the power consumption is relatively high, while the mem sleep state is deeper, and the power consumption is lower, but the recovery time may be slightly longer. According to the actual needs and system requirements, the appropriate sleep state can be selected to balance power consumption and performance.
  9. In modern cities, the medical rescue system is crucial for urban safety. Emergency centers command rescue operations, essential for saving lives. With the advancement of IoT technology, many cutting-edge technologies are gradually integrated into the medical emergency system, enabling ambulances to be networked, digitized, and intelligent. Thus, 5G smart ambulances emerge. 5G-enhanced ambulances look similar to regular ones in appearance. However, by integrating 5G networks into the vehicle, developers instantly endowed it with additional "superpowers". For instance, 5G-enhanced ambulances can achieve synchronized transmission of multiple high-definition live videos, leveraging 5G's high bandwidth, low latency, and reliability. Based on this, it can synchronously return the medical images, patient signs, illness records and other information of emergency patients to the hospital emergency center without damage, which is convenient for the emergency center to grasp the patient's condition in advance and give professional guidance to the rescuers on the bus. Forlinx's 5G Smart Gateway FCU2303 provides reliable support for medical ambulance. Rapid transmission of information Bridge the gap for medical device information transmission. Modern ambulances are equipped with advanced medical equipment such as electrocardiogram monitors, ventilators, and defibrillators to enhance rescue efficiency. Various types of diagnostic and therapeutic equipment can efficiently transmit physiological data to the Hospital Information System (HIS) through the multiple Ethernet ports, serial ports, and DI/DO of the FCU2303 industrial-grade smart gateway. This meets the data collection and transmission requirements of ambulances. Enabling high-definition audio and video consultations Medical imaging equipment such as cameras, microphones, displays, and ultrasound machines are deployed on the ambulance. Through the FCU2303 industrial-grade smart gateway, information is transmitted, providing real-time, lossless transmission of audio-visual images from the ambulance to the hospital emergency center. This setup offers a high-bandwidth, low-latency, and highly connected secure network, meeting the remote video consultation needs of the ambulance. It aims to secure more time for patients by implementing a rapid rescue and treatment mode where patients essentially “Be in the hospital” upon boarding the ambulance. Enabling reliable integration of multiple technologies FCU2303 Smart Gateway, designed based on the NXP LS1046A processor, features a quad-core CPU with a high clock frequency of 1.8GHz. With a fanless design, it ensures stable operation of medical rescue systems for extended periods in environments ranging from -40°C to +85°C; It supports 5G and 4G modules, which can be easily switched with a single DIP switch. It provides users with high bandwidth, low latency, and large connectivity services. It also supports dual-band Wi-Fi, enabling both STA and AP modes; FCU2303 supports expandable device storage with PCIe 3.0 high-speed interface, enabling support for solid-state drives (SSDs) using the NVMe protocol (M.2 interface). This meets the requirements for small size, large capacity, and fast speed; It comes standard with 8 x Gigabit Ethernet ports (flexible configuration of 2/4/6/8 ports, all with independent MAC addresses), 4 RS485 ports, 4 RS485/RS232 multiplexing interfaces, 2 DI (Digital Input), 2 DO (Digital Output), and 1 USB HOST 3.0 port. This ensures the connectivity of various medical devices, enabling full vehicle networking for ambulances; The software integrates a variety of third-party components including Samba, Lighttpd, Docker, IPSEC, OpenSSL, and Python 3 or higher versions. It supports protocols such as TCP/IP, UDP, DHCP, TFTP, FTP, Telnet, SSH, Web, HTTP, IPtables, and provides an open system API for easy user customization and development. In the future, smart ambulances based on 5G technology will undoubtedly provide better full-process services for patients, including pre-diagnosis, during diagnosis, and post-diagnosis. Forlinx Embedded FCU2303 Smart Gateway, which supports the 5G smart ambulance system, fully leverages the leading advantages of 5G technology, including high bandwidth, low latency, and large connectivity. It will undoubtedly effectively and efficiently guarantee the transmission of information for various medical devices. This will assist medical emergency centers in further improving the efficiency and service level of emergency rescue work, enhancing service quality, optimizing service processes and modes, and winning time for rescuing patients’ lives, thereby better-safeguarding health and life.
  10. Purpose of Trimming Customers sometimes have certain requirements for the boot time after power-on, so it is necessary to tailor the kernel to optimize the boot time and reduce it.Low system power consumption. Brief Introduction to Makefiles, Kconfig and .config Files Makefile: A file in text form that compiles the source files Kconfig: A file in text for the kernel's configuration menu. .config: The configuration on which the kernel is compiled Kconfig and Makefile files are usually present in the directory structure of the Linux kernel. Distributed at all levels of the catalogue Kconfig constitutes a distributed database of kernel configurations, with each Kconfig describing the kernel associated with the source files of the directory to which it belongs. Configuration menu. Read out the configuration menu from Kconfig when the kernel graphically configures make menuconfig, and save it to.config after the user finishes the configuration. When the kernel is compiled, the main Makefile calls this.config to know how the user has configured the kernel. Introduction to Makefile and Kconfig Syntax ● Makefile The Makefile subdirectory is contained by the top-level Makefile. It is used to define what is compiled as a module and what is conditionally compiled. (1) Direct compilation obj-y +=xxx.o It means that xxx.o is compiled from xxx.c or xxx.s and compiled directly into the kernel. (2) Conditional compilation obj-$(CONFIG_HELLO) +=xxx.o The CONFIG_XXX of the .config file determines whether a file is compiled into the kernel or not. (3) Module compilation obj-m +=xxx.o It means that xxx is compiled as a module, i.e. it is compiled when make modules is executed. ● Kconfig Each config menu item has a type definition. bool: boolean type, tristate: three states (built-in, module, remove), string: a sequence of characters, hex: hexadecimal, integer: a whole number Function: determine the menu item displayed when make menuconfig. 1) NEW _ LEDS: The name of the configuration option. The prefix "CONFIG _" "is omitted. 2) tristate: Indicates whether the item is programmed into the kernel or into a module. The display as < >, if selected to compile as a kernel module, it will generate a configuration CONFIG_HELLO_MODULE=m in .config. Choosing Y will directly compile into the kernel, generating a configuration CONFIG_HELLO_MODULE=y in .config. 3) bool: This type can only be checked or unchecked. It is displayed as [ ] when making menuconfig, that is, it cannot be configured as a module. 4) dependon: This option depends on another option, only when the dependon is checked, the prompt message of the current configuration item will appear to set the current configuration item. 5) select: Reverse dependency, when this option is checked, the item defined after select is also checked. 6) help: help information. tristate and bool followed by strings are the configuration item names displayed in make menuconfig. Definitions in Kconfig like "menuconfig NEW_LEDS" or "menu "Video support for sunxi"" are typically top-level directories of a directory, where in menuconfig you can directly trim the corresponding driver by searching for that configuration item. Catalogue Hierarchy Iteration : In Kconfig, there are statements like "source "drivers/usb/Kconfig"" used to include (or nest) new Kconfig files, allowing each directory to manage its own configuration content without having to write all those configurations in the same file, making it easier for modification and management. Partially Driven Tailoring 1. Tailoring Ideas Taking the GPADC function as an example, the location of the driver in the source code kernel is:drivers/input/sensor/sunxi_gpadc.c, So we can go to the Kconfig file in that path, and directly search for "menu” in the Kconfig file, which generally corresponds to the top-level directory of that driver. We can see that the configuration option is named INPUT_SENSOR, corresponding to the name "Sensors" in menuconfig. Afterwards, we can directly search for this configuration option in menuconfig. Execute make menuconfig at the kernel path ARCH=arm64 Enter the graphical configuration interface: On this screen, type /, then INPUT_SENSOR, and press Enter. As shown in the figure, this item is configured under the Device Drivers ---> Input device support path, and the Generic The "input layer (needed for keyboard, mouse, ...)" configuration option is set to "y" (yes). Cancel the configuration for Sensors, then save and exit as a .config file. Afterwards, go back to the OKT507-linux-sdk path, compile the kernel separately, and then package the image. forlinx@ubuntu:~/work/OKT507-linux-sdk$ ./build.sh kernel forlinx@ubuntu:~/work/OKT507-linux-sdk$ ./build.sh pack 2. Partial Drive Path Device Location of the driver in the source kernel Device Name Path in Menuconfig Wifi Wifi wlan0 Device Drivers ---> Remove:Network device support Network card drivers/net/ethernet/allwinner/ /sys/class/net/eth* Hdmi drivers/video/fbdev/sunxi/disp2/hdmi2/ /dev/fb1 Device Drivers ---> Graphics support ---> Frame buffer Devices ---> Video support for sunxi --->Remove: HDMI2.0 Driver Support(sunxi-disp2) (not yet fully modified) Usb-U disk drivers/usb/storage/ /dev/sdx Device Drivers ---> USB support ---> Remove:USB Mass Storage support USB-4G drivers/usb/serial/ /dev/ttyUSB* Device Drivers ---> USB support --->Remove:USB Serial Converter support Usb-camera drivers/media/usb/uvc/uvc_video.c Device Drivers ---> Multimedia support ---> Media USB Adapters --->Remove:USB Video Class (UVC) Usb-camera drivers/media/usb/uvc/uvc_video.c Device Drivers ---> Multimedia support ---> Media USB Adapters --->Remove:USB Video Class (UVC) Watchdog drivers/watchdog/sunxi_wdt.c /dev/watchdog Device Drivers ---> Remove:Watchdog Timer Support Bluetooth drivers/bluetooth/ Networking support ---> Bluetooth subsystem support ---> Bluetooth device drivers --->Uncheck all (remember to record the original configuration) Audio sound/soc/sunxi /dev/snd/ Device Drivers ---> Sound card support ---> Advanced Linux Sound Architecture ---> ALSA for SoC audio support ---> Allwinner SoC Audio support --->Uncheck all (remember to record the original configuration) Pwm drivers/pwm/pwm-sunxi.c /sys/class/pwm/ Device Drivers ---> Remove:Pulse-Width Modulation (PWM) Support OV5640_DVP drivers/media/platform/sunxivin/modules/sensor/ov5640.c /dev/video* Device Drivers ---> Multimedia support ---> V4L platform devices --->Remove:sunxi video input (camera csi/mipi isp vipp)driverOpen OKT507-linux-sdk/kernel/linux-4.9/drivers/media/platform/Makefile,comment out obj-y += OV5640_MIPI drivers/media/platform/sunxivin/modules/sensor/ov5640_mipi.c TP2854M drivers/media/platform/sunxivin/modules/sensor/tp2854_mipi.c sunxi_car_reverse/ Device Location of the driver in the source kernel Path in Menuconfig Device Name GT911 touch drivers/input/touchscreen/gt911.c Device Drivers ---> Input device support ---> Touchscreens --->Remove:Goodix I2C touchscreen gt911、Goodix I2C touchscreen gt928、TSC2007 based touchscreens /dev/input/event*View event with evtestCorresponding name, for example:The corresponding name of GPADC issunxi-gpadc0sunxi-gpadc1sunxi-gpadc2sunxi-gpadc3 GT928 touch drivers/input/touchscreen/gt928.c TSC2007 touch drivers/input/touchscreen/tsc2007.c LRADC drivers/input/keyboard/sunxi-keyboard.c drivers/input/keyboard/sunxi-keyboard.c GPADC drivers/input/sensor/sunxi_gpadc.c Device Drivers ---> Input device supportRemove:Sensors IR drivers/media/rc/sunxi-ir-dev.c Device Drivers ---> Multimedia support Remove:Remote controller decoders、Remote Controller devices RTC drivers/rtc/rtc-rx8010.c Device Drivers ---> Remove:Real Time Clock /dev/rtc0 The above is the trimming of one of the drivers, other functions can be trimmed following the methods mentioned earlier.
  11. Problems Description: When using the Forlinx RK3588 SoM and a homemade carrier board, the system enters MaskRom mode as soon as it's powered on. The difference between the Forlinx carrier board and the homemade carrier board lies in the value of the ground capacitors in Figure 1, where one is 10uF and the other is 100nF. Solutions: The MaskRom mode of OK3588-C can only be pulled low to GND by the BOOT _ SARADC _ IN0 when the CPU starts to detect. The OK3588-C development board enters MaskRom mode by tapping the BOOT _ SARADC _ IN0 to GND. As shown in the figure 1: This part of the circuit has a 100 nF capacitor C3 to ground. If this capacitor is replaced with a larger one, such as a 10 uF capacitor, it will cause the development board to enter MaskRom mode as soon as it is powered on. Figure 1 This is because capacitors have the property of blocking direct current while allowing alternating current to pass, and they also exhibit charging and discharging characteristics. When the power is turned on, the capacitor charges instantaneously, and the voltage across the capacitor cannot change abruptly. Initially, the voltage across the capacitor is zero while it charges, and then it rises exponentially according to a certain pattern until it reaches a steady state. Entering a steady state is equivalent to an open circuit. The charging process is shown in Figure 2. Figure 2 The charging and discharging time of a capacitor increases as its capacitance value increases. A 10uF capacitor has a longer charging time, and it enters a steady state slowly. When the OK3588-C SoM starts up, if the CPU detects that the signal level of the BOOT_SARADC_IN0 pin is within the low voltage range, it assumes that this pin is pulled to GND, thus entering MaskRom mode. The solution is to remove the 10uF capacitor or replace it with a 100nF capacitor.
  12. Pressure displacement analyzer is a professional instrument used to measure the deformation of materials under force. It can measure the pressure, strain, displacement and other mechanical parameters of the material, and analyze and process the parameters through the built-in software system and algorithm, so as to obtain the mechanical properties of the material. Pressure and displacement analyzer is widely used in material science, machinery manufacturing, construction engineering, aerospace and other fields. With the continuous progress of science and technology and the rapid development of industrial manufacturing, the requirements for the mechanical properties of materials in industrial production are also rising, so more accurate and reliable measuring instruments are needed to meet the demand. The emergence of stress-strain displacement analyzers fills the gap in material mechanics performance testing equipment, greatly enhancing the accuracy and efficiency of material testing. The characteristics of stress-strain displacement analyzers to be considered during use include: High-precision measurement: It can measure the displacement change of the object under the action of pressure with high precision to ensure the accuracy and reliability of the measurement results; High reliability: It can measure stably for a long time under extreme conditions, and is suitable for various complex environments and application scenarios; The operation is simple, and the complex measurement task can be realized through simple operation, so that the work efficiency is improved; Multi-functional: It can perform various functions such as automatic recording, data processing, result analysis, and report generation to meet the needs of different application scenarios; Intuitive display: Pressure displacement analyzers usually have LCD displays, which can intuitively display measurement results and parameters, making it easy for users to carry out real-time monitoring and data analysis; Convenient data processing: Measurement data can be stored in the internal memory or external devices, and support a variety of data format export, convenient for users to carry out later data processing and analysis. Forlinx Embedded recommends using FETMX8MM-C as the product implementation solution. In this solution, the main functions of the i.MX8MM-C SoM are: The human-machine interaction module displays real-time data transmitted from the MCU via MIPI, and performs drawing and data display; Data processing and storage is achieved through USB interface conversion to ULPI LINK for communication with the MCU end. Data is received and stored in TF cards or USB drives, then processed to output in a more concise and understandable form; Network transmission and remote control are facilitated through a Gigabit Ethernet port, allowing for remote monitoring of screens, network backups, and system parameter restoration. Advantages: Equipped with an ARM Cortex-A53 quad-core CPU running at 1.8GHz and paired with 2GB of DDR4 RAM, it offers high performance and computational power, providing a significant advantage in data processing; The compact size of only 56mm * 36mm meets the requirements of miniaturization and portability of equipment and reduces the size of products; Support 4-line mipi display, maximum 1.5g bps transmission, high-definition output image; Long supply cycle, join NXP product long-term supply plan, guarantee at least 10 years of supply period; The operating environment temperature ranges from -40°C to 85°C, meeting the requirements for industrial and general industrial applications. The above is the pressure displacement curve analysis solution provided by Forlinx Embedded based on the FETMX8MM-C SoM. We hope it can assist you in your selection process.
  13. HMI (Human-Machine Interface) is a medium for interaction and information exchange between systems and users. It is essential in fields involving human-machine communication and can be seen in many industries. As technology advances, HMI continues to evolve. In addition to data collection, control, and display, future HMI will incorporate new interactive forms to enable machines to operate more intelligently and interact more efficiently with humans. The increasing demand for more intelligent human-machine interactions also raises higher requirements for processors used in HMI applications. To assist engineers with terminal development requirements in selecting the main controller, in this article, the author will provide a detailed explanation of the three key elements that will influence the next generation of HMI. Smarter Interaction AI support will help the new generation of HMI achieve more powerful functions. For example, AI face recognition can be used to realize human access to devices, and AI gesture recognition can also be used to realize contactless control between people and devices. At the same time, it also allows the equipment to monitor and analyze the current system status more accurately. For example, in the medical field, intelligent HMI systems can allow doctors to interact with medical devices through gestures. Balance of Power Consumption And Performance AI function support puts forward higher requirements for the performance of processors, and the high integration and performance improvement of chips will inevitably increase power consumption and generate more heat. For devices with limited size to be able to adapt to a more diverse and complex environment, it is very important to have multiple power consumption mode options - the freedom to choose between high power consumption, low power consumption, and ultra-low power consumption modes. This not only allows performance to be properly optimized, but also helps to better control costs, achieving a balance between power consumption and performance. Enhanced Communication Capabilities The increase in real-time industrial communication protocols has also brought new challenges to the new generation of HMI applications. For example, the HMI applied in the smart factory not only needs to carry the task of exchanging information between people and equipment, but also needs to complete the function of communicating with other machines and equipments, which means that the HMI needs to have a stronger connection and control function. FET6254-C SoM launched by Forlinx Embedded not only meets the traditional HMI's human-computer interaction needs but also can realize the three key elements mentioned above, empowering the new generation of HMI. FET6254-C System on module is built on the TI Sitara™ AM6254 industrial-grade processor, featuring a quad-core Arm Cortex-A53 architecture with a maximum frequency of up to 1.4GHz. It enables edge AI capabilities, making the HMI smarter and more intelligent. During the development process, rigorous environmental temperature testing, pressure testing, and long-term stability testing were conducted to ensure that it can operate stably in harsh environments. Not only the performance is guaranteed, but also the power consumption can be very low. Through a simplified power architecture design, the AM62x processor exhibits extremely low power consumption performance, with power as low as 5mW in deep sleep mode. With a core voltage of 0.75V, the operating power can be kept below 1.5W, greatly reducing system power consumption. AM62x processor, as the next-generation MPU product in the TI Sitara™ product line, offers richer resource interfaces compared to the previous generation classic processor, the AM335x. It includes features such as 2 x Gigabit Ethernet with TSN support, 3 x CAN-FD, 9 x UART, 2 x USB 2.0, 2 x LVDS interfaces, RGB, camera, audio, and more. This enhances the product's scalability and flexibility for various applications. In addition to the advantages mentioned above, Forlinx Embedded has also ported a Chinese input method for the Linux system on the FET6254-C SoM. This makes it more convenient to invoke applications and helps users simplify their development workload. Moreover, the FET6254-C embedded board supports system burning via USB flash drive or TF card and can replace Uboot, Kernel, and device tree in the operating system, making it easy to achieve remote updates for products and helping users save on-site maintenance costs. The combination of stable quality and rich functionality allows Forlinx Embedded's FET6254-C core board to demonstrate unique advantages in next-generation HMI applications, empowering HMI across industries such as industrial control, power, transportation, and healthcare. This enables machines to operate more intelligently and interact more efficiently with humans. The above is the HMI solution recommendation based on the Forlinx Embedded FET6254-C SoM. We hope it can be helpful for your product design.
  14. 1. Compile the fw_printenv tool Execute under the uboot source path, and then generate the executable file of the fw _ printenv under tools/env. . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabimake env 2. Configure fw_env.config file Modify the fw_env.config file under tools/env in the uboot source directory according to the mtd partition, the location and size of the UBOOT environment variables, etc. See the instructions in the fw_env.config file and the /tools/env/README file for specific modifications. Among them, Device offset, Env size, and Flash sector size should correspond respectively to the three macro definitions CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE, and CONFIG_ENV_SECT_SIZE in the include/configs/xxxx.h file in the U-Boot source code directory. vi include/configs/mx6ul_14x14_evk.h Take the test 256nand as an example: CONFIG_ENV_OFFSET = 0x600000 ONFIG_ENV_SECT_SIZE = 0x20000 Open the tools/env/fw_env.config and modify as shown in the following figures: Take the test 1gnand as an example: CONFIG_ENV_OFFSET = 0x1000000 ONFIG_ENV_SECT_SIZE = 0x20000 nand model number MT29F8G08ABACA Refer to the manual to change the ENV_SECT_SIZE value to 256K. Open the tools/env/fw_env.config and modify as shown in the following figures: nand model number MT29F8G08ABABA Refer to the manual to change the ENV_SECT_SIZE value to 512K. Open the tools/env/fw_env.config and modify as shown in the following figures: 3. Copy the file Copy tools/env/fw_env.config to the /etc path of the development board; Copy tools/env/fw_printenv to the root file system of the development board under the path /usr/bin. And create a soft link to fw_setenv ln -s /usr/bin/fw_printenv /usr/bin/fw_setenv 4. Read and write environment variable test Read environment: Write environment variable: The uboot phase has been modified synchronously. 5. Problems and solutions Problem: make env reports an error in the uboot source code Solution: Comment out the CC in the top-level Makefile and use the environment variable in the CC.
  15. FET-MX8MP-SMARC System on Module(SoM) is developed based on the NXP i.MX 8M Plus processor, focusing on machine learning, vision, advanced multimedia, and highly reliable industrial automation. It caters to applications such as smart cities, industrial IoT, smart healthcare, and intelligent transportation. With powerful quad-core or dual-core ARM® Cortex®-A53 reaching up to 1.6GHz and an NPU achieving 2.3 TOPS, it integrates ISP and dual camera inputs for efficient advanced vision systems. Multimedia features include video encoding (including H.265) and decoding, 3D/2D graphics acceleration, and various audio and voice functions. Real-time control is achieved through Cortex-M7, with a powerful control network using CAN-FD and dual Gigabit Ethernet, supporting Time-Sensitive Networking (TSN). It features high-speed communication interfaces such as 2 x USB 3.0, 1x PCIe 3.0, and 1x SDIO 3.0, meeting the requirements of 5G networks, high-definition video, dual-band WiFi, high-speed industrial Ethernet, and other applications. Explore more about this SoM now! https://www.forlinx.net/product/imx8mpq-smarc-system-on-module-153.html
×
  • Create New...