Video Cache Design Based on MIMO Technology

With the continuous development of high-speed processors, the field of embedded system applications is more and more extensive. High-speed large-capacity buffers are widely used in audio and video systems. However, dedicated high-speed large-capacity cache chips are too expensive, and traditional SDRAMs are used in bandwidth. It has gradually failed to meet the application requirements, especially when multiple data is multi-input and multi-out, neither of them can meet the requirements well. Here, a design using double-edge random dynamic memory (DDR SDRAM) combined with dedicated dedicated circuit is proposed. Program.

Designed for use in DVB-C-based EOAM modulator systems, the basic requirements of the system are to buffer Gigabit IP data from multiple video streams and to multi-channel high-speed IP data. The input is 2 Gigabit networks. Port, output to hundreds of data distribution channels of the RF interface.

In the past system design, it was proposed to use a common SDRAM chip as a physical buffer unit, but due to the limitation of the working speed of such a chip, under the condition of basic bit width, the high bandwidth requirement of the above system is not achieved. If the chip speed is not increased, the bit width is simply increased. Because the delay of each data is different, and the transition of the 3.3 V voltage rising and falling edge of the SDRAM is wide, the stable time window of the chip data sampling is narrowed, and the data transmission reliability is improved. As the bit width increases, the number of pins increases, causing a linear rise in design complexity. In this paper, DDR SDRAM is used as the storage unit. By using the clock double edge transmission data without changing the system clock, the transmission bandwidth of the same frequency chip is doubled on the basis of SDRAM, which satisfies the needs of high bandwidth buffer. .

1 DDR memory introduction

DDR memory is a dual data rate synchronous dynamic random access memory. Like the early single data rate synchronous dynamic random access memory, the internal memory unit uses capacitor charging to save data. Therefore, it is necessary to constantly charge the capacitor to maintain data. This is called The "synchronous" SDRAM data bus accesses data on the rising edge of each clock, while the DDR SDRAM accesses data on both the rising and falling edges of each clock, so that the data bus width and clock frequency are constant. The data bus bandwidth has been doubled under conditions.

2 system design

The design uses Xilinx's Sptan3a-dsp 1800a as the main controller, and uses Micron's MT64V32X16 chip as the storage medium. The maximum storage capacity is 512M. The logic part of the system consists of arbitration module, input buffer module, scheduling decision module and address conversion module. And DDR interface control module and other components, the block diagram shown in Figure 1.

Figure 1 system block diagram

The arbitration module in the core controller generates the corresponding control commands. After the power-on initialization reset, and during the system running, the refresh command, the write operation command and the read operation command are issued for the work priority; the DDR interface control module implements the core controller command according to the basic timing of the DDR chip operation. For the information transmission of the physical chip; the south DDR chip has non-real-time operation characteristics, the internal input buffer RAM must be used for basic real-time data buffering; and the address conversion module and the scheduling decision module cooperate with the internal input buffer RAM to complete the DDR chip. Mapping work for internal storage space.

3 DDR core controller design

DDR memory is a kind of high-speed memory chip with relatively complicated instructions. It must be initialized after power-on to perform other operations. It does not support single-cycle read and write operations, and only supports burst read and write operations of 2, 4, and 8 cycles. In addition, due to its capacitive characteristics, the DDR chip is unstable in data storage, and needs to be refreshed in a certain period of time to ensure that data is not lost. Therefore, there are dozens of instructions in the DDR operation. However, in this design, the DDR interface controller uses the DDR IP provided by Xilinx, so that the arbitration module in the core controller only needs to use four instructions of idle, initialization, read operation and write operation to complete the DDR-SDRAM. Operation greatly reduces the design difficulty. Since the design is aimed at eliminating the jitter of IP data from the network, and finally distributing the IP data to 512 channels, which greatly exceeds the requirements of the previous design for DDR, this paper proposes the design shown in Figure 1 here. DDR memory for high speed, large capacity and multi-channel design applications:

(1) Input Cache Module

The input buffer consists of a RAM plus external logic that buffers the TS packet payload that has been input but has not yet been written to the DDR. After the arbitration module issues a signal that allows writing, the data packet in the input buffer is passed to the arbitration module, and the corresponding storage space is released. According to the working mode of DDR and DVB-C characteristics, the data transmission of the input buffer is realized in units of TS packets, and 192 bytes of continuous burst transmission are realized.

(2) Scheduling decision module

The scheduling decision module receives the read request queue information, and realizes the decision of scheduling the queue out of the FIFO with the largest amount of data in the same bank when reading the data. This module saves the current number of packets in each channel FIFO.

(3) Address translation module

The address translation module is responsible for mapping the channel number and the internal memory space of the DDR SDRAM chip. The variables stored in this module include the block start address, block end address, FIFO header offset, and FIFO tail offset of each channel in DDR SDRAM.

(4) Arbitration module

The arbitration module generates corresponding control commands, and issues idle instructions, initialization instructions, write operation instructions, and read operation instructions for the work priority.

4 Improvement of resource consumption structure

4.1 Standard MIMO structure buffer

For the buffering of multi-channel data, a multi-input and multi-cache structure is designed. The data stream input to the physical channel is first identified and distributed, and an input buffer FIFO and an output buffer FIFO are configured for each program stream. Shown.

Figure 2 standard cache structure

