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.

[参考译文] TMS320F2.8375万D:寻址数据库

Guru**** 2451970 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/617242/tms320f28375d-addressing-databus

部件号:TMS320F2.8375万D

您好,

我已经将EMIF设置为16位数据总线模式,而不是32位模式。  对于16位模式,如果我在say chip中以地址偏移写入16位字,请选择4 (如0x2000),然后在Delfino的物理EMIF地址行上看到0x2000。

 

如果我写入地址偏移0x2001,我还会在Delfino的EMIF地址引脚上看到0x2001。  我的假设是否正确?

 

此外,我还将Delfino连接到FPGA。  我已将EMIF的全32位数据库和Delfino的19位EMIF地址总线连接到FPGA。  在16位模式下,当我通过EMIF在FPGA中写入寄存器(16位)时,EMIF数据总线位[31:16]是否等于0?  当我在FPGA中读取相同寄存器时,是否可以使用0驱动相同的位[31:16],并在位[15:0]上驱动16位数据?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    EMIF地址总线 (a[x:0])  是32位对齐的。 对于16位模式,Ba1充当地址的LSB,因此您将 在a[x:0,Ba1]上看到正确的地址。

    请参阅"图25-9. EMIF至8位/16位内存接口"的 设备TRM

    [引述]此外,我还将Delfino连接到FPGA。  我已将EMIF的全32位数据库和Delfino的19位EMIF地址总线连接到FPGA。  在16位模式下,当我通过EMIF在FPGA中写入寄存器(16位)时,EMIF数据总线位[31:16]是否等于0?  [/引述]

    数据总线[31:16]上的值无关紧要,因为对于高16位,字节启用将不会激活。 您需要正确连接启用的字节。

    当我在FPGA中读取相同寄存器时,是否可以使用0驱动相同的位[31:16]并将16位数据驱动在位[15:0]上? [/引述]

    同样,数据总线[31:16]上的值也无关紧要。 EMIF将忽略该值,因为它是16位读取,因此您不必在[31:16]上强制使用0x0。

    此致,

    Vivek Singh

    此致,

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我希望这一点是清楚的。 如果您有任何疑问,请告知我们。

    Vivek Singh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Vivek,

    感谢您对EMIF 16位模式的回复。 我对16位模式的另一个问题是字节闪灯DQM0和DQM1分别与EMIF_addr[15]和EMIF_addr[16]复用。

    是否需要在DSP软件中执行某些操作(X条的某些初始化),以使这些字节闪灯出现在这些EMIF地址引脚上,或者当芯片选择配置寄存器Asize设置为16位模式时它们是否自动出现。 除了设置芯片选择配置寄存器之外,我们是否还需要执行其他操作才能以16位模式获得EMIF?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    EE505,

    对于16位异步模式,始终启用低字节和高字节,因为C28x是16位可寻址。

    A[16:15]和DQM[1:0] PinMux选择是互斥的,因此您可以选择将引脚用作DQM[1:0],在那里它们都为每次访问启用,或者您可以将引脚用作A[16:15]并静态绑定FPGA的DQM引脚。

    汤米
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    关于CS4的异步, 我见下面的时间图。  这是否意味着在EM1OE_n变为活动低电平后,DSP始终期望读取数据为有效的2个clk周期?  此保持是否始终–即使DSP软件将频闪灯时间指定为10值?

     

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Setup (设置),Strobe (选通)和Hold (保持)文本下方的数字表示通过软件配置的时间。

    在您粘贴的示例中:

    SETUP = 2 EM1CLK CYCLES (设置= 2个EM1CLK周期)(R_SETUP = 1)
    频闪灯=3 EM1CLK周期(R_strobe =2)
    保持= 2 EM1CLK循环(R_HOLD = 1)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们的DSP软件具有以下异步读写设置:
    (0/8/1)。 ->
    设置时间= 1 EMIF clk
    频闪灯时间=9 EMIF CLKS
    保持时间= 2 EMIF CLKS

    那么,根据图25-11,Delfino是否期望数据在频闪周期的第三个周期有效?
    或者,它是否期望读取数据在频闪灯持续时间的第8个时钟周期中有效,在EM1OE_n处于非活动状态之前?

    假设在我们的设置中我不必使用EMIF等待信号em1wait,我的说法是否正确? 我是否可以延长频闪灯时间,以允许外设芯片在驱动EMIF数据库上的读取数据时有任何延迟?


    函数prototype以了解参数

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    每个设置的循环次数为配置值 +1。 如果您已为保持值配置了2,则它将为3个周期。 最小保压为1个循环(设定值0),与频闪灯值无关。

    [引用]我认为在我们的设置中我不必使用EMIF等待信号em1wait,这是正确的吗? 我是否可以延长频闪灯时间,以允许外设芯片在驱动EMIF数据库上的读取数据时有任何延迟? [/引述]

    你是对的。 如果某个时间的数据很早而某个时间又很晚,则应使用等待信号。 如果是固定延迟,则增加频闪灯值是好的。

    此致,

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为我的问题有一个误解。  我了解配置注册中的+1。

     

    我不确定的是Delfino是否期望读取数据在em1oe_n信号下降边缘之后的3个EMIF时钟周期有效。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    EM1OE将在闪灯阶段开始时过渡。 EMIF将在闪灯阶段开始后以R_strobe+1循环读取EM1D总线。

    所以我想你可以说Delfino期望读取数据在EM1OE信号下降边缘之后是有效的R_strobe+1循环。

    不要忘记在设置中考虑因素,并保留数据表中的计时。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是脱机讨论的问题。