硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1492|回复: 6
收起左侧

求助 AD7606 用STM32F407VGT6搭建环境硬件异常

[复制链接]

3

主题

11

回帖

20

积分

新手上路

积分
20
发表于 2021-7-9 09:30:12 | 显示全部楼层 |阅读模式
求助!!!采用安富莱的AD7606 FSMC例程,用STM32F407VGT6搭建环境。用的是NE1引脚,在历程里面将BANG4改为BANK1之后串口显示硬件错误这是为啥呢?如何解决?
下载 (3).png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2021-7-9 09:50:47 | 显示全部楼层
这个应该是你的地址不对,方便的话,贴代码和你的接线对应引脚,即原理图
回复

使用道具 举报

3

主题

11

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2021-7-10 10:33:27 | 显示全部楼层
CONVST - PA2
BUSY -PB8
OS0 OS1 OS2 接地
RANGE 接地
RESET- PB6  
PD0/FSMC_D2
PD1/FSMC_D3
PD4/FSMC_NOE               
PD5/FSMC_NWE               
PD8/FSMC_D13
PD9/FSMC_D14
PD10/FSMC_D15
PD14/FSMC_D0
PD15/FSMC_D1
PE4/FSMC_A20               
PE5/FSMC_A21               
PE7/FSMC_D4
PE8/FSMC_D5
PE9/FSMC_D6
PE10/FSMC_D7
PE11/FSMC_D8
PE12/FSMC_D9
PE13/FSMC_D10
PE14/FSMC_D11
PE15/FSMC_D12
PD7/FSMC_NE1               
回复

使用道具 举报

3

主题

11

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2021-7-10 10:33:52 | 显示全部楼层
本帖最后由 噜噜噜 于 2021-7-10 10:44 编辑

static void AD7606_FSMCConfig(void)
{
        /*
           TFT-LCD£¬OLEDoíAD76061«óÃò»¸öFMCÅäÖã¬èç1û¶¼¿aÆô£¬ÇëòÔFMCËù¶è×îÂyμÄÎa×¼¡£
           ′ó¶ø±£Ö¤ËùóDíaé趼¿éòÔÕy3£1¤×÷¡£
        */
        SRAM_HandleTypeDef hsram = {0};
        FMC_NORSRAM_TimingTypeDef SRAM_Timing = {0};
               
        /*
                AD76061æ¸ñêéòaÇó(3.3Vê±£¬í¨DÅμçƽVdriver)£oRD¶áDÅoÅμíμçƽÂö3å¿í¶è×î¶ì21ns£¬¶Ôó|FMCμÄDataSetupTime
                CSƬѡoíRD¶áDÅoŶàᢷ½ê½μĸßμçƽÂö3å×î¶ì¿í¶è15ns¡£
                CSƬѡoíRD¶áDÅoÅ2¢áa·½ê½μĸßμçƽÂö3å×î¶ì¿í¶è22ns¡£
                Õaàォ22ns×÷Îa×îD¡Öμ¸üoÏàíD©£¬¶Ôó|FMCμÄAddressSetupTime
        
                4-x-6-x-x-x  : RD¸ß3ÖDø35.7ns£¬μíμçƽ3ÖDø23.8ns. ¶áè¡8·Ñù±¾êy¾Yμ½Äú′æ2î2»¶à¾íêÇ476ns¡£
        */
        hsram.Instance  = FMC_NORSRAM_DEVICE;
        hsram.Extended  = FMC_NORSRAM_EXTENDED_DEVICE;
        
        /* FMCê1óÃμÄHCLK£¬Ö÷Æμ168MHz£¬1¸öFMCê±ÖóÖüÆú¾íêÇ5.95ns */
        SRAM_Timing.AddressSetupTime       = 4;  /* 4*5.95ns=23.8ns£¬μØÖ·½¨á¢ê±¼ä£¬·¶Î§0 -15¸öFMCê±ÖóÖüÆú¸öêy */
        SRAM_Timing.AddressHoldTime        = 0;  /* μØÖ·±£3Ö걼䣬ÅäÖÃÎaÄ£ê½Aê±£¬óÃ2»μ½′Ë2Îêy ·¶Î§1 -15¸öê±ÖóÖüÆú¸öêy */
        SRAM_Timing.DataSetupTime          = 3;  /* 6*5.95ns=35.7ns£¬êy¾Y±£3Ö걼䣬·¶Î§1 -255¸öê±ÖóÖüÆú¸öêy */
        SRAM_Timing.BusTurnAroundDuration  = 0;  /* ′ËÅäÖÃóÃ2»μ½Õa¸ö2Îêy */
        SRAM_Timing.CLKDivision            = 0;  /* ′ËÅäÖÃóÃ2»μ½Õa¸ö2Îêy */
        SRAM_Timing.DataLatency            = 0;  /* ′ËÅäÖÃóÃ2»μ½Õa¸ö2Îêy */
        SRAM_Timing.AccessMode             = FSMC_ACCESS_MODE_A; /* ÅäÖÃÎaÄ£ê½A */

        hsram.Init.NSBank             = FSMC_NORSRAM_BANK1;              /* ê1óÃμÄBANK4£¬¼′ê1óÃμÄƬѡFSMC_NE4 */
        hsram.Init.DataAddressMux     = FSMC_DATA_ADDRESS_MUX_DISABLE;   /* ½ûÖ1μØÖ·êy¾Y¸′óà */
        hsram.Init.MemoryType         = FSMC_MEMORY_TYPE_SRAM;           /* ′æ′¢Æ÷ààDíSRAM */
        hsram.Init.MemoryDataWidth    = FSMC_NORSRAM_MEM_BUS_WIDTH_16;        /* 16λ×üÏß¿í¶è */
        hsram.Init.BurstAccessMode    = FSMC_BURST_ACCESS_MODE_DISABLE;  /* 1رÕí»·¢Ä£ê½ */
        hsram.Init.WaitSignalPolarity = FSMC_WAIT_SIGNAL_POLARITY_LOW;   /* óÃóúéèÖÃμè′yDÅoÅμļ«DÔ£¬1رÕí»·¢Ä£ê½£¬′Ë2ÎêyÎTD§ */
        hsram.Init.WaitSignalActive   = FSMC_WAIT_TIMING_BEFORE_WS;      /* 1رÕí»·¢Ä£ê½£¬′Ë2ÎêyÎTD§ */
        hsram.Init.WriteOperation     = FSMC_WRITE_OPERATION_ENABLE;     /* óÃóúê1Äü»òÕß½ûÖ1D′±£»¤ */
        hsram.Init.WaitSignal         = FSMC_WAIT_SIGNAL_DISABLE;        /* 1رÕí»·¢Ä£ê½£¬′Ë2ÎêyÎTD§ */
        hsram.Init.ExtendedMode       = FSMC_EXTENDED_MODE_DISABLE;      /* ½ûÖ1à©Õ1Ä£ê½ */
        hsram.Init.AsynchronousWait   = FSMC_ASYNCHRONOUS_WAIT_DISABLE;  /* óÃóúòì2½′«êäÆú¼ä£¬ê1Äü»òÕß½ûÖ1μè′yDÅoÅ£¬ÕaàïÑ¡Ôñ1Ø±Õ */
        hsram.Init.WriteBurst         = FSMC_WRITE_BURST_DISABLE;        /* ½ûÖ1D′í»·¢ */
        hsram.Init.ContinuousClock    = FSMC_CONTINUOUS_CLOCK_SYNC_ONLY; /* ½öí¬2½Ä£ê½2Å×öê±Öóêä3ö */
    hsram.Init.WriteFifo          = FSMC_WRITE_FIFO_ENABLE;          /* ê1ÄüD′FIFO */

        /* 3õê¼»ˉSRAM¿ØÖÆÆ÷ */
        if (HAL_SRAM_Init(&hsram, &SRAM_Timing, &SRAM_Timing) != HAL_OK)
        {
                /* 3õê¼»ˉ′íÎó */
                Error_Handler(__FILE__, __LINE__);
        }        
}
回复

