主题中讨论的其他器件:AM2732、 LMX2595
工具/软件:
您好支持团队
我们想使用 AM273xEVM 板 J16 上的 AM2732 MSS_SPIB 信号、通过 SPI 写入寄存器文件来配置 TI 的 LMX2595 芯片组。 我们有 LMX2595 EVM 板和 Reference Pro 板。 为了达到这个目标、您能给我们一些建议或建议吗? 我们应该如何/从哪里开始?
欢迎您提出任何建议。 非常感谢您提前提供的帮助。
期待您的答复。
此致、
LIN
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.
工具/软件:
您好支持团队
我们想使用 AM273xEVM 板 J16 上的 AM2732 MSS_SPIB 信号、通过 SPI 写入寄存器文件来配置 TI 的 LMX2595 芯片组。 我们有 LMX2595 EVM 板和 Reference Pro 板。 为了达到这个目标、您能给我们一些建议或建议吗? 我们应该如何/从哪里开始?
欢迎您提出任何建议。 非常感谢您提前提供的帮助。
期待您的答复。
此致、
LIN
您好 Lin、
用户可以使用 TICS Pro (www.ti.com/.../TICSPRO-SW) 生成寄存器设置、然后将设置导出 到 txt 文件中以在软件中使用。

尊敬的 Noel:
您指的是以下信息:
const uint32_t lmx_reg_data[NUM_LMX_REGS]={
0x4E0003、
0x4D0000、
0x4C000C、
0x4B0800、
0x4A0000、
0x49003F、
0x480001、
0x470081、
0x46C350、
0x450000、
0x4403E8、
0x430000、
0x4201F4、
0x410000、
0x401388、
0x3F0000、
0x3E0322、
0x3D00A8、
0x3C0000、
0x3B0001、
0x3A9001、
0x390020、
0x380000、
0x370000、
0x360000、
0x350000、
0x340820、
0x330080、
0x320000、
0x314180、
0x300300、
0x2F0300、
0x2E07FC、
0x2DC0DF、
0x2C1FA3、
0x2B0000
0x2A0000、
0x290000、
0x280000、
0x2703E8、
0x260000、
0x250404、
0x240046、
0x230004、
0x220000、
0x211E21、
0x200393、
0x1F43EC、
0x1E318C、
0x1D318C、
0x1C0488、
0x1B0002、
0x1A0DB0、
0x190C2B
0x18071A、
0x17007C、
0x160001、
0x150401、
0x14E048、
0x1327B7、
0x120064、
0x11012C、
0x100080、
0x0F064F、
0x0E1E70、
0x0D4000、
0x0C5001
0x0B0018、
0x0A10D8、
0x091604、
0x082000、
0x0740B2、
0x06C802、
0x0500C8、
0x040A43、
0x030642、
0x020500、
0x010808、
0x00251C
};
谢谢、
LIN
尊敬的 Noel:
哦、配置文件已附加。 在我的代码中、我仅使用前 79 个数据。
e2e.ti.com/.../8272.HexRegisterValues.txt
谢谢、
LIN
尊敬的 Noel:
是的、这就是我在 TICS Pro 上的功能。 好的、现在我知道 TICS Pro 配置的含义。
它在 PC -> TICS Pro -> Reference Pro 板->(SPI) LMX2595 EVM 设置下正常工作。
我们需要您在 PC -> AM273x EVM ->(SPI) LMX2595 EVM 设置方面的帮助。 希望在第二个设置中、我们可以在 PC 上的 CCS 中运行代码以配置 LMX2595 芯片组。
为了达到这一目标、我们应该怎么做? 或者、您需要我这边的其他信息吗?
感谢您的帮助和支持。
此致、
LIN
尊敬的 Noel:
也许我在之前的信息中没有问过关于 LMX2595 的任何海峡前进问题。 在这里、我们有一些关于 LMX2595 的问题。
1) LMX2595 芯片组加电后、我们如何通过写入一些寄存器来更改射频输出频率? 编写程序是什么?
2) 频率变化后,我们如何通过读取寄存器的一些内容来确认它? 还有什么阅读程序?
感谢您的帮助和支持。
期待您的回答。
此致、
LIN
尊敬的 Noel:
非常感谢您提供的详细信息。 现在我遵循了 7.5.1 过程并可以启动芯片组。 此外、我还可以通过更改寄存器映射中的值 0x240046 来更改频率。
为了回读 R110、我创建了如下代码:
void sendLmx2595Frame (uint8_t regAddr、uint16_t regData)
{
uint8_t txBuf[3];
uint8_t rxBuf[3]={0};
MIBSPI_Transaction spiTransaction;
int32_t transferOK;
txBuf[0]= regAddr;
txBuf[1]=(regData >> 8)& 0xFF;
txBuf[2]= regData 和 0xFF;
spiTransaction.count = 3;
spiTransaction.txBuf =(void *) txBuf;
spiTransaction.rxBuf =(void *) rxBuf;
spiTransaction.peripheralIndex = 0U;
spiTransaction.arg = NULL;
transferOK = MIBSPI_TRANSFER (gMibspiHandle[MSS_SPIB_J16]、&spiTransaction);
if ((transferOK!= SystemP_Success)||(spiTransaction.status!= MIBSPI_TRANSFER_COMPLETED))
{
DebugP_LOG(“LMX2595 SPI 传输失败!\r\n“);
DebugP_ASSERT (FALSE);
}
}
void lmx2595_READ_REGISTER (uint8_t regAddr)
{
Uint8_t txBuf[3]={0x80 | regAddr、0x00、0x00};//设置 MSB 以进行读取
uint8_t rxBuf[3]={ 0 };
MIBSPI_Transaction spiTransaction ={
.count = 3、
.txBuf =(void *) txBuf、
.rxBuf =(void *) rxBuf、
.peripheralIndex = 0U、
.arg = NULL
};
int32_t transferOK = MIBSPI_TRANSFER (gMibspiHandle[MSS_SPIB_J16]、&spiTransaction);
if ((transferOK == SystemP_Success)&&(spiTransaction.status == MIBSPI_TRANSFER_COMPLETE))
{
uint32_t value =(rxBuf[1]<< 8)| rxBuf[2];
DebugP_log(“Read R%u = 0x%04X\r\n“、regAddr、value);
}
暴露
{
DebugP_LOG(“SPI 读取失败! reg 0x%02x\r\n“、regAddr);
}
}
//以读回
sendLmx2595Frame (0x00、0x2518);//设置 MUXOUT_SEL = 0 以回读 R0-D2
ClockP_USleep (5000);
LMx2595_READ_REGISTER (110);
不过、得到的 R110 回读值为 0xEF00。 这是不正确的。
您能帮助我检查上面的代码以发现任何问题或我漏掉了任何东西吗?
或者您能在这里分享您的工作回读代码吗?
此致、
LIN