嵌入式系统原理与开发Ch6-S3C44B0X嵌入式微处理器课件_第1页
嵌入式系统原理与开发Ch6-S3C44B0X嵌入式微处理器课件_第2页
嵌入式系统原理与开发Ch6-S3C44B0X嵌入式微处理器课件_第3页
嵌入式系统原理与开发Ch6-S3C44B0X嵌入式微处理器课件_第4页
嵌入式系统原理与开发Ch6-S3C44B0X嵌入式微处理器课件_第5页
已阅读5页,还剩148页未读 继续免费阅读

下载本文档

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

文档简介

1、S3C44B0X嵌入式微处理器本课程的主要内容主要内容6.1 S3C44B0X简介6.2 S3C44B0X存储器控制器功能及应用开发6.4 S3C44B0X的GPIO端口功能及应用开发6.5 S3C44B0X 时钟电源管理功能及开发6.6 S3C44B0X的INTC功能及应用开发6.7 S3C44B0X的UART功能及应用开发6.8 S3C44B0X的WDT定时器功能及应用开发6.9 S3C44B0X的IIC定时器功能及应用开发6.10 S3C44B0X LCD功能及应用开发6.11 S3C44B0X的DMAC功能及应用开发6.12 S3C44B0X的RTC功能及应用开发6.13 S3C44B

2、0X的PWM定时器功能及应用开发6.14 S3C44B0X的IIS定时器功能及应用开发6.15 S3C44B0X的SIO定时器功能及应用开发6.16 S3C44B0X的ADC定时器功能及应用开发S3C44B0X嵌入式微处理器S3C44B0X是Samsung公司生产的基于ARM公司ARM7TDMI核的32位处理器;S3C44B0X是采用冯诺依曼结构的RISC处理器,主频可达66MHz。ARM7TDMI集成了一个Thumb代码压缩器、一个片上ICE断点调试器和一个32位硬件乘法器S3C44B0X提供了丰富的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化系统的成本。S3C44B0

3、X为手持设备和控制系统提供了高性价比和高性能的微控制器解决方案。6.1 S3C44B0X简介本节主要讨论S3C44B0X的功能、内特性和外特性。内特性主要讲述S3C44B0X的组成、结构和技术;外特性主要讲述S3C44B0X的引脚定义、功能等。6.1 S3C44B0X简介6.1.1 S3C44B0X的功能1.片上外设简介ARM7TDMI内核:0.25um工艺,2.5V,SAMBA II总线,主频66MHz;Cache:集成8KB指令/数据Cache;存储器控制器:FP/EDO/SDRAM控制,片选逻辑;LCD控制器:支持256色DSTN,一个LCD专用DMA通道;DMA控制器:2个通用DMA通

4、道;2个通道外设DMA;串行控制器:2个UART;1个SIO;1个I2C;1个IrDA;音频流控制器:1个多主的IIS;PWM控制器:5个PWM定时器,1个内部定时器;看门狗控制器:1个看门狗定时器;通用IO口控制器:71个通用编程IO口,8个外部中断源;6.1 S3C44B0X简介6.1.1 S3C44B0X的功能1.片上外设简介ADC控制器:8路10位ADC;具有日历功能的RTC;PLL时钟发生器;2.电压范围内核:2.5V;lI/O:3.0V3.6V;功耗控制模式:正常、低、休眠、停止;3.运行频率最高运行频率:66MHz;4.封装形式160LQFP/160FBGA;6.1 S3C44B

5、0X简介6.1.1 S3C44B0X的功能1.片上外设简介ADC控制器:8路10位ADC;具有日历功能的RTC;PLL时钟发生器;2.电压范围内核:2.5V;lI/O:3.0V3.6V;功耗控制模式:正常、低、休眠、停止;3.运行频率最高运行频率:66MHz;4.封装形式160LQFP/160FBGA;6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性S3C44B0X的内部结构如图6. 1所示。图6. :S3C44B0X的内特性ARM7TDMI核CPU单元JTAG控制器JTAG写缓冲器8KB Cache时钟发生器PLL系统总线总线仲裁器电源管理看门狗定时器系统总线桥&仲裁 / B

6、DMA(2路)ROM/SRAMDRAM/SDRAMLCDDMA|LCDCONT中断控制器IVCZDMA(2路)外围设备总线实时时钟RTCADCAIN7 : 0GPIO控制器I2C控制器IIS控制器UART0/1同步输入/输出PWM定时器04,5通用输入输出GPIO10M32.768K6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(1)系统存储管理工作模式:支持大端模式、小端模式;可以通过外部引脚选择,默认为小端模式;地址空间:包含8个独立地址空间(BANK07);每个地址空间为32MB,合计256MB;对齐方式:所有地址空间都可以8位、16位、32位对齐;存储类型:BANK0

7、-5起始地址固定但大小可编程的地址空间,可用于存储器(ROM、SRAM)和IO口扩展;BANK6-7起始地址固定、大小都可编程的地址空间,可用于ROM、SRAM、DRAM、SDRAM等存储器;BANK0的0 x01C000000 x01FFFFFF固定为片内特殊功能寄存器空间6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(2)Cache和片内SRAM4路组相连统一的8KB指令/数据Cache;未做Cache使用的0/4/8KB Cache空间可作为SRAM使用;具有4级深度的写缓冲;(3)时钟和功耗管理片上PLL使得MCU的工作时钟频率最高为66MHz;时钟可以通过软件选择性

