S3C44B0X接口电路设计与编程.ppt
《S3C44B0X接口电路设计与编程.ppt》由会员分享,可在线阅读,更多相关《S3C44B0X接口电路设计与编程.ppt(134页珍藏版)》请在三一办公上搜索。
1、第 5 章S3C44B0X 接口电路设计与编程,第5章 主要内容,EV44B0II开发板的存储和I/O地址空间分布 Boot loader在存储地址空间的分布情况。电源时钟复位电路、Boot FLASH 接口电路、SDRAM接口电路、网络USB及IIS接口电路、键盘数码管接口电路、LCD接口电路、触摸屏接口电路、串行口接口电路、IIC接口电路和A/D等接口电路等的设计及编程等。,第5章 目录,1.MICETEK EV44B0II开发板2.存储器电路设计及编程3.网络、USB和IIS电路设计及编程4.人机接口电路设计及编程5.串行接口电路设计及编程,6 IIC接口电路设计及编程7 其他接口电路设
2、计及编程,第5章 目录,1.MICETEK EV44B0II开发板2.存储器电路设计及编程3.网络、USB和IIS电路设计及编程4.人机接口电路设计及编程5.串行接口电路设计及编程,6 IIC接口电路设计及编程7 其他接口电路设计及编程,5.1 MICETEC EV44B0开发板简介,简介,MICETEK EV44B0II实验平台是由上海祥佑数码公司开发的,并配有HITOOL FOR ARM 和HITOOL FOR uCLinux 在线调试软件。EV44B0II 是一个适用用于手持设备和一般应用的S3C44B0X处理器的开发平台。,EV44B0II功能模块,EV44B0II有6个ROM/SRA
3、M bank和2个ROM/SRAM/SDRAM bank,S3C44B0X 可以控制总线宽度和存取时间,存取时间由BANKCON07,总线宽度由BWSCON配置。,存储地址空间分布,存储地址空间分配,5.1 MICETEC EV44B0开发板简介,-地址空间配置参数,存储地址空间分配,5.1 MICETEC EV44B0开发板简介,-地址空间配置参数,存储地址空间分配,5.1 MICETEC EV44B0开发板简介,-地址空间配置参数,存储地址空间分配,5.1 MICETEC EV44B0开发板简介,-配置程序如下:,存储地址空间分配,LDR r0,=SMRDATALDMIA r0,r1-r1
4、3LDR r0,=0 x01c80000;BWSCON AddressSTMIA 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,5.1 MICETEC EV44B0开发板简介,-配置程序如下:,存储地址空间分
5、配,.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 MICETEC EV44B0开发板简介,I/O口配置,对PA _PG 端口的引脚
6、配置,每个端口包括一个控制寄存器,一个数据寄存器,,5.1 MICETEC EV44B0开发板简介,I/O口配置,-I/O端口初始化程序如下:,rPCONA=0 x1ff;rPDATA=0 x0;rPCONB=0 x1Cf;rPDATC=0 x8400;rPCONC=0 x5F5FFFFF;rPUPC=0 x33ff;rPCOND=0 xaaaa;rPUPD=0 xff;,端口A,5.1 MICETEC EV44B0开发板简介,端口B,端口C,端口D,I/O口配置,-I/O端口初始化程序如下:,rPCONE=0 x2552b;rPUPE=0 x0;rPDATE=0X60;rPCONF=0 x2
7、A;rPUPF=0 x0;rPDATG=0 x0;rPCONG=0 x55FF;rPUPG=0 x0;rSPUCR=0 x7;/上拉禁止。rEXTINT=0 x22222022;/EINT7EINT0下降沿触发。,端口E,5.1 MICETEC EV44B0开发板简介,端口F,端口G,电源,EV44B0II系统采用DC 3.3V(最少850mA)供电,3.3V给MCU的I/O接口供电,3.3V经稳压芯片产生一个2.5V电压给ARM内核供电。,5.1 MICETEC EV44B0开发板简介,时钟,系统时钟源可以由晶体和外部时钟提供,它的选择控制由OM3:2(在nRESET上升沿锁定)来决定。本系
8、统采用10MHz晶体作为时钟源,OM3:2=00 EXTCLK=VDD,5.1 MICETEC EV44B0开发板简介,复位,nRESET至少保持5个时钟的低电平,当nRESET为高电平时,处理器进行初始化操作。,5.1 MICETEC EV44B0开发板简介,MBL介绍,MBL(Micetec Boot Loader)是驻留在EV44B0II板的一段小程序,约80KB。它可以打通EV44B0II板的通讯端口,如:Ethernet以太网口、USB口和串口,使板可以直接与PC机相连,从而达到下载和调试uClinux或其他应用程序。它驻留在低2MB的FLASH中,,5.1 MICETEC EV44
9、B0开发板简介,MBL介绍,5.1 MICETEC EV44B0开发板简介,MBL介绍,在上电复位时,Flash的基址是0 x0。所以MBL就会立刻被启动运行。在启动后,MBL把自己的代码拷贝到板子上SDRAM中,其他空间(约7M Bytes)可以用来下载Linux Image文件或其他应用程序,这些程序下载到SDRAM中的默认地址是0 x0c008000。,5.1 MICETEC EV44B0开发板简介,MBL介绍,5.1 MICETEC EV44B0开发板简介,第5章 目录,1.MICETEK EV44B0II开发板2.存储器电路设计及编程3.网络、USB和IIS电路设计及编程4.人机接口
10、电路设计及编程5.串行接口电路设计及编程,6 IIC接口电路设计及编程7 其他接口电路设计及编程,5.2 存储器电路设计及编程,BooT FLASH 电路及编程,EV44B0II存储系统包括一片1M16位的FLASH(29LV160TE)和一片4M16位的SDRAM(KM416S4020B)。,FLASH连接电路,-简介,处理器通过片选nGCS0与片外FLASH芯片连接,5.2 存储器电路设计及编程,BooT FLASH 电路及编程,HY29LV160是HYUNDAI公司生产的Flash存储器。HY29LV160操作编程命令包括读、擦除、编程和复位等命令,-29LV160TE芯片擦除,5.2
11、存储器电路设计及编程,BooT FLASH 电路及编程,29LV160TE芯片具有3种擦除方式:整片擦除、扇区擦除和快擦除,-29LV160TE芯片擦除,扇区擦除,: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();/芯片复位:,5.2 存储器电路设计及编程,BooT FLASH 电路及编程,-编程写入,int F29L
12、V160_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()的过程,5.2 存储器电路设计及编程,BooT FLASH 电路及编程,-编程写入,int _WAIT(void)/检测DQ6输出是否停止翻转 volatile U16 flashStatus
13、,old;old=*(volatile U16*)0 x0);while(1)flashStatus=*(volatile U16*)0 x0);if(old,5.2 存储器电路设计及编程,BooT FLASH 电路及编程,-编程写入,flashStatus=*(volatile U16*)0 x0);if(old详细程序参见EV44B0II实验程序。,5.2 存储器电路设计及编程,SDRAM电路设计及编程,-电路,SDRAM分成4个Bank,每个Bank的容量为1Ml6位。在每个Bank中,分别用行地址脉冲选通RAS和列地址脉冲选通CAS进行寻址。SDRAM由MCU专用SDRAM片选信号nS
14、CS0选通,地址空间为0 x0C0000000 x0C800000。,5.2 存储器电路设计及编程,SDRAM电路设计及编程,-编程,对特定地址的写入和读出操作:#define _WR(addr,data)*(U16*)(addr1)=(U16)data#define _RD(addr)(*(U16*)(addr1),第5章 目录,1.MICETEK EV44B0II开发板2.存储器电路设计及编程3.网络、USB和IIS电路设计及编程4.人机接口电路设计及编程5.串行接口电路设计及编程,6 IIC接口电路设计及编程7 其他接口电路设计及编程,5.3网络、USB和IIS电路设计及编程,网络接口,
15、SMSC9113同时具备MAC层和PHY物理接口功能芯片,它使用中断通知S3C44B0X数据的发送和接收。S3C44b0X是使用nGCS1和数据地址线访问SMSC9113的内部寄存器和缓冲区。,电路结构,隔离变压器,5.3 存储器电路设计及编程,USB电路,USB接口电路示意图,5.3 存储器电路设计及编程,IIS电路设计及编程,IIS即音频数据接口,S3C44B0X的IIS接口可与UDAl341TS的BCK、WS、DATAI、DATAO和SYSCLK相连。通过这个接口,微处理器能够对UDAl341TS中的数字音频处理参数和系统控制参数进行配置。但是S3C44B0X中没有设该专用接口,可通过通
16、用I/O口进行扩展。,-电路接口,5.3 存储器电路设计及编程,IIS电路设计及编程,-电路接口,IIS接口电路示意图,5.3 存储器电路设计及编程,IIS电路设计及编程,IISInit()是初始化IIS接口函数,-编程,void IISInit(void)rPCONE=(rPCONE/初始化UDA1341芯片,5.3 存储器电路设计及编程,IIS电路设计及编程,IISInit()=init341(),-编程,void Init1341()/配置与L3接口相连的I/O口 rPCONA=0 x1ff;/设置PA9为输出,PA9连接L3D rPCONB=0 x7CF;/设置连接L3M的PB5和连接
17、L3C的PB4端口,5.3 存储器电路设计及编程,IIS电路设计及编程,IISInit()=init341(),-编程,rPDATB=L3M|L3C;/设置起始L3M和L3C输出高/电平,通过L3总线初始化1341芯片 _WrL3Addr(0 x14+2);/写状态地址000101x=10_WrL3Data(0 x60,0);/0,1,10,000,0复位,256fs,无/直流滤波器,IIS_WrL3Addr(ox14+2);/写状态地址000101xx+10_WrL3Data(0 x20,0);/0,0,10,000,0无复位,256fs,无直流滤波器,IIS,5.3 存储器电路设计及编程,
18、IIS电路设计及编程,IISInit()=init341(),-编程,_WrL3Addr(0 x14+2);/写状态地址000101xx+10_WrL3Data(0 x81,0);/1,0,0,0,0,0,11 OGS=0,IGS=0,ADC_NI/DAC_NI,sngl speed,AonDon_WrL3Addr(0 x14+0);/写DATA0地址000101xx+10_WrL3Data(0 x0A,0);,_WrL3Addr(U8 data)通过L3总线接口写控制数据地址(data)到1341芯片,_WrL3Data(U8 data,int halt)通过L3总线接口写控制数据(data
19、和停止操作)到1341芯片,5.3 存储器电路设计及编程,IIS电路设计及编程,Playwave()是播放wav文件函数,-编程,void Playwave()int sound_len,i;unsigned short*pWavFile;pWavFile=(unsigned short*)0 xC030000;/wav文件数据地址 rINTMOD=0 x0;rINTCON=0 x1;/使能中断,Playwave()程序运行前须将wav文件下载到指定RAM区域,地址为0 xC030000,5.3 存储器电路设计及编程,IIS电路设计及编程,Playwave()是播放wav文件函数,-编程,pI
20、SR_BDMA0=(unsigned)BDMA0_Done;/设置BDMA中断 rINTMSK=(BIT_GLOBAL|BIT_BDMA0);for(;)/循环播放声音文件/初始化变量iDMADone=0;/初始化DMA中断结束标志sound_len=155956;/设置声音数据长度,未处理文/件头,5.3 存储器电路设计及编程,IIS电路设计及编程,Playwave()是播放wav文件函数,-编程,rBDISRC0=(130)+(128)+(int)(pWavFile);/DMA源:16位数据,增长方/式,外存储区rBDIDES0=(130)+(328)+(int)rIISFIF);/DMA
21、目的:M2IO,内部模块,IISFIF/设置DMA请求源为IIS,中断方式,自动重载,使能DMArBDICNT0=(130)+(126)+(322)+(021)+(120)+sound_len;rBDCON0=0X02;,5.3 存储器电路设计及编程,IIS电路设计及编程,Playwave()是播放wav文件函数,-编程,/IIS初始化 rIISCON=0 x22;/使能发送DMA,接收空闲,使能分频 rIISMOD=0 xC9;/主模式,发送,发送模式,左通道 低电平,/IIS格式,16位/数据,256fs,32fs rIISPSR=0 x22;/分频因子 rIISFCON=0 xF00;/
22、接收、发送DMA模式,使能FIFO rIISCON|=0 x1;/使能IIS while(iDMADone=0);/等待直到DMA传送结束 rIISCON=0 x0;/禁止IIS,5.3 存储器电路设计及编程,IIS电路设计及编程,BDMA0中断处理函数,-编程,BDMA0_Done()是BDMA0中断处理函数。void BDMA0_Done(void)rI_ISPC=BIT_BDMA0;/清除中断挂起位 iDMADone=1;/设置中断结束标志,第5章 目录,1.MICETEK EV44B0II开发板2.存储器电路设计及编程3.网络、USB和IIS电路设计及编程4.人机接口电路设计及编程5.
23、串行接口电路设计及编程,6 IIC接口电路设计及编程7 其他接口电路设计及编程,5.4 人机接口电路设计及编程,键盘电路设计及编程,-电路,5.4 人机接口电路设计及编程,键盘电路设计及编程,-电路,该键盘采用中断扫描方式进行工作,行线选用PORTG47输出,列线选用PORTF58为输入。行线接上拉电阻保持高电平,并通过“与”门将输出信号与MCU的中断EXINT0连接;列线接上拉电阻保持高电平。,5.4 人机接口电路设计及编程,键盘电路设计及编程,-编程,I/O口初始化和中断初始化,5.4 人机接口电路设计及编程,键盘电路设计及编程,-编程,I/O口初始化和中断初始化,rPDATE=0X60;
24、rPCONF=0 x2A;/列线PORTF58为输入 rPUPF=0 x0;/列线接上拉电阻 rPDATG=0 x0;rPCONG=0 x55FF;/行线PORTG47输出,/PORTG0作为EXINT0连接rPUPG=0 x0;/行线接上拉电阻,5.4 人机接口电路设计及编程,键盘电路设计及编程,-编程,I/O口初始化和中断初始化,rINTCON=0 x5;/非向量模式,IRQ 允许,FIQ 禁止rINTMOD=0 x0;/全部IRQ 模式rINTMSK=(BIT_GLOBAL|BIT_EINT0);/EXINT0允许,所有中断屏蔽位允许pISR_EINT0=(unsigned)keyboa
25、rd_ISR;/指定中断服务程序,5.4 人机接口电路设计及编程,键盘电路设计及编程,-编程,void keyboard_ISR(void)程序,将行线PORTG47输出为低电平,当有键盘按下时,该行线被拉为低电平,使得EXINT0输入也为低电平,MCU产生中断。中断产生后通过对键盘的行和列进行扫描的方法,可以计算出是哪个键按下,并跳到相应的键盘处理程序中去。,5.4 人机接口电路设计及编程,键盘电路设计及编程,-编程,void keyboard_ISR(void)程序,void keyboard_ISR(void)char x,y,xrecord,yrecord,temp;rI_ISPC=B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S3C44B0X 接口 电路设计 编程

链接地址:https://www.31ppt.com/p-5447100.html