- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Hello everyone!
I created a FIFO using megaWizard.I used it to store the data from the ADC. When I used the 1M FIFO CLK,it works properly. But I used the 2M FIFO CLK ,it don't work properly.I used signalTap to watch it find that the input data is right,but the output data (reading from fifo) is wrong( Maintain a certain value). The problem confused me. I want to know the reason. Thank you very muchLien copié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
I am very confused with it. Who can help me ?
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Who can help me
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Are you sampling the FIFO empty, full, and empty signals? If not I recommend you do just in case your FIFO is over/underflowing at the higher clock rate.
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Yes I think you are right. I just use MCU read the full signal , I think because the frenquency of MCU is too low. I don't understand how the fifo works. When the fifo is full, and writing it,how the fifo works.
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
The FIFO has different behaviors depending on the parameterization. If you turn on overflow protection then if you write to a full FIFO the data being written into the FIFO will be dropped and the FIFO will remain full. If overflow protection is off the data will be written into the FIFO and the FIFO will go from being full to having only one word buffered (internal pointers will cross).
If the ADC data is coming in too fast then I would use a DMA to pull the contents out of the FIFO into memory then have the CPU access the data in memory. You could also take this one step further and implement multiple buffers in memory so that when the CPU is bogged down the DMA will continue to buffer more data while the CPU tries to catch up.
- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Placer ce Sujet en tête de liste pour l'utilisateur actuel
- Marquer
- S'abonner
- Page imprimable