Hi,
I encountered a problem on btc which it says "readDWord error" and the btc plot window hanged. I will then be asked to disconnect my USB connection from the PC to the development board. I am using btc_write_value function wth the btc_poll placed inside a while loop ( waiting for interrupt to trigger). Does anyone has a solution to that?
Thank you.
From,
KT
Hi,
So that we can look into this error, can you provide some additional information.
First, what version and update of VisualDSP++ are you using? e.g. VisualDSP++ 5.0 Update 7?
As you are using the btc_write_value() function, I understand you are using Blackfin. Which processor are you targeting?
What connection method do you use with your target? e.g. is it an EZ-KIT Lite via USB Debug Agent, or are you connecting to your target via an Emulator (and which emulator)?
If you are using an HPUSB-ICE, can you tell us which JTAG frequency you are using?
I assume you have Auto-refresh enabled in the Plot window; can you ensure that you are not reading from the target faster than the BTC channel is being written to. For example, if you are writing a single value to BTC 4 times a second, but the plot window is refreshing at 150ms, it will be reading an empty BTC buffer on occasion, which could cause problems.
You may also want to ensure that btc_poll() is in a section of code that is frequently called, as the BTC poll function must be regularly serviced.
regards,
Craig.
Hi,
I am using VisualDSP+ 5.0 version 8.0.6.41, ADSP 533 EZKIT LITE, USB debug agent.
The btc_poll function is place within a while loop where it check for any interrupt. Once the interrupt is triggered, i will leave the while loop and enter the interrupt handler routine where i will process some data as well as the btc_write_value function.
The data is processed within the for loop and btc_write_value function is placed after every data is processed.
The number of iteration is set by me.
This is what has happened:
The btc channel is working fine when the loop counter is set to some small value.
However, the btc channel hanged when the loop counter is large. The screen will show as follows:
"the target has requested to disconnect from the IDDE"
Reason: WriteDWord failed
and in the output window, it shows ReadDWord: error reading data.
I had suspected of the timing of the data reading and hence i had changed the refresh rate to a much slower rate e.g 1500ms but the btc channel still stop working. Another thing that i tried is to place the btc_poll in a timer interrupt routine which i supposed is very frequenctly visited, the btc channel works but it will create distortion to the DAC output which is what i do not want. The DAC output is clean when i placed the btc_poll inside the while loop mentioned earlier.
May I know if there is any solution to that problem?
Thank you.
From,
KT
Hi,
I realized that the DAC output of ADSP 533 EZKIT LITE will have some additional "weird" noise whenever the btc is trying to update itself or the plot is trying to refresh. The DAC data shown on the btc channel is correct but the DAC analog output will have both the expected signal and some additional noise caused by the btc channel.
May I know what is causing that noise created at the DAC? Can that noise be avoided?
Look forward to you reply.
Thank you.
From,
KT
Hi,
I'm not sure what is causing the noise on the ADC when BTC is used, nor is it clear exactly why the BTC is failing in this case. So, we would like to get your code to take a closer look and debug these issues.
Can you please contact us through private support, via the link below.
http://www.analog.com/processors/support
Please also take a look at Guidelines on Reporting VisualDSP++ Development Tools Issues and provide all relevant information when submitting your support request.
thanks,
Craig.