资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第 5 章 S3C44B0X接口电路设计与编程,前面了解S3C44B0X的硬件结构,这里我们研究一下它的电路设计及编程方法,更深入地解析S3C44B0X的内部结构,同时也了解了基于EV44B0II开发板的设计开发思想。,本章主要介绍:, EV44B0II开发板的存储和I/O地址空间分布 Boot loader在存储地址空间的分布情况。 电源时钟复位电路、Boot FLASH 接口电路、SDRAM接口电路、网络USB及IIS接口电路、键盘数码管接口电路、LCD接口电路、触摸屏接口电路、串行口接口电路、IIC接口电路和A/D等接口电路等的设计及编程等。,5.1 MICETEK EV44B0II开发板简介,EV44B0II 是一个适用用于手持设备和一般应用的S3C44B0X处理器的开发平台。 它包括S3C44B0X处理器、8位LCD连接器和触摸屏接口、10MHz外部时钟、1M16位的Flash、4M16位的SDRAM、2个RS232串行口、1个JTAG接口、1个并行调试接口、1个RTC、1个IIC EEPROM、一个10/100MB网络接口、一个USB接口、一个具有扬声器和麦克的音频接口、一位8段码显示器、1个44键盘、特殊功能引脚和总线扩展接口。如图5-1所示,5.1.1 存储地址空间分配,EV44B0II有6个ROM/SRAM bank和2个ROM/SRAM/SDRAM bank,S3C44B0X 可以控制总线宽度和存取时间,存取时间由BANKCON07,总线宽度由BWSCON配置。 bank0作为boot ROM启动存储器,它的总线宽度由OM1:0控制,存储器大小端控制由ENDIAN控制,如图5-2所示。存储地址空间分布如图5-3所示。,配置程序如下:,LDR r0, =SMRDATA LDMIA r0, r1-r13 LDR r0, =0 x01c80000 ; BWSCON Address STMIA r0, r1-r13 . SMRDATA: .word 0 x11110092 BWSCON .word 0 x00000600 GCS0, boot ROM .word 0 x00007FFC GCS1, Ethernet .word 0 x00007FFC GCS2, USB .word 0 x00007FFC GCS3, 8-SEG,.word 0 x00007FFC GCS4, not use .word 0 x00007FFC GCS5, not use .word 0 x00018000 GCS6 SDRAM(Trcd=2,SCAN=8) .word 0 x00018000 GCS7 SDRAM(Trcd=2,SCAN=8) .word 0 x00820591 Refresh(REFEN=1,TREFMD=0, Trp=3.5(D)or4(SD), Trc=5(S), Tchr=3(D), Ref CNT) .word 0 x16 Bank size, 32MB/32MB .word 0 x20 MRSR 6(CL=2) .word 0 x20 MRSR 7(CL=2),参数说明如表5-1所示,5.1.2 I/O口配置,PAPG端口引脚配置如表5-2所示,其中TP表示触摸屏,key表示键盘,I/O端口初始化程序如下:,void Port_Init(void) rPCONA=0 x1ff; rPDATA=0 x0; rPCONB=0 x1Cf; rPDATC=0 x8400; rPCONC=0 x5F5FFFFF; rPUPC=0 x33ff; rPCOND=0 xaaaa; rPUPD=0 xff; rPCONE=0 x2552b;,rPUPE=0 x0; rPDATE=0X60; rPCONF=0 x2A; rPUPF=0 x0; rPDATG=0 x0; rPCONG=0 x55FF; rPUPG=0 x0; rSPUCR=0 x7; /上拉禁止。 rEXTINT=0 x22222022; / EINT7EINT0下降沿触发。 ,5.1.3 电源、时钟及复位电路,1.电源 EV44B0II系统采用DC 3.3V(最少850mA)供电,3.3V给MCU的I /O接口供电,3.3V经稳压芯片产生一个2.5V电压给ARM内核供电。 2.时钟 系统时钟源可以由晶体和外部时钟提供,它的选择控制由OM3:2(在nRESET上升沿锁定)来决定。本系统采用10MHz晶体作为时钟源,OM3:2=00 EXTCLK=VDD如图5-4所示。,3.复位 nRESET至少保持5个时钟的低电平,当nRESET为高电平时,处理器进行初始化操作。,5.1.4 MBL(Micetek Boot Loader)介绍,MBL是驻留在EV44B0II板的一段小程序, 约80KB。 它可以打通EV44B0II板的通讯端口,如:Ethernet以太网口、USB口和串口,使板可以直接与PC机相连,从而达到下载和调试uClinux或其他应用程序。 它驻留在低2MB的FLASH中,如图5-5所示。,在上电复位时,Flash的基址是0 x0。所以MBL就会立刻被启动运行。 在启动后,MBL把自己的代码拷贝到板子上SDRAM中,其他空间(约7M Bytes)可以用来下载Linux Image文件或其他应用程序,这些程序下载到SDRAM中的默认地址是0 x0c008000。如图5-6所示。,5. 2 存储器电路设计及编程,EV44B0II存储系统包括一片1M16位的FLASH(29LV160TE)和一片4M16位的SDRAM(KM416S4020B)。,5.2.1 BOOT FLASH电路及编程,1.电路 FLASH连接电路如图 5-7 所示,处理器通过片选nGCS0与片外FLASH芯片连接。 由于是16位的FLASH,所以用CPU的地址线A1A20来分别与FLASH的地址线A0A19连接。 Flash的地址空间为0 x000000000 x00200000。,HY29LV160是HYUNDAI公司生产的Flash存储器,其主要特点有: 3 V单电源供电,可使内部产生高电压进行编程和擦除操作; 支持JEDEC单电源Flash存储器标准和CFMI(Common Flash Memory Interface)特性; 只需向其命令寄存器写入标准的微处理器指令,具体编程、擦除操作由内部嵌入的算法实现,并且可以通过查询特定的引脚或数据线监控操作是否完成; 可以对任一扇区进行读、写或擦除操作,而不影响其它部分的数据。,HY29LV160操作编程命令包括读、擦除、编程和复位等命令,如表5-3 所示。,2. 29LV160TE芯片擦除,29LV160TE芯片具有3种擦除方式:整片擦除、扇区擦除和快擦除。主要来看进行扇区擦除。 参考表5-3扇区擦除的操作流程,由此我们得到扇区擦除子程序的主体如下:,void F29LV160_EraseSector(int targetAddr) Uart_Printf(Sector Erase is started!n); _RESET( ); /芯片复位 _WR(0 x555,0 xaa); _WR(0 x2aa,0 x55); _WR(0 x555,0 x80); _WR(0 x555,0 xaa); _WR(0 x2aa,0 x55); _WR(BADDR2WADDR(targetAddr),0 x30); _WAIT( ); /等待擦除结束 _RESET( ); /芯片复位 ,其中 _WR(addr,data)是写入一个字函数。addr 为写入数据的目标地址,由于 data 为 16 位字而不是字节,addr 也是字地址。对处理器而言地址是以字节为单位的,因此,addr 必须加以调整,左移 1 位。 _ WR(addr,data) 函数: #define _WR(addr,data)*(U16 *)(addr1),3. 编程写入,整片擦除之后,就能够在 flash 的任意地址中进行写入操作了。参考表5-3,得到字写入子程序的主体如下:,int F29LV160_ProgFlash(U32 realAddr,U16 data) volatile U16 *tempPt; int temp,count=0; tempPt=(volatile U16 *)realAddr; _WR(0 x555,0 xaa); _WR(0 x2aa,0 x55); _WR(0 x555,0 xa0); *tempPt=data; return _WAIT( ); ,在写入操作的最后,有一个判断写入是否完成的_WAIT()的过程。 在这里我们采用 Toggle bit(翻转位)的方法检测 DQ6 脚的输出,若翻转停止则表示写入完成:,int _WAIT(void) /检测DQ6输出是否停止翻转 volatile U16 flashStatus,old; old=*(volatile U16 *)0 x0); while(1) flashStatus=*(volatile U16 *)0 x0); if( (old,if( flashStatus 详细程序参见EV44B0II实验程序。,5.2.2 SDRAM电路设计及编程,1.电路,SDRAM连接电路如图5-8所示,SDRAM分成4个Bank,每个Bank的容量为1Ml6位。 Bank的地址由BAl、BAO决定,00对应Bank0,01对应Bankl,10对应Bank2,11对应Bank3。 在每个Bank中,分别用行地址脉冲选通RAS和列地址脉冲选通CAS进行寻址。 SDRAM由MCU专用SDRAM片选信号nSCS0选通,地址空间为0 x0C0000000 x0C800000。,2. 编程,对特定地址的写入和读出操作: #define _WR(addr,data)*(U16 *)(addr1)=(U16)data #define _RD(addr)( *(U16 *)(addr1) ),5.3网络、USB和IIS电路设计及编程,5.3.1 网络接口,SMSC9113同时具备MAC层和PHY物理接口功能芯片,它使用中断通知S3C44B0X数据的发送和接收。 S3C44b0X是使用nGCS1和数据地址线访问SMSC9113的内部寄存器和缓冲区。 TS6121是隔离变压器,板上的LEDA和LEDB指示灯分别表示100M链路正常和网络接收发送,EV44B0II以太网部分的逻辑如图5-9所示。,5.3.2 USB电路,USB 接口电路如图5-10所示。,5.3.3 IIS电路设计及编程,1. 电路接口,IIS即音频数据接口,它是SONY、PHILIPS等电子巨头共同推出的接口标准。 IIS接口电路如图5-11所示。,该系统把IIS接口与PHILIPS公司的UDAl341TS音频数字信号编译码器相连接,得到MICROPHONE音频输入通道和SPEAKER音频输出通道。 UDAl341TS可把立体声模拟信号转化为数字信号,同样也能把数字信号转换成模拟信号,并可用PGA(可编程增益控制)、AGC(自动增益控制)对模拟信号进行处理。 对于数字信号,该芯片提供了DSP数字音频处理功能。在实际中,UDAl341TS可广泛应用于MD、CD、NoteBook、PC和数码摄像机等。,S3C44B0X的IIS接口可与UDAl341TS的BCK、WS、DATAI、DATAO和SYSCLK相连。 对于UDAl341TS的L3总线,它是该芯片
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号