Design of Internet Telephone Gateway Using VxWorks

Publisher:AmybabyLatest update time:2012-03-27 Source: 61icKeywords:VxWorks Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

The interconnection between the telephone network and the Internet is achieved through the Internet telephone gateway. The most typical CTI (Computer Telephony Integration) technology of the Internet telephone gateway. Simply put, the Internet telephone gateway has the following functions: One end of the Internet telephone gateway is connected to the public telephone network PSTN, and it can communicate with any telephone. The other end, the Internet telephone gateway is connected to the Internet, and it can communicate with any computer on the Internet. The Internet telephone gateway completes the compression, packaging, and routing of voice to the destination on the Internet. It performs the opposite function of (3) on the packet data from the Internet. Full-duplex communication.

The functions completed by the Internet telephone gateway are jointly implemented by software and hardware. The design of software, especially the design of underlying software, is inseparable from hardware. The hardware platform of the Internet telephone gateway mainly consists of three parts, namely the interface with the telephone network (voice bus interface or E1/T1 interface), the resource processing module, and the interface with the Internet (network card). Among them, the resource processing module is the core module of the system, which completes the conversion between voice (from PSTN) and data packets (from IP network). The resource processing module consists of a base board and a signal processing sub-board. The baseboard consists of a control processor (80960RD), a switching chip, a memory and corresponding peripheral devices. The 80960RD is the main control CPU of the system, and the switching chip completes the exchange of voice time slots. The signal processing sub-board is a PCI device on the baseboard, which completes the voice compression and echo cancellation algorithm. The modules implemented by the developer include BSP, device driver, H.323 bottom interface, system control and H.323 upper layer application.

BSP

The purpose of writing BSP is to transplant VxWorks to our own hardware platform. The main task of BSP is to complete the pre-core initialization work. ROM-based vxWorks initialization steps:

Each of the following items represents:
Execute function (xxx())
Main task
Source file (xxx.c or xxx.s)

1.romInit()
(a) Disable interrupts
(b) Save startup type
(c) Hardware-related initialization
(d) Jump to romStart()
(d) Jump to romStart()
RomInit.s

2.romStart()
(a) Copy data segment from ROM to RAM
(b) Copy text segment from ROM to RAM
(c) Pass startup type to userInit()
BootInit.c

3.userInit()
Clear bss segment, call sysHwInit()
and kernelInit()
UserConfig.c

4.sysHwInit()
Do further hardware initialization
SysLib.c

5.kernelInit()
Initialize and start kernel
KernelLib.c

6.usrRoot()
The first root task after the kernel. Initialize I/O system, install drivers, and create devices.
UsrConfig.c

7.Application
user-defined tasks
User source code [page]

Device driver

1. System clock: The only indispensable driver of VxWorks is the system clock. The Tornado development environment has provided a driver for the system clock. If you want to modify the frequency of the system clock, you only need to program the clock control register of the 80960RD.

2. Auxiliary clock: Optional. The programming method of the driver is basically the same as that of the system clock. Another counter of the 80960RD can be programmed as an auxiliary clock.

3. Serial port controller: Since the system debugging can only use the serial port, the baseboard is equipped with a serial interface for debugging. The main task of the serial port controller driver is to initialize and dynamically modify the control register of the serial port controller.

4. Switch chip: The 80960RD controls the switch chip by programming its function registers. The addresses of these registers can be simply defined in the header file.

5. Signal processing subboard: The signal processing subboard is connected to the PCI bus of the 80960RD and is a PCI device of the baseboard. The baseboard and the signal processing subboard exchange data through the PCI bus. vxWorks forPCI device. The baseboard and the signal processing subboard exchange data through the PCI bus. vxWorks for80960RD supports PCI bus and provides a large number of PCI bus operation functions. The signal processing sub-board should be driven as a standard PCI device.

6. Ethernet interface: VxWorks network interface driver is relatively more complicated. Its writing method is different from that of standard I/O driver. It is worth noting that the driver must be correctly "connected" with the protocol stack on vxWorks.

System control

System control is divided into 80960RD's control of signal processing sub-board and switching chip as well as system detection and exception handling.

H.323 bottom interface

H.323 protocol stack is a third-party product running on VxWorks, and its structure is shown in Figure 6. H.323 protocol is a set of multimedia communication protocols based on packet switching. It provides users with a high-level API function interface to implement the H.323 standard, and defines some function sets and VxWorks interface. The bottom interface of H.323 protocol stack consists of 5 modules, which belong to the application program on VxWorks. Users need to program on VxWorks to implement these 5 modules.

1. LAN interface (LI) module: Use the TCP/IP protocol stack of VxWorks to abstract some operations of IP Socket. To implement these 5 modules, you need to program on VxWorks.

1. LAN interface (LI) module: Use the TCP/IP protocol stack of VxWorks to abstract some operations of IP Socket.

2. Timer module: Use the clock of VxWorks to abstract low-level timing operations.

3. Message module: Use the message passing mechanism of VxWorks to abstract low-level message filtering and message printing operations.