8、地返回每个功能块;功耗模式:正常模式:正常运行模式;低速模式:不带PLL低频时钟;休眠模式:只使CPU的时钟停止;停止模式:所有时钟都停止;EINT7:0或RTC警告中断可使功耗管理从停止模式唤醒;6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(4)中断控制器30个中断源中断源分类说明表6. 1:中断源列表分类数量说明看门狗1个WDT计数器溢出中断定时器6个PWM定时器0-定时器5计数器溢出中断UART6个UART0-1错误中断、UART0-1接收中断、UART0-1发送中断外部中断8个独立外部中断0-3、共享外部中断4567DMA中断4个ZDMA中断0-1、BDMA中断0-

9、1RTC中断2个RTC报警中断、RTC滴答中断ADC中断1个ADC中断I中断1个IIC中断SIO中断1个SIO中断6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(4)中断控制器30个中断源;支持矢量IRQ中断;外部中断信号支持电平/边沿两种触发方式;可编程电平/边沿极性;支持FIQ中断;6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(5)带PWM(脉宽可调)的定时器5个16位的PWM定时器;1个16位基于DMA或基于中断的内部定时器;可编程工作周期、频率、极性;死区(Dead-zone)产生器;支持外部中断源;(6)实时时钟RTC工作模式:年月日时分秒毫秒星

10、期;运行频率:32.768KHz;CPU唤醒的警告中断;时间滴答(Time Tick)中断;6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(7)通用输入/输出端口8个外部中断端口;71个多功能复用GPIO端口;(8)UART2个基于DMA或基于中断的UART;支持5、6、7、8位数据传输;传输过程中,支持硬件握手逻辑;波特率可编程;支持IrDA1.0(115.2kbps);用于回路检测模式;每个通道有两个内部32B FIFO收发缓冲器;6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(9)DMA控制器2路通用的无CPU干涉的DMA控制器;2路桥式DMA(外设D

11、MA)控制器;支持IO到内存、内存到IO、IO到IO的桥式DMA传送;DMA请求方式:软件,内部4种功能块(UART、SIO、实时器、IIS),外部引脚;DMA间的优先级可编程;突发模式提高了FPDRAM、EDODRAM和SDRAM的传送速率;支持内存到外设的fly-by模式和外设到内存的传送模式;(10)ADC控制器8通道多路ADC;最高速率:100ksps/10位;6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(11)LDC控制器支持彩色/单色/灰度LCD支持单扫描和双扫描显示;支持虚拟显示功能;系统内存可作为显示内存;专用DMA用于从系统内存提取图像数据;可编程屏幕大小

12、;灰度16级;彩色模式:256色;(12)WDT看门狗定时器16位看门狗定时器;定时中断请求,或系统超时复位;6.1 S3C44B0X简介6.1.2 S3C44B0X的内特性(13)I2C总线控制器1个基于中断操作的多主I2C总线;8位双向串行数据收发器;标准工作模式:100kbps;快速工作模式:400kbps;(14)IIS(音频接口)总线控制器1路基于DMA操作的音频IIS总线接口;每个通道8/16位数据传送;支持MSB可调整的数据格式;(15)SIO(同步串行I/O)总线控制器1路基于DMA的或基于中断的SIO;波特率可编程;支持8位SIO串行数据收发;6.1 S3C44B0X简介6.

13、1.3 S3C44B0X的外特性(1)引脚分类:如图6. 2所示。6.1 S3C44B0X简介6.1.3 S3C44B0X的外特性(3)总线控制类主要与总线扩展(包括存储器扩展和IO口扩展)相关信号。表6. 2:S3C44B0X引脚定义-总线控制类信号类型描述1 : 0I1 : 000011011设置模式nGCS0 DB=8位nGCS0 DB=16位nGCS0 DB=32位TestADDR24 : 0O地址总线。DATA31 : 0I/O数据总线:存储器存取时,可编程为/32位。nGCS7 : 0O通用片选,nGCS7 : 0=BANK7 0,nGCSn有效时BANKn被选中。nWEO写使能,

14、指示当前总线周期为写周期。nWBE3 : 0O写字节使能,控制存储器存取。nBE3 : 0O高字节/低字节使能,SRAM使用。nOEO输出使能,指示当前总线周期为读周期。nXBREOI总线保持请求,允许另一个主控器请求本地总线控制。nXBACKO总线保持应答,指示S44B0X释放总线,另一个主控器获得总线控制权。nWAITIL请求插入一个等待周期。ENDIANI选择存储器模式:1为大端模式(Big Endian)、0为小端模式(Little Endian)符号描述I:输入;O:输入;L:低电平;H高电平;U:上升沿;D:下降沿;P:脉冲;6.1 S3C44B0X简介6.1.3 S3C44B0X

