第五章基于S3C44B0X的嵌入式系统应用开发实例6.1SamsungS3C44B0x处理器•ARM7TDMI,主时钟频率60MHz•8KBcache/SRAM•扩展存储控制器(带FP/EDO/SDRAM控制器,片选逻辑)•LCD控制器(可直接控制DSTN/STN的各种灰度/256彩色LCD屏,最大支持分辨率为1600*1600)•2通道UART,波特率可高达115200bps,并内置16ByteFIFO。•IIC接口•IIS接口(音频数据接口)•8通道10bitADC(采样速率为100KSPS)•5路PWM定时器&1路内部定时器•71个通用I/O端口和8个外部中断•2路GDMAs/2路外围DMAs•看门狗•电源控制器•实时时钟一、特点二、SamsungS3C44B0x处理器框图8571三、引脚6.2S3C44B0X存储控制器功能及应用开发一、S3C44B0X存储控制器空间划分Bank0Bank1Bank2Bank5Bank4Bank3Bank7Bank6二、S3C44B0X存储控制器功能1、大/小端模式选择2、Bank0总线宽度3、存储器地址连线三、S3C44B0X存储控制器的特殊功能寄存器1、总线宽度/等待控制寄存器(BWSCON)2、Bank控制寄存器(BANKCONn)3、刷新控制寄存器(REFRESH)4、Bank大小寄存器(BANKSIZE)5、模式设置寄存器(MRSR)12345MEMORYCONTROLLERSPECIALREGISGERS1.BUSWIDTH&WAITCONTROLREGISTER(BWSCON)实验P128、教材3022.BANKCONTROLREGISTER(BANKCONn:nGCS0-nGCS5)ProgrammingMemoryControllerMemoryInterfacewith16bitROMMemoryInterfacewith16bitSDRAM(4Mx16,4bank)BANKCONTROLREGISTER(BANKCONn:nGCS0-nGCS5)BANKCONTROLREGISTER(BANKCONn:nGCS6-nGCS7)6.3S3C44B0XI/O端口功能及应用开发S3C44B0X有71个复合功能的I/O口引脚,分成7个端口端口E和F(9位I/O口)端口D和G(8位I/O口)端口C(16位I/O口)端口A(10位I/O口)端口B(11位I/O口)一、S3C44B0XI/OPORTS在主程序开始前,必须定义每个I/O管脚的功能。在特殊功能不用时,作为I/O脚使用。二、S3C44B0X端口功能配置(P307)三、S3C44B0X端口的特殊功能寄存器(P308-P315)1PORTA特殊寄存器PCONA0x01D20000R/WportA的配置初始值0x3ffPDATA0x01D20004R/WportA的数据寄存器初始值Undef.位名称BIT描述PA9[9]0=Output1=ADDR24PA8[8]0=Output1=ADDR23PA7[7]0=Output1=ADDR22PA6[6]0=Output1=ADDR21PA5[5]0=Output1=ADDR20PA4[4]0=Output1=ADDR19PA3[3]0=Output1=ADDR18PA2[2]0=Output1=ADDR17PA1[1]0=Output1=ADDR16PA0[0]0=Output1=ADDR0数据寄存器位描述PA[9:0][9:0]当端口配置为输出口时,对应脚的状态和该位的值相同当端口配置作为功能脚时,如果读该位的值,将是一个不确定的值例1:发光二极管LED1和LED2与ARM芯片连接(实验P134)常用字符的段码表常用字符的段码表字符dpgfedcba共阴极共阳极0001111113FHC0H10000011006HF9H2010110115BHA4H3010011114FHB0H40110011066H99H5011011016DH92H6011111017DH82H70000011107HF8H8011111117FH80H9011011116FH90HA0111011177H88HB011111007CH83HC0011100139HC6HD010111105EHA1HE0111100179H86HF0111000171H8EH–0100000040HBFH.1000000080H7FH熄灭0000000000HFFH例2:数码管接口编写程序使实验板上8段数码管循环显示0到9,A到F字符。中断控制器(INTERRUPTCONTROLLER)1、支持30个中断源,包括8个外部中断源2、中断控制器支持26个中断信号,其中外部中断4/5/6/7复用到一个中断信号上(读EXTINTPND寄存器来判断)3、每个中断信号处理均可独立设置成FIQ或者IRQ模式4、中断信号处理均可采用矢量处理方法(vectorinterruptmode)或者非矢量处理方法5、支持中断优先级排队S3c44b0x中断控制器30个中断源ARM7TDMIIRQFIQ非矢量中断处理方式非矢量中断处理模式是一种传统的中断处理方法。当系统产生中断的时候,系统将interruptpending寄存器中对应中断的标志位置位,然后跳转到位于0x18处的统一中断处理函数中,该中断函数通过读取interruptpending寄存器来判断中断源,并根据优先级关系再跳转到对应中断源的处理代码内。矢量中断处理方式①矢量中断处理模式是当CPU读取位于0x18处的IRQ中断处理指令时候,②系统自动读取对应于该中断源的确定地址上的指令取代0x18处的指令,③通过跳转指令,系统就直接跳转到对应的中断处理函数中,④节省了中断处理时间,提高了中断处理速度。例如,ADC中断的矢量地址为0xC0,则在0xC0处放置以下代码:ldrpc,=HandlerADC/*mGKB*//*mGKB*/当ADC中断产生的时候,系统会自动调转到HandlerADC函数代码中。1、INTERRUPTCONTROLLEROPERATION(1)F-bitandI-bitofPSR(programstatusregister)IftheF-bitofPSR(programstatusregister)issetto1,theCPUdoesnotaccepttheFIQ.IfI-bitofPSRissetto1,theCPUdoesnotaccepttheIRQ.(2)中断模式InterruptMode(INTMOD)ARM7TDMIhas2typesofinterruptmode,FIQorIRQ.(3)中断挂起寄存器InterruptPendingRegister(INTPND)Whenapendingbitisset,theinterruptserviceroutinestartswhenevertheI-flagorF-flagisclearedto0.(相当中断请求寄存器)(4)中断屏蔽寄存器InterruptMaskRegister(INTMSK)Indicatesthataninterrupthasbeendisabledifthecorrespondingmaskbitis1.IfaninterruptmaskbitofINTMSKis0,theinterruptwillbeservicednormally.2、中断源(P145)EINT4,EINT5,EINT6,andEINT7sharethesameinterruptrequestline.Therefore,theISR(interruptserviceroutine)willdiscriminatethesefourinterruptsourcesbyreadingtheEXTINPND[3:0]register.EXTINPND[3:0]mustbeclearedbywritinga1intheISRafterthecorrespondingISRhasbeencompleted.PriorityGeneratingBlock固定的可编程的例3:1、使用按钮SB2触发EINT6,LED1亮,同时8段数码管由0到F显示1次,8段数码管显示完后,LED1熄灭。2、使用按钮SB3触发EINT7,LED2亮,同时8段数码管由F到0显示1次,8段数码管显示完后,LED2熄灭。键盘控制电路和程序设计8765J74321J7地址数据键控制例:地址:11111101,L3~L0:1110,X1=0,此时可检测键0~键3。(见P207表5-7)8765J74321J7LCD显示模块主要用于显示文本及图形信息。它具有重量轻、体积小、耗电量低、无辐射、平面直角显示以及影像稳定不闪烁等特点,广泛应用与于各类显示器件上如下图所示。液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。LCD有三种显示方式LCD有三种显示方式:反射型,透射型和透反射型。(1)反射型LCD的底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。(2)透射型LCD的底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用。(3)透反射型LCD是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用LCD。偏光片电极导电橡胶液晶偏光片配向膜玻璃电极胶框电极反射片玻璃反射型LCD的结构1、S3C44B0XLCD控制电路(P366)LCD控制器用来把定位在系统存储器中的视频缓冲区的LCD图象数据传输到LCD驱动器,并产生必须的LCD控制信号。嵌入式处理器LCD控制器LCD模块数据总线寄存器选择使能信号LCD控制器支持单色LCD、4级灰度(一个点占两位)、16级灰度(一个点占4位)显示,也能与彩色LCD的接口支持最大256色(每点8位)的显示。LCD控制器可以编程支持(640x480,320x240,160x160等等)、支持4位双扫描、4位单扫描、8位单扫描的LCD显示器,并支持水平/垂直卷动,用来支持更大的屏幕显示(如1280*1280)。2、液晶显示屏主参数主要考虑的参数有外形尺寸、分辨率、点宽、色彩模式等。EmbestS3CEV40实验板所选用的液晶屏(LRH9J515XASTN/BW)主要参数及其外形如下所示:3、S3C44B0XLCD控制框图S3C44B0X处理器集成了LCD控制器,支持4位单扫描、4位双扫描和8位单扫描工作方式。处理器使用内部RAM区作为显示缓存,并支持屏幕水平和垂直滚动显示。数据的传送采用DMA方式,以达到最小的延迟。4、S3C44B0X支持的扫描模式4位单扫描4位双扫描8位单扫描44位单扫描:位单扫描:显示控制器扫描线从左上角位置进行数据显示控制器扫描线从左上角位置进行数据显示。显示数据从显示。显示数据从VD[3:0]VD[3:0]获得;彩色液晶屏数据位代表获得;彩色液晶屏数据位代表RGBRGB色色44位双扫描位双扫描::显示控制器分别使用两个扫描线进行数据显显示控制器分别使用两个扫描线进行数据显示。显示数据从示。显示数据从VD[3:0]VD[3:0]获得高扫描数据;获得高扫描数据;VD[7:4]VD[7:4]获得低获得低扫描数据;彩色液晶屏数据位代表扫描数据;彩色液晶屏数据位代表RGBRGB色色。。88位单扫描位单扫描::显示控制器扫描线从左上角位置进行数据显显示控制器扫描线从左上角位置进行数据显示。显示数据从示。显示数据从VD[7:0]VD[7:0]获得;彩色液晶屏数据位代表获得;彩色液晶屏数据位代表RGBRGB色色。。5、LCD控制寄存器S3C44B0XLCD处理器所包含的可编程控制寄存器共有18个。6、LCDCONTROLLERSPECIALREGISTE