SCBX接口电路设计和编程_第1页
SCBX接口电路设计和编程_第2页
SCBX接口电路设计和编程_第3页
SCBX接口电路设计和编程_第4页
SCBX接口电路设计和编程_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SCBX接口电路设计和编程本章主要介绍:⑴EV44B0II开发板的存储和I/O地址空间分布⑵Bootloader在存储地址空间的分布情况。⑶电源时钟复位电路、BootFLASH

接口电路、SDRAM接口电路、网络USB及IIS接口电路、键盘数码管接口电路、LCD接口电路、触摸屏接口电路、串行口接口电路、IIC接口电路和A/D等接口电路等的设计及编程等。5.1MICETEKEV44B0II开发板简介

EV44B0II

是一个适用用于手持设备和一般应用的S3C44B0X处理器的开发平台。它包括S3C44B0X处理器、8位LCD连接器和触摸屏接口、10MHz外部时钟、1M×16位的Flash、4M×16位的SDRAM、2个RS232串行口、1个JTAG接口、1个并行调试接口、1个RTC、1个IIC

EEPROM、一个10/100MB网络接口、一个USB接口、一个具有扬声器和麦克的音频接口、一位8段码显示器、1个4×4键盘、特殊功能引脚和总线扩展接口。如图5-1所示5.1.1存储地址空间分配

EV44B0II有6个ROM/SRAMbank和2个ROM/SRAM/SDRAMbank,S3C44B0X

可以控制总线宽度和存取时间,存取时间由BANKCON0~7,总线宽度由BWSCON配置。bank0作为bootROM启动存储器,它的总线宽度由OM[1:0]控制,存储器大小端控制由ENDIAN控制,如图5-2所示。存储地址空间分布如图5-3所示。5.1.1存储地址空间分配EV44B0II有6个ROM/SRAMbank和2个ROM/SRAM/SDRAMbank,S3C44B0X

可以控制总线宽度和存取时间,存取时间由BANKCON0~7,总线宽度由BWSCON配置。

bank0作为bootROM启动存储器,它的总线宽度由OM[1:0]控制,存储器大小端控制由ENDIAN控制,如图5-2所示。存储地址空间分布如图5-3所示。配置程序如下:LDRr0,=SMRDATALDMIAr0,{r1-r13}LDRr0,=0x01c80000;BWSCONAddressSTMIAr0,{r1-r13}......SMRDATA:.word0x11110092@BWSCON.word0x00000600@GCS0,bootROM.word0x00007FFC@GCS1,Ethernet.word0x00007FFC@GCS2,USB.word0x00007FFC@GCS3,8-SEG.word0x00007FFC@GCS4,notuse.word0x00007FFC@GCS5,notuse.word0x00018000@GCS6SDRAM(Trcd=2,SCAN=8).word0x00018000@GCS7SDRAM(Trcd=2,SCAN=8).word0x00820591@Refresh(REFEN=1,TREFMD=0,@Trp=3.5(D)or4(SD),Trc=5(S),Tchr=3(D),RefCNT).word0x16@Banksize,32MB/32MB.word0x20@MRSR6(CL=2).word0x20@MRSR7(CL=2)参数说明如表5-1所示

寄存器地址值描述BWSCON0x1C800000x11110090Bank0=OM[1:0],Bank1~Bank7=16位,bank2,3=8位;BANKCON00x1C800040x00000600Tacc=10时钟周期;BANKCON10x1C800080x00007FFCTacs=4时钟周期;Tcos=4时钟周期;Tacc=14时钟周期;Toch=4时钟周期;Tacp=4时钟周期BANKCON20x1C8000C0x00007FFCTacs=4时钟周期;Tcos=4时钟周期;Tacc=14时钟周期;Toch=4时钟周期;Tacp=4时钟周期BANKCON30x1C800100x00007FFCTacs=4时钟周期;Tcos=4时钟周期;Tacc=14时钟周期;Toch=4时钟周期;Tacp=4时钟周期寄存器地址值描述BANKCON40x1C800140x00007FFCTacs=4时钟周期;Tcos=4时钟周期;Tacc=14时钟周期;Toch=4时钟周期;Tacp=4时钟周期BANKCON50x1C800180x00007FFCTacs=4时钟周期;Tcos=4时钟周期;Tacc=14时钟周期;Toch=4时钟周期;Tacp=4时钟周期BANKCON60x1C8001C0x00018000GCS6SDRAM(Trcd=2,SCAN=8)BANKCON70x1C800200x00018000GCS7SDRAM(Trcd=2,SCAN=8)REFRESH0x1C800240x00820591DRAM/SDRAM刷新控制寄存器寄存器地址值描述BANKSIZE0x1C800280x16SCLK允许;BANK6/7是8MB/8MBMRSRB60x1C8002C0x20MRSR6CL=2时钟周期MRSRB70x1C800300x20MRSR7CL=2时钟周期5.1.2I/O口配置