15、的外特性(4)存储器信号主要是与SDRAM接口相关的信号。表6. 3:S3C44B0X引脚定义-存储器信号信号类型描述nRAS1 : 0O行地址锁存信号nCAS3 : 0O列地址锁存信号nSRASOSDRAM行地址锁存信号nSCASOSDRAM列地址锁存信号nSCS1 : 0OSDRAM片选信号DOM 3 : 0OSDRAM数据输入输出屏蔽信号SCLKOSDRAM时钟SCKEOSDRAM时钟使能信号6.1 S3C44B0X简介6.1.3 S3C44B0X的外特性(5)LCD信号主要是与LCD接口相关的信号。(6)PWM信号主要是与PWM接口相关的信号。表6. 4:S3C44B0X引脚定义-LC

16、D信号信号类型描述VD7 : 0OLCD数据总线VFRAMEOLCD帧信号VMO交替改变行列电压极性VLINEOLCD行信号VCLKOLCD时钟信号表6. 5:S3C44B0X引脚定义-PWM信号信号类型描述TOUT4 : 0O定时器输出4 : 0TCLKI外部时钟输入6.1 S3C44B0X简介6.1.3 S3C44B0X的外特性(7)中断控制信号主要是外部中断相关的信号。(8)DMA信号主要是DMA操作相关的信号。S44B0X引脚定义:中断控制信号信号类型描述EINT7 : 0I外部中断请求输入7 : 0表6. 6:S3C44B0X引脚定义-DMA信号信号类型描述nXDREQ4 : 0I外

17、部DMA请求信号nXDACK4 : 0O外部DMA请求应答信号6.1 S3C44B0X简介6.1.3 S3C44B0X的外特性(9)UART信号主要是与UART接口相关的信号。(10)SIO总线信号主要是与SIO总线相关的信号。表6. 7:S3C44B0X引脚定义-UART信号信号类型描述RxD1 : 0IUART接收数据信号线TxD1 : 0OUART发送数据信号线nCTS1 : 0I清除发送nRTS1 : 0O请求发送表6. 10:S3C44B0X引脚定义-SIO总线信号信号类型描述SIORxDISIO接收数据信号线SIOTxDOSIO发送数据信号线SIOCKIOSIO时钟SIORDYIO

18、当DMA完成SIO操作时,SIO的握手信号6.1 S3C44B0X简介6.1.3 S3C44B0X的外特性(11)IIS总线控制类主要是与IIS总线相关的信号。(12)I2C总线信号主要是与IIC总线相关的信号。表6. 9:S3C44B0X引脚定义-IIS总线信号信号类型描述IISLRCKIOIIS总线通道选择时钟IISDOOIIS总线串行数据输出IISDIOIIS总线串行数据输入IISCLKIOIIS总线串行时钟CODECCLKOCODEC系统时钟表6. 8:S3C44B0X引脚定义-I总线控制类信号类型描述IICSDAIOI总线数据IICSCLIOI总线时钟6.1 S3C44B0X简介6.

19、1.3 S3C44B0X的外特性(13)ADC信号主要是与ADC接口相关的信号。(14)GPIO信号主要是通用IO相关的信号。表6. 11:S3C44B0X引脚定义-ADC信号信号类型描述AIN7 : 0AIADC输入7 : 0AREFTAIADC.Top.VrefAREFBAIADC.Bottom.VrefAVCOMAIADC.Common.Vref表6. 12:S3C44B0X引脚定义-GPIO总线信号信号类型描述P70 : 0IO通用输入输出,一些端口仅仅用于输出符号描述I:输入;O:输入;L:低电平;H高电平;U:上升沿;D:下降沿;P:脉冲;6.1 S3C44B0X简介6.1.3 S

20、3C44B0X的外特性(15)复位和时钟信号主要是与复位、时钟相关的信号。表6. 13:S3C44B0X引脚定义-复位和时钟信号信号类型描述nRESETST L复位信号,至少4个MCLK的低电平3 : 2I时钟产生方法000110,11XTAL0,和PLLon决定EXTCLK和PLLon决定芯片测试EXTCLKI3 : 2=01时为外部中断源,未使用时,必须接高电平XTAL0AI系统时钟晶振输入,未使用时,必须接高电平EXTAL0AO系统时钟晶振输出,是XTAL0反相输出,未使用时须浮空PLLCAPAI系统时钟PLL滤波电容XTAL1AI实时时钟晶振输入EXTAL1AO实时时钟晶振输出,是XT

21、AL1反相输出CLKoutOfout或fpllo符号描述I:输入;O:输入;L:低电平;H高电平;U:上升沿;D:下降沿;P:脉冲;6.1 S3C44B0X简介6.1.3 S3C44B0X的外特性(16)JTAG信号主要是与JTAG接口相关的信号。(17)电源类主要是与电源与地相关的信号。表6. 14:S3C44B0X引脚定义-JTAG信号信号类型描述nTRSTITAP控制器复位,接10K上拉电阻TMSITAP控制器模式选择,接10K上拉电阻TCKITAP控制器时钟,接10K上拉电阻TDIITAP控制器数据输入,接10K上拉电阻表6. 15:S3C44B0X引脚定义-电源类信号类型描述VDDP

