A Design Scheme of Logistics Re-inspection System Based on ARM-LINUX

Publisher:第二眼帅哥Latest update time:2021-03-22 Source: eepwKeywords:ARM-LINUX Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Abstract: The role of sorting in modern logistics is particularly important. In order to ensure the accuracy of sorting, a logistics re-inspection system design based on ARM-LINUX is proposed. The system adopts a master-slave architecture of the main control node and the terminal node. The terminal node and the main control node are interconnected through the CAN bus. The purpose of processing and comparing the barcode database information is achieved by using the ARM-LINUX structure on the terminal node and receiving the barcode data on the terminal node. Practical application shows that the re-inspection system can ensure the accurate and efficient operation of the sorting mechanism, and the design requirements are met during the test.


With the rapid development of e-commerce, the importance of logistics has become increasingly prominent, and the sorting link is very critical in the logistics system. Therefore, it is necessary to effectively ensure the accurate and efficient operation of the sorting mechanism. At present, the identification method of sorting mainly relies on barcode recognition, which captures barcode information through photoelectric switches triggering barcode scanning equipment, and then the photoelectric switch signal and delay control sorting machine complete the final sorting. However, due to the sensitivity of the photoelectric switch, the location of the goods, and the quality of the barcode pasting, the logistics cost will increase and the logistics efficiency will decrease, causing serious losses to the company.


It can be seen that improving the accuracy of logistics sorting has become particularly important. In order to solve the sorting errors in the sorting system and improve the efficiency of logistics, a logistics re-inspection system design based on ARM-LINUX is proposed on the basis of demand analysis. The re-inspection system can improve the accuracy of logistics sorting and solve the sorting errors of the system.


1 Overall Design


The re-inspection system places terminal nodes at each outlet of the sorting system, communicates with the master node through the CAN bus, and can access the remote database server through the Ethernet master node. Figure 1 shows the architecture of the entire re-inspection system. The terminal node uses the STM32F103RBT6 processor based on the Cortex-M3 core architecture, transplants RT-Thread as the software platform, obtains the one-dimensional barcode read by the laser scanner through the RS232 interface, and then reports the barcode to the master node through the interface, using different CAN data packet ID numbers to identify different offline numbers. After the master obtains the barcode information reported by the terminal node corresponding to different offline ports through the CAN bus, it queries the database server in the local area network through Ethernet and marks the queried item as queried. After querying the database, the master node needs to refresh the display of the graphical interface according to the results, send out an alarm signal, and notify the control system of the sorting system that the sorting error is realized to achieve linkage.

A Design Scheme of Logistics Re-inspection System Based on ARM-LINUX

The master control node also returns the query results to the corresponding terminal node, which controls the conveying device at the offline port and performs corresponding actions, such as the operation and stop of the telescopic belt conveyor.


2 Design of terminal nodes


2.1 Hardware Design of Terminal Nodes


The terminal node is installed at the end of the sorting system, and multiple nodes can be configured according to the actual number of offline ports. The terminal node is mainly responsible for collecting the barcode information of the goods after the previous sorting, and then uploading it to the main control node through the CAN bus. The system structure block diagram is shown in Figure 2, which shows the main hardware modules of the terminal node. The STM32 processor is responsible for controlling each module. For the STM32F103RBT6 used in the terminal interface, in order to make it work properly, it should at least have a power supply circuit, a reset circuit, a clock circuit, a power supply filter circuit, a JTAG program debugging and downloading circuit, and a startup mode selection circuit. The STM32 requires a 3.3 V power supply, while the barcode scanner and the CAN physical layer driver require a 5 V power supply. The task of the power supply module is to provide a stable and high-quality power supply for the system. The barcode scanner uses a high-speed and high-precision laser barcode scanner. It re-collects the barcode information of the goods sorted by the sorting system at the offline port and sends it to the STM32 processor through the RS232 bus. The CAN module is used to achieve reliable communication with the master node, transmit information such as barcodes uploaded by the terminal node and control information sent by the master node. The CAN interface design is shown in Figure 4. The belt conveyor module is used to control the operation of the belt conveyor at the offline port according to the control information sent by the master node. The wireless module and data acquisition module are used to expand the functions of the system. The wireless module can assist in manual control of the belt conveyor and facilitate the operator; the data acquisition module can help collect information such as the working status of the terminal equipment and the ambient temperature.

A Design Scheme of Logistics Re-inspection System Based on ARM-LINUX

2.2 RT-Thread porting on STM32F103RBT6


RT-Thread adopts modular design, which not only includes a stable and efficient real-time kernel, but also a complete embedded system software platform. In the process of transplantation, RealView MDK launched by ARM is used as the system development tool. At present, RealView MDK has integrated the most advanced technology in the industry, including Vision3 integrated development environment and RealView compiler. It supports the latest Cortex-M3 core processor, integrates Flash burning module, and is equipped with Simulation device simulation, performance analysis and other functions, making it very suitable for RTOS development.


2.3 CAN interface programming


In order for the CAN module to work properly, it must be programmed to control it to complete the specified task. The control of CAN is completed by operating a series of registers. In order to facilitate the operation of the register group, a structure CAN_TypeDef is defined according to the relative address of each register in the memory, and the CAN register group base address CAN_BASE is forced to be converted to


The (CAN_TypeDef*) pointer is macro-defined as CAN, and then the relevant registers of the CAN controller are accessed through the members of the CAN_TypeDef structure pointed to by CAN. After the hardware reset, the CAN controller enters sleep mode to save power. In order to use CAN normally, it needs to be initialized. The initialization of CAN needs to be performed in the initialization mode. Enter the initialization mode by programming the INRQ bit of CAN->MCR to 1. At the same time, the hardware will set INAK of CAN->MSR to respond. After completing the initialization, reset the INRQ bit of CAN->MCR, and enter the normal mode after CAN is synchronized with the bus. In the normal mode, the normal sending and receiving of messages can be completed. To send a message, first query the CAN-TSR register, select an empty mailbox, set the identifier, data length, and data to be sent, and then set TXRQ to request sending. The barcode format sent by the barcode scanner through the serial port is ASSIC code, and the barcode length also varies. A CAN data message sends a maximum of eight bytes of data, so it must be sent multiple times. Finally, the '/r' and '/n' characters are added to the end of the barcode data to indicate a complete barcode transmission.


2.4 Design of system application


After completing the porting of RT-Thread to the STM32F103RBT6 target platform, the next task is to develop system applications to implement the required functions. The first step in application development is to complete the initialization of related hardware or peripherals. In RT-Thread, there are two ways to complete the related initialization work. One is to write the initialization function of the corresponding module in the board.c file and call it in the rt_hw_board_init function. The other way is to complete it in the thread function. Then develop the application thread. The use of multi-threading technology can reduce the complexity of application development and improve the reliability of the system with a smaller system overhead. RT-Thread uses threads as the smallest scheduling unit and adopts a priority-based fully preemptive scheduling algorithm. For this application, four main threads, CAN thread, barcode thread, daemon and deal thread, are created, and they are coordinated through thread synchronization and communication methods.


3 Design of the master node system


3.1 Design of the master node hardware system


The master control node is the core of the whole re-inspection system. It mainly completes the processing of barcode information. Its hardware structure is shown in Figure 4. The master control node consists of multiple modules. Each module requires a different power supply voltage. The voltage required by the processor core and on-chip peripheral modules is also different. These different voltages are provided by the power supply system. The touch screen is the input and output interface of the system, which is used to display the barcode information after querying the database and receive the input command of the operator. The CAN module consists of a CAN controller and a driver with an SPI interface, which is used to communicate with the terminal node. The CAN interface design of the master control node is shown in Figure 5. In order to serve the database through the network, it is equipped with a 100M Ethernet communication interface. The RS232 interface is used as the console of Linux and the boot program to assist in the development of the LED module. In the experiment, it is used to simulate the notification of sorting errors to the sorting system controller. As the control core of the master control node, S3C6410 also coordinates the work of each module.

[1] [2]
Keywords:ARM-LINUX Reference address:A Design Scheme of Logistics Re-inspection System Based on ARM-LINUX

Previous article:Application of floating point unit in ARM processor under Linux
Next article:Design of dual-drive electric vehicle control system based on LPC2132 (Part 1)

Recommended ReadingLatest update time:2024-11-16 23:48

ARM-Linux boot method
       ARM-Linux uses ARM chips, which have high execution efficiency, powerful functions, and relatively rich peripherals. It is a powerful computer system and needs to run an operating system, so its startup method is quite different from that of a single-chip microcomputer, but it is basically the same as the start
[Microcontroller]
Design of home intelligent control terminal based on ARM-Linux and GPRS technology
1 Introduction With the continuous development of network technology and communication technology, people hope to be able to understand and control the situation at home in a timely manner even when they are at work or away. At the same time, with the popularization of digital homes, remote control of smart home
[Microcontroller]
Design of home intelligent control terminal based on ARM-Linux and GPRS technology
Temperature sensor driver based on ARM-LINUX (DS18B20)
The DS18B20 digital temperature sensor is easy to wire and can be used in a variety of occasions after packaging, such as pipeline type, threaded type, magnet adsorption type, stainless steel package type, and various models, including LTM8877, LTM8874, etc. Its appearance is mainly changed according to different appl
[Microcontroller]
Temperature sensor driver based on ARM-LINUX (DS18B20)
Design of remote program-controlled power socket system based on ARM-Linux and embedded Web technology
The rapid development of the Internet has realized high-speed information transmission and resource sharing, greatly facilitating people's lives. Embedded systems are widely used in various electrical products, intelligent instruments and control equipment, and their combination with the Internet is an inevitable trend
[Microcontroller]
Design of remote program-controlled power socket system based on ARM-Linux and embedded Web technology
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号