CN107071520B - Method for realizing CoaXPres high-speed image interface protocol IP - Google Patents
Method for realizing CoaXPres high-speed image interface protocol IP Download PDFInfo
- Publication number
- CN107071520B CN107071520B CN201710233227.4A CN201710233227A CN107071520B CN 107071520 B CN107071520 B CN 107071520B CN 201710233227 A CN201710233227 A CN 201710233227A CN 107071520 B CN107071520 B CN 107071520B
- Authority
- CN
- China
- Prior art keywords
- subsystem
- protocol
- data
- channel
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2408—Monitoring of the upstream path of the transmission network, e.g. client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Communication Control (AREA)
Abstract
The invention discloses a method for realizing a CoaXPres high-speed image interface protocol IP, which specifically comprises the following steps: step 1, inputting a video data stream to be transmitted to a protocol generation subsystem; step 2, packing the input video data streams through a protocol generation subsystem to generate a plurality of data streams conforming to a CoaXPress protocol; step 3, distributing corresponding downlink channels for each data stream through the link logic control subsystem and the channel distribution subsystem; step 4, outputting each data stream according to the corresponding downlink channel distributed in the step 3; when the CoaXPres high-speed image interface protocol is realized, a protocol generation subsystem, a channel distribution subsystem, a link logic control subsystem and a bus arbitration subsystem are designed according to the design principle of functional modularization, so that the performance that the highest 16 paths of video stream data are input at the same time and 8 paths of CoaXPres version1.1 format data are output at the same time can be realized.
Description
[ technical field ] A method for producing a semiconductor device
The invention relates to a method for realizing a CoaXPress high-speed image interface protocol IP.
[ background of the invention ]
In the industrial field and the military field, most of cameras with standard definition resolution are CVBS and Camera linkBase interfaces, in the high resolution field, the requirement on the image quality of an image is very high, the image cannot be compressed, the bandwidth of the output of the Camera is very high, and the purpose of image storage needs to be achieved by adopting a higher-speed image acquisition and storage system.
CoaXPress is a worldwide acceptance of Adimec and EqcoLogic companies to jointly establish an asymmetric high-speed point-to-point serial communications digital interface protocol that allows devices to connect through a single coaxial cable transmitting data at speeds up to 6.25Gbps while also supporting an "uplink" transmission speed of 20Mbps for control and configuration of data channels. For higher transmission speeds, multiple links may be stacked to provide several times the transmission bandwidth of a single coaxial cable.
[ summary of the invention ]
The invention aims to provide a method for realizing a CoaXPres high-speed image interface protocol IP, which is used for meeting the problem of high-speed transmission of high-resolution images.
The invention adopts the following technical scheme: a method for realizing a CoaXPres high-speed image interface protocol IP specifically comprises the following steps:
step 2, packing the input video data streams through a protocol generation subsystem to generate a plurality of data streams conforming to a CoaXPress protocol;
step 3, distributing a corresponding downlink channel for each data stream generated in the step 2 through the link logic control subsystem and the channel distribution subsystem;
and 4, outputting each data stream according to the corresponding downlink channel distributed in the step 3.
Further, the specific method of step 3 is as follows:
for each data stream conforming to the CoaXPress protocol generated in the step 2, judging whether an external instruction exists through a link logic control subsystem:
if the external instruction exists, a special channel is distributed to the corresponding data stream through the channel distribution subsystem;
and if no external instruction exists, the channel distribution subsystem assigns a corresponding channel for each data stream according to the working state of each downlink channel.
Further, in step 3, if there is no external instruction, the specific process of assigning a corresponding channel to each data stream according to the working state of each channel through the channel allocation subsystem is as follows:
step 3.1, acquiring the working state of each downlink channel through a channel state monitoring module in a channel distribution subsystem;
step 3.2, load calculation of each downlink channel is carried out through a channel load budget module in the channel distribution subsystem according to a system main operation clock and the total transmission quantity of a queue to be transmitted;
and 3.3, generating the priority of each data stream according to the load operation in the step 3.2 by a channel distribution module in the channel distribution subsystem, and distributing a corresponding downlink channel to each data stream according to the priority.
Further, the step 2 is specifically realized by the following method:
step 2.1, performing data format conversion and packaging on image information to be processed through a pixel sorting module in a protocol generation subsystem, so that generated pixels comprise four pixel data, and the bit width of each pixel data is 8 bits;
2.2, converting the pixel packet generated in the step 2.1 from a sensor clock domain to a system clock domain through a cross-clock FIFO module in a protocol generation subsystem, and compensating a clock beat generated by inserting data packet header information;
step 2.3, processing the data packet header information in the step 2.2 by a CoaXPress protocol data generating module in the protocol generating subsystem to generate a data stream conforming to the CoaXPress protocol;
and 2.4, caching the data stream which is generated in the step 2.3 and accords with the CoaXPress protocol into a stream data buffer module in the protocol generation subsystem.
Further, when there are multiple data streams output concurrently in step 4, arbitration is performed by the bus arbitration subsystem, and each data stream output concurrently is output according to the arbitration result.
The invention has the beneficial effects that: when realizing CoaXPress high-speed image interface protocol, according to the design principle of function modularization, a protocol generation subsystem, a channel distribution subsystem, a link logic control subsystem and a bus arbitration subsystem are designed, video stream data is input into the protocol generation subsystem, the package operation of CoaXPress version1.1 protocol format is realized, a basic frame structure conforming to the CoaXPress format is formed, under the control of the link logic control subsystem level bus arbitration subsystem, CoaXPress data streams are transmitted into corresponding downlink channels for output, the invention can realize the performance of simultaneously inputting 16 paths of video stream data at the highest and simultaneously outputting 8 paths of CoaXPress version1.1 format data.
[ description of the drawings ]
FIG. 1 is an architecture diagram of an implementation of the CoaXPres high-speed image interface protocol IP implementation method of the present invention;
FIG. 2 is a block diagram of a protocol generation subsystem according to the present invention;
FIG. 3 is a block diagram of a channel allocation subsystem according to the present invention;
fig. 4 is a block diagram of link logic control and bus arbitration in the present invention.
[ detailed description ] embodiments
The present invention will be described in detail below with reference to the accompanying drawings and specific embodiments.
The invention discloses a method for realizing a CoaXPres high-speed image interface protocol IP, which is shown by combining a figure 1, a figure 2, a figure 3 and a figure 4.
The refresh frequency of a high-resolution linear array sensor in a high-speed camera of a certain model is 100KHz, the number of effective pixels of the sensor is 8192, the quantization bit number of each pixel value is 8 bits, the transmission rate of a video stream is 6.5536Gbps, and a CoaXPress high-speed image interface system needs to convert the high-speed video stream into a protocol compatible with CoaXPress V1.1 and transmit the protocol to a host terminal. Taking the case that the host-side up-line command requires CoaXPres V1.1 protocol data output from the 0 th and 2 nd channels of the CoaXPres high-speed image interface system as an example for explanation:
And after the self-checking is finished, the system is normally started, receives the high-speed data stream of the high-resolution linear array sensor 6.5536Gbps, and inputs the video data stream to be transmitted to the protocol generation subsystem.
Step 2, as shown in fig. 2, packing the input video data stream by the protocol generation subsystem, so as to implement the packing operation of the CoaXPress version1.1 protocol format, and generate a plurality of data streams conforming to the CoaXPress protocol, i.e. form the basic frame structure conforming to the CoaXPress format, which is implemented by the following method:
step 2.1, performing data format conversion and packaging on image information to be processed, namely a data stream to be transmitted, according to a certain sequence through a pixel sequencing module in a protocol generation subsystem; caching data according to the arrival sequence of pixels, arranging the sequence of data transmission, and transmitting the data in a first-come first-transmit mode;
the pixel sorting module caches the collected pixel value sequence according to a first-come-first-send mode, the bit width of each pixel data is 8 bits, and four pixel data are used as a basic pixel packet unit.
Adding a packet header and a packet tail indicating field in a CoaXPress format, and organizing the data stream into a CoaXPress protocol data packet with a user-defined size, so that the generated pixel comprises four pixel data, and the bit width of each pixel data is 8 bits; and adding information such as a packet header and the like in the video stream in a ping-pong mode according to a format specified by a CoaXPress protocol in the caching process.
And 2.2, converting the pixel packet generated in the step 2.1 from a sensor clock domain to a system clock domain through a cross-clock FIFO module in the protocol generation subsystem, and compensating a clock beat generated by inserting data packet header information, namely completing information setting of line synchronization and frame synchronization under the driving of a peripheral clock, and completing the conversion of a video stream sequence driving clock from a linear array sensor clock to a CoaXPress high-speed image interface system clock.
Step 2.3, processing the data packet header information in step 2.2 by a CoaXPress protocol data generating module in the protocol generating subsystem, adding protocol information such as CRC (cyclic redundancy check) information and packet header indication fields, and generating a data stream conforming to the CoaXPress protocol, namely, the CoaXPress protocol generating module encodes video stream data in a cache region according to a CoaXPress V1.1 format, and adding CRC (cyclic redundancy check) information, line synchronization information, frame synchronization information and the like;
step 2.4, caching the data stream which is generated in the step 2.3 and accords with the CoaXPress protocol into a stream data buffer module in the protocol generation subsystem, and working cooperatively with a data stream channel distribution subsystem, namely caching the data stream into the buffer module after the coding is finished, so that the data stream can be controlled and output by a subsequent bus arbitration subsystem and a link logic control subsystem;
step 3, distributing a corresponding downlink channel for each data stream generated in step 2 through the link logic control subsystem and the channel distribution subsystem, wherein the specific method is as follows:
judging whether an external instruction exists or not through the link logic control subsystem for each data stream which is generated in the step 2 and accords with the CoaXPress protocol;
if the external instruction exists, a special channel is distributed to the corresponding data stream through the channel distribution subsystem;
if there is no external instruction, the channel allocation subsystem assigns a corresponding channel to each data stream according to the working state of each downlink channel, as shown in fig. 3, the specific process is as follows:
and 3.1, acquiring the working state, the idle state, the queue state of the data stream to be transmitted and the like of each downlink channel through a channel state monitoring module in the channel distribution subsystem, namely acquiring the working states of the 0 th channel and the 2 nd channel by the channel state monitoring module.
And 3.2, performing load operation on each downlink channel through a channel load budget module in the channel distribution subsystem according to the system main operation clock and the total transmission quantity of the queue to be transmitted to ensure that the load of each channel is balanced and reliable during working, namely determining whether the load operation of the 0 th channel and the 2 nd channel can meet the requirements of the data rate and the time limit according to the system main operation clock and the total transmission quantity of the queue to be transmitted by the channel load budget module.
And 3.3, generating the priority of each data stream according to the load operation in the step 3.2 by a channel distribution module in the channel distribution subsystem, namely confirming the priority of each sequence to be transmitted, reasonably distributing a corresponding downlink channel to each data stream according to the priority, namely after the state monitoring and the load budget detection are completed, distributing the data streams to a corresponding downlink transmission layer by the channel distribution subsystem through a link layer, outputting the coded CoaXPress protocol data streams to a host end, dividing the CoaXPress protocol data streams into two paths by the channel distribution subsystem, and respectively distributing the two paths to the 0 th channel and the 2 nd channel for output.
In addition, as shown in fig. 4, the link logic control subsystem is also responsible for overall control of the CoaXPress protocol high-speed image interface IP and corresponding cache and channel resources, and specifically includes functions of processing a system state machine, self-monitoring of system working state, memory management, task scheduling from CoaXPress protocol data to a downlink transport layer, task priority management, idle sequence management of the downlink transport layer, and uplink command parsing and execution.
The downlink transmission layer is used for realizing the output of the high-speed CoaXPress protocol data stream; the uplink transmission layer is used for receiving uplink control command data; the link layer is used for being closely matched with a channel distribution module in a channel distribution subsystem, coordinating and processing task scheduling and priority management from CoaXPress protocol data to a downlink transmission layer, and simultaneously finishing functions of idle sequence management of the downlink transmission layer and command verification of an uplink transmission layer; the control channel is used for realizing the functions of uplink command analysis, state machine control and management, CRC check sum generation, error check sum confirmation and the like; the buffer area is used for buffering the input data stream by a ping-pong structure so as to improve the data transmission speed; the link test transmitter and the link test receiver generally work at an initial power-on stage to complete a self-test function, and are mainly used for generating test data, generating a CoaXPress protocol, transmitting, receiving, checking and the like so as to determine whether the working state of each core function module is normal or not.
Step 4, outputting each data stream according to the corresponding downlink channel distributed in the step 3;
when a plurality of data streams output concurrently exist, arbitration is carried out through the bus arbitration subsystem, and each data stream output concurrently is output according to an arbitration result. In addition, in the initial power-on stage, the bus arbitration subsystem mainly completes the sending of the CoaXPress protocol data for arbitration decision when the self-detection task is completed.
In consideration of the flexibility of the method, the CoaXPress protocol high-speed image interface IP framework can support simultaneous input of a plurality of data channels when being designed, and the maximum support number of the data channels is 16; the maximum number of channels output outwards is 8. The working mode of the output channel is duplex, the downlink is an output data stream conforming to a CoaXPress protocol, and the uplink is an instruction channel for controlling the CoaXPress working mode by a Host (Host) end.
Claims (2)
1. A method for realizing a CoaXPres high-speed image interface protocol IP is characterized by comprising the following steps:
step 1, inputting a video data stream to be transmitted to a protocol generation subsystem;
step 2, packing the input video data streams through the protocol generation subsystem to generate a plurality of data streams conforming to the CoaXPress protocol; the method is realized by the following steps:
step 2.1, performing data format conversion and packaging on image information to be processed through a pixel sorting module in a protocol generation subsystem, so that generated pixels comprise four pixel data, wherein the bit width of each pixel data is 8 bits;
2.2, converting the pixel packet generated in the step 2.1 from a sensor clock domain to a system clock domain through a cross-clock FIFO module in a protocol generation subsystem, and compensating a clock beat generated by inserting data packet header information;
step 2.3, processing the data packet header information in the step 2.2 by a CoaXPress protocol data generating module in the protocol generating subsystem to generate a data stream conforming to the CoaXPress protocol;
step 2.4, caching the data stream which is generated in the step 2.3 and accords with the CoaXPress protocol into a stream data buffer module in the protocol generation subsystem;
step 3, distributing a corresponding downlink channel for each data stream generated in the step 2 through the link logic control subsystem and the channel distribution subsystem; the specific method comprises the following steps:
for each data stream conforming to the CoaXPress protocol generated in the step 2, judging whether an external instruction exists through a link logic control subsystem:
if the external instruction exists, a special channel is distributed to the corresponding data stream through the channel distribution subsystem;
if no external instruction exists, a corresponding channel is appointed for each data stream through the channel distribution subsystem according to the working state of each downlink channel, and the specific process is as follows:
step 3.1, extracting target downlink channel information carried in the data stream, and acquiring the working state of a target downlink channel through a channel state monitoring module in a channel distribution subsystem;
step 3.2, carrying out load operation of the target downlink channel through a channel load budget module in the channel distribution subsystem according to a system main operation clock and the total transmission quantity of the queue to be transmitted;
3.3, generating the priority of each data stream according to the load operation in the step 3.2 by a channel distribution module in the channel distribution subsystem, and distributing a corresponding downlink channel to each data stream according to the priority;
and 4, outputting each data stream according to the corresponding downlink channel distributed in the step 3.
2. The method of claim 1, wherein when there are multiple data streams output concurrently in step 4, the arbitration is performed by the bus arbitration subsystem, and each data stream output concurrently is output according to the arbitration result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710233227.4A CN107071520B (en) | 2017-04-11 | 2017-04-11 | Method for realizing CoaXPres high-speed image interface protocol IP |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710233227.4A CN107071520B (en) | 2017-04-11 | 2017-04-11 | Method for realizing CoaXPres high-speed image interface protocol IP |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107071520A CN107071520A (en) | 2017-08-18 |
CN107071520B true CN107071520B (en) | 2020-03-20 |
Family
ID=59601877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710233227.4A Expired - Fee Related CN107071520B (en) | 2017-04-11 | 2017-04-11 | Method for realizing CoaXPres high-speed image interface protocol IP |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107071520B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108012053A (en) * | 2017-11-16 | 2018-05-08 | 南京理工大学 | A kind of high speed image Transmission system based on CoaXPress interfaces |
CN110740257A (en) * | 2019-10-12 | 2020-01-31 | 南京理工大学 | high-speed high-definition CMOS imaging system and imaging method thereof |
CN112702377B (en) * | 2019-10-23 | 2023-01-13 | 苏州华兴源创科技股份有限公司 | Data stream conversion system |
CN111427829B (en) * | 2020-03-13 | 2022-03-01 | 浙江华睿科技股份有限公司 | Low-speed uplink signal demodulation circuit of CoaXPres protocol and driving circuit of CoaXPres protocol |
CN114726927A (en) * | 2021-11-30 | 2022-07-08 | 武汉卓目科技有限公司 | Conversion system and method for Coaxpress high-speed image interface and optical fiber transmission interface |
CN114785867A (en) * | 2022-04-25 | 2022-07-22 | 北京兴竹同智信息技术股份有限公司 | Interaction method for service data in green channel management |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8413132B2 (en) * | 2010-09-13 | 2013-04-02 | Samsung Electronics Co., Ltd. | Techniques for resolving read-after-write (RAW) conflicts using backup area |
CN105427772B (en) * | 2015-10-23 | 2017-12-05 | 武汉精测电子技术股份有限公司 | The multi-tiled display interface signal generation system and method for shared protocol layer |
-
2017
- 2017-04-11 CN CN201710233227.4A patent/CN107071520B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN107071520A (en) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107071520B (en) | Method for realizing CoaXPres high-speed image interface protocol IP | |
CN107202977B (en) | Comprehensive processing system based on VPX platform and software design method | |
US20120120967A1 (en) | Universal Serial Interface | |
CN106598889A (en) | SATA (Serial Advanced Technology Attachment) master controller based on FPGA (Field Programmable Gate Array) sandwich plate | |
CN103841432A (en) | Transmission method and equipment of composite video data | |
CN101483643A (en) | Data conversion method and apparatus | |
US11671678B2 (en) | Method and device, equipment, and storage medium for data processing | |
CN108712625B (en) | Multichannel real-time high-definition image transmission system and transmission method | |
US7072348B2 (en) | System and method for in-service reconfiguration of a synchronous optical communications network | |
CN108462620B (en) | Gilbert-level SpaceWire bus system | |
CN113132552B (en) | Video stream processing method and device | |
CN111884952B (en) | Multichannel calculation accelerating equipment based on FPGA | |
CN110830386B (en) | Message order preserving method, device and system | |
CN112261333B (en) | Method for transmitting image through optical fiber 1553 bus | |
CN113051212B (en) | Graphics processor, data transmission method, data transmission device, electronic equipment and storage medium | |
WO2022266959A1 (en) | Chip test circuit and method | |
KR102416176B1 (en) | Slave device control method | |
EP2382596B1 (en) | A data processing apparatus for segmental processing of input data, systems using the apparatus and methods for data transmittal | |
CN115037847A (en) | Video data exchange method and system based on data packet exchange | |
CN109660516B (en) | MIPI C-PHY signal generation method, device and system | |
CN104717440A (en) | LED transmitting card cascade interface | |
CN218825618U (en) | Video data processing device and vehicle | |
CN117956050A (en) | Asynchronous bidirectional data transmission method between FPGA and GPU | |
CN114726927A (en) | Conversion system and method for Coaxpress high-speed image interface and optical fiber transmission interface | |
CN117240934B (en) | Heterogeneous signal conversion system based on frame processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200320 |