22、内核逻辑VDD=2.5VVSSP内核逻辑VSSVDDIOPIO端口VDDIO=3.3VVSSIOPIO端口VSSIORTCVDDPRTCVDD=2.5V/3.0V,不支持3.3VVDDADCPVDDADC=2.5VVSSADCPVSSADC6.3 S3C44B0X存储器控制器功能及应用开发6.3.1 S3C44B0X存储空间概述S3C44B0X包含8个独立地址空间:从BANK0到BANK7,每个BANK为32MB,合计256MB。8个BANK6-7可扩展为ROM、SRAM、DRAM、SDRAM等存储器类型,涵盖了常用的存储类型。IO设备可以影射到存储空间进行管理。1.存储空间定义S3C44B0

23、X存储空间划分如图6. 3所示。6.3 S3C44B0X存储器控制器功能及应用开发6.3.1 S3C44B0X存储空间概述1.存储空间定义:如图6. 3所示。0 x10000000ROM/DRAM/SDRAM:nGCS732MB:BANK7/16/32MB0 x0E000000ROM/DRAM/SDRAM:nGCS632MB:BANK6/16/32MB0 x000000ROM:nGCS532MBBANK50 x000000ROM:nGCS432MBBANK40 x08000000ROM:nGCS332MBBANK30 x06000000ROM:nGCS232MBBANK20 x04000000

24、ROM:nGCS132MBBANK10 x02000000Special Function Registers4MBSFR0 x00000ROM:nGCS028MBBANK00 x00000000图6. 3:S3C44B0X复位后的存储器地址分配6.3 S3C44B0X存储器控制器功能及应用开发6.3.1 S3C44B0X存储空间概述2.BANK6BANK7的地址分配表6. 16:BANK6BANK7的地址分配地址/MB2481632BANK6起始地址0 x00000000 x00000000 x00000000 x00000000 x0000000结束地址0 x1FFFFF0 x3FFFFF

25、0 x7FFFFF0 x0CFFFFFF0 x0DFFFFFFBANK7起始地址0 x20000000 x40000000 x80000000 x0D00000000 x0E0000000结束地址0 x3FFFFF0 x7FFFFF0 x0CFFFFFF0 x0DFFFFFF0 x0FFFFFFF说明BANK7与BANK6大小相同,地址连续6.3 S3C44B0X存储器控制器功能及应用开发6.3.1 S3C44B0X存储空间概述3.存储器控制器的功能描述主要介绍S3C44B0X存储器控制器MMC的功能、特殊功能寄存器SFR、控制方法等。大端模式、小端模式选择处理器复位时,通过引脚ENDIAN选

26、择大端模式、小端模式。表6. 17:选择存储器模式Endian模式条件0小端模式(Little Endian)Endian电阻下拉到VSS1大端模式(Big Endian)Endian电阻上拉到VDD6.3 S3C44B0X存储器控制器功能及应用开发6.3.1 S3C44B0X存储空间概述3.存储器控制器的功能描述BANK0总线宽度BANK0是启动ROM所在的空间(映射地址为0 x00000000),所以必须在第一次访问ROM前设置BANK0的数据宽度;BANK0的数据宽度引脚由OM1 : 0选择;表6. 18:BANK0总线宽度选择OM1OM0条件008位0116位1032位11测试6.3

27、S3C44B0X存储器控制器功能及应用开发6.3.1 S3C44B0X存储空间概述3.存储器控制器的功能描述BANK0总线宽度uBANK0的数据宽度与地址连线表表6. 19:BANK0总线宽度与地址连线存储器地址线S44B0X地址线8位数据宽度S44B0X地址线16位数据宽度S44B0X地址线32位数据宽度A0A0(字节寻址)A1(半字寻址)A2(字寻址)A1A1A2A3A2A2A3A4A3A3A4A56.3 S3C44B0X存储器控制器功能及应用开发6.3.2 S3C44B0X存储控制器的SFRS3C44B0X的存储控制器具有13个SFR,这13个SFR控制着S3C44B0X存储器的功能和操

28、作方法,下面详细描述其功能和配置方法。主要包括:SFR列表:包括SFR的名称、地址、状态、功能、初始值。单个SFR特性:包括SFR的位名称、位地址、位功能、初始值。6.3 S3C44B0X存储器控制器功能及应用开发6.3.2 S3C44B0X存储控制器的SFR存储器控制器的13个SFR列表表6. 20:存储器控制器的13个SFR寄存器名称地址状态功能初始值BWSCON0 x80000R/W总线宽度和等待状态的控制寄存器0 x000000BANKCON00 x80004R/WBank 0 控制寄存器0 x000700BANKCON10 x80008R/WBank 1 控制寄存器0 x000700

29、BANKCON20 xR/WBank 2 控制寄存器0 x000700BANKCON30 x80010R/WBank 3 控制寄存器0 x000700BANKCON40 x80014R/WBank 4 控制寄存器0 x000700BANKCON50 x80018R/WBank 5 控制寄存器0 x000700BANKCON60 xR/WBank 6 控制寄存器0 x018008BANKCON70 x80020R/WBank 7 控制寄存器0 x018008REFREASH0 x80024R/WDRAM/SDRAM 刷新控制寄存器0 xAC0000BANKSIZE0 x80028R/W存储器大小

