首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教版主

请教版主

版主大侠,我调试我做的这块NE64板子的时候,现在有很多问题都是糊里糊涂的,在这里好好请教您一下。
第一个问题:
  当外部扩展RAM的时候,我扩展的是CY7C1041CV33,片选信号是XA19,是不是在读写片外扩展的RAM的时候,由于存储器的映射,只要读写的地址是4位数以上的比如10000H,那么它所指向的肯定是片外地址?那个如果是00000,它指向的也是片外地址吗?
第二个问题:
  我对片内自带的RAM进行读写操作的时候,都是好的,读写片内1000到3FFF地址的12KRAM,
  volatile tU16 ram_buffer;
           tU16 ram_buffer@0x1000;
            ram_buffer=0x2000;
我这样在调试的时候,看到数据都写进去了,是不是如果我对片外扩展的RAM也可以用同样的方式了?
       volatile tU16 ram_buffer;
                tU16 ram_buffer@0x10000;
                ram_buffer=0x1000;
        这样在调试的时候,不能够成功,用示波器看波形,知心执行此句程序的手,WR信号,有变化,ECS ,XCS ,XA19,所有的地址线无变化,我的外部总线初始化程序如下:
              #if USE_EXTBUS
void  ExternalBusCfg()  {

  
  //Configure to External Bus Mode
  //The following must not use BSET instructions.
  RDRIV = 0x00;
  PEAR   = 0x0C;      // ((LSTRE|RDWE)&~NECLK)
  EBICTL = 0x01;      // Enable clock stretching (ESTR)
  MISC   = 0x04;      // (~EXSTR1+EXSTR0+~ROMHM+ROMON)
  MODE   = 0xE2;      // (MODC+MODB+MODA+EMK+~EME)   
}
#endif
我的原理图,在图片中,如果版主不介意的话,能不能加一下我的QQ啊?393487229,帮帮我啊?
一切都好
请先参考一下这个帖子:

http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=44836&ID=44836
海纳百川  有容乃大
这个参考帖子,我早就看过了,但是在用软件实现的时候,发现还是有很多问题,自己解决不掉啊?
一切都好
我是这样想的,如果在执行读写片外的程序的时候,那么外设的ECS信号,XCS信号,会有一个跳变,以及所有的地址信号会有一个跳变去选择一个地址,但是当我用示波器观察的时候,都无变化阿?肯定是那个地方我还是没有弄清楚!版主能帮我看一下吗?
一切都好
首先你对扩展地址的理解就不正确。对NE64来说,并非地址超过0x10000的地址为扩展地址,相反,地址为0x8000~0xBFFF的地址才是扩展地址。希望你先仔细看一下几个关于S12扩展方式的文档。
海纳百川  有容乃大
谢谢版主,看来我对这方面的理解不正确,我是这样想的,A0-----A13和XA14-----XA19刚好构成20位的线性地址,达到1M的寻址空间,由于用C编写程序的时候,不用考虑PPAGE寄存器,所以对于给定的不同地址,只要系统设为外部扩展宽模式,和将外部总线设置好,系统就会自动识别是片内地址,或者是片外地址啊?AN2287和按AN2408这些文档我都看过,好像还是不很理解,版主那儿有没有这样的设置和读写片外扩展地址RAM的例程啊?能否给小弟看看啊?EMAI:zhishen80@21cn.com; msn:gzshen@hotmail.com;qq:393487229
一切都好
AN2408后有示例程序呀。
海纳百川  有容乃大
返回列表