Design of a wireless VoIP terminal with multi-hop function

Design of a wireless VoIP terminal with multi-hop function

The communication of the traditional factory production line dispatching system is realized by wired telephone. This wired connection method has many problems, such as the inability to meet the needs of mobile communication, the cable facilities being easily damaged, and the high cost of deployment and maintenance. The wireless local area network access technology based on the IEEE 802.11 protocol has a wide application base, with outstanding advantages such as fast transmission rate and wide coverage, which can solve these problems well.

In order to achieve the purpose of voice communication on a wireless local area network based on the IEEE 802.11 protocol, wireless VoIP (Voice overIP) technology must be used. Considering that the communication range of a general factory is about 1 km, the technology based on IEEE 802.11 is currently used, and the transmission distance in an open area is only about 200 m, so the multi-hop method is considered to increase the coverage of communication. This paper proposes a wireless VoIP terminal design scheme based on IEEE 802.11 protocol, and by implementing Ad Hoc routing protocol AODV (Ad hoc On-demand Distance Vector, Ad hoc Distance Vector Routing Protocol) on embedded terminals, the terminal has Multi-hop calling function.

1 Related technologies and agreements

1.1 VoIP

VoIP is an advanced communication method using IP network to realize voice communication. It is a voice transmission technology based on IP network. The basic principle is to use a device such as a telephone gateway server to digitize telephone voice, compress the data and package it into data packets, and then package these voice data according to IP and other related protocols and transmit the data packets to the destination through the IP network. After receiving this series of data packets, the destination reassembles, decompresses, and restores the original voice signal, thus achieving the purpose of transmitting voice through the network.

The biggest advantage of using VoIP technology for voice transmission is that it can transmit audio data in the form of messages, does not occupy a fixed channel, and uses advanced digital signal processing technology to reduce the amount of data. It can convert traditional 64 Kb / s voice signals Compressed to 6 ~ 8 Kb / s, thereby effectively saving bandwidth, and because there is no need to establish a separate communication network, greatly reducing communication costs.

1.2 IEEE 802.11 wireless technology

IEEE 802.11 is a wireless network communication industry standard defined by IEEE. The current mainstream IEEE 802.11 protocols are mainly IEEE 802.11a, IEEE 802.11b and IEEE 802.11g. IEEE 802.1la works in the 5 GHz frequency band and uses Orthogonal Frequency Division Multiplexing (OFDM) modulation technology as the transmission scheme, supporting a transmission rate of 6 to 54 Mb / s. The advantage of 802.11a is that the transmission rate is fast (up to 54 Mb / s) and less interference, but the price is relatively high. IEEE 802.11b works in the 2.4 GHz frequency band, uses complementary code keying (CCK) modulation and direct sequence frequency modulation (DSSS) technology, and supports a transmission rate of 1 to 11 Mb / s. The advantage of 802.11b is its low price but low rate (The highest is 11 Mb / s). IEEE 802.11g is built on the existing IEEE 802.11b physical layer and media access control layer standards. It also selects 2.4 GHz as the working frequency band. Due to the use of OFDM modulation technology, it can achieve a maximum transmission rate of 54 Mb / s. Because it still works in the 2.4 GHz frequency band, and retains the CCK technology used by IEEE 802.11b, it can maintain compatibility with IEEE 802.11b products.

1.3 AODV routing protocol

AODV is an on-demand routing algorithm based on distance vectors. It is a routing protocol designed for mobile Ad Hoc networks. It has a simple processing process, small routing overhead and storage overhead, and can quickly make changes to the link state. Response, and by introducing a sequence number in the control message, to ensure that no routing loop will be formed at any time. Because of its superior performance and low implementation complexity, the AODV routing protocol is considered by the IETF (Internet Engineering Task Force) MANET working group as one of the best candidate routing protocols for wireless ad hoc networks. Therefore, this design uses AODV as the implementation of the routing protocol.

2 Terminal hardware design