30、配置寄存器0 x000000MRSRB60 xR/WBank6 模式设置寄存器0 x*MRSRB70 x80030R/WBank7 模式设置寄存器0 x*说明在C语言中,可以把寄存器的地址、初始值等定义成符号常量,方便编程使用。如:#dedinearBWSCON0 x80000;/前缀r表示寄存器,前缀a表示地址#dedinecrBWSCON0 x00000000;/前缀r表示寄存器,前缀c表示常量6.3 S3C44B0X存储器控制器功能及应用开发6.3.2 S3C44B0X存储控制器的SFR特殊功能寄存器SFR的详细描述见教材。6.3 S3C44B0X存储器控制器功能及应用开发6.3.3 S

31、3C44B0X存储应用编程要求:在掌握S3C44B0X存储器控制寄存器的基础上,进一步掌握应用汇编语言对其编程配置的方法。实例6. 2:存储器配置:配置13个存储控制寄存器,只能用汇编编写;配置13个存储控制寄存器LDRR0,=SMRDATALDMIAR0,R1-R13LDRR0,=0 x80000;BWSCON ADRRESSSTMIAR0,R1-R13SMRDATA:;定义配置值.LONG0 x22221210;BWSCON.LONG0 x00000600;GCS0.LONG0 x00000700;GCS1.LONG0 x00000700;GCS2.LONG0 x00000700;GCS3

32、.LONG0 x00000700;GCS4.LONG0 x00000700;GCS56.3 S3C44B0X存储器控制器功能及应用开发6.3.3 S3C44B0X存储应用编程实例6. 2:存储器配置:配置13个存储控制寄存器,只能用汇编编写;配置13个存储控制寄存器(续).LONG0 x;GCS6; DRAMTrcdTcasTcpCAN32110bit.LONG0 x;GCS7, ; DRAM.LONG0 x00960000;REFRESHREFENTREFMDTrpTrcTchr10353.LONG0 x00000000;BANK SIZE.LONG0 x00000020;MRSR6(CL=

33、2).LONG0 x00000020;MRSR7(CL=2)描述6.3 S3C44B0X存储器控制器功能及应用开发6.3.3 S3C44B0X存储应用编程实例6. 3:存储器读写,汇编语言程序:存储器读写,cRWramtest.scRWramtest:LDRR2,=0 x010000LDMIAR3,=0 x55AA55AASTRR3,R2;向0 x010000地址写入一个字LDRR3,R2;从0 x010000地址读取一个字LDRR2,=0 x010000LDRHR3,R2;从0 x010000地址读取一个半字STRHR3,R2,#2;向0 x010002地址写入一个半字LDRR2,=0 x0

34、10000LDRBR3,R2;从0 x010000地址读取一个字节STRBR3,R2,#1;向0 x010001地址写入一个字节描述用LDR和STR指令,从已经初始化的RAM读写一个字节/半子/字6.3 S3C44B0X存储器控制器功能及应用开发6.3.3 S3C44B0X存储应用编程实例6. 4:存储器读写,C语言程序:存储器读写,cRWramtest.cvoidcRWramtest(void)unsigned long*ptrw = 0 x010200;/定义一个长指针并赋初值unsigned short*ptrh = 0 x010200;/定义一个短指针并赋初值unsigned char

35、*ptrb = 0 x010200;/定义一个字符指针并赋初值unsigned longtmpw;/定义一个长整型变量unsigned shorttmph;/定义一个短整型变量unsigned chartmpb;/定义一个字符变量*ptrw = 0 x55AA55AA;tmpw = *ptrw;/长字读*ptrw = tmpw;/长字写tmph = *ptrh;/半字读*ptrh = tmph;/半字写tmpb = *ptrb;/字节读*ptrb= tmpb;/字节写6.4 S3C44B0X的GPIO端口功能及应用开发6.4.1 S3C44B0X的GPIO的概述S3C44B0X具有71个通用可

36、编程多功能输入/输出脚GPIO。每个GPIO都可能是一个多功能引脚,都可以通过GPIO的SFR进行配置。1.GPIO的功能概述S3C44B0X有71个通用可编程GPIO端口,共分为7类1个10位输入/输出端口:PortA;1个11位输入/输出端口:PortB;1个16位输入/输出端口:PortC;2个9位输入/输出端口:PortE、PortF;2个8位输入/输出端口:PortD、PortG;6.4 S3C44B0X的GPIO端口功能及应用开发6.4.1 S3C44B0X的GPIO的概述2.GPIO的复用技术S3C44B0X的I/O端口引脚为多功能复用引脚。如果引脚的多功能没有使用,那么默认该引

37、脚为I/O引脚。采用多路开关实现GPIO的多功能复用。通过多路开关,控制引脚的功能选择。如图6. 5所示:图6. 5中的PINn有3种选择,因此需要2位控制信号。当开关接在“1”上时,PINn是GPIO;当开关接在“2”上时,PINn是TxD0;当开关接在“3”上时,PINn是PWM1输出。6.4 S3C44B0X的GPIO端口功能及应用开发6.4.1 S3C44B0X的GPIO的概述3.GPIO的配置方案实例6. 5:配置表如表6. 28所示。表6. 28:配置IO端口控制寄存器端口功能0功能1功能2功能3PortAPA9PA1OADDR24ADDR16PA0OADDR0PortBPB10P

