zh65535 发表于 2023-3-29 09:05

AT32F435的XMC在同步复用模式下时钟引脚为什么没有信号?

AT32F435ZMT7芯片中的XMC在使用同步复用模式连接PSRAM时,PD3CLK引脚为什么没有时钟啊?
这是我的初始化函数代码
gpio_init_struct.gpio_pins = GPIO_PINS_3;   //CLK
gpio_init_struct.gpio_mode = GPIO_MODE_MUX;
gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
gpio_init(GPIOD, &gpio_init_struct);

/*-- xmc configuration ------------------------------------------------------*/
xmc_norsram_default_para_init(&xmc_norsram_init_struct);
xmc_norsram_init_struct.subbank = XMC_BANK1_NOR_SRAM3;                     //XMC_BANK1_NOR_SRAM3
xmc_norsram_init_struct.data_addr_multiplex = XMC_DATA_ADDR_MUX_ENABLE;      //复用
xmc_norsram_init_struct.device = XMC_DEVICE_PSRAM;                           //PSRAM设备
xmc_norsram_init_struct.bus_type = XMC_BUSTYPE_16_BITS;                      //16bit
xmc_norsram_init_struct.burst_mode_enable = XMC_BURST_MODE_ENABLE;         //突发模式配置
xmc_norsram_init_struct.asynwait_enable = XMC_ASYN_WAIT_DISABLE;             //异步传输期间等待信号使能控制
xmc_norsram_init_struct.wait_signal_lv = XMC_WAIT_SIGNAL_LEVEL_LOW;          //等待信号极性,在同步模式下,此位设置NWAIT 信号极性
xmc_norsram_init_struct.wrapped_mode_enable = XMC_WRAPPED_MODE_DISABLE;       //支持非对齐的成组模式,XMC 于同步模式时是否支持将非对齐的AHB 成组操作拆成2 次操作
xmc_norsram_init_struct.wait_signal_config = XMC_WAIT_SIGNAL_SYN_BEFORE;   //等待时序配置,仅在同步模式有效
xmc_norsram_init_struct.write_enable = XMC_WRITE_OPERATION_ENABLE;         //写使能位
xmc_norsram_init_struct.wait_signal_enable = XMC_WAIT_SIGNAL_ENABLE;         //同步传输期间等待信号使能位
xmc_norsram_init_struct.write_timing_enable = XMC_WRITE_TIMING_DISABLE;      //读写时序不同控制位,读存储器与写存储器使用不同的时序进行操作,即SRAM/NOR 闪存写时序寄存器(XMC_BKxTMGWR)被开放
xmc_norsram_init_struct.write_burst_syn = XMC_WRITE_BURST_SYN_ENABLE;      //对存储器写操作位
xmc_nor_sram_init(&xmc_norsram_init_struct);

/* timing configuration */
xmc_norsram_timing_default_para_init(&rw_timing_struct, &w_timing_struct);
rw_timing_struct.subbank = XMC_BANK1_NOR_SRAM3;                     //指定需要复位的subbank
rw_timing_struct.write_timing_enable = XMC_WRITE_TIMING_DISABLE;      //读写时序不同控制位,读存储器与写存储器使用不同的时序进行操作,即SRAM/NOR 闪存写时序寄存器(XMC_BKxTMGWR)被开放   
rw_timing_struct.addr_hold_time      = 0x00;                        //地址保持时间
rw_timing_struct.addr_setup_time   = 0x00;                        //地址建立时间
rw_timing_struct.data_setup_time   = 0x00;                        //数据建立时间
rw_timing_struct.data_latency_time   = 0x0A;                           //数据延迟,仅在同步模式有效
rw_timing_struct.bus_latency_time    = 0x0;                           //总线延迟时间,为了防止数据总线发生冲突,在复用模式或同步模式时,一次读操作之后XMC在数据总线上插入延迟
rw_timing_struct.clk_psc             = 0x0;                           //时钟分频系数,仅在同步模式有效,定义XMC_CLK 时钟的频率
rw_timing_struct.mode = XMC_ACCESS_MODE_A;                            //异步访问模式选择位,只在RWTD 位使能时有效
w_timing_struct.subbank = XMC_BANK1_NOR_SRAM3;
w_timing_struct.write_timing_enable = XMC_WRITE_TIMING_DISABLE;
w_timing_struct.addr_hold_time      = 0x00;
w_timing_struct.addr_setup_time   = 0x00;
w_timing_struct.data_setup_time   = 0x00;
w_timing_struct.data_latency_time   = 0x0A;
w_timing_struct.bus_latency_time    = 0x0;
w_timing_struct.clk_psc             = 0x0;
w_timing_struct.mode = XMC_ACCESS_MODE_A;
xmc_nor_sram_timing_config(&rw_timing_struct, &w_timing_struct);

muyichuan2012 发表于 2023-3-30 10:44

如附件,是AT32F435的XMC在同步复用模式 驱动PSARM demo,可以参考一下
页: [1]
查看完整版本: AT32F435的XMC在同步复用模式下时钟引脚为什么没有信号?