搜索

[DSP] DSP底层程序

[复制链接]
691|7
 楼主 | 2020-2-3 15:33 | 显示全部楼层 ||阅读模式
目前在学习CPLD,但是由于对DSP底层程序的理解不深,想问下,怎么确定DSP读取外设CPLD的信号到底使用的是XRD还是XRW,且读写信号的频率是不是一样的?

使用特权

评论回复
| 2020-2-3 22:50 | 显示全部楼层
这样吧   你把你用的DSP的EMIF接口时序贴出来  
或者告诉型号

使用特权

评论回复
 楼主 | 2020-2-4 12:43 | 显示全部楼层
本帖最后由 2287312853 于 2020-2-5 10:19 编辑
zhangmangui 发表于 2020-2-3 22:50
这样吧   你把你用的DSP的EMIF接口时序贴出来  
或者告诉型号

DSP是TMS320F28335,SYSTEMCLK=15OMHz
CPLD是EPM1270TI4415,CLK=10MHz
  • SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1;        //开启XINTF时钟信号
  • XintfRegs.XINTCNF2.bit.XTIMCLK = 1;        //基准时钟XTIMCLK = 1/2 SYSCLKOUT
  • XintfRegs.XINTCNF2.bit.WRBUFF = 0;        //无写缓冲寄存器
  • XintfRegs.XINTCNF2.bit.CLKOFF = 0;        //开启XCLKOUT
  • XintfRegs.XINTCNF2.bit.CLKMODE = 0;        //XCLKOUT=XTIMCLK
  • XintfRegs.XTIMING0.bit.XWRLEAD = 3;        //区域0写建立时间为11b,周期数为6
  • XintfRegs.XTIMING0.bit.XWRACTIVE = 7;        //有效时间为111b,周期数为14
  • XintfRegs.XTIMING0.bit.XWRTRAIL = 3;        //跟踪时间为11b,周期数为6
  • // Zone read timing
  • XintfRegs.XTIMING0.bit.XRDLEAD = 3;        //区域0读建立时间为11b,周期数为6
  • XintfRegs.XTIMING0.bit.XRDACTIVE = 7;        //有效时间为111b,周期数为14
  • XintfRegs.XTIMING0.bit.XRDTRAIL = 3;        //跟踪时间为11b,周期数为6
  • // double all Zone read/write lead/active/trail timing
  • XintfRegs.XTIMING0.bit.X2TIMING = 0;        //比值1:1
  • // Zone will sample XREADY signal
  • XintfRegs.XTIMING0.bit.USEREADY = 1;        //XREADY信号采样
  • XintfRegs.XTIMING0.bit.READYMODE = 1; //异步采样
  • XintfRegs.XTIMING0.bit.XSIZE = 3;        //数据总线宽度,16位
这个是程序,起始地址为0x4000h
00h3Fh,ZONE0映射到CPLD
CPLD在硬件上只有DSP给的XA0~XA12共13根地址线,进行译码等操作
我q:2287312853


使用特权

评论回复
| 2020-2-5 23:55 | 显示全部楼层
2287312853 发表于 2020-2-4 12:43
DSP是TMS320F28335,SYSTEMCLK=15OMHz
CPLD是EPM1270TI4415,CLK=10MHz
  • SysCtrlRegs.PCLKCR3.bit.XINTFE ...

  • 用XRD就可以  XRW不用

    使用特权

    评论回复
    | 2020-2-5 23:57 | 显示全部楼层
    读写频率是一样的  

    使用特权

    评论回复
     楼主 | 2020-2-6 09:22 | 显示全部楼层
    本帖最后由 2287312853 于 2020-2-6 11:44 编辑
    zhangmangui 发表于 2020-2-5 23:57
    读写频率是一样的

    我在示波器上看了DSP相应管脚的输出,测得XRD频率是450KHz,XRW与XWE的频率是一样的,为80KHz,而且这两个信号我在CPLD里都试过,无法将数据总线上的数据写出去,点不亮数码管,所以我怀疑是XREADY这个信号在CPLD里没有处理好,

    使用特权

    评论回复
    | 2020-2-6 23:22 | 显示全部楼层
    2287312853 发表于 2020-2-6 09:22
    我在示波器上看了DSP相应管脚的输出,测得XRD频率是450KHz,XRW与XWE的频率是一样的,为80KHz,而且这两个 ...

    CPLD的代码如果是厂家提供的  我觉得不会有问题
    建议你看看片选等  是不是选中了CPLD  不然CPLD端总线都是高阻

    使用特权

    评论回复
     楼主 | 2020-2-29 10:31 | 显示全部楼层
    本帖最后由 2287312853 于 2020-2-29 10:55 编辑
    zhangmangui 发表于 2020-2-6 23:22
    CPLD的代码如果是厂家提供的  我觉得不会有问题
    建议你看看片选等  是不是选中了CPLD  不然CPLD端总线都是 ...

    程序是我自己写的,用的是BSF(模块图)文件,我觉得最重要的是两个部分,一是译码器设计是不是对的,2就是外设准备完成信号XREDAY的处理,这段时间一直在查找资料改程序,但就是无法将DSP外部总线控制的双位数码管点亮,苦逼啊!!!

    使用特权

    评论回复
    扫描二维码,随时随地手机跟帖
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    我要发帖 投诉建议 创建版块 申请版主

    快速回复

    您需要登录后才可以回帖
    登录 | 注册
    高级模式

    论坛热帖

    在线客服 快速回复 返回顶部 返回列表