38、B6OnGCS5 nGCS1PB5OnWBE3 : nBE3 : DQM3PB4OnWBE2 : nBE2 : DQM2PB3OnSRAS : nCAS3PB2OnSCAS : nCAS2PB1OSCLKPB0OSCKE6.4 S3C44B0X的GPIO端口功能及应用开发6.4.1 S3C44B0X的GPIO的概述3.GPIO的配置方案实例6. 5:配置表如表6. 28所示。表6. 28:配置IO端口控制寄存器端口功能0功能1功能2功能3PortCPC15IODATA31nCTS0PC14IODATA30nRTS0PC13IODATA29RxD1PC12IODATA28TxD1PC11IODA

39、TA27nCTS1PC10IODATA26nRTS1PC9IODATA25nXDREQ1PC8IODATA24nXDACK1PC7 PC4IODATA23 DATA20VD4VD7PC3IODATA19IISCLKPC2IODATA18IISDIPC1IODATA17IISDOPC0IODATA16IISLRCK6.4 S3C44B0X的GPIO端口功能及应用开发6.4.1 S3C44B0X的GPIO的概述3.GPIO的配置方案实例6. 5:配置表如表6. 28所示。表6. 28:配置IO端口控制寄存器端口功能0功能1功能2功能3PortDPD7IOVFRAMEPD6IOVMPD5IOVLIN

40、EPD4IOVCLKPD3 PD0IOVD3VD0PortEPE8EndianCODECLKIOPE7IOTOUT4VD7PE6IOTOUT3VD6PE5IOTOUT2TCLKPE4IOTOUT1TCLKPE3IOTOUT0PE2IORxD0PE1IOTxD0PE0IOFplloFout6.4 S3C44B0X的GPIO端口功能及应用开发6.4.1 S3C44B0X的GPIO的概述3.GPIO的配置方案实例6. 5:配置表如表6. 28所示。表6. 28:配置IO端口控制寄存器端口功能0功能1功能2功能3PortFPF8IOnCTS1SIOCKIISCLKPF7IORxD1SIORxDIISD

41、IPF6IOTxD1SIORDYIISDOPF5IOnRTS1SIOTxDIISLRCKPF4IOnXBREQnXDREQ0PF3IOnXBACKnXDACK0PF2IOnWAITPF1IOI2CSDAPF0IOI2CSCLPortGPG7IOIISLRCKEINT7PG6IOIISDOEINT6PG5IOIISDIEINT5PG4IOIISCLKEINT4PG3IOnRTS0EINT3PG2IOnCTS0EINT2PG1IOVD5EINT1PG0IOVD4EINT06.4 S3C44B0X的GPIO端口功能及应用开发6.4.1 S3C44B0X的GPIO的概述3.GPIO的配置方案实例6.

42、5:配置表如表6. 28所示。表6. 28:配置IO端口控制寄存器端口功能0功能1功能2功能3说明复位后,S3C44B0X默认带有下划线的功能;nRESET=L有效时时,Endian(PE8)才会被使用;PG0PG7:在掉电模式下是系统的唤醒信号;在中断模式下是外中断信号;GPIO可以配置成功能0(I、O、IO)、功能1、功能2、功能3等功能,因此需要3位选;符号:I-输入;O-输入;L-低电平;H-高电平;U-上升沿;D-下降沿;P-脉冲;6.4 S3C44B0X的GPIO端口功能及应用开发6.4.2 S3C44B0X的GPIO端口的SFRS3C44B0X的GPIO端口是通过SFR进行配置的

43、,因此必须掌握GPIO端口功能和SFR的配置方法。S3C44B0X具有22个GPIO端口SFR。每个端口都会有一个配置寄存器数据寄存器上拉寄存器等如表6. 29所示。6.4 S3C44B0X的GPIO端口功能及应用开发6.4.2 S3C44B0X的GPIO端口的SFRGPIO端口的22个SFR列表表6. 29:GPIO端口的22个SFR列表寄存器名称地址状态功能初始值PCONA0 x01D20000R/WPort A的引脚配置寄存器0 x3ffPDATA0 x01D20004R/WPort A的数据寄存器Undef.PCONB0 x01D20008R/WConfigures the pins

44、of port B0 x7ffPDATB0 x01D2000CR/WPort B的引脚配置寄存器Undef.PCONC0 x01D20010R/WPort B的数据寄存器0 xaaaaaaaaPDATC0 x01D20014R/WPort C的引脚配置寄存器Undef.PUPC0 x01D20018R/WPort C的数据寄存器0 x0PCOND0 x01D2001CR/WPort D的引脚配置寄存器0 x0000PDATD0 x01D20020R/WPort D的数据寄存器Undef.PUPD0 x01D20024R/Wport D的上拉禁能寄存器0 x0PCONE0 x01D20028R/

45、WPort E的引脚配置寄存器0 x00PDATE0 x01D2002CR/WPort E的数据寄存器Undef.PUPE0 x01D20030R/Wport E的上拉禁能寄存器0 x00PCONF0 x01D20034R/WPort F的引脚配置寄存器0 x0000PDATF0 x01D20038R/WPort F的数据寄存器Undef.PUPF0 x01D2003CR/Wport F的上拉禁能寄存器0 x000PCONG0 x01D20040R/WPort G的引脚配置寄存器0 x0PDATG0 x01D20044R/WPort G的数据寄存器Undef.PUPG0 x01D20048R/

