Переглянути джерело

Исправил инициализационную отгрузку lmx2594.

zaytsev.mikhail.olegovich@gmail.com 1 рік тому
батько
коміт
3f42177bfd
2 змінених файлів з 11 додано та 16 видалено
  1. 10 16
      Devices/lmx2594.c
  2. 1 0
      Devices/max2870.c

+ 10 - 16
Devices/lmx2594.c

@@ -41,10 +41,10 @@ uint32_t lmx2594regs[LMX_COUNT] = {
         0x510000,
         0x500000,
         0x4F0000,
-        0x4E016F,
+        0x4E0105,
         0x4D0000,
         0x4C000C,
-        0x4B0800,
+        0x4B0C40,
         0x4A0000,
         0x49003F,
         0x480001,
@@ -73,9 +73,9 @@ uint32_t lmx2594regs[LMX_COUNT] = {
         0x314180,
         0x300300,
         0x2F0300,
-        0x2E07FC,
+        0x2E07FD,
         0x2DC8DF,
-        0x2C1FA0,
+        0x2C1F20,
         0x2B0000,
         0x2A0000,
         0x290000,
@@ -99,10 +99,10 @@ uint32_t lmx2594regs[LMX_COUNT] = {
         0x17007C,
         0x160001,
         0x150401,
-        0x14F848,
+        0x14D848,
         0x1327B7,
         0x120064,
-        0x11012C,
+        0x110130,
         0x100080,
         0x0F064F,
         0x0E1E40,
@@ -115,10 +115,10 @@ uint32_t lmx2594regs[LMX_COUNT] = {
         0x0740B2,
         0x06C802,
         0x0500C8,
-        0x041243,
+        0x041443,
         0x030642,
         0x020500,
-        0x010808,
+        0x01080B,
         0x00251C
 };
 
@@ -145,10 +145,9 @@ void lmx2594_init(void *bar1) {
     *ptr = InitLMX2594Header;
     // Init data
     for (int i = 0; i < LMX_COUNT; i++) {
-        *ptr = lmx2594regs[i];
+        uint32_t *data_ptr = bar1 + LMX_BASE_ADDR;
+        *data_ptr = lmx2594regs[i];
     }
-    usleep(10);
-    auto_cal(bar1);
 }
 
 /*-------------------------LMX2594 Frequency Set-------------------------*/
@@ -748,11 +747,6 @@ int lmx_freq_set(void *bar1, double lmx_freq,double f_pd) {
     uint32_t *spi_mode = bar1 +CFG_REG_ADDR;
     *spi_mode = cfg_reg;
     usleep(1);
-    SET_REGISTER_PARAM(cfg_reg, CFG_REG_RST_FOR_FPGA_BITM, CFG_REG_RST_FOR_FPGA_BITP, CFG_REG_RST_FOR_FPGA_ON);
-    *spi_mode = cfg_reg;
-    usleep(1);
-    SET_REGISTER_PARAM(cfg_reg, CFG_REG_RST_FOR_FPGA_BITM, CFG_REG_RST_FOR_FPGA_BITP, CFG_REG_RST_FOR_FPGA_OFF);
-    *spi_mode = cfg_reg;
     // if the frequency is in the main band - 7.5 GHz to 15 GHz
     if (lmx_freq >= 7.5e9 && lmx_freq <= 15e9) {
         // lmx_freq_set_main_band(bar1, freq, f_pd);

+ 1 - 0
Devices/max2870.c

@@ -30,5 +30,6 @@ void max2870_init(void *bar1) {
     SET_REGISTER_PARAM(cfg_reg, CFG_REG_WIDTH_SPI_TMSG_BITM, CFG_REG_WIDTH_SPI_TMSG_BITP, CFG_REG_WIDTH_SPI_TMSG_24_BIT);
     uint32_t *ptr_cmd_2 = bar1 + CFG_REG_ADDR;
     *ptr_cmd_2 = cfg_reg;
+    usleep(1);
     set_cfg_reg(cfg_reg);
 }