Juliana

Members
  • Content Count

    4
  • Joined

  • Last visited

About Juliana

  • Rank
    Newbie

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi Jon, Thank you so much!! Just one more question: Is there any Digilent data acquisition/ analysis tool (or any software you would recommend) I can use to read and analysis the data I got from pmodMic3? I'm using Basys3 FPGA board. I did notice Wavevision form Texas Instruments, but seems it is only adaptable for one specific board, not for Basys3. Thanks, J
  2. Hello all, I'm using Basys3 board and two pomdMic3 devices to read and analyze sound data. I played sound source of specific frequencies (generated by Matlab) to these two pmodMic3. The SCLK of pmodMic3 were set as 5MHz, and one sample(for each mic) of data would be sent to PC every 400ns. Then I exported the captured data and converted to decimal, and I got the following results: Test 0: In this test, I played a sound source of 1kHz, first 75dB for 4s, then 110dB for 4s, then 75dB for 10s, and I got the result (simply converted binary data captured from pmodMic3 directly to decimal): Test 1: In this test, I was still playing a sound source of 1kHz, first at 110 dB, then 75dB, then 110dB again, then 75dB: Test 2: In this test, I played sound source at 90dB, first 500 Hz, then 1KHz, then 3KHz: So basically my questions are: 1. Why do these two pmodMic3 devices give such different results? I already adjusted the potentiometer to the same position, and I did notice one of them was not responding properly (while the other one performed as expected) when I test on board. 2. When I tried different volume of the sound source, the absolute decimal value does not change accordingly. Since I referred the following transfer characteristic of the ADC used for pmodMic3: I was expecting higher volume would result in higher analog input, and therefore larger ADC code. So how do I supposed to tell the volume information from the exported ADC code? 3. Can I also get the frequency information of the sound source from the ADC code or do I have to do FFT (or such) to further process the data? 4. I'm just using PC as the power supply of the board for now, and I'm not too sure how stable is it, would using external power supply help getting more accurate results? Thanks in advance!! Regards, J
  3. @D@n Hi Dan, Thanks so much for the detailed explanation !! I've been trying working on it and seems I *kind of* got what I expected from behavioral simulation (According to datasheet, the 12 bits of digital data are sent to the system board in 16 clock cycles with the first four bits as leading zeroes and the remaining 12 bits representing the 12 bits of data, my top module reads sample in every other 16 clock cycles to allow time to transfer). My simulation result shows: Then I tried it on board, I tried sending the data to PC through UART, and used Realterm to read the data received, however it either gives me all 0 or something obviously not correct (since each sample is supposed to start with four leading zeros, which doesn't agree with the data I received from Realterm). I attached my code here, I'm completely new to FPGA and verilog coding, and this is my first project. I've been stuck for quite a while and I'm just wondering if I'm on the correct direction at all. Could you help take a look at my code please? I just want to make sure what I'm trying here is not totally insane... 😢 I'm using Digilent Basys 3 and Vivado 2018.3. Thank you very much !! Regards, J Jun_9th.zip
  4. I'm using Basys3 board with pmodMic3, and I would like to write a 'real-time' output data (12 bits for each output according to reference manual) to PC (a txt file maybe?) . Is that possible? Please advice. Thanks in advance! J