I was given a waveform that was generated after data was sent along a USB cable and I have to basically decode all the relevant information (amount of frames, content, CRC, etc) along with determining which is the D+ waveform and which is the D-. We were given 2 .dat files, each containing about 10000000 lines of specific times and voltages as the cable was being used.
I've tried using MATLAB to parse through the data, but it froze up on me, so I imported the data into excel and from there I basically been using the specifications from the USB 2.0 guide and from the website (
http://www.beyondlogic.org/usbnutshell/usb2.htm#SpeedIdentification) to help me get 1's and 0's...but I feel like I'm doing something wrong since I normally just end up with a long patterns of 1's followed by 0's and then more 1's and then more 0's, etc.
I have no idea when a frame starts or stops or how to interpret the data in between really. People who did this in the past resulted to actually zooming in really close in MATLAB and reading the lines and it took them incredibly long to get anywhere.
If anyone has an intimate knowledge of how this stuff works I'd love it if someone could explain to me how to read this data.
I've attached an image of what I'm working with to maybe make it easier to understand what I'm asking about