CN113986192A - Method for mutual conversion between CoaXPress interface data and Cameralink interface data - Google Patents
Method for mutual conversion between CoaXPress interface data and Cameralink interface data Download PDFInfo
- Publication number
- CN113986192A CN113986192A CN202111358045.2A CN202111358045A CN113986192A CN 113986192 A CN113986192 A CN 113986192A CN 202111358045 A CN202111358045 A CN 202111358045A CN 113986192 A CN113986192 A CN 113986192A
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- coaxpress
- cameralink
- ddr3sdram
- 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.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000003139 buffering effect Effects 0.000 claims description 7
- 239000000872 buffer Substances 0.000 claims description 5
- 230000003111 delayed effect Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 26
- 230000006870 function Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000005693 optoelectronics Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Input (AREA)
Abstract
The invention belongs to the technical field of high-speed data transmission, and particularly relates to a method for mutually converting CoaXPress interface data and Cameralink interface data. The method comprises the following steps: step 1: the upper computer software configures the converted working mode through RS 232; step 2: converting the Cameralink interface data into CoaXPress interface data; and step 3: the CoaXPress interface data is converted into Cameralink interface data. The method configures a working mode through an upper computer, realizes logic control between different interface time sequences by an FPGA, can realize data conversion at different rates between input equipment of a CoaXPress interface and output equipment of a Cameralink interface, or realize data conversion at different rates between the input equipment of the Cameralink interface and the output equipment of the CoaXPress interface, and achieves interconnection and intercommunication between the two interfaces.
Description
Technical Field
The invention belongs to the technical field of high-speed data transmission, and particularly relates to a method for mutually converting CoaXPress interface data and Cameralink interface data.
Background
With the demand of high-speed signal processing in the field of machine vision, especially the development of high-resolution, large-area array CCD and CMOS devices, the bandwidth requirement for data transmission is increasing. In recent 20 years, most high-resolution cameras and photoelectric acquisition equipment adopt the Cameralink transmission standard, the maximum transmission bandwidth of the Full mode is 6.8Gbps, and the maximum transmission distance of wires is 10 meters. For optoelectronic devices with higher speed and bandwidth requirements, the conventional Cameralink interface has not been able to meet the requirements. Therefore, 6 companies in the field of machine vision, such as Adimec and eqcoLogic, jointly introduced a new high-speed data transmission interface in 2008, which can realize long-distance transmission of large-capacity data, i.e., the CoaXPress data transmission standard. At present, the maximum transmission rate of CoaXPress2.0 can reach 12.5Gbps, the theoretical maximum transmission distance of a wire can reach 100 meters, the standard connector is a Micro BNC, and an uplink with the transmission speed of 20Mbps is supported for controlling and configuring a data channel.
With the abundance of interface standards and the requirements for different interfaces in different application scenarios, including wire considerations, transmission distance considerations, interconnection between boards with different interfaces, compatibility with legacy equipment, etc., interconversion between CoaXPress and Cameralink is required. For example, some high-speed devices adopting CoaXPress interface need to be connected to the device of Cameralink interface; some Cameralink interface data need to be transmitted to a device at a longer distance on the premise of guaranteeing bandwidth and speed, and it can be considered to be converted into a CoaXPress interface for transmission. In view of this requirement, a method capable of converting two interface devices is required to be designed to meet the requirements of interconnection and timing sequence between the two interface devices.
Chinese patent CN207052613U discloses a method for collecting data by using interfaces such as CoaXPress, Cameralink, USB3.0, etc., and reading data by using RS 422. The method can only adopt RS422 to read slowly, has low reading rate and is not suitable for occasions with high real-time requirement.
Disclosure of Invention
Technical problem to be solved
The technical problem to be solved by the invention is as follows: how to solve the problem of mutual conversion between a Cameralink interface and a CoaXpress interface between different photoelectric devices, how to realize the self-adaptive matching of clocks between an input interface and an output interface, ensure the real-time performance of data transmission, and provide a high-speed, high-efficiency, scientific and reasonable method for realizing the interface compatibility between multi-type photoelectric products.
(II) technical scheme
In order to solve the above technical problem, the present invention provides a method for mutually converting CoaXPress interface data and Cameralink interface data, wherein the method is implemented based on a data interface conversion system, and the data interface conversion system comprises: the device comprises a Cameralink interface, a Cameralink decoding driving chip, a Cameralink coding driving chip, a main control element FPGA, a CoaXPress interface, a CoaXPress coding driving chip and a CoaXPress decoding driving chip;
the method comprises the following steps:
step 1: the upper computer software configures the converted working mode through RS 232;
step 2: converting the Cameralink interface data into CoaXPress interface data;
and step 3: the CoaXPress interface data is converted into Cameralink interface data.
In the step 1, the whole system adopts direct current 5V for power supply; after the system is powered on, the upper computer software is communicated with the FPGA through an RS232 serial port, and the DB9 connector is adopted as the RS232 serial port;
configuring the input and output flow direction of data on an upper computer interface; when the Cameralink is selected as an input interface and CoaXPress is selected as an output interface, setting a working mode that the Cameralink interface data is converted into CoaXPress interface data; when CoaXPress is selected as an input interface and Cameralink is selected as an output interface, the working mode is set to convert CoaXPress interface data into Cameralink interface data.
Wherein, in the step 2, the following substeps are included:
step 21: under the condition that the working mode is that the Cameralink interface data is converted into CoaXPress interface data, a Cameralink interface and a Cameralink decoding receiving driving chip are used for converting LVDS serial data into parallel data and transmitting the parallel data to a main control element FPGA, and the main control element FPGA extracts image data from a line field time sequence of the input parallel data according to a Cameralink protocol; then, the data is cached in an internal FIFO or an external DDR3SDRAM, and the writing clock of the data is the pixel clock of Cameralink;
step 22: for image data with an input clock faster than an output clock, the external DDR3SDRAM can read out the image data after finishing caching the image data;
for image data with an input clock slower than an output clock, the image data can be read out after one line of data is cached by an internal FIFO, and the data delay is the time of one line of data;
the main control element FPGA packs the read cache data into a data packet form according to a CoaXPress protocol, adds a head part and a tail part, transmits the data packet to a CoaXPress coding driving chip, and finally transmits the data packet outwards through a CoaXPress interface in a serial LVDS form.
In step 21, for image data with an input clock faster than an output clock, the image data is stored in an external DDR3SDRAM memory unit for caching; and for image data with an input clock slower than an output clock, selecting to store the image data into an internal FIFO of the main control element FPGA.
In step 2, when data in two interface formats are converted, buffering needs to be performed through FIFO or DDR3SDRAM due to inconsistency of front and rear clocks;
when the FIFO constructed by BRAM resources in the FPGA is used for caching, the input and output time sequence of the FPGA is operated completely according to the FIFO clock domain crossing mode;
when caching is carried out according to DDR3SDRAM, two pieces of DDR3SDRAM are needed to carry out ping-pong operation, and data conversion of different protocol formats is completed; namely, when one frame of image is written into the DDR3SDRAM 1, the last frame of data is read out from the DDR3SDRAM 2 at the same time; when the next frame image is written into the DDR3SDRAM 2, the last frame data is read out from the DDR3SDRAM 1 at the same time, and in this way, the data delay time is one frame data time.
In the operation mode in step 2, the maximum bandwidth of the input end is 6.8Gbps, and the maximum bandwidth of the output end is 6.25Gbps, so that the bandwidth of the whole channel is 6.25 Gbps.
Wherein, in the step 3, the following substeps are included:
step 31: under the condition that the working mode is that CoaXPress interface data is converted into Cameralink interface data, a CoaXPress interface and a CoaXPress decoding driving chip thereof are used for converting LVDS serial data into parallel data and transmitting the parallel data to a main control element FPGA, the main control element FPGA analyzes input image data according to a CoaXPress protocol to remove the head and the tail of the input image data, and the image data are extracted; then, the data is cached in an internal FIFO (first in first out) or an external DDR3SDRAM (synchronous dynamic random access memory) of a main control element FPGA (field programmable gate array), and the writing clock of the data is a pixel clock of CoaXPres;
step 32: for image data with an input clock faster than an output clock, the external DDR3SDRAM can read out after finishing caching an image;
for data with an input clock slower than an output clock, the data can be read out after the internal FIFO buffers one line, and the data is delayed to be the time of one line of data;
and the read cache data is transmitted to a Cameralink coding driving chip according to the requirements of the line field time sequence of the Cameralink interface, and finally is transmitted to the outside through the Cameralink interface in a serial LVDS mode.
In step 32, for data with an input clock faster than an output clock, the image data is stored in an external DDR3SDRAM memory unit for caching; for data with an input clock slower than an output clock, the image data is selectively stored in the internal FIFO.
In step 2, when data in two interface formats are converted, buffering needs to be performed through FIFO or DDR3SDRAM due to inconsistency of front and rear clocks;
when the FIFO constructed by BRAM resources in the FPGA is used for caching, the input and output time sequence of the FPGA is operated completely according to the FIFO clock domain crossing mode;
when caching is carried out according to DDR3SDRAM, two pieces of DDR3SDRAM are needed to carry out ping-pong operation, and data conversion of different protocol formats is completed; namely, when one frame of image is written into DDR3SDRAM 1, the last frame of data is read out from DDR3SDRAM 2 at the same time; when the next frame image is written into the DDR3SDRAM 2, the last frame data is read out from the DDR3SDRAM 1 at the same time, and in this way, the data delay time is one frame data time.
In the working mode of step 3, the maximum bandwidth of the input end is 6.25Gbps, and the maximum bandwidth of the output end is 6.8Gbps, so that the bandwidth of the whole channel is 6.25 Gbps.
(III) advantageous effects
Compared with the prior art, the method for mutually converting CoaXPress interface data and Cameralink interface data provided by the technical scheme of the invention can meet the interconnection and intercommunication between two interface devices, and has the following beneficial effects:
(1) the CoaXPress interface is converted into the Cameralink interface, so that the CoaXPress interface equipment can be connected to the photoelectric equipment of the Cameralink interface, the defect that the transmission distance of the Cameralink cable is short is overcome, and the CoaXPress cable can be used for collecting image data at a longer distance.
(2) For a CoaXPress camera with high frame frequency and high resolution, the CoaXPress interface is converted into the function of a Cameralink interface, the CoaXPress camera can be conveniently accessed into the existing Cameralink acquisition equipment, and the interconnection and intercommunication among the equipment can be quickly realized.
(3) Through the scheme that the CoaXPress and Cameralink interface driving chip are controlled by the FPGA, the rate self-adaptive matching between the two interfaces is realized by using a smaller FPGA resource utilization rate.
Drawings
Fig. 1 and 4 are overall block diagrams of a system in which the Cameralink data interface and the CoaXPress data interface are mutually converted.
Fig. 2 is a data flow diagram of a DDR3SDRAM for ping-pong operations.
Fig. 3 is a flow chart of configuring the operation mode through the RS232 serial port.
Detailed Description
In order to make the objects, contents, and advantages of the present invention clearer, the following detailed description of the embodiments of the present invention will be made in conjunction with the accompanying drawings and examples.
In order to solve the above technical problem, the present invention provides a method for mutually converting CoaXPress interface data and Cameralink interface data, wherein the method is implemented based on a data interface conversion system, and the data interface conversion system comprises: the device comprises a Cameralink interface, a Cameralink decoding driving chip, a Cameralink coding driving chip, a main control element FPGA, a CoaXPress interface, a CoaXPress coding driving chip and a CoaXPress decoding driving chip;
the method comprises the following steps:
step 1: the upper computer software configures the converted working mode through RS 232;
step 2: converting the Cameralink interface data into CoaXPress interface data;
and step 3: the CoaXPress interface data is converted into Cameralink interface data.
In the step 1, the whole system adopts direct current 5V for power supply; after the system is powered on, the upper computer software is communicated with the FPGA through an RS232 serial port, and the DB9 connector is adopted as the RS232 serial port;
configuring the input and output flow direction of data on an upper computer interface; when the Cameralink is selected as an input interface and CoaXPress is selected as an output interface, setting a working mode that the Cameralink interface data is converted into CoaXPress interface data; when CoaXPress is selected as an input interface and Cameralink is selected as an output interface, the working mode is set to convert CoaXPress interface data into Cameralink interface data.
Wherein, in the step 2, the following substeps are included:
step 21: under the condition that the working mode is that the Cameralink interface data is converted into CoaXPress interface data, a Cameralink interface and a Cameralink decoding receiving driving chip are used for converting LVDS serial data into parallel data and transmitting the parallel data to a main control element FPGA, and the main control element FPGA extracts image data from a line field time sequence of the input parallel data according to a Cameralink protocol; then, the data is cached in an internal FIFO or an external DDR3SDRAM, and the writing clock of the data is the pixel clock of Cameralink;
step 22: for image data with an input clock faster than an output clock, the external DDR3SDRAM can read out the image data after finishing caching the image data;
for image data with an input clock slower than an output clock, the image data can be read out after one line of data is cached by an internal FIFO, and the data delay is the time of one line of data;
the main control element FPGA packs the read cache data into a data packet form according to a CoaXPress protocol, adds a head part and a tail part, transmits the data packet to a CoaXPress coding driving chip, and finally transmits the data packet outwards through a CoaXPress interface in a serial LVDS form.
In step 21, for image data with an input clock faster than an output clock, the image data is stored in an external DDR3SDRAM memory unit for caching; and for image data with an input clock slower than an output clock, selecting to store the image data into an internal FIFO of the main control element FPGA.
In step 2, when data in two interface formats are converted, buffering needs to be performed through FIFO or DDR3SDRAM due to inconsistency of front and rear clocks;
when the FIFO constructed by BRAM resources in the FPGA is used for caching, the input and output time sequence of the FPGA is operated completely according to the FIFO clock domain crossing mode;
when caching is carried out according to DDR3SDRAM, two pieces of DDR3SDRAM are needed to carry out ping-pong operation, and data conversion of different protocol formats is completed; namely, when one frame of image is written into DDR3SDRAM 1, the last frame of data is read out from DDR3SDRAM 2 at the same time; when the next frame image is written into the DDR3SDRAM 2, the last frame data is read out from the DDR3SDRAM 1 at the same time, and in this way, the data delay time is one frame data time.
In the operation mode in step 2, the maximum bandwidth of the input end is 6.8Gbps, and the maximum bandwidth of the output end is 6.25Gbps, so that the bandwidth of the whole channel is 6.25 Gbps.
Wherein, in the step 3, the following substeps are included:
step 31: under the condition that the working mode is that CoaXPress interface data is converted into Cameralink interface data, a CoaXPress interface and a CoaXPress decoding driving chip thereof are used for converting LVDS serial data into parallel data and transmitting the parallel data to a main control element FPGA, the main control element FPGA analyzes input image data according to a CoaXPress protocol to remove the head and the tail of the input image data, and the image data are extracted; then, the data is cached in an internal FIFO (first in first out) or an external DDR3SDRAM (synchronous dynamic random access memory) of a main control element FPGA (field programmable gate array), and the writing clock of the data is a pixel clock of CoaXPres;
step 32: for image data with an input clock faster than an output clock, the external DDR3SDRAM can read out after finishing caching an image;
for data with an input clock slower than an output clock, the data can be read out after the internal FIFO buffers one line, and the data is delayed to be the time of one line of data;
and the read cache data is transmitted to a Cameralink coding driving chip according to the requirements of the line field time sequence of the Cameralink interface, and finally is transmitted to the outside through the Cameralink interface in a serial LVDS mode.
In step 32, for data with an input clock faster than an output clock, the image data is stored in an external DDR3SDRAM memory unit for caching; for data with an input clock slower than an output clock, the image data is selectively stored in the internal FIFO.
In step 2, when data in two interface formats are converted, buffering needs to be performed through FIFO or DDR3SDRAM due to inconsistency of front and rear clocks;
when the FIFO constructed by BRAM resources in the FPGA is used for caching, the input and output time sequence of the FPGA is operated completely according to the FIFO clock domain crossing mode;
when caching is carried out according to DDR3SDRAM, two pieces of DDR3SDRAM are needed to carry out ping-pong operation, and data conversion of different protocol formats is completed; namely, when one frame of image is written into DDR3SDRAM 1, the last frame of data is read out from DDR3SDRAM 2 at the same time; when the next frame image is written into the DDR3SDRAM 2, the last frame data is read out from the DDR3SDRAM 1 at the same time, and in this way, the data delay time is one frame data time.
In the working mode of step 3, the maximum bandwidth of the input end is 6.25Gbps, and the maximum bandwidth of the output end is 6.8Gbps, so that the bandwidth of the whole channel is 6.25 Gbps.
Example 1
The embodiment aims to solve the problem of mutual conversion between two interfaces, namely CoaXPress and Cameralink, and realize interconnection and intercommunication and real-time transmission between different interface devices. The Xilinx Kintex-7 series FPGA is used as a main control logic element to carry out logic control on receiving and sending between the two interfaces. The CoaXPress decoding chip is responsible for converting and receiving LVDS data into parallel data, and the CoaXPress coding chip is responsible for converting and sending the parallel data into LVDS serial data; the Cameralink decoding chip is responsible for converting and receiving LVDS data into parallel data, and the Cameralink coding chip is responsible for converting and sending the parallel data into LVDS serial data. The invention can realize the conversion from CoaXPress interface input data to Cameralink interface output data, or the conversion from Cameralink interface input data to CoaXPress interface output data, or the bidirectional independent transmission of the two interfaces. Infrared images with 640 × 512 resolutions at 1000 frames per second can be transmitted in real time, calculated at a maximum data throughput of 6.25 Gbps.
With reference to fig. 1 and 4, when the function of the Cameralink input interface is changed to the CoaXPress output interface, the Cameralink interfaces 1 and 2 are connected to form a Cameralink Full input mode. LVDS differential data is input through a Cameralink interface, two Cameralink decoding receiving driving chips complete conversion from serial data to parallel data, meanwhile, FPGA main control logic caches the data into FIFO 1 or DDR3SDRAM, and the writing clock is a pixel clock of the Cameralink. And then the FPGA main control logic reads the data from the cache, packs the data according to the format of a CoaXPress protocol, adds head and tail information, sends the data to a CoaXPress coding chip to carry out 8b/10b coding and balancing, and sends the data to a CoaXPress connector Micro BNC 1 in the form of LVDS. When the function is used, the maximum bandwidth of the input end is 6.8Gbps, and the maximum bandwidth of the output end is 6.25Gbps, so that the bandwidth of the whole channel is 6.25 Gbps.
With reference to fig. 1, when the CoaXPress input interface is converted into the Cameralink output interface, the Cameralink interfaces 3 and 4 are plugged to form a Cameralink Full output mode. LVDS differential data is input through a CoaXPress interface Micro BNC 2, the CoaXPress decoding receiving driving chip completes the conversion from serial data to parallel data, the head and the tail are removed according to a CoaXPress protocol, image data are extracted, the data are cached in FIFO 2 or DDR3SDRAM, and the writing clock of the data is the pixel clock of CoaXPress. And then the FPGA main control logic reads the data from the cache, packs the data according to the line field format of the Cameralink protocol, sends the data to two Cameralink sending chips for coding, and sends the data to the Cameralink connector Cameralink interfaces 3 and 4 in the form of LVDS. When the function is used, the maximum bandwidth of the input end is 6.25Gbps, and the maximum bandwidth of the output end is 6.8Gbps, so that the bandwidth of the whole channel is 6.25 Gbps.
Referring to fig. 2, when data in two interface formats are converted, the data need to be buffered by FIFO or DDR3SDRAM due to the inconsistency of front and back clocks. The FIFO constructed by BRAM resources in the FPGA is used for buffering, and the input and output time sequence of the FPGA is operated completely according to the FIFO clock domain crossing mode. When caching is carried out according to DDR3SDRAM, two pieces of ping-pong operation are needed to complete data conversion of different protocol formats. When one frame of image is written into DDR3SDRAM 1, reading the last frame of data from DDR3SDRAM 2 at the same time; when the next frame image is written in the DDR3SDRAM 2, the last frame data is read out from the DDR3SDRAM 1 at the same time. In this way, the data delay time is one frame data time.
With reference to fig. 3, after the system is started, the input/output interface mode of the system can be selected by using the RS232 serial port, the system is provided with typical 4 video formats, and after the typical format is selected, the system performs conversion according to the format. For the unusual video formats, the input and output clocks, the resolution, the working time sequences of two interfaces and the like of the unusual video formats can be configured through the serial ports, sent to the FPGA, and then the corresponding working modes are started. The communication mode of the RS232 serial port is 115200 baud rate, 8bit of data bit and even check.
Example 2
The embodiment provides a method for interconversion between a Cameralink data interface and a CoaXpress data interface, which comprises the following steps:
step 1: the upper computer software configures the conversion mode through RS 232;
step 2: converting the Cameralink interface data into CoaXPress interface data;
and step 3: the CoaXPress interface data is converted into Cameralink interface data.
Wherein the step 1 comprises the sub-steps of:
the whole system adopts direct current 5V power supply. After the system supplies power, the upper computer software communicates with the FPGA through an RS232 serial port, and the RS232 adopts a DB9 connector. Configuring the input and output flow direction of data on an upper computer interface, selecting CoaXPress as an input interface and Cameralink as an output interface, and setting a working mode to convert CoaXPress into Cameralink; and selecting Cameralink as an input interface and CoaXPress as an output interface, and setting the working mode to convert the Cameralink into the CoaXPress. The input interface is configured with a clock and the output interface is configured with an output clock, so that data with different rates can be converted between two kinds of decoupling. The data interface conversion system is internally provided with a typical video format working mode, can be matched with an input/output interface mode in a self-adaptive manner, and realizes seamless butt joint and input/output; for the unusual working mode, the specific working mode of the system can be configured through the upper computer.
Wherein the step 2 comprises the sub-steps of:
2.1 using a Cameralink interface and a corresponding receiving driving chip thereof to convert LVDS serial data into parallel data and transmit the parallel data to a main control element FPGA, and extracting image data from a line-field time sequence by the FPGA according to a Cameralink protocol for the input data. For data with an input clock faster than an output clock, image data is stored in an external DDR3SDRAM storage unit for caching; for data with input clock slower than output clock, selecting to store image data into internal FIFO;
2.2, inputting data with a clock faster than an output clock, and reading the data after an external DDR3SDRAM finishes caching an image; the data with the input clock slower than the output clock can be read out after the internal FIFO buffers one line, and the data is delayed to be the time of one line of data. The read cache data packs the image data into a data packet form according to a CoaXPress protocol, adds a head part and a tail part, transmits the data packet to a CoaXPress coding transmission driver chip, and finally transmits the data packet outwards in a serial LVDS form;
2.3 for Camerlink input to CoaXPress output, the core of the invention is that the invention can carry out self-adaptive matching according to different clock rates, and complete automatic conversion of different rates. According to the difference between a Camerlink input clock and a CoaXPress output clock, an internal clock matching scheme is automatically completed, the FIFO cache in the FPGA is adopted to realize the delay of a pixel clock stage between two interfaces, and the conversion from a slow clock to a fast clock is completed; the external DDR3SDRAM is adopted to realize the caching of an image and complete the conversion from a fast clock to a slow clock; the maximum bandwidth of input data is 6.8 Gbps.
Wherein the step 3 comprises the following substeps:
3.1 use CoaXPress interface and its corresponding receive the driver chip, change LVDS serial data into parallel data and transmit to main control element FPGA, analyze its head and afterbody according to CoaXPress agreement to the data of input by FPGA, extract image data. For data with an input clock faster than an output clock, image data is stored in an external DDR3SDRAM storage unit for caching; for data with input clock slower than output clock, selecting to store image data into internal FIFO;
3.2, inputting data with a clock faster than an output clock, and reading the data after an image is cached by an external DDR3 SDRAM; the data with the input clock slower than the output clock can be read out after the internal FIFO buffers one line, and the data is delayed to be the time of one line of data. The read cache data are transmitted to a Cameralink coding transmission driver chip according to the requirements of the Cameralink interface line field time sequence, and are finally transmitted outwards in a serial LVDS mode;
3.3 converting CoaXPress input to Camerlink output, the core of the invention is that the invention can carry out self-adaptive matching according to different clock rates, and complete automatic conversion of different rates. According to the difference between the CoaXPress input clock and the Camerlink output clock, an internal clock matching scheme is automatically completed, the FIFO cache in the FPGA is adopted to realize the delay of a pixel clock stage between two interfaces, and the conversion from a slow clock to a fast clock is completed; the external DDR3SDRAM is adopted to realize the caching of an image and complete the conversion from a fast clock to a slow clock; the maximum bandwidth of the input data is 6.25 Gbps.
In the data interface conversion system, a main element FPGA of conversion logic adopted by a conversion system for converting CoaXPress into Cameralink data interface adopts Xilinx XC7K325T to realize logic time sequence control of the two interfaces; the CoaXPress receiving and decoding chip adopts a CoaXPress2.0 chip EQCO125X40 of Microchip company to realize serial-parallel conversion of high-speed LVDS data, and the interface connector adopts Micro BNC; the Cameralink coding transmission chip adopts two DS90CR287 chips of National Semiconductor company to form a Cameralink Full mode, so that conversion from parallel data to serial LVDS data is realized, and the interface connector adopts two SDRs 26.
In the data interface conversion system, a main element FPGA of a data interface conversion logic of Cameralink conversion CoaXPress adopts the same FPGA with the functions to realize logic time sequence control of two interfaces; the Cameralink codec receiving chip adopts two DS90CR288 chips of National Semiconductor company to form a Cameralink Full mode, so that the conversion from serial LVDS data to parallel data is realized, and the interface connector adopts two paths of SDRs 26; CoaXPress coding transmission chip adopts CoaXPress2.0 chip EQCO125X40 of Microchip company, realizes parallel data to LVDS data's conversion, the interface connector adopts Micro BNC.
Example 3
The embodiment provides a method for interconversion between high-speed CoaXPress interface data and high-speed Cameralink interface data, which comprises the following steps:
step 1: the upper computer software configures the conversion mode through RS 232;
step 2: converting the Cameralink interface data into CoaXPress interface data;
and step 3: the CoaXPress interface data is converted into Cameralink interface data.
Wherein the step 1 comprises the following substeps:
1.1 after the system is powered on, starting the upper computer software, and communicating with the FPGA through RS 232;
1.2 configuring the input and output flow direction of data, and selecting a corresponding interface;
1.3 for typical video formats, directly starting the working mode;
1.4 setting the pixel clock, the resolution and the working time sequence of the unusual video format, and then starting the working mode;
wherein the step 2 comprises the following substeps:
2.1, converting LVDS image data into parallel data and transmitting the parallel data to a main control element FPGA by using a Cameralink interface and a corresponding receiving driving chip thereof, and selectively storing the real-time image data into an internal FIFO or an external DDR3SDRAM for caching by the FPGA according to different input and output clocks;
2.2 after reading a line of data from FIFO or reading an image of data from DDR3SDRAM, packing the data according to the CoaXPress interface timing sequence, transmitting the packed data to a CoaXPress coding transmission driver chip, and finally transmitting the packed data outwards in the form of LVDS;
2.3 in order to realize the time sequence self-adaptive matching between different input and output clocks, when the input clock is faster than the output clock, a DDR3SDRAM is adopted to realize the caching of an image, and then the output is carried out; when the input clock is slower than the output clock, a line of data is cached by adopting FIFO in the FPGA, and then the output can be carried out.
Wherein the step 3 comprises the following substeps:
3.1 using CoaXPress interface and corresponding receiving drive chip to convert LVDS data into parallel data and transmit the parallel data to the main control element FPGA, analyzing the data according to CoaXPress protocol, and storing real-time image data into internal FIFO or external DDR3SDRAM for caching by FPGA selection according to the difference of input and output clocks;
3.2 after reading out a line of data from FIFO or reading out an image of data from DDR3SDRAM, the FPGA transmits the parallel data to a Cameralink coding transmission driver chip according to the time sequence requirement of a Cameralink interface, and finally transmits the parallel data outwards in the form of LVDS;
3.3 in order to realize the self-adaptive matching of the time sequences of different input and output clocks, when the input clock is faster than the output clock, a DDR3SDRAM is adopted to realize the caching of an image, and then the output is carried out; when the input clock is slower than the output clock, a line of data is cached by adopting FIFO in the FPGA, and then the output can be carried out;
the main element FPGA for data interface conversion adopts Xilinx XC7K325T to realize logic control of different interface time sequences; the CoaXPress receiving and decoding chip adopts a CoaXPress2.0 chip EQCO125X40 of the first product of Microchip company to realize serial-parallel conversion of high-speed LVDS data, and the interface adopts Micro BNC; the Cameralink coding transmission chip adopts two DS90CR287 chips of National Semiconductor company to form a Cameralink Full mode, so that conversion from parallel data to serial LVDS data is realized, and the interface adopts two SDR26 paths.
The main element FPGA for data interface conversion adopts the same FPGA as the main element FPGA in claim 3 to realize logic control of different interface time sequences; the Cameralink codec receiving chip adopts two DS90CR288 chips of National Semiconductor company to form a Cameralink Full mode, so that the conversion from serial LVDS data to parallel data is realized, and the interface adopts two SDR26 paths; CoaXPress coding transmission chip adopts CoaXPress2.0 chip EQCO125X40 of Microchip company, realizes the conversion of parallel data to LVDS data, the interface adopts Micro BNC.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, several modifications and variations can be made without departing from the technical principle of the present invention, and these modifications and variations should also be regarded as the protection scope of the present invention.
Claims (10)
1. A method for interconversion between CoaXPress interface data and Cameralink interface data, the method being implemented based on a data interface conversion system, the data interface conversion system comprising: the device comprises a Cameralink interface, a Cameralink decoding driving chip, a Cameralink coding driving chip, a main control element FPGA, a CoaXPress interface, a CoaXPress coding driving chip and a CoaXPress decoding driving chip;
the method comprises the following steps:
step 1: the upper computer software configures the converted working mode through RS 232;
step 2: converting the Cameralink interface data into CoaXPress interface data;
and step 3: the CoaXPress interface data is converted into Cameralink interface data.
2. The method for interconversion between CoaXPress interface data and Cameralink interface data as claimed in claim 1, wherein in step 1, the whole system is powered by DC 5V; after the system is powered on, the upper computer software is communicated with the FPGA through an RS232 serial port, and the DB9 connector is adopted as the RS232 serial port;
configuring the input and output flow direction of data on an upper computer interface; when the Cameralink is selected as an input interface and CoaXPress is selected as an output interface, setting a working mode that the Cameralink interface data is converted into CoaXPress interface data; when CoaXPress is selected as an input interface and Cameralink is selected as an output interface, the working mode is set to convert CoaXPress interface data into Cameralink interface data.
3. The method for interconversion of CoaXPress interface data and Cameralink interface data as claimed in claim 1, wherein said step 2 comprises the sub-steps of:
step 21: under the condition that the working mode is that the Cameralink interface data is converted into CoaXPress interface data, a Cameralink interface and a Cameralink decoding receiving driving chip are used for converting LVDS serial data into parallel data and transmitting the parallel data to a main control element FPGA, and the main control element FPGA extracts image data from a line field time sequence of the input parallel data according to a Cameralink protocol; then, the data is buffered in an internal FIFO or an external DDR3SDRAM, and the writing clock of the data is the pixel clock of Cameralink;
step 22: for image data with an input clock faster than an output clock, the external DDR3SDRAM can read out the image data after finishing caching the image data;
for image data with an input clock slower than an output clock, the image data can be read out after one line of data is cached by an internal FIFO, and the data delay is the time of one line of data;
the main control element FPGA packs the read cache data into a data packet form according to a CoaXPress protocol, adds a head part and a tail part, transmits the data packet to a CoaXPress coding driving chip, and finally transmits the data packet outwards through a CoaXPress interface in a serial LVDS form.
4. The method for interconversion of CoaXPress interface data and Cameralink interface data as claimed in claim 3, wherein in said step 21, for image data with faster input clock than output clock, selecting to store the image data in external DDR3SDRAM memory unit for buffering; and for image data with an input clock slower than an output clock, selecting to store the image data into an internal FIFO of the main control element FPGA.
5. The method for converting CoaXPress interface data and Cameralink interface data into each other as claimed in claim 4, wherein in step 2, when data in two interface formats are converted, it needs to be buffered by FIFO or DDR3SDRAM due to the inconsistency of front and back clocks;
when the FIFO constructed by BRAM resources in the FPGA is used for caching, the input and output time sequence of the FPGA is operated completely according to the FIFO clock domain crossing mode;
when caching is carried out according to DDR3SDRAM, two pieces of DDR3SDRAM are needed to carry out ping-pong operation, and data conversion of different protocol formats is completed; namely, when one frame of image is written into the DDR3SDRAM 1, the last frame of data is read out from the DDR3SDRAM 2 at the same time; when the next frame image is written into the DDR3SDRAM 2, the last frame data is read out from the DDR3SDRAM 1 at the same time, and in this way, the data delay time is one frame data time.
6. The method for interconversion of CoaXPress interface data and Cameralink interface data as claimed in claim 4, wherein in said step 2 operating mode, the maximum bandwidth of the input terminal is 6.8Gbps, and the maximum bandwidth of the output terminal is 6.25Gbps, so that the bandwidth of the whole channel is 6.25 Gbps.
7. The method for interconversion of CoaXPress interface data and Cameralink interface data as claimed in claim 1, wherein said step 3 comprises the sub-steps of:
step 31: under the condition that the working mode is that CoaXPress interface data is converted into Cameralink interface data, a CoaXPress interface and a CoaXPress decoding driving chip thereof are used for converting LVDS serial data into parallel data and transmitting the parallel data to a main control element FPGA, the main control element FPGA analyzes input image data according to a CoaXPress protocol to remove the head and the tail of the input image data, and the image data are extracted; then, the data is cached in an internal FIFO (first in first out) or an external DDR3SDRAM (synchronous dynamic random access memory) of a main control element FPGA (field programmable gate array), and the writing clock of the data is a pixel clock of CoaXPres;
step 32: for image data with an input clock faster than an output clock, the external DDR3SDRAM can read out after finishing caching an image;
for data with an input clock slower than an output clock, the data can be read out after the internal FIFO buffers one line, and the data is delayed to be the time of one line of data;
and the read cache data is transmitted to a Cameralink coding driving chip according to the requirements of the line field time sequence of the Cameralink interface, and finally is transmitted to the outside through the Cameralink interface in a serial LVDS mode.
8. The method for interconversion of CoaXPress interface data and Cameralink interface data as claimed in claim 7, wherein in said step 32, for data with faster input clock than output clock, selecting to store image data into external DDR3SDRAM memory location for buffering; for data with an input clock slower than an output clock, the image data is selectively stored in the internal FIFO.
9. The method as claimed in claim 7, wherein in step 2, when the data in the two interface formats are converted, the data need to be buffered by FIFO or DDR3SDRAM due to the inconsistency of the front and rear clocks;
when the FIFO constructed by BRAM resources in the FPGA is used for caching, the input and output time sequence of the FPGA is operated completely according to the FIFO clock domain crossing mode;
when caching is carried out according to DDR3SDRAM, two pieces of DDR3SDRAM are needed to carry out ping-pong operation, and data conversion of different protocol formats is completed; namely, when one frame of image is written into the DDR3SDRAM 1, the last frame of data is read out from the DDR3SDRAM 2 at the same time; when the next frame image is written into the DDR3SDRAM 2, the last frame data is read out from the DDR3SDRAM 1 at the same time, and in this way, the data delay time is one frame data time.
10. The method for interconversion between CoaXPress interface data and Cameralink interface data of claim 7, wherein in the step 3 mode of operation, the maximum bandwidth of the input port is 6.25Gbps, and the maximum bandwidth of the output port is 6.8Gbps, so that the bandwidth of the whole channel is 6.25 Gbps.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111358045.2A CN113986192B (en) | 2021-11-16 | 2021-11-16 | Method for converting CoaXPress interface data and Cameralink interface data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111358045.2A CN113986192B (en) | 2021-11-16 | 2021-11-16 | Method for converting CoaXPress interface data and Cameralink interface data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113986192A true CN113986192A (en) | 2022-01-28 |
CN113986192B CN113986192B (en) | 2024-05-14 |
Family
ID=79748902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111358045.2A Active CN113986192B (en) | 2021-11-16 | 2021-11-16 | Method for converting CoaXPress interface data and Cameralink interface data |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986192B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061967A (en) * | 2022-06-30 | 2022-09-16 | 重庆秦嵩科技有限公司 | Method for reducing interface clock by using homemade FPGA (field programmable Gate array) based camera link image compression |
CN115550589A (en) * | 2022-08-12 | 2022-12-30 | 哈尔滨工业大学 | FPGA-based high-speed real-time conversion device and method from CoaXPress interface data to CameraLink interface data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201704995A (en) * | 2015-06-30 | 2017-02-01 | Jai Ltd | Information communication system and interface device |
CN107409170A (en) * | 2015-04-28 | 2017-11-28 | 日本株式会社皆爱公司 | The disassembly and assembly structure and function extension system of function expanding device, function expanding device |
CN207052613U (en) * | 2017-08-01 | 2018-02-27 | 四川省冶地工程勘察设计有限公司 | Universal conversion device for digital photogrammetry |
KR101849853B1 (en) * | 2016-11-28 | 2018-04-17 | 주식회사 엠비젼 | High speed transmission apparatus of large volume image data |
CN112860611A (en) * | 2020-12-28 | 2021-05-28 | 中国科学院合肥物质科学研究院 | LVDS-to-USB 3.0 multi-channel adapter |
-
2021
- 2021-11-16 CN CN202111358045.2A patent/CN113986192B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107409170A (en) * | 2015-04-28 | 2017-11-28 | 日本株式会社皆爱公司 | The disassembly and assembly structure and function extension system of function expanding device, function expanding device |
US20180088446A1 (en) * | 2015-04-28 | 2018-03-29 | Jai Ltd. | Function enhancement device, attaching/detaching structure for function enhancement device, and function enhancement system |
TW201704995A (en) * | 2015-06-30 | 2017-02-01 | Jai Ltd | Information communication system and interface device |
KR101849853B1 (en) * | 2016-11-28 | 2018-04-17 | 주식회사 엠비젼 | High speed transmission apparatus of large volume image data |
CN207052613U (en) * | 2017-08-01 | 2018-02-27 | 四川省冶地工程勘察设计有限公司 | Universal conversion device for digital photogrammetry |
CN112860611A (en) * | 2020-12-28 | 2021-05-28 | 中国科学院合肥物质科学研究院 | LVDS-to-USB 3.0 multi-channel adapter |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061967A (en) * | 2022-06-30 | 2022-09-16 | 重庆秦嵩科技有限公司 | Method for reducing interface clock by using homemade FPGA (field programmable Gate array) based camera link image compression |
CN115061967B (en) * | 2022-06-30 | 2023-06-23 | 重庆秦嵩科技有限公司 | Method for reducing interface clock by adopting camera link image compression based on domestic FPGA |
CN115550589A (en) * | 2022-08-12 | 2022-12-30 | 哈尔滨工业大学 | FPGA-based high-speed real-time conversion device and method from CoaXPress interface data to CameraLink interface data |
CN115550589B (en) * | 2022-08-12 | 2024-05-24 | 哈尔滨工业大学 | High-speed real-time conversion device and method for CoaXPress interface data to CameraLink interface data based on FPGA |
Also Published As
Publication number | Publication date |
---|---|
CN113986192B (en) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113986192A (en) | Method for mutual conversion between CoaXPress interface data and Cameralink interface data | |
CN110569204B (en) | Configurable image data caching system based on FPGA and DDR3SDRAM | |
CN110896431B (en) | Non-compression high-definition video transmission method and system | |
CN109743515A (en) | A kind of asynchronous video fusion overlapping system and method based on soft core platform | |
CN203224621U (en) | Weather radar high-speed data transmission device based on PCI-E bus | |
CN110417780A (en) | Customize the multi-channel high-speed data interface conversion module of Data Transport Protocol | |
CN102521190A (en) | Hierarchical bus system applied to real-time data processing | |
US11902706B2 (en) | Method for transmitting high bandwidth camera data through SerDes links | |
CN110941577A (en) | SATA interface link layer function realization method based on FPGA | |
CN108345553A (en) | Satellite-borne high-resolution imaging data transmission and acquisition system | |
CN111526317B (en) | Low-delay image acquisition method, device and system | |
CN108134912B (en) | Video stream conversion method | |
CN210807465U (en) | Multifunctional video converter | |
CN105120235A (en) | Industrial image collection system based on USB 3.0 interface, and image collection processing method of industrial image collection system | |
CN201378851Y (en) | CCD image data collecting device | |
CN114363626B (en) | Satellite-borne ultra-high-speed image compression system | |
CN113204505B (en) | FPGA-based interface conversion method with different rates | |
CN103705260A (en) | Data transmitting system of digital medical imaging device based on optical fiber communications | |
CN102214080A (en) | USB Video Class-based multi-point video graphics array (VGA) image acquisition and display system | |
CN107707829A (en) | A kind of method that multiplex roles intelligence SDI video switching boxs are realized based on FPGA | |
CN204929022U (en) | Video mosaicing processing ware that shows high -definition video signal can return | |
CN203632764U (en) | Camera link data converter | |
CN205142402U (en) | Industry image acquisition system based on USB3. 0 interface | |
CN202488592U (en) | Real-time high definition video transmitter | |
CN210670239U (en) | Uncompressed high-definition video transmission system |
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 |