46、Wport G的上拉禁能寄存器0 x0SPUCR0 x01D2004CR/W上拉禁能寄存器register2:0有效0 x4EXTINT0 x01D20050R/W外部中断控制寄存器0 x000000EXTINTPND0 x01D20054R/W外部中断控制寄存器0 x006.4 S3C44B0X的GPIO端口功能及应用开发6.4.2 S3C44B0X的GPIO端口的SFRGPIO端口的特殊功能寄存器描述见教材6.4 S3C44B0X的GPIO端口功能及应用开发6.4.3 S3C44B0X的GPIO端口的应用编程在掌握S3C44B0X端口SFR的基础上,进一步掌握应用汇编语言对其编程配置的方法

47、。IO端口配置步骤:根据具体应用要求确定端口的具体功能,设置相应的配置寄存器;根据具体应用要求对端口数据寄存器设置相应的初始值;根据具体应用需要设置上拉电阻;6.4 S3C44B0X的GPIO端口功能及应用开发6.4.3 S3C44B0X的GPIO端口的应用编程实例6. 6:IO端口配置,C语言程序:IO端口配置,Port_Init.cvoidPort_Init (void)rPCONA=0 x1FF;/PORT A GROUPrPCONB=0 x1CF;/PORT B GROUPrPDATB=0 x7FF;rPCONC=0 x0FF0FFFF;/PORT C GROUP, BUSWIDTH=

48、16rPDATC=0 xFF00;rPUPC=0X30FF;rPCOND=0 xAAAA;/PORT D GROUPrPDATD=0 xFF;rPUPD=0 x0;rPCONE=0 x25529;/PORT E GROUPrPDATE=0 x1FF;rPUPE=0 x6;rPCONF=0 x252A;/PORT F GROUPrPDATF=0 x0;rPUPF=0 x0;rPCONG=0 xFFFF;/PORT G GROUPrPDATG=0 xFF;rPUPG=0 x0;rSPUCR=0 x7;rEXTINT=0 x0;/Low Level Default6.4 S3C44B0X的GPIO端

49、口功能及应用开发6.4.3 S3C44B0X的GPIO端口的应用编程实例6. 7:IO端口读写,C语言程序:IO端口读写,LED1_On.cvoidLED1_On (void)/点亮函数Led_state= Led_state | 0 x1;Led_Display(Led_state);voidLED1_Off (void)/ LED1熄灭函数Led_state= Led_state & 0 xfe;Led_Display(Led_state);voidLED1_Display (int LedState)/ LED1显示函数Led_state= LedState;if(LedState&0

50、x01=0 x01) rPDATB= rPDATB&0 x5ff;else rPDATB= rPDATB|0 x200;if(LedState&0 x02=0 x02) rPDATB= rPDATB&0 x3ff;else rPDATB= rPDATB|0 x400;6.5 S3C44B0X 时钟电源管理功能及开发6.5.1S3C44B0X的时钟电源管理部件的简述时钟发生器框图如图6. 6所示。6.5 S3C44B0X 时钟电源管理功能及开发6.5.1S3C44B0X的时钟电源管理部件的简述S3C44B0X的时钟源可以用外部晶体来产生,也可以直接输入外部时钟。时钟发生器含有一个时钟振荡器OSC

51、,连接到外部晶振.一个锁相环路PLL(Phase-Loacked Loop)把低频时钟信号作为自己的输入fin,产生高频时钟输出fpllo.时钟控制逻辑用来在复位后或停止模式下产生稳定的时钟信号Fout。6.5 S3C44B0X 时钟电源管理功能及开发6.5.1S3C44B0X的时钟电源管理部件的简述1.时钟源选择在图6. 6中,时钟源由OM3:2的状态选择。OM3:2的状态在nRESET的上升沿采样OM3和OM2脚的电平决定。OM3:2=00时为晶振时钟;OM3:2=01时为外部时钟;其它为测试模式。在复位后PLL启动,但在用指令设置PLLCON为有效的值之前,FOUT(PLL OUTPUT

52、)不能使用,这时FOUT直接输出晶振或外部时钟。如果S3C44B0X的PLL的时钟源使用晶振,这时EXTCLK可以作为Timer5的时钟源TCLK输入。6.5 S3C44B0X 时钟电源管理功能及开发6.5.1S3C44B0X的时钟电源管理部件的简述2.功耗管理模式S3C44B0X中的功耗管理提供5种模式。(1)正常模式(Normal Mode):时钟发生器提供时钟给CPU;同时提供给S3C44B0X的片内外设。当所有的外设都开启工作时,处理器所消耗的功耗最大。(2)慢速模式(Slow Mode):直接采用外部时钟作为S3C44B0X的主工作时钟,不使用内部倍频器。功耗的大小仅依据于外部时钟的

