Author Topic: Small Form factor FPGA/CPLD chip  (Read 5050 times)

0 Members and 1 Guest are viewing this topic.

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13726
  • Country: gb
    • Mike's Electric Stuff
Re: Small Form factor FPGA/CPLD chip
« Reply #25 on: October 27, 2018, 04:38:09 pm »
Decoding is trickier than encoding as you need to.either phaselock to the manchester clockrate or oversample. Capture peripherals can be very useful though, 564k is probably doable on a pic8 at 32MHz
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3138
  • Country: ca
Re: Small Form factor FPGA/CPLD chip
« Reply #26 on: October 27, 2018, 05:50:09 pm »
Decoding is trickier than encoding as you need to.either phaselock to the manchester clockrate or oversample. Capture peripherals can be very useful though, 564k is probably doable on a pic8 at 32MHz

I think if you don't use logic cells and do it in traditional MCU way using Input Capture (called CPP on PIC16/18), you still can do it on PIC16.

If you only sample rising edges, you can reconstruct the data (provided you had some locking sequence before the packed) - the distance between edges will be 1 clock or 1.5 clocks - that's all you need to know. Thus you have roughly 2 us to enter the interrupt, process data, and leave the interrupt. All you need to figure out if the distance between pulses was 1 or 1.5 clocks. Comparing to 1.25 will do the trick. Then you append your data accordingly and transmit it out (say by sending through SPIBUF).

1 clock is roughly 2 us, 16 cycles on PIC16F1*, less 4 cycles for interrupt entry/exit. 12 cycles should be enough to subtract two numbers and compare the difference to 10 (1.25 cycles) and then record the data bits and write SPIBUF if needed.

On PIC16F1454 you would have 20 cycles, and that is plenty to decode everything and store the byte in the USB buffer, leaving few cycles to spare for the USB engine to send data to PC.

On PIC18, you get 28 cycles, but you may need to do some context saving/restoring. It is actually more than you need. So, you can get another CPP running and detect falling edges. This will let you do auto-locking and error detection.

 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1529
  • Country: au
Re: Small Form factor FPGA/CPLD chip
« Reply #27 on: October 28, 2018, 08:08:18 am »


Hi everyone
I am working on a manchester decoding, I have the code running on a zybo board FPGA.  I want to design a small standalone digital board stand that can run my VHDL. Can anyone recommend a small form factor FPGA/CPLD chip( preferably xilinx chip ) that I can download my code to.

I have been researching on how to design an FPGA board, but it seems a lot of work. Most of the work done are for big FPGA chips while am looking for something with a lot less pins and logic gates cells
The speed is 564.48kbit\s

This link shows that Manchester Decode can be done with a monostable and a flipflop.
https://www.allaboutcircuits.com/technical-articles/how-to-decode-manchester-encoded-data-using-hardware/

You need to be able to set your RX to 564.48kHz, or half that, depending on what your speed referred to (edge rate or data rate).
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf