3337|0

131

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

arm9与DSP的 HPI通信 地址线问题 [复制链接]

5芯积分
我现在用TQ2440的总线接口连接DM642的DSP开发板,使用HPI-16接口通信,连接图如下图所示。 为了控制HPI寄存器的选择和读写,采用地址线方法控制,由于HPI接入到nGCS3,所以对应的是BANK3地址是从0x18000000开始的
那么对应的个地址我们入下图所示
*---------------------------------------------------------------------------------------------------------------------------
*           AD4       AD3        AD2         AD1        AD0    偏移地址                 说明
*           HR/W   HCNTL1   HCNTL0   HHWIL                                     (ADDR[0-4])   
*             0         0             0            0              X      0X00                控制寄存器HPIC 高字节
*             0         0             0            1              X      0X02                写控制寄存器HPIC 低字节
*             1         0             0            0              X      0X10                读控制寄存器HPIC 高字节
*             1         0             0            1              X      0X12                  读控制寄存器HPIC 低字节
*
*
*             0         1             0            0              X      0X08            写地址寄存器HPIA 高字节
*             0         1            0           1              X     0X0A            写地址寄存器HPIA 低字节
*             1         1             0            0              X     0X18            读地址寄存器HPIA 高字节
*             1         1             0            1              X     0X1A            读地址寄存器HPIA 低字节
*
*
*             0          0           1              0             X     0X04            写数据寄存器HPID 高字节  地址自增
*             0          0            1              1           X     0X06            写数据寄存器HPID 低字节  地址自增
*             1          0            1              0            X     0X14            读数据寄存器HPID 高字节  地址自增
*             1          0            1             1            X     0X16            读数据寄存器HPID 低字节  地址自增
*
*
*             0           1            1              0            X     0X0C            写数据寄存器HPID 高字节  
*             0          1            1             1            X     0X0E            写数据寄存器HPID 低字节  
*             1           1            1              0            X     0X1C            读数据寄存器HPID 高字节  
*             1          1            1              1            X     0X1E            读数据寄存器HPID 低字节  
*
*****************************************************************************************************/

那么当我对0x18000000+(addr)上述偏移地址读写的时候,nCGS3自动会变低, 相应的nOE nWE也会被ARM自动置低或高,同时,地址总线也会根据我们的地址内容去跳变。
但是我对0x18000000+0x00、0x02、0x10、0x12 进行读写的时候ADDR2 就为0,此时为正确的。
接下来我对 0x18000000+0x08 0xa 0x18 0x1a进行读写的时候ADDR2就为1,此时与我理论上的配置相反。(如下图所示,黄色为nGCS3,蓝色为ADDR2,图中的波形代表红色代码的波形)


部分代码:
#define HPI_BASE_ADDRESS  0x18000000

#define HPIC_WRITE_H  (*(volatile unsigned short *)(HPI_BASE_ADDRESS+0x02)) //写控制寄存器HPIC 高字节
#define HPIC_WRITE_L  (*(volatile unsigned short *)(HPI_BASE_ADDRESS+0x00)) //写控制寄存器HPIC 低字节
#define HPIC_READ_H   (*(volatile unsigned short *)(HPI_BASE_ADDRESS+0x12)) //读控制寄存器HPIC 高字节
#define HPIC_READ_L   (*(volatile unsigned short *)(HPI_BASE_ADDRESS+0x10)) //读控制寄存器HPIC 低字节


#define HPIA_WRITE_H  (*(volatile unsigned short *)(HPI_BASE_ADDRESS+0x06)) //写地址寄存器HPIA 高字节
#define HPIA_WRITE_L  (*(volatile unsigned short *)(HPI_BASE_ADDRESS+0x04)) //写地址寄存器HPIA 低字节
#define HPIA_READ_H   (*(volatile unsigned short *)(HPI_BASE_ADDRESS+0x16)) //读地址寄存器HPIA 高字节
#define HPIA_READ_L   (*(volatile unsigned short *)(HPI_BASE_ADDRESS+0x14)) //读地址寄存器HPIA 低字节



        rBWSCON=rBWSCON|(1<<14)|(0x01<<12);//使能BANK3 nWAIT 16位带宽
        rBANKCON3=(0x10<<13)|(0x100<<8)|(0x11<<6);
        ChangeRomCacheStatus(RW_NCNB);//关闭ARM CACHE

               HPIC_WRITE_L=0x0005;
        HPIC_WRITE_H=0x0005;
        a=HPIC_READ_L;   
        b=HPIC_READ_H;   
        HPIA_WRITE_L=0x1000;  
        HPIA_WRITE_H=0x8000;
        c=HPIA_READ_L;  
        d=HPIA_READ_H;






请问是我的偏移地址有问题吗?还是什么原因出现的这种情况?

点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表