53、频率的大小。(3)空闲模式(Idle Mode):仅断开对CPU内核的时钟供给,而保留所有外部设备的时钟供给。任何中断请求都会使 CPU从空闲模式中醒来。6.5 S3C44B0X 时钟电源管理功能及开发6.5.1S3C44B0X的时钟电源管理部件的简述2.功耗管理模式S3C44B0X中的功耗管理提供5种模式。(4)停止模式(Stop Mode):通过禁止PLL来冻结CPU内核和外设的时钟。其功耗大小仅由S3C44B0X内部的漏电流大小决定,一般小于10uA。通过外部中断唤醒CPU。(5)LCD的SL空闲模式(SL Idle Mode):进入SL空闲模式将导致LCD控制器开始工作。除了LCD控制

54、器以外CPU内核和其它外设的时钟都停止了。6.5 S3C44B0X 时钟电源管理功能及开发6.5.2 S3C44B0X的时钟电源管理部件的SFRS3C44B0X的时钟电源管理部件具有4个SFR,SFR列表如表6. 40所示。时钟电源管理的特殊功能寄存器描述见教材表6. 40:时钟电源管理部件的4个SFR列表寄存器名称地址状态功能初始值PLLCON0 x01D80000R/WPLL configuration Register0 x38080CLKCON0 x01D80004R/WClock generator 控制寄存器0 x7ff8CLKSLOW0 x01D80008R/WSlow cloc

55、k 控制寄存器0 x9LOCKTIME0 x01D8000CR/WPLL lock time count register0 xfff6.6 S3C44B0X的INTC功能及应用开发6.6.1 S3C44B0X的INTC的概述ARM7TDMI核并不含有INTC,S3C44B0X的INTC是Samsung公司独立研发的。S3C44B0X的中断分两个层次:ARM7TDMI核只设计有FIQ(快速中断请求)和IRQ(普通中断请求)2种类型的中断请求,其中断向量地址分别固定为0 x0000001C或0 x00000018;INTC独立于ARM7TDMI核,管理30个中断,主要具有中断响应、中断屏蔽、中断

56、判优、矢量中断等功能;INTC响应30个中断源之一的中断请求,并通过IRQ向ARM7TDMI核发出中断请求。6.6 S3C44B0X的INTC功能及应用开发6.6.1 S3C44B0X的INTC的概述1.中断源概述S3C44B0X的30个中断源分类:分为22个片内中断源和8个片外中断源两类。4个外部中断(EINT4/5/6/7)是逻辑或的关系,共用一个中断源。2个UART错误中断(UERR0/1)是逻辑或的关系,共用一个中断源。因INTC此只有26个独立中断源。表6. 41给出了中断源对应的中断向量以及在中断控制器中对应的控制单元。6.6 S3C44B0X的INTC功能及应用开发6.6.1 S

57、3C44B0X的INTC的概述1.中断源概述表6.41:中断源的中断向量及中断控制器的控制单元。表6. 41:S3C44B0X的30个中断源来源中断源中断向量描述主单元ID从单元ID片外EINT00 x00000020外部中断0mGAsGA片外EINT10 x00000024外部中断1mGASGB片外EINT20 x00000028外部中断2mGASGC片外EINT30 x0000002C外部中断3mGAsGD片外EINT41516170 x00000030外部中断4567mGASGKA片内INT_TICK0 x00000034RTC滴答中断mGAsGKB片内INT_ZDMA00 x00000

58、040ZDMA中断0mGBsGA片内INT_ZDMA10 x00000044ZDMA中断1mGBSGB片内INT_BDMA00 x00000048BDMA中断0mGBSGC片内INT_BDMA10 x0000004CBDMA中断1mGBsGD片内INT_WDT0 x00000O50WDT中断mGBSGKA片内INT_UERR0/10 x00000054UART错误中断mGBsGKB片内INT_TIMER00 x00000060定时器0中断mGCsGA片内INT_TIMER10 x00000064定时器1中断mGCSGB片内INT_TIMER20 x00000068定时器2中断mGCSGC片内I

59、NT_TIMER30 x0000006C定时器3中断mGCsGD片内INT_TIMER40 x00000070定时器4中断mGCSGKA片内INT_TIMER50 x00000074定时器5中断mGCsGKB片内INT_URXD00 x00000080UART0接收中断mGDsGA片内INT_URXD10 x00000084UART1接收中断mGDSGB片内INT_IIC0 x00000088IIC中断mGDSGC片内INT_SIO0 x0000008CSIO中断mGDsGD片内INT_UTXD00 x000O0090UART0发送中断mGDSGKA片内INT_UTXD10 x00000094

60、UART1发送中断mGDsGKB片内INT_RTC0 x000000A0RTC报警中断mGKA-片内INT_ADC0 x000000C0ADC中断mGKB-6.6 S3C44B0X的INTC功能及应用开发6.6.1 S3C44B0X的INTC的概述2.中断优先级ARM7TDMI核定义FIQ中断都比IRQ中断具有更高的优先级。如果中断源A设置为FIQ中断,而中断源B设置为IRQ中断,那么源A比源B具有更高的中断优先级。INTC只能通过IRQ向ARM7TDMI请求中断。INTC对所管理的26个中断源的判优逻辑如图6. 7所示。6.6 S3C44B0X的INTC功能及应用开发6.6.1 S3C44B

温馨提示

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

评论

0/150

提交评论