使用道具 举报

3

主题

11

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2021-7-10 10:35:03 | 显示全部楼层
eric2013 发表于 2021-7-9 09:50
这个应该是你的地址不对,方便的话,贴代码和你的接线对应引脚,即原理图

这个地址我还应该修改哪一块的吗
回复

使用道具 举报

3

主题

11

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2021-7-10 10:46:15 | 显示全部楼层
您好请问我这个地址还需要修改哪一块的地址啊谢谢
回复

使用道具 举报

3

主题

11

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2021-7-10 11:11:27 | 显示全部楼层
  1. static void AD7606_FSMCConfig(void)
  2. {
  3.         /*
  4.            TFT-LCD£¬OLEDoíAD76061«óÃò»¸öFMCÅäÖã¬èç1û¶¼¿aÆô£¬ÇëòÔFMCËù¶è×îÂyμÄÎa×¼¡£
  5.            ′ó¶ø±£Ö¤ËùóDíaé趼¿éòÔÕy3£1¤×÷¡£
  6.         */
  7.         SRAM_HandleTypeDef hsram = {0};
  8.         FMC_NORSRAM_TimingTypeDef SRAM_Timing = {0};
  9.                
  10.         /*
  11.                 AD76061æ¸ñêéòaÇó(3.3Vê±£¬í¨DÅμçƽVdriver)£oRD¶áDÅoÅμíμçƽÂö3å¿í¶è×î¶ì21ns£¬¶Ôó|FMCμÄDataSetupTime
  12.                 CSƬѡoíRD¶áDÅoŶàᢷ½ê½μĸßμçƽÂö3å×î¶ì¿í¶è15ns¡£
  13.                 CSƬѡoíRD¶áDÅoÅ2¢áa·½ê½μĸßμçƽÂö3å×î¶ì¿í¶è22ns¡£
  14.                 Õaàォ22ns×÷Îa×îD¡Öμ¸üoÏàíD©£¬¶Ôó|FMCμÄAddressSetupTime
  15.        
  16.                 4-x-6-x-x-x  : RD¸ß3ÖDø35.7ns£¬μíμçƽ3ÖDø23.8ns. ¶áè¡8·Ñù±¾êy¾Yμ½Äú′æ2î2»¶à¾íêÇ476ns¡£
  17.         */
  18.         hsram.Instance  = FMC_NORSRAM_DEVICE;
  19.         hsram.Extended  = FMC_NORSRAM_EXTENDED_DEVICE;
  20.        
  21.         /* FMCê1óÃμÄHCLK£¬Ö÷Æμ168MHz£¬1¸öFMCê±ÖóÖüÆú¾íêÇ5.95ns */
  22.         SRAM_Timing.AddressSetupTime       = 4;  /* 4*5.95ns=23.8ns£¬μØÖ·½¨á¢ê±¼ä£¬·¶Î§0 -15¸öFMCê±ÖóÖüÆú¸öêy */
  23.         SRAM_Timing.AddressHoldTime        = 0;  /* μØÖ·±£3Ö걼䣬ÅäÖÃÎaÄ£ê½Aê±£¬óÃ2»μ½′Ë2Îêy ·¶Î§1 -15¸öê±ÖóÖüÆú¸öêy */
  24.         SRAM_Timing.DataSetupTime          = 3;  /* 6*5.95ns=35.7ns£¬êy¾Y±£3Ö걼䣬·¶Î§1 -255¸öê±ÖóÖüÆú¸öêy */
  25.         SRAM_Timing.BusTurnAroundDuration  = 0;  /* ′ËÅäÖÃóÃ2»μ½Õa¸ö2Îêy */
  26.         SRAM_Timing.CLKDivision            = 0;  /* ′ËÅäÖÃóÃ2»μ½Õa¸ö2Îêy */
  27.         SRAM_Timing.DataLatency            = 0;  /* ′ËÅäÖÃóÃ2»μ½Õa¸ö2Îêy */
  28.         SRAM_Timing.AccessMode             = FSMC_ACCESS_MODE_A; /* ÅäÖÃÎaÄ£ê½A */

  29.         hsram.Init.NSBank             = FSMC_NORSRAM_BANK1;              /* ê1óÃμÄBANK4£¬¼′ê1óÃμÄƬѡFSMC_NE4 */
  30.         hsram.Init.DataAddressMux     = FSMC_DATA_ADDRESS_MUX_DISABLE;   /* ½ûÖ1μØÖ·êy¾Y¸′óà */
  31.         hsram.Init.MemoryType         = FSMC_MEMORY_TYPE_SRAM;           /* ′æ′¢Æ÷ààDíSRAM */
  32.         hsram.Init.MemoryDataWidth    = FSMC_NORSRAM_MEM_BUS_WIDTH_16;        /* 16λ×üÏß¿í¶è */
  33.         hsram.Init.BurstAccessMode    = FSMC_BURST_ACCESS_MODE_DISABLE;  /* 1رÕí»·¢Ä£ê½ */
  34.         hsram.Init.WaitSignalPolarity = FSMC_WAIT_SIGNAL_POLARITY_LOW;   /* óÃóúéèÖÃμè′yDÅoÅμļ«DÔ£¬1رÕí»·¢Ä£ê½£¬′Ë2ÎêyÎTD§ */
  35.         hsram.Init.WaitSignalActive   = FSMC_WAIT_TIMING_BEFORE_WS;      /* 1رÕí»·¢Ä£ê½£¬′Ë2ÎêyÎTD§ */
  36.         hsram.Init.WriteOperation     = FSMC_WRITE_OPERATION_ENABLE;     /* óÃóúê1Äü»òÕß½ûÖ1D′±£»¤ */
  37.         hsram.Init.WaitSignal         = FSMC_WAIT_SIGNAL_DISABLE;        /* 1رÕí»·¢Ä£ê½£¬′Ë2ÎêyÎTD§ */
  38.         hsram.Init.ExtendedMode       = FSMC_EXTENDED_MODE_DISABLE;      /* ½ûÖ1à©Õ1Ä£ê½ */
  39.         hsram.Init.AsynchronousWait   = FSMC_ASYNCHRONOUS_WAIT_DISABLE;  /* óÃóúòì2½′«êäÆú¼ä£¬ê1Äü»òÕß½ûÖ1μè′yDÅoÅ£¬ÕaàïÑ¡Ôñ1Ø±Õ */
  40.         hsram.Init.WriteBurst         = FSMC_WRITE_BURST_DISABLE;        /* ½ûÖ1D′í»·¢ */
  41.         hsram.Init.ContinuousClock    = FSMC_CONTINUOUS_CLOCK_SYNC_ONLY; /* ½öí¬2½Ä£ê½2Å×öê±Öóêä3ö */
  42.     hsram.Init.WriteFifo          = FSMC_WRITE_FIFO_ENABLE;          /* ê1ÄüD′FIFO */

  43.         /* 3õê¼»ˉSRAM¿ØÖÆÆ÷ */
  44.         if (HAL_SRAM_Init(&hsram, &SRAM_Timing, &SRAM_Timing) != HAL_OK)
  45.         {
  46.                 /* 3õê¼»ˉ′íÎó */
  47.                 Error_Handler(__FILE__, __LINE__);
  48.         }       
  49. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 12:13 , Processed in 0.325748 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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