So, I need to capture data being sent over this kind of obscure protocol. It is called XY2-100, I'll attach a document that outlines it. It is for controlling laser scan heads. Basically It is made up of four differential pairs: x position, y position, clk, and sync. It is a streaming protocol with 20 bit words. The CLK line is a 2Mhz signal, so the data transfer is 2Mbits/s. The SYNC line signals the end of each word.
I want to capture the information being sent to a scan head with a PC so that I can track where the laser is being pointed. I've spent a lot of time looking into this and I wasn't able to find any off the shelf solutions. I know that FPGAs have been used in protocol development so I figured that it would be a good solution. Unfortunately I don't know much about them. I've been reading a lot, but it is a lot of information to take in. So, I'm looking for advice.
From what I've read, I've come up with an idea of how to do this. I've seen a number of solutions to implement an IP stack on an FPGA. I'm thinking I can leverage one of these to send the information from the RAM on the FPGA board to a PC over ethernet. I've got some logic of how to interpret the signal wires to capture the bits appropriately. On each CLK signal positive edge I'll save the x and y bits locally. When the SYNC bit goes low the 20 previous bits can be moved to the IP stack to get packaged up and sent. I'm thinking UDP is way easier to implement and uses fewer resources, and with the mass of data I'll be collecting the potential error rate is acceptable.
1)Does this make sense? Did I explain what I'm doing well enough? Is this a reasonable solution?
2)I'm having trouble figuring out what kind of resources this project will require in terms of the FPGA, ie number of logic cells, memory, etc. How can I get a better idea of that? Or maybe someone has done something similar and can give me some idea of the size of a project like this.
3)What FPGA board should I buy to do this? Or what should I look for on a board? I don't really want to spend a fortune, something that stays in the hundreds of dollars would be nice. And ease of use is nice, which is why I'm looking at digilent.
Question
Middy
So, I need to capture data being sent over this kind of obscure protocol. It is called XY2-100, I'll attach a document that outlines it. It is for controlling laser scan heads. Basically It is made up of four differential pairs: x position, y position, clk, and sync. It is a streaming protocol with 20 bit words. The CLK line is a 2Mhz signal, so the data transfer is 2Mbits/s. The SYNC line signals the end of each word.
I want to capture the information being sent to a scan head with a PC so that I can track where the laser is being pointed. I've spent a lot of time looking into this and I wasn't able to find any off the shelf solutions. I know that FPGAs have been used in protocol development so I figured that it would be a good solution. Unfortunately I don't know much about them. I've been reading a lot, but it is a lot of information to take in. So, I'm looking for advice.
From what I've read, I've come up with an idea of how to do this. I've seen a number of solutions to implement an IP stack on an FPGA. I'm thinking I can leverage one of these to send the information from the RAM on the FPGA board to a PC over ethernet. I've got some logic of how to interpret the signal wires to capture the bits appropriately. On each CLK signal positive edge I'll save the x and y bits locally. When the SYNC bit goes low the 20 previous bits can be moved to the IP stack to get packaged up and sent. I'm thinking UDP is way easier to implement and uses fewer resources, and with the mass of data I'll be collecting the potential error rate is acceptable.
1)Does this make sense? Did I explain what I'm doing well enough? Is this a reasonable solution?
2)I'm having trouble figuring out what kind of resources this project will require in terms of the FPGA, ie number of logic cells, memory, etc. How can I get a better idea of that? Or maybe someone has done something similar and can give me some idea of the size of a project like this.
3)What FPGA board should I buy to do this? Or what should I look for on a board? I don't really want to spend a fortune, something that stays in the hundreds of dollars would be nice. And ease of use is nice, which is why I'm looking at digilent.
Thank you for reading!
XY2-100 Protocol.pdf
Link to comment
Share on other sites
11 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.