Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Camera link protocol implementation on FPGA

You will have to go to baslerweb.com and download the documents.  T

 

1.

 

AW00098504000 (Ace cameralink users manual)

This is just general information.

AW00099001000 (Ace cameralink infor for frame grabber designers)

This is the timing related interface data you will need to understand deeply if you try to modify the acquisition state machine or any of the lower levels of code of the example (Including the NI1483 CLIP)

AW00099702000 (Ace and Aviator register structure and access methods)

This will be your main document for reference

 

2.  Just stick with the default 9600 baud.  Thew cameras default to that speed when powered on so you will have to run at that rate anyway to start with.  If you get the protocol just right, it's pretty responsive (At least it is on my Ace 2040-180km cameras).

 

3.  It's burried in the llb.  You have to dig around to understand how the serial interface operates.  NI still assures me that it should work fine out of the box but I have moved on and am living with the changes I made (Even if they're not actually necessary).  Hopefully you can come up with a design that works without having to modify the serial interface like I did.

 

4.  These are all documented in the register structure and access method guide from Basler.  The BBPII protocol is described at the end of that document but it's the first thing you have to implement before being able to send commands or receive responses for specific registers.

0 Kudos
Message 11 of 14
(3,140 Views)

Hi xl600,

 

I am implementing code in LabVIEW for configuring the camera parameter as per the command mentioned on the page number 190 of AW00099702000 Ace and Aviator Register Structure and Access Methods Document.

 

I am facing problem to send the Data Value in the command. In the document they shown that data has to be send in the format 0x01, 0x00, 0x00, 0x00  is the Data field (in little endian).

 

But in LabVIEW I will have data in Unsigned format (like 32 etc) but how to convert the data in the given format?

 

Can you give me any hint to convert the data in the given format?

 

 

 

 

0 Kudos
Message 12 of 14
(2,955 Views)

You will need to create utilities for reversing the bytes.  Here's two that I use pretty much everywhere...

 

This one uses bit rotation to perform a complete bit reversal (Useful for the Basler bitfield and enum types):

 

ReverseU32.png

 

This one uses word swapping and byte swapping to process arrays of U32 words to little endial order.  There's other ways to do this as well (Like using the Data Manipulation pallete split and join or swap bytes/words vis):

 

Word_Array_to_Byte_Array.png

 

 

0 Kudos
Message 13 of 14
(2,935 Views)

Hello,

 

I use a SB RIO 9606 and i made a camera link hardware interface (DS90CR288 receiver).

FVAL, LVAL, DVAL, PCLK and 8 bits data bus are connected  to the mezanine card on the SB RIO.

I need help to acquire my camera with LabVIEW FPGA.

PCLK = 40 Mhz.

I don't know how i do to acquire the external clock (PCLK) into my FPGA program.

0 Kudos
Message 14 of 14
(2,696 Views)