发 帖  
张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件, 👉戳此立抢👈
[问答] 请问通过DDS可以实现的最高频率的BPSK是多少MHz?
225 DDS BPSK AD9910
分享
通过DDS可以实现的最高频率的BPSK是多少MHz?
用AD9910的RAM模式,10MHz的BPSK 波形还正常,上了10MHz波形就乱了。有没有高速BPSK的解决方案?拜托各位高手帮帮忙。
0
2019-3-11 14:49:17   评论 分享淘帖 邀请回答
5个回答
可用AD9957。高速的BPSK可用数字调制来实现,可将调制好的基带数据输入到AD9957,进行I/Q数字正交上变频。
2019-3-11 15:05:13 评论

举报

dang28 发表于 2019-3-11 17:37
可用AD9957。高速的BPSK可用数字调制来实现,可将调制好的基带数据输入到AD9957,进行I/Q数字正交上变频。

谢谢您的回答,正在研究正交调制模式。
问题1:实现高速BPSK,就是将调好的基带数据输入到AD9957,然后用“正交调制模式”工作,对吗 ?
问题2:因为系统需要,载波有时还需要切换成线性调频使用,通过RAM的斜坡模式应该可以实现吧?(RAM地址内的频率依次按照斜率递增,这样再用斜坡模式应该可以实现线性调频吧?)
问题3:AD9957的RAM大小为1024,那么线性调频,单边的总调频点总数应小于等于1024点,这样理解没错吧?
 
非常期待您再次指点。拜托了~
2019-3-11 15:13:27 评论

举报

sagafa 发表于 2019-3-11 17:45
谢谢您的回答,正在研究正交调制模式。
问题1:实现高速BPSK,就是将调好的基带数据输入到AD9957,然后用“正交调制模式”工作,对吗 ?
问题2:因为系统需要,载波有时还需要切换成线性调频使用,通过RAM的斜坡模式应该可以实现吧?(RAM地址内的频率依次按照斜率递增,这样再用斜坡模式应该可以实现线性调频吧?)

1. 是的,基带数据通过数字正交上变频,将基带信号调制到载波上。
2. AD9957的RAM数据不可以调整载波,RAM的数据可以直接给I和Q。
3. AD9910的RAM是这样使用的。
2019-3-11 15:27:01 评论

举报

dang28 发表于 2019-3-11 17:58
1. 是的,基带数据通过数字正交上变频,将基带信号调制到载波上。
2. AD9957的RAM数据不可以调整载波,RAM的数据可以直接给I和Q。
3. AD9910的RAM是这样使用的。

请问怎么将1000个总调频点数据写入RAM?
2019-3-11 15:40:38 评论

举报

不不gudh 发表于 2019-3-11 18:12
请问怎么将1000个总调频点数据写入RAM?

下面是一个RAM扫频的例子,供您参考。
 
 
EXAMPLE . Linear Frequency Sweeping
 
The system clock frequency =1GHz
Frequency Sweeping Rang=10MHz~19.8469MHz
RAM Playback Destination Bits CFR1[30:29] =00
RAM Profile Mode Control Bits =011
Internal Profile Control Bits (CFR1[20:17]) =0000
RAM Profile 0 waveform start address=0
RAM Profile 0 waveform end address=63
 
Then we can get the data source to load into the RAM,
unsigned int RAMData[64] =
{     

0x28F5C29, 0x2999A70, 0x2A3D8B8,
0x2AE16FF, 0x2B85547, 0x2C2938E, 0x2CCD1D5, 0x2D7101D, 0x2E14E64, 0x2EB8CAB,
0x2F5CAF3, 0x300093A, 0x30A4782, 0x31485C9, 0x31EC410, 0x3290258, 0x333409F,
0x33D7EE7, 0x347BD2E, 0x351FB75, 0x35C39BD, 0x3667804, 0x370B64C, 0x37AF493,
0x38532DA, 0x38F7122, 0x399AF69, 0x3A3EDB0, 0x3AE2BF8, 0x3B86A3F, 0x3C2A887,
0x3CCE6CE, 0x3D72515, 0x3E1635D, 0x3EBA1A4, 0x3F5DFEC, 0x4001E33, 0x40A5C7A,
0x4149AC2, 0x41ED909, 0x4291750, 0x4335598, 0x43D93DF, 0x447D227, 0x452106E,
0x45C4EB5, 0x4668CFD, 0x470CB44, 0x47B098C, 0x48547D3, 0x48F861A, 0x499C462,
0x4A402A9, 0x4AE40F1, 0x4B87F38, 0x4C2BD7F, 0x4CCFBC7, 0x4D73A0E, 0x4E17855,
0x4EBB69D, 0x4F5F4E4, 0x500332C, 0x50A7173, 0x514AFBA};

 
Example Code in ADuC7026
 
ADuC7026_Initiate();                                                        //ADuC7026 Initialization
delay(10);
SET_reset();                                                                   
//Send a pulse to the Master_reset of the AD9910;

delay(10);
CLR_reset();
delay(1);
RegisterData[0] =0x3D3F4150;                                        //REF_CLK = 25MHz, PLL enable=1, N=40;
WriteToAD9910ViaSpi(0x02,1,RegisterData);                  //System Clock = 1GHz
RegisterData[1] = 0x08ffff0f;                                            //RAM step rate, start and end address setup, and
RegisterData[0] =0xC0000933;                                        //mode control
WriteToAD9910ViaSpi(0x0E,2,RegisterData);                  //To RAM Profile 0. The pin P0,P1, P2 should be tied to GND.
delay(10);
IO_Update();                                                                      //Send an pulse to the I/O_Update
delay(10);
WriteToAD9910ViaSpi(0x16,64,RAMData);                      //Load RAM date to 0x16
delay(10);
IO_Update();
RegisterData[1] = 0x08ffff0f;
RegisterData[0] =0xC0000933;                                       //RAM profile reconfiguration, different configuration can be set
WriteToAD9910ViaSpi(0x0E,2,RegisterData);  
delay(10);
RegisterData[0] =0x80000000;                                        // Enable RAM, the RAM playback destination is frequency
WriteToAD9910ViaSpi(0x00,1,RegisterData);
delay(10);
IO_Update();
delay(10);
2019-3-11 15:53:07 评论

举报

只有小组成员才能发言,加入小组>>

646个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表