Author Topic: CMU200 almost tracking generator  (Read 4837 times)

0 Members and 2 Guests are viewing this topic.

Offline dcarrTopic starter

  • Regular Contributor
  • *
  • Posts: 117
CMU200 almost tracking generator
« on: January 19, 2017, 06:13:35 am »
Based on what's happening in this thread, I think the CMU200 K47 "Smart Alignment" software option is about to become a lot more common.
https://www.eevblog.com/forum/testgear/enabling-options-for-rs-test-equipment/new/?topicseen#new

Reading through the manual, it appears that with this option you can configure the RF generator to rapidly jump through up to 500 pre-determined frequencies/amplitudes with a dwell time from 0.5-100ms each.  This can be done using the front panel or the remote interface.

With this capability it seems like we ought to be able to get approximate tracking generator and/or scalar analyzer functionality.  Any clever ideas on the best way to do so?

My best so far is to configure the frequency steps to cover the full span of interest and then set the spectrum analyzer to max hold and wait for a while to get a "full sweep", but perhaps there might be better ways to go about it.  Because you have amplitude control, it might be possible to program one or more zero-amplitude slots to use for synchronization/triggering.

David
 

Offline CJay

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Re: CMU200 almost tracking generator
« Reply #1 on: February 02, 2017, 09:56:59 am »
Well I missed your post when you made it, did you get anywhere with that idea?
 

Offline richnormand

  • Supporter
  • ****
  • Posts: 689
  • Country: ca
Re: CMU200 almost tracking generator
« Reply #2 on: February 02, 2017, 03:53:37 pm »
1)
You might want to try the FreRes32 or FreRes64 to use your CMU200 as a scanning spectrum analyser. It is available free on the R&S website and has an associated pdf manual to configure it properly.
Works fine on my unit and might give you more capabilities or flexibility than the smart alignment option. I think I posted some photos in a previous thread while fixing my TxRx module.

2)
I also have the K47 smart alignment option on my unit but I have not played with it yet. In what manual did you find information on how to do this or is it embedded in one of the cell phone extensions?

Cheers and have fun!

Repair, Renew, Reuse, Recycle, Rebuild, Reduce, Recover, Repurpose, Restore, Refurbish, Recondition, Renovate
 

Offline CJay

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Re: CMU200 almost tracking generator
« Reply #3 on: February 02, 2017, 06:38:20 pm »
Manual for K47 is available as first hit on Google.

Freeres only works over GPIB doesn't it?

A GPIB adapter is on the 'need' list but some rather annoying news today means it will remain there for some time to come yet.
 

Offline sorenkir

  • Regular Contributor
  • *
  • Posts: 141
  • Country: fr
Re: CMU200 almost tracking generator
« Reply #4 on: February 02, 2017, 07:58:35 pm »
Description of the Generator List Mode is in the CMU200/300 Operating Manual (pages 4.82+ & 6.53+ for programming).

On my CMU200 (V5.21) / K47 (V5.22), the maximum dwell time is only 100ms which is a little short compared to spectrum sweep time, although the manual states 1s !?
It is possible to use multiple identical steps to stay at the same frequency more than 100ms but it not very convenient...

I have tried a little to write a program to set the values over GPIB in the Frequency List table but  I have not been able to figure out the exact syntax of the commands "SOURce:RFGenerator:GLIStmode:FREQuency[500] <Frequency [1..500]>" and "SOURce:RFGenerator:GLIStmode:LIST <Start>, <Seq. Length>, <Frequency 1>, <Level 1>, <Frequency 2> … <Level N>" and, so far, none of my trials have been successful.
Does somebody have an example ?

Michel.
 
The following users thanked this post: richnormand

Offline richnormand

  • Supporter
  • ****
  • Posts: 689
  • Country: ca
Re: CMU200 almost tracking generator
« Reply #5 on: February 02, 2017, 08:08:14 pm »
"Freeres only works over GPIB doesn't it?"

I used my Agilent GPIB to USB for this, but FreRes is quite generic and it looks like RS232 is possible also, given the right drivers and library.
So you might be able to get away with it.

The nice thing is all the parameters for the scan can be adjusted in the gui.

Attachment is taken from the R&S pdf describing the program.
Repair, Renew, Reuse, Recycle, Rebuild, Reduce, Recover, Repurpose, Restore, Refurbish, Recondition, Renovate
 

Offline sorenkir

  • Regular Contributor
  • *
  • Posts: 141
  • Country: fr
Re: CMU200 almost tracking generator
« Reply #6 on: February 02, 2017, 09:34:15 pm »
I finally managed to do something :

Code: [Select]
/*
 * CMU200 Frequency List Table Auto Fill
 * 02/02/2017
 */

#include <visa.h>
#include <stdio.h>
#include <string.h>

#define ARRAYSIZE 100            // Size of read buffer