The advantage of this structure is that for each program, there is a separate buffer space for buffering thereof, and each program is relatively independent and does not interfere with each other; in the case where the number of programs is small, the structure is efficient and convenient. Expansion.

However, the problem with the above structure is that if the number of program channels is too large and the input data flow is too large, the number of internal buffers of the FPGA will rise geometrically, the FPGA resources are greatly consumed, the running clock frequency is lowered, and the speed of the system is reduced after the system is integrated.

4.2 Port Fixed MIMO Structure Buffer

Due to the problems of the standard MIMO structure, it is difficult to achieve the application requirements required in this paper, so an improved design proposed here is presented. This design does not cache the DDR logical structure like standard MIMO. Instead, it fixes the DDR high-order address and uses the physical structure cache to store it quickly, as shown in Figure 1.

In this configuration, the external stream processing module first distributes the data stream and the channel number stored in the data stream to the cache RAM and the address translation module, and then the scheduling module dispatches the converted corresponding address pointer and sends it to the DDR correspondingly. The physical storage space and the output port are also only for the physical output port in the same way, which requires a read request queue to send the destination channel to be read in advance. Here, the scheduling module can detect the usage of each channel in real time and distribute the data stream quickly. This kind of structure can reduce the internal RAM consumption of the FPGA by minimizing the internal RAM consumption of the device by inputting hundreds of streams to a physical IP port such as EQAM, and it will not reduce the system performance too much. Moreover, using RAM directly in the front-end data cache without using a FIFO is more advantageous for synchronizing data streams and corresponding addresses.

5 system test

In order to test the accuracy of the design, after embedding the above module into the EQAM system, the IP video data received from the network is received, and the data stream analyzer detects the data result and finds that the data stream packet counter has no error after the DDR buffer, and no loss occurs. In the case of the package, the code stream analyzer comes with a player that can clearly and continuously play the holiday, as shown in Figure 3. However, during the program conversion process, a PAT error will occur due to different programs, and the error does not affect the normal playback of the program.

Figure 3 code stream analyzer to detect network IP video data

6 Conclusion

In this paper, an improved MIMO structure DDR buffer is proposed here, and the implementation functions of the core control module are described. The influence of the improved design on the system is discussed. The final test results also show that the design can be applied to the cache of multi-channel large-capacity video equipment.

references:

[1]. PAT datasheet http://

0 times
Window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2", "bdMiniList": false, "bdPic": "", "bdStyle": " 0", "bdSize": "24" }, "share": {}, "image": { "viewList": ["qzone", "tsina", "tqq", "renren", "weixin"], "viewText": "Share to:", "viewSize": "16" }, "selectShare": { "bdContainerClass": null, "bdSelectMiniList": ["qzone", "tsina", "tqq", "renren" , "weixin"] } }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share. Baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];

Sex Toy Vibration Motor voltage is lower than 6 v, small size, shaking force is strong, the price is cheap. Concrete can be customized according to the requirements of various parameters of the Vibration Motor!


Copper
tungsten steel material
plate material
Sex Toy Vibration Motor
Sex Toy Vibration Motor
Sex Toy Vibration Motor

Vibration of the motor head material, copper, tungsten steel material, plate material, place head motor with different material, different vibration strength, the unit price is different


Operating temperature range:

Sex Toy Vibration Motor should be used at a temperature of -10~60℃.

The figures stated in the catalog specifications are based on use at  ordinary room temperature catalog specifications re based on use at ordinary room temperature  (approximately20~25℃.

If a Micro Vibration Motor For Sex Toy is used outside the prescribed temperature range,the grease on the gearhead area will become unable to function normally and the motor will become unable to start.Depending on the temperature conditions ,it may be possible to deal with them by changing the grease of the motor's parts.Please feel free to consult with us about this.


Storage temperature range:

Sex Toy Vibration Motor should be stored ta a temperature of -15~65℃.

In case of storage outside this range,the grease on the gearhead area will become unable to function normally and the motor will become unable to start.


Service life:

The longevity of Micro Vibration Motor For Sex Toy is greatly affected by the load conditions , the mode of operation,the environment of use ,etc.Therefore,it is necessary to check the conditions under which the product will actually be used .The following conditions will have a negative effect on longevity.Please consult with us should any of them apply.


●Use with a load that exceeds the rated torque

●Frequent starting

●Momentary reversals of turning direction

●Impact loads

●Long-term continuous operation

●Forced turning using the output shaft

●Use in which the permitted overhang load or the permitted thrust load is exceeded

●A pulse drive ,e.g.,a short break,counter electromotive force,PWM control

●Use of a voltage that is nonstandard as regards the rated voltage

●Use outside the prescribed temperature or relative-humidity range,or in a special environment.

●Please consult with us about these or any other conditions of use that may apply,so that we can be sure that you select the most appropriate model.


when it come to volume production,we're a major player as well .each month,we rurn out  600000 units,all of which are compliant with the rohs directive.Have any questions or special needed, please contact us, we have the engineer group and best sales department to service to you Looking forward to your inquiry. Welcome to our factory.

vibration motor

Sex Toy Vibration Motor

Sex Toy Vibration Motor,Micro Vibration Motor For Sex Toy,Dc Sex Toy Vibration Motor,12V Motor For Sex Toy Vibrator

Shenzhen Shunchang Motor Co., LTD. , https://www.scgearmotor.com