Functional Overview

Because Ad Hoc network has no center, dynamic topology and other characteristics, it requires each node to have routing forwarding function. The Ad Hoc network node developed in this paper realizes the data packet forwarding function by transplanting the routing protocol on the ARM platform.

Figure 1 Node forwarding

The function shown in the network shown in Figure 1, where A, B, D are ordinary mobile computer terminals, C is the ARM platform developed in this article. A and D are the endpoints of communication, and D is not within the one-hop range of A (the coverage of A is shown by the dotted line in the figure). Suppose that at the beginning, B becomes a relay node between A and D, completing the data forwarding function between A and D. When Node B fails, C can automatically replace B as a new relay node, maintaining communication between A and D.

In addition to the routing protocol, the ARM platform has also completed the transplantation of tools such as ftp and iptables, and can continue to add services such as voice and video.

Hardware platform

Taking the processor as the core, the wireless network card receives the data packet and hands it to the upper layer for processing. The data packet to be sent is also sent by the processor to control the wireless network card. Of course, SDRAM, flash memory, power supply modules are also indispensable to the system.

This article uses the Samsung processor S3C2410A with ARM920T as the core. S3C2410A is a 32-bit low-power RISC processor and supports Thumb 16-bit compressed instruction set. Its operating frequency is 203MHz. The S3C2410A has 292 pins and integrates many on-chip functions, such as Ethernet controller, UART controller, programmable I / O port, and interrupt controller.

Taking into account the volume of the interface, the platform uses the USB interface ASUS WL-167g wireless network card to provide wireless communication functions.

The hardware platform design structure is shown in Figure 2.

Ad Hoc network platform structure based on ARM

Figure 2 Hardware platform structure diagram

An issue that should be noted during hardware debugging is that the nWait pin of the S3C2410A should be connected to a pull-up resistor when it is not in use, otherwise the system will not start normally in the startup mode.

software platform

vivi is a bootloader developed by South Korea MIZI company, suitable for ARM9 processor, its role is to initialize the hardware device and establish the mapping map of the memory space, so as to set the system's hardware and software environment into a suitable state in order to prepare for the operating system environment of. After the boot program is executed, control will be given to the kernel (zImage). The kernel is the core of the operating system. Various configuration files, data, and upper-layer software required by the kernel are stored in the root file system. The structure of the entire software platform is shown in Figure 3.

Figure 3 Schematic diagram of the software platform

Kernel image generation

The kernel generation method is not described here. It should be noted that this process is prone to encounter three types of errors: First, compilation errors, you should check whether the library file is complete, and the gcc version is too high will also cause compilation errors, you can solve it after reinstalling the lower version of gcc The second is that the kernel configuration should set the Default kernel command string to noinitrd root = / dev / mtdblock3 console = ttySAC0,115200 init = / linuxrc, "console = ttySAC0,115200" so that all information during kernel startup is output to serial port 0 The baud rate is 115200, "mtdblock3" represents the fourth Nand flash partition, the partition is the root file system, init is the designated startup script, "init = / linuxrc" indicates the location of the startup initialization file; third, it should be in drivers / mtd / In nand / s3c2410.c, set NAND_ECC_SOFT = NAND_ECC_NONE, so the ECC check is turned off. Because the kernel is written to Nand flash memory via vivi, the software ECC algorithm used by vivi is different from the verification algorithm in the kernel.

Big Water Tank Robot Vacuum Cleaners

Big Water Tank Robot Vacuum Cleaners,Ultrasonic Cleaner Water Tank,Robot Vacuum Cleaner,Virtual Blocker

NingBo CaiNiao Intelligent Technology Co., LTD , https://www.intelligentnewbot.com