// --- send command with trace
void sendCommand(ViSession vi, char * cb)
{
ViStatus rc;
printf("%s\r\n", cb);
if ((rc=viWrite(vi, (unsigned char*)cb, strlen(cb), VI_NULL)) != VI_SUCCESS)
{
printf ("Erreur viWrite (command %s) %08X\n", cb, rc);
return;
}
}

// --- main
void main(void)  {

ViSession defaultRM, vi1;
ViStatus rc = VI_ERROR_LIBRARY_NFOUND;
ViUInt32 retCnt;

unsigned char ReadBuffer[ARRAYSIZE + 1];  // Read data buffer
char CommandBuffer[ARRAYSIZE + 1];  // Command buffer

  /* Open session to GPIB device */
if ((rc=viOpenDefaultRM (&defaultRM)) != VI_SUCCESS)
{
printf ("Erreur viOpenDefaultRM %08X\n", rc);
return;
}

// CMU200 Primary address=6, secondary=1
if ((rc=viOpen (defaultRM, "GPIB0::6::1::INSTR", VI_NULL,VI_NULL, &vi1)) != VI_SUCCESS)
{
printf ("Erreur viOpen 1 %08X\n", rc);
return;
}

// Identification
if ((rc=viWrite(vi1, (unsigned char*)"*IDN?", 5, VI_NULL)) != VI_SUCCESS)
{
printf ("Erreur viWrite (command IDN) %08X\n", rc);
return;
}

rc=viRead(vi1, ReadBuffer, ARRAYSIZE, &retCnt);
if (rc != VI_SUCCESS && rc != VI_SUCCESS_TERM_CHAR && rc != VI_SUCCESS_MAX_CNT)
{
printf ("Erreur viRead (IDN) %08X\n", rc);
return;
}

        ReadBuffer[retCnt] = '\0';
        printf("IDN=%s\n", ReadBuffer);

// Frequency List Table
float startFrequency =  10; // MHz
float stopFrequency  = 200; // MHz
int nbSteps = 200;

float stepFrequency = (stopFrequency - startFrequency) / (nbSteps - 1);
float frequency = startFrequency;
   
for (int step = 1 ; step <= nbSteps; step++) {

sprintf(CommandBuffer, "SOURce:RFGenerator:GLIStmode:LIST %d, 1, %f MHz, -10 dbm", step, frequency);
sendCommand(vi1, CommandBuffer);

frequency += stepFrequency;
}

// Go!
sendCommand(vi1, "SOURce:RFGenerator:GLIStmode:DWELltime 100 ms");
sendCommand(vi1, "SOURce:RFGenerator:GLIStmode:STARt 1");
sprintf(CommandBuffer, "SOURce:RFGenerator:GLIStmode:STEPs %d", nbSteps); sendCommand(vi1, CommandBuffer);
sprintf(CommandBuffer, "SOURce:RFGenerator:GLIStmode:SLENgth %d", nbSteps); sendCommand(vi1, CommandBuffer);

}

Direct connection RF3 out --> RF1 :


Frequency response of a DC-10MHz amplifier (well beyond its bandwith!):


This is working well with 1MHz RBW because spectrum analyzer sweep time must be below 100ms.
With 200 steps @ 100ms, generator sweep time is 20s, which is acceptable.

Michel.
 
The following users thanked this post: richnormand

Offline richnormand

  • Supporter
  • ****
  • Posts: 689
  • Country: ca
Re: CMU200 almost tracking generator
« Reply #7 on: February 02, 2017, 09:38:55 pm »
This would be quite handy for narrowband filters. :-+
I'll give it a trial.

Thanks for posting :)
Repair, Renew, Reuse, Recycle, Rebuild, Reduce, Recover, Repurpose, Restore, Refurbish, Recondition, Renovate
 

Offline hafrse

  • Regular Contributor
  • *
  • Posts: 117
  • Country: se
Re: CMU200 almost tracking generator
« Reply #8 on: December 07, 2018, 09:07:52 am »
1)
You might want to try the FreRes32 or FreRes64 to use your CMU200 as a scanning spectrum analyser. It is available free on the R&S website and has an associated pdf manual to configure it properly.
Works fine on my unit and might give you more capabilities or flexibility than the smart alignment option. I think I posted some photos in a previous thread while fixing my TxRx module.

2)
I also have the K47 smart alignment option on my unit but I have not played with it yet. In what manual did you find information on how to do this or is it embedded in one of the cell phone extensions?

Cheers and have fun!

Hello,

Any luck on how to operate the K47 option ?

Thanks
 

Offline richnormand

  • Supporter
  • ****
  • Posts: 689
  • Country: ca
Re: CMU200 almost tracking generator
« Reply #9 on: December 07, 2018, 07:28:27 pm »
Got the manual for the K47 option and managed to set a few frequencies to try it. The manual has a long chapter on it.
At the end of the day however I reverted using FreRes64 and the software written by Vitor (nice job there).
Repair, Renew, Reuse, Recycle, Rebuild, Reduce, Recover, Repurpose, Restore, Refurbish, Recondition, Renovate
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf