[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Firmware issue: Send a constant signal with the xcvr2
From: |
Matthias Schäfer |
Subject: |
[Discuss-gnuradio] Firmware issue: Send a constant signal with the xcvr2450 dboard |
Date: |
Wed, 15 Sep 2010 17:55:12 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100907 Lanikai/3.1.3 |
Hi List,
I'm currently working on a standalone firmware app for USRP2. My goal is
to send a constant signal with the xcvr2450 dboard. I skipped the tuning
via firmware by doing this prior from a host using the simple_usrp c++
interface:
uhd::usrp::simple_usrp::sptr sdev = uhd::usrp::simple_usrp::make(args);
uhd::device::sptr dev = sdev->get_device();
sdev->set_tx_rate(rate);
sdev->set_tx_freq(freq);
sdev->set_tx_gain(gain);
===============
So back to the firmware. Assuming the tuning of the dboard is properly
done from host, I basically understood the way sending is done as follows:
1. Wait for the buffer pool to become idle:
while((buffer_pool_status->status & BPS_IDLE(DSP_TX_BUF_0)) == 0)
;
2. Copy the data which should be send to the DSP into the DSP tx-buffer:
uint32_t *p = buffer_ram(DSP_TX_BUF_0);
uint32_t sample = (32000 << 16) | 0; // for example
for (i = 0; i < BP_NLINE; i++) {
p[i] = sample;
}
3. Send the data to the DSP:
bp_send_from_buf(DSP_TX_BUF_0, PORT_DSP, 1, 0, BP_LAST_LINE);
4. Wait until transaction is done or an error occured
while((buffer_pool_status->status & (BPS_DONE(DSP_TX_BUF_0) |
BPS_ERROR(DSP_TX_BUF_0))) == 0)
;
5. Clear the status flags and redo the whole procedure
bp_clear_buf(DSP_TX_BUF_0);
// goto 1.
===============
Unfortunately this doesn't work for me like expected. I tried it in
several variations and listened with another usrp2 for a signal but
nothing happens. I think I understood something wrong and forgot
something but it's hard for me to see the problem.
So maybe you guys can help me out with that.
Thanks in advance!
Cheers,
Matthias
- [Discuss-gnuradio] Firmware issue: Send a constant signal with the xcvr2450 dboard,
Matthias Schäfer <=