ADS-B sync and Manchester decoding in CPLD

Posted on Sunday, June 10th, 2012 in code, CPLD, digital radio data by the machinegeek

P. Kusmierski posted an article on flipthatbit describing ADS-B sync and Manchester decoding in CPLD. The CPLD used is a Xilinx XC9536XL (which is the smaller version of the XC9572XL found in our CPLD Development Board.)

Having put together my miniADSB I needed to extract the actual data from the Manchester encoded bit streams it produced.

My idea was to join the simplicity of using a micro with the power of programmable gate arrays. In my application I want the micro to do some other work, and the CPLD should handle the simple repetitive task of looking for the ADS-B sync pattern (16 bits) and upon finding it, decode Manchester data that will follow, conveniently shifting it into the micro on the SPI bus. This way AVR is interrupted only when a new byte arrives on the SPI bus, and can handle all the other tasks meanwhile.

Kusmierski says, “Mind you, the code is still in beta and needs some work to be declared stable and fully operational. If you want to give it a try, I’ll be more than happy to hear about your thoughts/results.” The code can be found on the Hackerspace Global Grid’s Github page.

You can get your own XC9572X Development Board for $15.

This entry was posted on Sunday, June 10th, 2012 at 3:43 am and is filed under code, CPLD, digital radio data. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

2 Responses to “ADS-B sync and Manchester decoding in CPLD”

  1. Drone says:

    For those wondering about ADS-B…

    Automatic Dependent Surveillance-Broadcast (ADS-B) is a surveillance technology for tracking aircraft as part of the Next Generation Air Transportation System (NextGen). The United States will require the majority of aircraft operating within its airspace to be equipped with some form of ADS-B Out by January 1, 2020.

    I’ve been thinking about using a CPLD to decode IRIG-B (I’ll leave it to someone else to explain what that is).

  2. 7 says:

    this may be off-topic, but is it possible for the OLS’s software utility to support manchester decoding?

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Recent Comments

  • Max: Hey, good job quoting as an abstract something the author writes about someone else's project... For the record, I do appreciate the proper attention to...
  • imqqmi: Also interesting to note that arduino's use the DTR signal to reset the device. I found this out because repetier was able to do this...
  • Kevin: A bit sad that you are using a knock off Saleae device unless you are not using Saleae software.
  • Max: For the Haxxor Edition he could add a Morse-to-scan-code translator to the code in the PIC (where the L337 Haxxor Special also accepts Unicode code...
  • KH: Someone with a PIC16F1459 project, well you don't see these every day. Methinks he repeats the USB 2.0 thing too much; this might mislead people...