c6747的emifa访问异步外部存储

C6747访问adc,电路如图:

c6747的emifa访问异步外部存储_第1张图片

当CS4片选信号有效,EMA_A12为1时,74LV139译码电路的1Y1脚将有效,从而启动ADC转换。

       AD7656为16位芯片,C6747的EMIFA将其作为16位异步外部存储设备访问。在片选初始化的时候(void CEint()函数),片选4的异步数据总线选择为16位。

		AEMIF_A3CR = 0				//CE4
    		| ( 0 << 31 )           // selectStrobe
       	| ( 0 << 30 )           // extWait
      	| ( 15 << 26 )           // writeSetup  //1    //   0 ns
      	| ( 31 << 20 )           // writeStrobe //4    //  50 ns
      	| ( 7 << 17 )           // writeHold   //1    //   0 ns
      	| ( 24 << 13 )           // readSetup   //1    //   0 ns
      	| ( 24 << 7 )            // readStrobe //20     //  200 ns
      	| ( 2 << 4 )            // readHold   // 1    //  10 ns
       	| ( 3 << 2 )            // turnAround    //3  //  10 ns
       	| ( 1 << 0 );           // asyncSize       // 16-bit bus
此时EMIFA的地址线和16位异步存储设备的地址线对应如图:

c6747的emifa访问异步外部存储_第2张图片

(用户手册P710)

由图可见,EMA_A12对应的地址线为A13,故对应的偏移地址应为0x2000h,又因为该偏移地址为以16位数据为单元的半字地址(half word address),故需要转成字节地址,左移一位,为0x4000h,加上基地址0x64000000h,得到使片选4cs4信号有效,EMA_A12为高的地址为0x64004000h。(Uint16 *)0x64004000将0x64004000h转换为Uint16型的指针,*(Uint16 *)0x64004000取出指针所指单元的内容。



你可能感兴趣的:(DSP驱动,TMS320c6747,dsp,emifa)