1 / 134

第 5 章 S3C44B0X 接口电路设计与编程

第 5 章 S3C44B0X 接口电路设计与编程. 第 5 章 主要内容. ⑴ EV44B0II 开发板的存储和 I/O 地址空间分布 ⑵ Boot loader 在存储地址空间的分布情况。 ⑶ 电源时钟复位电路、 Boot FLASH 接口电路、 SDRAM 接口电路、网络 USB 及 IIS 接口电路、键盘数码管接口电路、 LCD 接口电路、触摸屏接口电路、串行口接口电路、 IIC 接口电路和 A/D 等接口电路等的设计及编程等。. 第 5 章 目录. 6 IIC 接口电路设计及编程 7 其他接口电路设计及编程.

enid
Download Presentation

第 5 章 S3C44B0X 接口电路设计与编程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 5 章S3C44B0X接口电路设计与编程

  2. 第5章 主要内容 ⑴ EV44B0II开发板的存储和I/O地址空间分布 ⑵ Boot loader在存储地址空间的分布情况。 ⑶ 电源时钟复位电路、Boot FLASH接口电路、SDRAM接口电路、网络USB及IIS接口电路、键盘数码管接口电路、LCD接口电路、触摸屏接口电路、串行口接口电路、IIC接口电路和A/D等接口电路等的设计及编程等。

  3. 第5章 目录 • 6 IIC接口电路设计及编程 • 7 其他接口电路设计及编程 • 1.MICETEK EV44B0II开发板 • 2.存储器电路设计及编程 • 3.网络、USB和IIS电路设计及编程 • 4.人机接口电路设计及编程 • 5.串行接口电路设计及编程

  4. 第5章 目录 • 6 IIC接口电路设计及编程 • 7 其他接口电路设计及编程 • 1.MICETEK EV44B0II开发板 • 2.存储器电路设计及编程 • 3.网络、USB和IIS电路设计及编程 • 4.人机接口电路设计及编程 • 5.串行接口电路设计及编程

  5. 5.1 MICETEC EV44B0开发板简介 • 简介 MICETEK EV44B0II实验平台是由上海祥佑数码公司开发的,并配有HITOOL FOR ARM和HITOOL FOR uCLinux在线调试软件。 EV44B0II 是一个适用用于手持设备和一般应用的S3C44B0X处理器的开发平台。 EV44B0II功能模块

  6. 5.1 MICETEC EV44B0开发板简介 • 存储地址空间分配 EV44B0II有6个ROM/SRAM bank和2个ROM/SRAM/SDRAM bank,S3C44B0X 可以控制总线宽度和存取时间,存取时间由BANKCON0~7,总线宽度由BWSCON配置。 存储地址空间分布

  7. 5.1 MICETEC EV44B0开发板简介 • 存储地址空间分配 --------地址空间配置参数

  8. 5.1 MICETEC EV44B0开发板简介 • 存储地址空间分配 --------地址空间配置参数

  9. 5.1 MICETEC EV44B0开发板简介 • 存储地址空间分配 --------地址空间配置参数

  10. 5.1 MICETEC EV44B0开发板简介 • 存储地址空间分配 --------配置程序如下: LDR r0, =SMRDATA LDMIA r0, {r1-r13} LDR r0, =0x01c80000 ; BWSCON Address STMIA r0, {r1-r13} ...... SMRDATA: .word 0x11110092 @ BWSCON .word 0x00000600 @ GCS0, boot ROM .word 0x00007FFC @ GCS1, Ethernet .word 0x00007FFC @ GCS2, USB .word 0x00007FFC @ GCS3, 8-SEG .word 0x00007FFC @ GCS4, not use .word 0x00007FFC @ GCS5, not use

  11. 5.1 MICETEC EV44B0开发板简介 • 存储地址空间分配 --------配置程序如下: .word 0x00018000 @ GCS6 SDRAM(Trcd=2,SCAN=8) .word 0x00018000 @ GCS7 SDRAM(Trcd=2,SCAN=8) .word 0x00820591 @ Refresh(REFEN=1,TREFMD=0, @ Trp=3.5(D)or4(SD), @ Trc=5(S), Tchr=3(D), Ref CNT) .word 0x16 @ Bank size, 32MB/32MB .word 0x20 @ MRSR 6(CL=2) .word 0x20 @ MRSR 7(CL=2)

  12. 5.1 MICETEC EV44B0开发板简介 • I/O口配置 对PA __PG 端口的引脚配置, 每个端口包括一个控制寄存器,一个数据寄存器,

  13. 5.1 MICETEC EV44B0开发板简介 • I/O口配置 --------I/O端口初始化程序如下: rPCONA=0x1ff; rPDATA=0x0; rPCONB=0x1Cf; rPDATC=0x8400; rPCONC=0x5F5FFFFF; rPUPC=0x33ff; rPCOND=0xaaaa; rPUPD=0xff; 端口A 端口B 端口C 端口D

  14. 5.1 MICETEC EV44B0开发板简介 • I/O口配置 --------I/O端口初始化程序如下: rPCONE=0x2552b; rPUPE=0x0; rPDATE=0X60; rPCONF=0x2A; rPUPF=0x0; rPDATG=0x0; rPCONG=0x55FF; rPUPG=0x0; rSPUCR=0x7; //上拉禁止。 rEXTINT=0x22222022; // EINT7~EINT0下降沿触发。 端口E 端口F 端口G

  15. 5.1 MICETEC EV44B0开发板简介 • 电源 EV44B0II系统采用DC 3.3V(最少850mA)供电,3.3V给MCU的I /O接口供电,3.3V经稳压芯片产生一个2.5V电压给ARM内核供电。

  16. 5.1 MICETEC EV44B0开发板简介 • 时钟 系统时钟源可以由晶体和外部时钟提供,它的选择控制由OM[3:2](在nRESET上升沿锁定)来决定。本系统采用10MHz晶体作为时钟源,OM[3:2]=00 EXTCLK=VDD

  17. 5.1 MICETEC EV44B0开发板简介 • 复位 nRESET至少保持5个时钟的低电平,当nRESET为高电平时,处理器进行初始化操作。

  18. 5.1 MICETEC EV44B0开发板简介 • MBL介绍 MBL(Micetec Boot Loader)是驻留在EV44B0II板的一段小程序, 约80KB。 它可以打通EV44B0II板的通讯端口,如:Ethernet以太网口、USB口和串口,使板可以直接与PC机相连,从而达到下载和调试uClinux或其他应用程序。 它驻留在低2MB的FLASH中,

  19. 5.1 MICETEC EV44B0开发板简介 • MBL介绍

  20. 5.1 MICETEC EV44B0开发板简介 • MBL介绍 在上电复位时,Flash的基址是0x0。所以MBL就会立刻被启动运行。 在启动后,MBL把自己的代码拷贝到板子上SDRAM中,其他空间(约7M Bytes)可以用来下载Linux Image文件或其他应用程序,这些程序下载到SDRAM中的默认地址是0x0c008000。

  21. 5.1 MICETEC EV44B0开发板简介 • MBL介绍

  22. 第5章 目录 • 6 IIC接口电路设计及编程 • 7 其他接口电路设计及编程 • 1.MICETEK EV44B0II开发板 • 2.存储器电路设计及编程 • 3.网络、USB和IIS电路设计及编程 • 4.人机接口电路设计及编程 • 5.串行接口电路设计及编程

  23. 5.2 存储器电路设计及编程 ---------简介 • BooT FLASH 电路及编程 EV44B0II存储系统包括一片1M×16位的FLASH(29LV160TE)和一片4M×16位的SDRAM(KM416S4020B)。 FLASH连接电路

  24. 处理器通过片选nGCS0与片外FLASH芯片连接

  25. 5.2 存储器电路设计及编程 • BooT FLASH 电路及编程 -------29LV160TE芯片擦除 HY29LV160是HYUNDAI公司生产的Flash存储器。HY29LV160操作编程命令包括读、擦除、编程和复位等命令

  26. 5.2 存储器电路设计及编程 • BooT FLASH 电路及编程 -------29LV160TE芯片擦除 29LV160TE芯片具有3种擦除方式:整片擦除、扇区擦除和快擦除 扇区擦除

  27. RESET( ); //芯片复位 _WR(0x555,0xaa); _WR(0x2aa,0x55); _WR(0x555,0x80); _WR(0x555,0xaa); _WR(0x2aa,0x55); _WR(BADDR2WADDR(targetAddr),0x30); _WAIT( ); //等待擦除结束 _RESET( ); //芯片复位 :

  28. 5.2 存储器电路设计及编程 -------编程写入 • BooT FLASH 电路及编程 int F29LV160_ProgFlash(U32 realAddr,U16 data) { volatile U16 *tempPt; int temp,count=0; tempPt=(volatile U16 *)realAddr; _WR(0x555,0xaa); _WR(0x2aa,0x55); _WR(0x555,0xa0); *tempPt=data; return _WAIT( ); } 判断写入是否完成的_WAIT()的过程

  29. 5.2 存储器电路设计及编程 -------编程写入 • BooT FLASH 电路及编程 int _WAIT(void) //检测DQ6输出是否停止翻转 { volatile U16 flashStatus,old; old=*((volatile U16 *)0x0); while(1) { flashStatus=*((volatile U16 *)0x0); if( (old&0x40) == (flashStatus&0x40)) break; if( flashStatus&0x20 ) //测试超时标志位DQ5 { old=*((volatile U16 *)0x0);

  30. 5.2 存储器电路设计及编程 -------编程写入 • BooT FLASH 电路及编程 flashStatus=*((volatile U16 *)0x0); if( (old&0x40) == (flashStatus&0x40) ) return 1; //无翻转 else return 0; //翻转 } old=flashStatus; } return 1; } 详细程序参见EV44B0II实验程序。

  31. 5.2 存储器电路设计及编程 -------电路 • SDRAM电路设计及编程 SDRAM分成4个Bank,每个Bank的容量为1M×l6位。 在每个Bank中,分别用行地址脉冲选通RAS和列地址脉冲选通CAS进行寻址。 SDRAM由MCU专用SDRAM片选信号nSCS0选通,地址空间为0x0C000000~0x0C800000。

  32. 5.2 存储器电路设计及编程 -------编程 • SDRAM电路设计及编程 对特定地址的写入和读出操作: #define _WR(addr,data)*((U16 *)(addr<<1))=(U16)data #define _RD(addr)( *((U16 *)(addr<<1)) )

  33. 第5章 目录 • 6 IIC接口电路设计及编程 • 7 其他接口电路设计及编程 • 1.MICETEK EV44B0II开发板 • 2.存储器电路设计及编程 • 3.网络、USB和IIS电路设计及编程 • 4.人机接口电路设计及编程 • 5.串行接口电路设计及编程

  34. 5.3网络、USB和IIS电路设计及编程 • 网络接口 SMSC9113同时具备MAC层和PHY物理接口功能芯片,它使用中断通知S3C44B0X数据的发送和接收。 S3C44b0X是使用nGCS1和数据地址线访问SMSC9113的内部寄存器和缓冲区。 电路结构

  35. 隔离变压器

  36. 5.3 存储器电路设计及编程 • USB电路 USB接口电路示意图

  37. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------电路接口 IIS即音频数据接口,S3C44B0X的IIS接口可与UDAl341TS的BCK、WS、DATAI、DATAO和SYSCLK相连。通过这个接口,微处理器能够对UDAl341TS中的数字音频处理参数和系统控制参数进行配置。 但是S3C44B0X中没有设该专用接口,可通过通用I/O口进行扩展。

  38. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------电路接口 IIS接口电路示意图

  39. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 IISInit( )是初始化IIS接口函数 void IISInit(void) { rPCONE=(rPCONE&0xffff)+(<<16); //设置I/O口PE8输出CODECLK信号 Init341(); //初始化UDA1341芯片 }

  40. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 IISInit( )=== >>init341() void Init1341() { //配置与L3接口相连的I/O口 rPCONA=0x1ff; //设置PA9为输出,PA9连接L3D rPCONB=0x7CF; //设置连接L3M的PB5和连接L3C的PB4端口

  41. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 IISInit( )=== >>init341() rPDATB=L3M | L3C; //设置起始L3M和L3C输出高//电平,通过L3总线初始化1341芯片 _WrL3Addr(0x14+2);//写状态地址000101x=10 _WrL3Data(0x60,0); //0,1,10,000,0复位,256fs,无 //直流滤波器,IIS _WrL3Addr(ox14+2);//写状态地址000101xx+10 _WrL3Data(0x20,0); //0,0,10,000,0无复位,256fs, 无直流滤波器,IIS

  42. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 IISInit( )=== >>init341() _WrL3Addr(0x14+2); //写状态地址000101xx+10 _WrL3Data(0x81,0); //1,0,0,0,0,0,11OGS=0,IGS=0,ADC_NI //DAC_NI,sngl speed,AonDon _WrL3Addr(0x14+0); //写DATA0地址000101xx+10 _WrL3Data(0x0A,0); } _WrL3Addr(U8 data) 通过L3总线接口写控制数据地址(data)到1341芯片 _WrL3Data(U8 data,int halt)通过L3总线接口写控制数据(data和停止操作)到1341芯片

  43. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 Playwave( )是播放wav文件函数 void Playwave( ) { int sound_len,i; unsigned short* pWavFile; pWavFile=(unsigned short *)0xC030000; //wav文件数据地址 rINTMOD=0x0; rINTCON=0x1;//使能中断 Playwave( )程序运行前须将wav文件下载到指定RAM区域,地址为0xC030000

  44. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 Playwave( )是播放wav文件函数 pISR_BDMA0=(unsigned)BDMA0_Done; //设置BDMA中断 rINTMSK=~(BIT_GLOBAL|BIT_BDMA0); for(;;) //循环播放声音文件 {//初始化变量 iDMADone=0; //初始化DMA中断结束标志 sound_len=155956; //设置声音数据长度,未处理文 //件头

  45. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 Playwave( )是播放wav文件函数 rBDISRC0=(1<<30)+(1<<28)+((int)(pWavFile)); //DMA源:16位数据,增长方// 式,外存储区 rBDIDES0=(1<<30)+(3<<28)+((int)rIISFIF); //DMA目的:M2IO,内部模块,IISFIF //设置DMA请求源为IIS,中断方式,自动重载,使能DMA rBDICNT0=(1<<30)+(1<<26)+(3<<22)+(0<<21)+(1<<20)+sound_len; rBDCON0=0X0<<2;

  46. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 Playwave( )是播放wav文件函数 //IIS初始化 rIISCON=0x22;//使能发送DMA,接收空闲,使能分频 rIISMOD=0xC9;//主模式,发送,发送模式,左通道 低电平, // IIS格式,16位//数据,256fs,32fs rIISPSR=0x22;//分频因子 rIISFCON=0xF00;//接收、发送DMA模式,使能FIFO rIISCON|=0x1;//使能IIS while(iDMADone==0);//等待直到DMA传送结束 rIISCON=0x0;//禁止IIS } }

  47. 5.3 存储器电路设计及编程 • IIS电路设计及编程 -----------编程 BDMA0中断处理函数 BDMA0_Done()是BDMA0中断处理函数。 void BDMA0_Done(void) { rI_ISPC=BIT_BDMA0; //清除中断挂起位 iDMADone=1; //设置中断结束标志 }

More Related