PA~PG端口引脚配置如表5-2所示,其中TP表示触摸屏,key表示键盘PortA(rPCONA=0x1FF)PortA功能引脚PortA功能引脚PortA功能引脚PA0ADDR0PA4ADDR19PA8ADDR23PA1ADDR16PA5ADDR20PA9OUTPUT(IIS)PA2ADDR17PA6ADDR21PA3ADDR18PA7ADDR22PortB(rPCONB=0x1CF)PortB功能引脚PortB功能引脚PortB功能引脚PB0SCKEPB4OUTPUT(IIS)PB8nGCS3PB1SCLKPB5OUTPUT(IIS)PB9OUTPUT(NC)PB2nSCASPB6nGCS1PB10OUTPUT(NC)PB3nSRASPB7nGCS2PortC(rPCONC=0x5F5FFFFF)PortC功能引脚PortC功能引脚PortC功能引脚PC0IISLRCKPC6VD5PC12TXD1PC1IISD0PC7VD4PC13RXD1PC2IISD1PC8nXDACK1PC14nRTS0PC3IISCLKPC9nXDREQ1PC15nCTS0PC4VD7PC10nRTS1PC5VD6PC11nCTS1PortD(rPCOND=0xAAAA)PortD功能引脚PortD功能引脚PortD功能引脚PD0VD0PD3VD3PD6VMPD1VD1PD4VCLKPD7VFRAMEPD2VD2PD5VLINEPortE(rPCONE=0x2552B)PortE功能引脚PortE功能引脚PortE功能引脚PE0FplloPE3USBPE6OUTPUT(TP)PE1TXD0PE4OUTPUT(TP)PE7OUTPUT(TP)PE2RXD0PE5OUTPUT(TP)PE8CODECLKPortF(rPCONF=0x2A)PortF功能引脚PortF功能引脚PortF功能引脚PF0IICSCLPF3nXBACK0PF6INPUT(key)PF1IICSDAPF4nXDREQ0PF7INPUT(key)PF2nWAITPF5INPUT(key)PF8INPUT(key)PortG(rPCONG=0x55FF)PortG功能引脚PortG功能引脚PortG功能引脚PG0EINT0PG3EINT3PG6OUTPUT(key)PG1EINT1PG4OUTPUT(key)PG7OUTPUT(key)PG2EINT2PG5OUTPUT(key)I/O端口初始化程序如下:voidPort_Init(void){rPCONA=0x1ff; rPDATA=0x0;rPCONB=0x1Cf;rPDATC=0x8400;rPCONC=0x5F5FFFFF; rPUPC=0x33ff;rPCOND=0xaaaa; rPUPD=0xff;rPCONE=0x2552b; rPUPE=0x0; rPDATE=0X60;rPCONF=0x2A;rPUPF=0x0;rPDATG=0x0;rPCONG=0x55FF;rPUPG=0x0;rSPUCR=0x7; //上拉禁止。

rEXTINT=0x22222022;//EINT7~EINT0下降沿触发。}5.1.3电源、时钟及复位电路1.电源

EV44B0II系统采用DC3.3V(最少850mA)供电,3.3V给MCU的I/O接口供电,3.3V经稳压芯片产生一个2.5V电压给ARM内核供电。2.时钟系统时钟源可以由晶体和外部时钟提供,它的选择控制由OM[3:2](在nRESET上升沿锁定)来决定。本系统采用10MHz晶体作为时钟源,OM[3:2]=00EXTCLK=VDD如图5-4所示。3.复位

nRESET至少保持5个时钟的低电平,当nRESET为高电平时,处理器进行初始化操作。5.1.4

MBL(MicetekBootLoader)介绍 MBL是驻留在EV44B0II板的一段小程序,约80KB。它可以打通EV44B0II板的通讯端口,如:Ethernet以太网口、USB口和串口,使板可以直接与PC机相连,从而达到下载和调试uClinux或其他应用程序。它驻留在低2MB的FLASH中,如图5-5所示。

在上电复位时,Flash的基址是0x0。所以MBL就会立刻被启动运行。在启动后,MBL把自己的代码拷贝到板子上SDRAM中,其他空间(约7MBytes)可以用来下载LinuxImage文件或其他应用程序,这些程序下载到SDRAM中的默认地址是0x0c008000。如图5-6所示。5.2存储器电路设计及编程EV44B0II存储系统包括一片1M×16位的FLASH(29LV160TE)和一片4M×16位的SDRAM(KM416S4020B)。5.2.1BOOTFLASH电路及编程1.电路

FLASH连接电路如图5-7所示,处理器通过片选nGCS0与片外FLASH芯片连接。由于是16位的FLASH,所以用CPU的地址线A1~A20来分别与FLASH的地址线A0~A19连接。

Flash的地址空间为0x00000000~0x00200000。

HY29LV160是HYUNDAI公司生产的Flash存储器,其主要特点有:⑴3V单电源供电,可使内部产生高电压进行编程和擦除操作;⑵支持JEDEC单电源Flash存储器标准和CFMI(CommonFlashMemoryInterface)特性;⑶只需向其命令寄存器写入标准的微处理器指令,具体编程、擦除操作由内部嵌入的算法实现,并且可以通过查询特定的引脚或数据线监控操作是否完成;⑷可以对任一扇区进行读、写或擦除操作,而不影响其它部分的数据。HY29LV160操作编程命令包括读、擦除、编程和复位等命令,如表5-3所示。命令序列总步数第1步第2步第3步第4步第5步第6步地址数据地址数据地址数据地址数据地址数据地址数据读/复位字1XXXHF0H----------字节读/复位字3555HAAH2AAH55H555HF0HRARD--字节AAAH555HAAAH命令序列总步数第1步第2步第3步第4步第5步第6步地址数据地址数据地址数据地址数据地址数据地址数据自动选择字3555HAAH2AAH55H555H90H----字节AAAH555HAAAH编程字4555HAAH2AAH55H555HA0HRAPD--字节AAAH555HAAAH命令序列总步数第1步第2步第3步第4步第5步第6步地址数据地址数据地址数据地数据地址数据地址数据片擦除字6555HAAH2AAH55H555H80H.555HAAH2AAH55H555H10H字节AAAHAAH555HAAAHAAAH555HAAAH扇区擦除字6555HAAH2AAH55H555H80H555HAAH2AAH55H555H30H字节AAAHAAH555HAAAHAAAH555HAAAH2.29LV160TE芯片擦除

29LV160TE芯片具有3种擦除方式:整片擦除、扇区擦除和快擦除。主要来看进行扇区擦除。参考表5-3扇区擦除的操作流程,由此我们得到扇区擦除子程序的主体如下:voidF29LV160_EraseSector(inttargetAddr){Uart_Printf("SectorEraseisstarted!\n");_RESET();//芯片复位

_WR(0x555,0xaa);_WR(0x2aa,0x55);_WR(0x555,0x80);_WR(0x555,0xaa);_WR(0x2aa,0x55);_WR(BADDR2WADDR(targetAddr),0x30);_WAIT();//等待擦除结束

_RESET();//芯片复位}

其中_WR(addr,data)是写入一个字函数。addr为写入数据的目标地址,由于data为16位字而不是字节,addr也是字地址。对处理器而言地址是以字节为单位的,因此,addr必须加以调整,左移1位。

_WR(addr,data)函数:

#define_WR(addr,data)*((U16*)(addr<<1))=(U16)data#defineBADDAZWADDR(Addr)>>1)3.

编程写入

整片擦除之后,就能够在flash的任意地址中进行写入操作了。参考表5-3,得到字写入子程序的主体如下:intF29LV160_ProgFlash(U32realAddr,U16data){volatileU16*tempPt; inttemp,count=0; tempPt=(volatileU16*)realAddr; _WR(0x555,0xaa); _WR(0x2aa,0x55); _WR(0x555,0xa0); *tempPt=data; return_WAIT();}

在写入操作的最后,有一个判断写入是否完成的_WAIT()的过程。在这里我们采用Togglebit(翻转位)的方法检测DQ6脚的输出,若翻转停止则表示写入完成:int_WAIT(void)//检测DQ6输出是否停止翻转{volatileU16flashStatus,old;old=*((volatileU16*)0x0);while(1){ flashStatus=*((volatileU16*)0x0); if((old&0x40)==(flashStatus&0x40)) break;if(flashStatus&0x20) //测试超时标志位DQ5 { old=*((volatileU16*)0x0); flashStatus=*((volatileU16*)0x0); if((old&0x40)==(flashStatus&0x40)) return1;//无翻转

else return0;//翻转

} old=flashStatus;}return1;}详细程序参见EV44B0II实验程序。5.2.2SDRAM电路设计及编程

