Effective Error Correction Codes for Noisy Channels in FPGA-ARM Interfaces

AI Thread Summary
The discussion focuses on designing an error correction method for a noisy channel between an ARM-CPU and an FPGA. The user is currently using Hamming codes but seeks alternatives that can correct multiple bit errors without requiring retransmission. Suggestions include improving the physical communication channel through methods like differential pairs and shielded cables. The consensus is that while error correction can be complex and resource-intensive, for streaming audio, minor errors may be acceptable, whereas critical data like instructions require higher accuracy. Ultimately, the user plans to stick with Hamming codes and resend data when necessary.
Jaynte
Messages
79
Reaction score
0
I'm designing an interface between an ARM-CPU and a FPGA and have
a pretty noisy channel between them.

So I was wondering if anyone have any tip of error correction code on the FPGA side
except the Hamming method I am using right now.

What I want is a method which can correct if the error is larger than one bit/word without
request a new transfer.
 
Engineering news on Phys.org
Jaynte,

The obvious answer is to "clean up" the channel/bus, perhaps using differential pairs, fiber optics, shielded cable, proper trace isolation, etc. I can't think of a way to "repair" bad bytes w/o adding significant overhead or having a priori knowledge about the data. Even if you sent an XOR byte of each data byte, you would not know which byte was "good" and which byte was "bad" w/o each byte having a check sum bit. In the end, Error Correction can waste more time/resources than simple error detection & re-sending the data. Of course, a lot depends on the nature of the data. If it is streamed audio/video, a few bad bytes aren't really that big a deal; on the other-hand if the FPGA is responsible for crypto processing even losing a bit can be catastrophic.

Perhaps someone who is a lot smarter than me can give better advice, but the best I can offer is suggesting you make the communications path as pristine as possible and employ error detection and "resend" the failed packets.

Good Luck!

Fish
 
Thanx, I will stream audio data and that part is not a problem if one or two bit is wrong out of 1 MB like it is right now.
But on the FPGA side I have a hardware accelerator which uses instructions and they need to be correct or the system will
crash.

I think I will just use Hamming because there is very seldom I get a 2-bit error and if I do I will just resend.
 
Last edited:
Thread 'Weird near-field phenomenon I get in my EM simulation'
I recently made a basic simulation of wire antennas and I am not sure if the near field in my simulation is modeled correctly. One of the things that worry me is the fact that sometimes I see in my simulation "movements" in the near field that seems to be faster than the speed of wave propagation I defined (the speed of light in the simulation). Specifically I see "nodes" of low amplitude in the E field that are quickly "emitted" from the antenna and then slow down as they approach the far...
Hello dear reader, a brief introduction: Some 4 years ago someone started developing health related issues, apparently due to exposure to RF & ELF related frequencies and/or fields (Magnetic). This is currently becoming known as EHS. (Electromagnetic hypersensitivity is a claimed sensitivity to electromagnetic fields, to which adverse symptoms are attributed.) She experiences a deep burning sensation throughout her entire body, leaving her in pain and exhausted after a pulse has occurred...
Back
Top