This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好!
我目前正在我的项目中努力使用LMX2571。 (使用msp430f5659和CCS)
我想做的是使用LMX2571和20MHz跨度进行2级FSK调制。 (中心频率:30MHz,增量频率:10MHz)。
所以我设置了几个变量以获得30MHz载波频率。 以下是我设置的参数。
(我将根据LMX2571数据表'Figure 63'调用参数名称。)
OSCin:20Mhz
预先分区:1.
多人:5人
PDF (相位检测器频率) :100Mhz
VCO:4800MHz
预分频器:2.
N:24
CHDIV1:32.
CHDIV2:5.
输出:30Mhz
因此,根据LMX2571数据表中的'Equation 4',FSK步进值可按如下公式计算。
正摆幅=(f_dev * DEN/f_PD)*(CHDIV1*CHDIV2/Prescaler) (其中f_dev = 10MHz)
=(10*10^6*2^24/100*10^6)*(32*5/2)=1.34217728亿=2^27 (假设合成器模式)
因此 ,FSK_DEV0应为2^27,但根据寄存器的大小,分辨率仅为2^16。
或者,我考虑使用F1,F2分别作为20MHz,40MHz,并将它们切换为FSK调制。 (例如,位1 = F1 (20MHz),位0 = F2 (40MHz))
但是,切换时间太长,无法将其用作FSK调制。
是否有任何方法可以使用此产品以高数据速率进行2级20MHz,40MHz FSK调制?
谢谢
Jongchan Woo
非常感谢Noel
我需要至少10k FSK比特率。 是否可以达到这一比率?
另外,我还有另一个问题。 我一直在尝试通过切换TrCtl pin从F1切换到F2,正如您提到的,我应该写什么寄存器以及如何写?
我现在要做的是在 R0寄存器中写入0x0002 + FCAL_EN_ENABLE + F1F2_SEL_F1 + F1F2_MODE_ENABLE + F1F2_CTRL_EXT + F1F2_INIT_RECAL + RxTX_POL_AH + RxTX_CTRL_EXT (0b0.1101万10000011)。1000.0011万。 还将 OUTBUF_TX_EN_F2设置为0,在R23寄存器中将OUTBUF_RX_EN_F2设置为1, 将OUTBUF_TX_EN_F1设置为1, 将OUTBUF_RX_EN_F1设置为0。
因此,当我将Trctl值设置为1时,我要通过TX发送F1,如果Trctl值为0,则通过RX发送F2。 但是,它不起作用。 您能告诉我问题是什么吗?
谢谢
宗尚
谢谢Noel
我很抱歉提出更多问题,但我意识到FSK比特率应该在10万左右。 是否仍有可能实现?
此外,您还建议使用两种FSK调制方法。 您认为哪一项在这两项中速度更快? 我认为第二种F1F2切换方法比仅仅将寄存器值再次写入第一种方法快。
另一个问题是,我目前正在使用msp430f5659来使用lmx2571,将引脚4.2 连接到TrCtl。 正如您所提到的,我刚刚设置了R0,R7,R23的所有寄存器值,并尝试将引脚4.2 值从1更改为0 (如CCS中的P4OUT &=~BIT2设置),但未找到任何内容。 您认为这里的问题是什么?
加号)
我不知道TI如何在lmx2571数据表中获得数据图形,如图66和67。 我想检查在F1和F2之间更改频率或通过写寄存器更改频率需要多长时间。 是否有专用工具或机器?
谢谢Noel,
非常感谢您的帮助。 我将按照你的建议重写注册表。 我想知道如何在一定的时间内再次写寄存器。 例如,您提到的是
10MHz SPI率写入时间为2.4us。 如果我想制作100K bps FSK,以便瞬态时间应为5us。 如何控制此时间? 此外,如果我想达到最高汇率,我该怎么办?
我当前使用的是使用代码编辑器工作室6.1 的msp430f5659设备.........1
我使用以下函数写入寄存器值
Void LMX2571_ReG_Write (无符号字符REG_ADDRESS,无符号短数据)
{
volatile unsigned char dummy_rx;
P4OUT (P4OUT)&=~BIT3;//为变速箱设置STE Low (STE低)
UCA2TXBUF =(无符号字符)(REG_ADDRESS);//将第一个字节发送到TX缓冲区:寄存器的地址
((UCA2STAT & UCBUSY));// USSCI_B1 TX缓冲器就绪?
Dummy _Rx = UCA2RXBUF;// Dummy Read Rx buf
UCA2TXBUF =(无符号字符)(data >>8);//将第二个字节发送到TX缓冲区:DATA[23:16]
((UCA2STAT & UCBUSY));// USSCI_B1 TX缓冲器就绪?
Dummy _Rx = UCA2RXBUF;// Dummy Read Rx buf
UCA2TXBUF =(无符号字符)(DATA和0x00FF);//将第三个字节发送到TX缓冲区:DATA[15:8]
((UCA2STAT & UCBUSY));// USSCI_B1 TX缓冲器就绪?
Dummy _Rx = UCA2RXBUF;// Dummy Read Rx buf
P4OUT || BIT3;//变速箱末端SEN高
__DELAY周期(10万);
}
您能否为FSK实现特定时间控制提出任何建议?
另一个问题是我也想用20Mhz信号进行OOK调制。 (例如,位1 = 20Mhz信号,位0 =无信号)。 我认为我应该打开和关闭信号,以便产生一些比特。 实现此调制的最有效方式是什么? 如何在短时间内关闭和打开信号? 目标比特率与FSK相似。
此致,
Jongchan Woo