1.电路

SDRAM连接电路如图5-8所示,SDRAM分成4个Bank,每个Bank的容量为1M×l6位。

Bank的地址由BAl、BAO决定,00对应Bank0,01对应Bankl,10对应Bank2,11对应Bank3。在每个Bank中,分别用行地址脉冲选通RAS和列地址脉冲选通CAS进行寻址。

SDRAM由MCU专用SDRAM片选信号nSCS0选通,地址空间为0x0C000000~0x0C800000。2.编程

对特定地址的写入和读出操作:

#define_WR(addr,data)*((U16*)(addr<<1))=(U16)data

#define_RD(addr)(*((U16*)(addr<<1))) 5.3

网络、USB和IIS电路设计及编程5.3.1网络接口

SMSC9113同时具备MAC层和PHY物理接口功能芯片,它使用中断通知S3C44B0X数据的发送和接收。

S3C44b0X是使用nGCS1和数据地址线访问SMSC9113的内部寄存器和缓冲区。

TS6121是隔离变压器,板上的LEDA和LEDB指示灯分别表示100M链路正常和网络接收发送,EV44B0II以太网部分的逻辑如图5-9所示。5.3.2USB电路USB接口电路如图5-10所示。5.3.3IIS电路设计及编程1.

电路接口IIS即音频数据接口,它是SONY、PHILIPS等电子巨头共同推出的接口标准。