The hardware architecture of the terminal is shown in Figure 1. Infineon ’s high-speed ADM5120 embedded microprocessor is used as the main device. At the same time, a memory module, voice processing module, FXS connection module, IEEE 802.11b / g wireless module are integrated in the terminal Etc. to jointly build the hardware platform of the terminal.


(1) Processor ADM5120

The ADM5120 is a highly integrated and highly flexible SoC processor based on the MIPS architecture. It has a built-in MIPS 32 core and can operate up to 175 MHz. It has an internal 8 KB instruction cache and 8 KB data cache, which provides 8 / 16-bit LOCAL BUS (supports standard ROM / FLASH interface), 32-bit SDRAM interface, and 1 UART interface. The ADM5120 also integrates a Switch engine and five 10/100 Mb / s PHY chips, which can provide five 10/100 Mb / s Ethernet interfaces. ADM5120 is the core of terminal communication control and management. It is mainly used to complete the functions of operating system operation, resource management and allocation, interface with various modules, and communication.

(2) Voice processing module

Using high-performance DSP (VINETIC-2CPE), has a very powerful digital signal processing capability. It is used to complete the processing of analog telephone signals, voice compression packages, and provides real-time compression package buffering, adaptive echo cancellation, mute detection, DTMF signal generation, decoding and other functions, and does not require additional storage units.

(3) FXS connection module

The terminal is connected to the analog telephone line through a SLIC-DC chip with a DC / DC conversion function. In the communication process, after the analog voice signal is converted by the SLIC and CODEC circuit through the RJ-11 telephone interface, the generated PCM stream is sent to the voice processing module for processing. SLIC is the subscriber line interface circuit, which mainly completes user status detection and voice signal input and output. It can detect whether the phone is on-hook or off-hook, and generates high-voltage driving ringing. CODEC (Codec Circuit) is composed of ADC and DAC circuits. The ADC converts the analog signal in the analog phone into a digital signal that can be transmitted through the 'VoIP network. The DAC converts digital signals to analog levels to drive analog phones.

(4) IEEE 802.11b / g wireless module

The IEEE 802.11b / g wireless module implements an air wireless interface and completes the wireless LAN access function. The terminal provides a MiniPCI interface, which uses the wireless network card WMIA-165G of the American Atheros AR2413 chipset, supports the IEEE 802.11b / g standard, and can provide 54 Mb / s high-speed wireless connection.

3 Terminal software design

The terminal uses the mainstream embedded Linux operating system. Linux has the characteristics of open source code, high stability and security, and good portability and expansion capabilities. As shown in Figure 2, the terminal software is designed using a modular design idea.


Hardware driver layer: The main function is to realize the driving control of the underlying hardware devices such as IEEE 802.11b / g wireless module, DSP chip, Ethernet interface and serial port. For the wireless network card type of the terminal, the madwifi (MulTIband Atheros Driver for wifi) driver is adopted in the IEEE 802.11b / g wireless module. madwifi is a driver for the Atheros series chip IEEE802.11a / b / g wireless network card under Linux system.

Linux kernel layer: Provides guarantee for the compression processing of voice data and the real-time transmission of voice packets. The TCP / IP protocol software stack provides support for TCP / IP. Considering the real-time requirements of voice data, the terminal's voice transmission is implemented using UDP. The RTP protocol built on UDP is used to ensure the real-time and reliable transmission of data streams. The voice processing module provides support for audio codec software such as G.723. Included in the network protocol stack is the AODV routing protocol that implements multi-hop calling.

Application layer: including telephone application program interface TAPI (Telephony ApplicaTIon Program Interface) 3.0 and Web server two parts. TAPI 3.0 integrates the media stream control function of the traditional telephone and encapsulates the function of operating the underlying telephone hardware. By abstracting the call control function, the purpose of shielding different and incompatible communication protocols is achieved. Through TAPI 3.0, the programming interface can easily customize the signaling protocol to complete the point-to-point dialing process. At the same time, for ease of use, a Boa Web Server that supports CGI and is very suitable for embedded systems is implanted in the terminal, so that users can configure parameters of the terminal by entering parameters through the user interface of the Web page.

3.1 Wireless module driver compilation

