我现在用tms570ls3137和W5300通过cpu的emif接口连接现在发现写入w5300的数据不对,通过示波器观察发现cpu写存在问题,每写一个数据,emif的cs引脚出现三次使能,对应写信号也是三次,麻烦大家给解释一下,是不是cpu本身存在bug,读数据就不存在这个问题
图为写数据的时序图,黄色为片选信号,蓝色为写使能信号,这是写一次数据的时序
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.
我现在用tms570ls3137和W5300通过cpu的emif接口连接现在发现写入w5300的数据不对,通过示波器观察发现cpu写存在问题,每写一个数据,emif的cs引脚出现三次使能,对应写信号也是三次,麻烦大家给解释一下,是不是cpu本身存在bug,读数据就不存在这个问题
图为写数据的时序图,黄色为片选信号,蓝色为写使能信号,这是写一次数据的时序
Hi Meng,
方便的话,能不能把对EMIF的初始化的程序和读写的工作方式详细说明一下,或是能够把这部分代码贴出来看看呢。
如果不能复现你出的问题,我们也比较难找出问题。
谢谢
ken
void emif_ASYNC3Init(void)
{
/* USER CODE BEGIN (8) */
/* USER CODE END */
emifREG->CE4CFG = 0x00000000U;
emifREG->CE4CFG = (1U << 31U)|
(0U << 30U)|
(4U << 26U)|
(5U << 20U)|
(2U << 17U)|
(1U << 13U)|
(7U << 7U)|
(2U << 4U)|
(3U << 2U)|
(emif_16_bit_port) ;
emifREG->AWCC = (emifREG->AWCC)|
(emif_pin_high << 29U)|
(emif_pin_low << 28U)|
(emif_wait_pin0 << 20U)|
(0U);
emifREG->PMCR = (emifREG->PMCR) |
(0U << 18U)|
(emif_4_words << 17U)|
(0U << 16U);
/* USER CODE BEGIN (9) */
/* USER CODE END */
}