IIS接口电路如图5-11所示。

该系统把IIS接口与PHILIPS公司的UDAl341TS音频数字信号编译码器相连接,得到MICROPHONE音频输入通道和SPEAKER音频输出通道。

UDAl341TS可把立体声模拟信号转化为数字信号,同样也能把数字信号转换成模拟信号,并可用PGA(可编程增益控制)、AGC(自动增益控制)对模拟信号进行处理。对于数字信号,该芯片提供了DSP数字音频处理功能。在实际中,UDAl341TS可广泛应用于MD、CD、Note—Book、PC和数码摄像机等。 S3C44B0X的IIS接口可与UDAl341TS的BCK、WS、DATAI、DATAO和SYSCLK相连。 对于UDAl341TS的L3总线,它是该芯片工作于微控制器输入模式时使用的,它包括L3DATA、L3MODE和L3CLOCK共3根接线,它们分别表示为微处理器接口数据线、微处理器接口模式线和微处理器接口时钟线。 通过这个接口,微处理器能够对UDAl341TS中的数字音频处理参数和系统控制参数进行配置。 但是S3C44B0X中没有设该专用接口,可通过通用I/O口进行扩展。2.编程IISInit()是初始化IIS接口函数, Playwave()是播放wav文件函数。分别介绍如下:(1)初始化IIS接口voidIISInit(void){rPCONE=(rPCONE&0xffff)+(<<16); //设置I/O口PE8输出CODECLK信号

Init341();

//初始化UDA1341芯片}(2)UDA1341TS初始化voidInit1341(){//配置与L3接口相连的I/O口

rPCONA=0x1ff;//设置PA9为输出,PA9连接L3DrPCONB=0x7CF;//设置连接L3M的PB5和连接L3C的PB4端口

rPDATB=L3M|L3C;//设置起始L3M和L3C输出高电平

//通过L3总线初始化1341芯片_WrL3Addr(0x14+2); //写状态地址000101x=10_WrL3Data(0x60,0); //0,1,10,000,0复位,2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论