Digital DI Box 04 - direct ADC to DAC transfer
Direct transfer
After a lot of experimenting with DMA and Timers I decided to strive for the best possible data transfer from ADC to DAC. For this I put ADC into high priority interrupt mode and the rest to medium to low priority. To monitor the data I had to sacrifice continuous flow due to computer's USB serial port unable to cope with such loads. As a result the output quality is very good, I put some low pass RC filter in place to get rid of high frequency noise caused by ADC. Later I will fine tune it and install low pass filter as well.
Communication via interrupts
Serial comms now done through interrupts instead of polling. Sampling is done by getting the respective command on serial line, all data goes into uint16_t[512] array. Once the data is ready I get it in parts of 16 samples using a simple protocol. This causes some chirping sounds during playback, but this is only for data analysis, so should be fine
No comments:
Post a Comment