4. Memory (MEMF) module: Abstract low-level memory operations

5. Protocol description language (PDLRAW) module: Abstract low-level PDL primitive object processing operations.

H.323 upper layer application

The upper layer application mainly uses the API functions provided by the H.323 protocol stack to complete call establishment, call processing, voice data packaging and other functions, thereby realizing the Internet phone protocol.

Reliability considerations

The users of the operating system want to work in a stable and reliable environment, so the reliability of the operating system is the first issue that users should consider. Stability and reliability have always been a prominent advantage of VxWorks. Since the ban on sales to China was lifted, VxWorks has won more and
more users in China with its good reliability.

Real-time considerations

Real-time refers to the ability to complete specified functions within a limited time and respond to external asynchronous events. The strength of real-time is measured by the length of time it takes to complete specified functions and respond.

Based on whether the operating system can meet the real-time requirements, the operating system can be divided into a real-time operating system and a real-time operating system.

The time-sharing operating system schedules processes to run in turns according to equal time slices. The priority of the process is automatically calculated by the scheduler in the time-sharing operating system, rather than controlled by the user. Such a system cannot respond to external asynchronous events in real time.

The real-time operating system can execute the specified functions within a limited time and respond to external asynchronous events within a limited time. The time-sharing system is mainly used in scientific computing and general occasions with low real-time requirements. The real-time system is mainly used
in time-sensitive occasions such as process control, data acquisition, communication, and multimedia information processing. Internet telephone is aimed at a large number of telephone users, and the real-time nature of voice communication must be guaranteed. In addition, the transmission delay and algorithm delay inherent in the Internet telephone system, so it is particularly important to choose an operating system with good real-time performance.

How to ensure the real-time performance of the system? Of course, the method of improving hardware capabilities can be adopted. The 80960RD has sufficient processing power, the PCI bus and peripheral memory have sufficient speed and capacity, and the built-in interrupt controller of the 80960RD also has sufficient event response and control capabilities; but it is not enough to consider only the hardware, and a real-time operating system is also necessary. Under the same hardware conditions, whether the running system provides a real-time or non-real-time service is determined by the operating system. After the hardware conditions are determined, the performance of a real-time system is also determined by the operating system.

VxWorks has excellent real-time performance. The system itself has very little overhead. System utilities such as process scheduling, inter-process communication, and interrupt processing are concise and effective, and the delay they cause is very short. The multi-tasking mechanism provided by VxWorks uses the preemptive priority scheduling and round-robin scheduling mechanisms to control tasks, which also fully guarantees reliable real-time performance, so that the same hardware configuration can meet stronger real-time requirements, leaving more room for application development.

Scalability considerations

When users use the operating system, not every component in the operating system needs to be used. For example, graphic display, file system, and some device drivers are often not used in some embedded systems. The Internet telephone gateway is a typical embedded system. The operating system image is installed in this limited memory (FLASH), and the capacity of the dynamic memory is also limited. In order to save memory space and improve operating efficiency, we need to tailor the operating system according to our own applications.

VxWorks consists of a very small kernel and some system modules that can be customized as needed. The minimum size of the VxWorks kernel is 8kB. Even with other necessary modules, the space occupied is very small, and it does not lose its real-time and multi-tasking system features. Due to its high flexibility, users can easily customize or develop this operating system to meet their actual application needs.

Openness considerations

VxWorks has good openness. In view of its good reputation and numerous users, many third-party manufacturers have developed software products based on VxWorks, including: OSI, SS7, ATM, Frame Relay, CORBA, ISDN, X.25, CMIP/GDMO, H.323 and distributed network management, etc. Among them, we can purchase some third-party products we are interested in as needed, thereby shortening the product development cycle and gaining a market advantage.

Ease of use considerations

The ease of use of the development system is also a very important issue for most users. Tornado provides several very powerful development tools in the host development environment. Its simple mechanism and good operation interface greatly facilitate the development work and improve the development efficiency.

Keywords:VxWorks Reference address:Design of Internet Telephone Gateway Using VxWorks

Previous article:Research on Electronic Accounting Terminal Equipment Based on SPARC V8 System
Next article:New Concept of Integration in Digital Video System

Recommended ReadingLatest update time:2024-11-16 19:31

Design of MB Series Intelligent Programmable Controller Based on VxWorks
1 Introduction Programmable controllers have gradually exposed technical limitations such as simple circuit opening, poor communication expansion capability, cumbersome ladder diagram programming, and inconvenient debugging during long-term use of PLCs. With the rapid development of computer technology, inf
[Embedded]
Design of MB Series Intelligent Programmable Controller Based on VxWorks
Design of Remote Terminal for Oil Well Data Collection Based on VxWorks
    introduction   At present, the main task of oil production plants is oil pumping production. The distribution points of oil pumping units are wide and wide. They work in harsh environments and are easily damaged and destroyed by external forces. Frequent inspections are required, and the work intensity of personn
[Microcontroller]
Design of Remote Terminal for Oil Well Data Collection Based on VxWorks
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号