All Atheros chip wireless network cards can basically use the madwifi driver. The driver source code madwifi-0.9.4.tar.gz can be downloaded from http://madwifi.org/. When developing wireless module drivers, first configure and compile the Linux kernel to support the MiniPCI network card, then modify the Makefile in the madwifi-0.9.4 directory for the terminal environment, and then use the make command to compile to generate a driver suitable for MIPS Program module, and use the insmod command to load the module in the terminal Linux. After loading successfully, use the wireless LAN tool command iwconfig under Linux to configure the wireless network card. Pay attention to the setting of the working mode of the wireless network card to Ad Hoc mode during configuration.

. / Wlanconfig ath0 destroy

. / Wlanconfig ath0 create wlandev wifi0 wlanmode adhoc

3.2 Implementation of AODV routing protocol

The kernel of the Linux operating system does not directly support on-demand routing, so the implementation of the AODV routing protocol requires corresponding expansion and modification of the operating system.

The routing architecture of the Linux operating system can be divided into a forwarding function module and a routing function module according to functions. The routing function module can be modified to implement different routing protocols while the forwarding function module remains unchanged. The forwarding function is implemented in the Linux kernel, according to the destination address of the data packet that needs to be sent; look up the routing table, find the entry that matches the destination address according to the longest prefix matching principle, and if a match is found, the data packet is sent to the corresponding network Interface; otherwise, the packet is discarded. The routing function module runs in the user space as a background process. It is mainly responsible for information exchange with other network nodes, uses appropriate routing algorithms to establish routes, and updates and maintains the kernel routing table.

Most of the implementations of the AODV protocol implementation currently released use the Netfilter functional framework. Netfilter is a common architecture in the core of Linux, used to implement various network functions such as packet filtering, state maintenance, NAT, and security. Netfilter structure provides a series of "lists" (tables), each list is composed of several "chains" (chains), and each chain can have one or several rules (rules) to regulate, the definition of rules Use "if the packet header meets this condition, just process the packet as it is." When a data packet reaches a chain, the system starts from the first rule to see if it meets the conditions defined by the rule. If satisfied, the system will process the data packet according to the method defined in the rule; otherwise, continue to check the next rule. If the packet does not meet the definition of any rule in the chain, the system will process the packet according to the default policy of the chain.

Linux provides five hook registration points in the system with kernel version 2.4 and above. These hook points are located at several key positions where data packets flow through the protocol stack. Users can register their own defined operation functions in these positions and flow through the hook points. The data grouping will perform the operation of the function. As shown in Figure 3, Netfilter consists of five hook functions in the Linux protocol stack.


During the implementation of the AODV protocol, the configuration of Netfilter is a prerequisite for the normal operation of the protocol. You need to register the hook function in the kernel, but not all Linux systems enable Netfilter by default, so you need to configure and compile in the kernel configuration options. Kernel. Enter the Linux kernel source code installation directory, enter the make manuconfig command to enter the kernel configuration main menu, and select with the space bar:

Networking opTIons-> [*] Network packet filtering (replaces ipchains)
IP: Netfilter Configuration-> <*> Userspaee queueing via NETLINK

4 Conclusion

Combining the advantages of IEEE 802.11 wireless technology and VoIP technology, a high-performance microprocessor ADM5120 and a powerful and powerful embedded Linux operating system are used as software platforms to build a wireless VoIP portable terminal based on IEEE 802.11b / g technology. The multi-hop function is realized by loading the AODV routing protocol on the terminal system. After the joint testing of the three terminals, the multi-hop call can ensure a good voice effect.

Ac EMI Filter is a low pass filter. It is designed two-stage filtering, with good differential and common-mode attenuation.

Various terminal options allow you to select. There are a variety of parts and combinations to meet different customer's EMC tests. Customized products according to customer's requirements

AC EMI Filter

Ac EMI Filter,AC Low Pass Filter,AC Low Pass EMI Filter,AC Power Line Noise Filter

Jinan Filtemc Electronic Equipment Co., Ltd. , https://www.chinaemifilter.com

This entry was posted in on