基于SC的系统硬件设计课件

上传人:沈*** 文档编号:241780242 上传时间:2024-07-23 格式:PPT 页数:112 大小:1.32MB
返回 下载 相关 举报
基于SC的系统硬件设计课件_第1页
第1页 / 共112页
基于SC的系统硬件设计课件_第2页
第2页 / 共112页
基于SC的系统硬件设计课件_第3页
第3页 / 共112页
点击查看更多>>
资源描述
1第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计第五章第五章 基于3C2410的系统硬件设计2第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要内容1 13 32 24 4S3C2410简介简介 I/O口口中断中断DMA5 5A/D接口接口6 6UART触摸屏触摸屏7 78 89 910101111LCDUSB设备的数据收发设备的数据收发音频录放音频录放键盘和键盘和LED控制控制3第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.1 S3C2410 5.1 S3C2410简介简介 S3C2410 S3C2410是是SamsungSamsung公司公司推出的推出的16/3216/32位位RISCRISC处理器,主要处理器,主要面向手持设备以及高性价比、低功耗的应用。面向手持设备以及高性价比、低功耗的应用。CPUCPU内核采用内核采用的是的是ARMARM公司设计的公司设计的16/3216/32位位ARM920T RISCARM920T RISC处理器处理器。S3C2410AS3C2410A提供一组完整的系统外围设备:提供一组完整的系统外围设备:2 2个个USBUSB主设备接口,主设备接口,1 1个个USBUSB从设备接口;从设备接口;4 4通道通道PWMPWM定时器和定时器和1 1通道内部定时器;通道内部定时器;看门狗定时器;看门狗定时器;117117位通用位通用I/OI/O口和口和2424通道外部中断源;通道外部中断源;电源控制模式包括:正常、慢速、空闲和掉电电源控制模式包括:正常、慢速、空闲和掉电四种模式;四种模式;8 8通道通道1010位位ADCADC和触摸屏接口;和触摸屏接口;具有日历功能的具有日历功能的RTCRTC;使用使用PLLPLL的片上时钟发生器。的片上时钟发生器。1.8V/2.0V1.8V/2.0V内核供电,内核供电,3.33.3V V存储器供电,存储器供电,3.33.3V V外部外部I/OI/O供电;供电;具有具有1616KBKB的的ICacheICache和和1616KBKB的的DCacheDCache以及以及MMUMMU;外部存储器控制器;外部存储器控制器;LCDLCD控制器提供控制器提供1 1通道通道LCDLCD专用专用DMADMA;4 4通道通道DMADMA并有外部请求引脚;并有外部请求引脚;3 3通道通道UARTUART和和2 2通道通道SPISPI;1 1通道多主机通道多主机IICIIC总线和总线和1 1通道通道IISIIS总线控制器;总线控制器;SDSD主接口版本主接口版本1.01.0和和MMCMMC卡协议卡协议2.112.11兼容版;兼容版;4第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计S3C2410S3C2410结构框图结构框图 5第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5 5.1.1 1.1 S3C2410AS3C2410A的特点的特点 体系结构体系结构系统管理器系统管理器 NAND FlashNAND Flash启动装载器启动装载器 CacheCache存储器存储器 时钟和电源管理时钟和电源管理 中断控制器中断控制器具有脉冲带宽调制(具有脉冲带宽调制(PWMPWM)的定时的定时器器 RTCRTC(实时时钟)实时时钟)通用通用I/OI/O口口 UART UART DMADMA控制器控制器 A/DA/D转换和触摸屏接口转换和触摸屏接口 LCDLCD控制器控制器STN LCDSTN LCD显示特性显示特性 TFTTFT彩色显示特性彩色显示特性 看门狗定时器看门狗定时器 IICIIC总线接口总线接口 IISIIS总线接口总线接口 USBUSB主设备主设备 USBUSB从设备从设备 SDSD主机接口主机接口 SPISPI接口接口 工作电压工作电压 封装封装 6第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5 5.1.2 1.2 存储器控制器存储器控制器 S3C2410A S3C2410A的存储器控制器提供访问外部存储器所的存储器控制器提供访问外部存储器所需要的存储器控制信号。需要的存储器控制信号。支持小支持小/大端(通过软件选择)大端(通过软件选择)地址空间:每地址空间:每bankbank有有128128M M字节(总共有字节(总共有8 8个个banksbanks,共共1 1G G字节)字节)除除bank0bank0(只只能能是是16/3216/32位位宽宽)之之外外,其其他他bankbank都都具具有有可可编编程程的的访问大小(可以是访问大小(可以是8/16/328/16/32位宽)位宽)总共有总共有8 8个存储器个存储器banksbanks(bank0bank7bank0bank7)其中其中6 6个个banksbanks用于用于ROMROM,SRAMSRAM等等剩下剩下2 2个个banksbanks用于用于ROMROM,SRAMSRAM,SDRAMSDRAM等等7 7个固定的存储器个固定的存储器bankbank(bank0bank6bank0bank6)起始地址起始地址最后一个最后一个bankbank(bank7bank7)的起始地址是可调整的的起始地址是可调整的最后两个最后两个bankbank(bank6bank7bank6bank7)的大小是可编程的的大小是可编程的所有存储器所有存储器bankbank的访问周期都是可编程的的访问周期都是可编程的总线访问周期可以通过插入外部等待来延长总线访问周期可以通过插入外部等待来延长支持支持SDRAMSDRAM的自刷新和掉电模式的自刷新和掉电模式 特性特性 7第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计存储器映射存储器映射 8第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5 5.1.3 1.3 NAND FlashNAND Flash控制器控制器 特性特性 NAND FlashNAND Flash模式:支持读模式:支持读/擦除擦除/编程编程NAND FlashNAND Flash存储器。存储器。自自 动动 启启 动动 模模 式式:复复 位位 后后,启启 动动 代代 码码 被被 传传 送送 到到SteppingstoneSteppingstone中中。传传 送送 完完 毕毕 后后,启启 动动 代代 码码 在在SteppingstoneSteppingstone中执行。中执行。具具备备硬硬件件ECCECC(校校验验码码,Error Error Correction Correction CodeCode)生生成成模块(硬件生成校验码,通过软件校验)。模块(硬件生成校验码,通过软件校验)。NAND NAND FlashFlash启启 动动 以以 后后,4 4KBKB的的 内内 部部 SRAMSRAM缓缓 冲冲 器器SteppingstoneSteppingstone可以作为其他用途使用。可以作为其他用途使用。NAND NAND FlashFlash控控制制器器不不能能通通过过DMADMA访访问问,可可以以使使用用LDM/STMLDM/STM指令来代替指令来代替DMADMA操作。操作。9第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计v NAND Flash NAND Flash控制器的结构框图控制器的结构框图 10第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计v NAND Flash NAND Flash的工作方式的工作方式 11第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计v NAND Flash NAND Flash存储器的时序存储器的时序 12第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5 5.1.4 1.4 时钟和电源管理时钟和电源管理 时钟和电源管理模块包括三部分:时钟和电源管理模块包括三部分:时时钟钟控控制制:CPUCPU所所需需的的FCLKFCLK时时钟钟信信号号、AHBAHB总总线线外外围围设设备备所所需需的的HCLKHCLK时钟信号,以及时钟信号,以及APBAPB总线外围设备所需的总线外围设备所需的PCLKPCLK时钟信号时钟信号 。USBUSB控制控制电源控制电源控制正常模式正常模式慢速模式慢速模式空闲模式空闲模式掉电模式掉电模式13第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要内容1 13 32 24 4S3C2410简介简介 I/O口口中断中断DMA5 5A/D接口接口6 6UART触摸屏触摸屏7 78 89 910101111LCDUSB设备的数据收发设备的数据收发音频录放音频录放键盘和键盘和LED控制控制14第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 GPIO(General Purpose I/O,通用输入,通用输入/输出接输出接口)也称为并行口)也称为并行I/O(parallel I/O),是最基本的),是最基本的I/O形式,由一组输入引脚、输出引脚或输入形式,由一组输入引脚、输出引脚或输入/输出输出引脚组成,引脚组成,CPU对它们能够进行存取操作。有些对它们能够进行存取操作。有些GPIO引脚能够通过软件编程改变输入引脚能够通过软件编程改变输入/输出方向。输出方向。一个双向一个双向GPIO端口(端口(D0)的简化功能逻辑图如图)的简化功能逻辑图如图5.2.1所示,图中所示,图中PORT为数据寄存器和为数据寄存器和DDR(Data Direction Register)为数据方向寄存器。)为数据方向寄存器。15第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计图图图图5.2.1 5.2.1 双向双向双向双向GPIOGPIO功能逻辑图功能逻辑图功能逻辑图功能逻辑图 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 16第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计DDR设置端口的方向。如果设置端口的方向。如果DDR的输出为的输出为1,则,则GPIO端口为输端口为输出形式;如果出形式;如果DDR的输出为零,则的输出为零,则GPIO端口为输入形式。写端口为输入形式。写入入WRDDR信号能够改变信号能够改变DDR的输出状态。的输出状态。DDR在微控制器在微控制器地址空间中是一个映射单元。这种情况下,如果需要改变地址空间中是一个映射单元。这种情况下,如果需要改变DDR,则需要将恰当的值置于数据总线的第,则需要将恰当的值置于数据总线的第0位(即位(即D0),同时激),同时激活活WRDDR信号。读信号。读DDR,就能得到,就能得到DDR的状态,同时激活的状态,同时激活RDDDR信号。信号。如果设置如果设置PORT引脚端为输出,则引脚端为输出,则PORT寄存器控制着该引脚端寄存器控制着该引脚端状态。如果将状态。如果将PORT引脚端设置为输入,则此输入引脚端的状引脚端设置为输入,则此输入引脚端的状态由引脚端上的逻辑电路层来实现对它的控制。对态由引脚端上的逻辑电路层来实现对它的控制。对PORT寄存寄存器的写操作,需要激活器的写操作,需要激活WRPORT信号。信号。PORT寄存器也映射寄存器也映射到微控制器的地址空间。需指出,即使当端口设置为输入时,到微控制器的地址空间。需指出,即使当端口设置为输入时,如果对如果对PORT寄存器进行写操作,并不会对该引脚产生影响。寄存器进行写操作,并不会对该引脚产生影响。但从但从PORT寄存器的读出,不管端口是什么方向,总会影响该寄存器的读出,不管端口是什么方向,总会影响该引脚端的状态。引脚端的状态。5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 17第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计S3C2410A共有117个多功能复用输入输出端口(I/O口),分为端口A端口H共8组。为了满足不同系统设计的需要,每个I/O口可以很容易地通过软件对进行配置。每个引脚的功能必须在启动主程序之前进行定义。如果一个引脚没有使用复用功能,那么它可以配置为I/O口。注意:端口A除了作为功能口外,只能够作为输出口使用。5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 18第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计在S3C2410A中,大多数的引脚端都是复用的,所以对于每一个引脚端都需要定义其功能。为了使用I/O口,首先需要定义引脚的功能。每个引脚端的功能通过端口控制寄存器(PnCON)来定义(配置)。与配置I/O口相关的寄存器包括:端口控制寄存器(GPACONGPHCON)、端口数据寄存器(GPADATGPHDAT)、端口上拉寄存器(GPBUPGPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。S3C2410A的I/O口配置情况请参考表5.2.15.2.7所列。端口A(GPA)是1个23位输出口;端口B(GPB)和端口H(GPH)是2个11位I/O口;端口C(GPC)、端口D(GPD)、端口E(GPE)和端口G(GPG)是4个16位I/O口;端口F(GPF)是1个8位I/O口。5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 19第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计表5.2.1 S3C2410A的端口A I/O口配置情况端口A可选择的引脚端功能GPA22输出nFCEGPA21输出nRSTOUTGPA20输出nFREGPA19输出nFWEGPA18输出ALEGPA17输出CLEGPA16GPA12输出nGCS5nGCS1GPA11GPA1输出ADDR26ADDR16GPA0输出ADDR0 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 20第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计端口B可选择的引脚端功能GPB10输入/输出nXDREQ0GPB9输入/输出nXDACK0GPB8输入/输出nXDREQ1GPB7输入/输出nXDACK1GPB6输入/输出nXBREQGPB5输入/输出nXBACKGPB4输入/输出TCLK0GPB3GPB0输入/输出TOUT3 TOUT0 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 表5.2.2 S3C2410A的端口B I/O口配置情况21第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计端口C可选择的引脚端功能GPC15GPC8输入/输出VD7 VD0GPC7GPC5输入/输出LCDVF2LCDVF0GPC4输入/输出VMGPC3输入/输出VFRAMEGPC2输入/输出VLINEGPC1输入/输出VCLKGPC0输入/输出LEND 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 表5.2.3 S3C2410A的端口C I/O口配置情况22第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计端口D可选择的引脚端功能GPD15输入/输出VD23nSS0GPD14输入/输出VD22nSS1GPD13GPD0输入/输出VD21VD8 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 表5.2.4 S3C2410A的端口D I/O口配置情况23第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计端口E可选择的引脚端功能GPE15输入/输出IICSDAGPE14输入/输出IICSCLGPE13输入/输出SPICLK0GPE12输入/输出SPIMOSI0GPE11输入/输出SPIMISO0GPE10GPE7输入/输出SDDAT3SDDAT0GPE6输入/输出SDCMDGPE5输入/输出SDCLK 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 表5.2.5 S3C2410A的端口E、F I/O口配置情况24第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计GPE4输入/输出I2SSDOI2SSDIGPE3输入/输出I2SSDInSS0GPE2输入/输出CDCLKGPE1输入/输出I2SSCLKGPE0输入/输出I2SLRCK端口FGPF7 GPF0输入/输出EINT7 EINT0 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 表5.2.5 S3C2410A的端口E、F I/O口配置情况(续)25第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计端口端口G可可选择的引脚端功能的引脚端功能GPG15输入/输出EINT23nYPONGPG14输入/输出EINT22YMONGPG13输入/输出EINT21nXPONGPG12输入/输出EINT20XMONGPG11输入/输出EINT19TCLK1GPG10GPG8输入/输出EINT18EINT16GPG7输入/输出EINT15SPICLK1 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 表5.2.6 S3C2410A的端口G I/O口配置情况26第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计GPG6输入/输出EINT14SPIMOSI1GPG5输入/输出EINT13SPIMISO1GPG4输入/输出EINT12LCD_PWRENGPG3输入/输出EINT11nSS1GPG2输入/输出EINT10nSS0GPG1输入/输出EINT9GPG0输入/输出EINT8 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 表5.2.6 S3C2410A的端口G I/O口配置情况(续)27第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计端口 H可选择的引脚端功能GPH10输入/输出CLKOUT1GPH9输入/输出CLKOUT0GPH8输入/输出UEXTCLKGPH7输入/输出RXD2nCTS1GPH6输入/输出TXD2nRTS1GPH5输入/输出RXD1GPH4输入/输出TXD1GPH3输入/输出RXD0GPH2输入/输出TXD0GPH1输入/输出nRTS0GPH0输入/输出nCTS0 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 表5.2.7 S3C2410A的端口H I/O口配置情况28第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计在S3C2410A中,大多数的引脚端都是复用的,所以对于每一个引脚端都需要定义其功能。为了使用I/O口,首先需要定义引脚的功能。每个引脚端的功能通过端口控制寄存器(PnCON)来定义(配置)。与配置I/O口相关的寄存器包括:端口控制寄存器(GPACONGPHCON)、端口数据寄存器(GPADATGPHDAT)、端口上拉寄存器(GPBUPGPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。在掉电模式,如果GPF0GPF7和GPG0GPG7用作为唤醒信号,那么这些端口必须配置为中断模式。5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 29第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计如果端口配置为输出口,数据可以写入到端口数据寄存器(PnDAT)的相应位中;如果将端口配置为输入口,则可以从端口数据寄存器(PnDAT)的相应位中读出数据。端口上拉寄存器用于控制每组端口的上拉电阻为使能/不使能。如果相应位设置为0,则表示该引脚的上拉电阻使能;为1,则表示该引脚的上拉电阻不使能。如果使能了端口上拉寄存器,则不论引脚配置为哪种功能(输入、输出、DATAn、EINTn等),上拉电阻都会起作用。5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 30第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计杂项控制寄存器用于控制数据端口的上拉电阻、高阻状态、USB Pad和CLKOUT的选择。24个外部中断通过不同的信号方式被请求。EXTINTn寄存器用于配置这些信号对于外部中断请求采用的是低电平触发、高电平触发、下降沿触发、上升沿触发还是双边沿触发。有8个外部中断有数字滤波器。仅16 EINT引脚端(EINT15:0)用来作为唤醒源。所有GPIO寄存器的值在掉电模式下都会被保存。外部中断屏蔽寄存器EINTMASK不能阻止从掉电模式唤醒,但是如果EINTMASK正在屏蔽的是EINT15:4中的某位,则可以实现唤醒,不过寄存器SRCPND的位EINT4 和EINT8 23在刚刚唤醒后不能设置为1。相关寄存器的设置分别描述如下:5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 31第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址读/写描 述复位值GPACON 0 x56000000 R/W 配置端口A引脚端,使用位22:0。0:输出引脚端 1:第2功能0 x7FFFFF GPADAT0 x56000004 R/W 端口A数据寄存器,使用位22:0 未定义 保留0 x56000008 保留未定义保留0 x5600000C 保留未定义端口端口A控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 32第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器 地址 读/写描 述复位值 GPBCON 0 x56000010 R/W 配置端口B引脚端,使用位21:0,分别对端口B的11个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留0 x0 GPBDAT 0 x56000014 R/W 端口B数据寄存器,使用位10:0 未定义GPBUP 0 x56000018 R/W 端口B上拉电阻禁止寄存器,使用位10:0。0:使能;1:禁止0 x0 保留0 x5600001C 保留未定义端口端口B控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 33第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值GPCCON 0 x56000020 R/W 配置端口C引脚端,使用位31:0,分别对端口C的16个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留0 x0 GPCDAT 0 x56000024 R/W 端口C数据寄存器,使用位15:0 未定义GPCUP 0 x56000028 R/W 端口C上拉电阻不使能寄存器,使用位15:0。0:使能;1:禁止0 x0 保留0 x5600002C 保留未定义端口端口C控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 34第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值GPDCON 0 x56000030 R/W 配置端口D引脚端,使用位31:0,分别对端口D的16个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留/第3功能0 x0 GPDDAT 0 x56000034 R/W 端口D数据寄存器,使用位15:0 未定义GPDUP 0 x56000038 R/W 端口D上拉电阻不使能寄存器,使用位15:0。0:使能;1:不使能0 xF000 保留 0 x5600003C 保留未定义 端口端口D控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 35第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值GPECON 0 x56000040 R/W 配置端口E引脚端,使用位31:0,分别对端口E的16个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留/第3功能0 x0 GPEDAT 0 x56000044 R/W 端口E数据寄存器,使用位15:0 未定义 GPEUP 0 x56000048 R/W 端口E上拉电阻不使能寄存器,使用位15:0。0:使能;1:不使能0 x0 保留0 x5600004C 保留未定义端口端口E控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 36第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值GPFCON 0 x56000050 R/W 配置端口F引脚端,使用位15:0,分别对端口F的8个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留0 x0 GPFDAT 0 x56000054 R/W 端口F数据寄存器,使用位7:0 未定义 GPFUP 0 x56000058 R/W 端口F上拉电阻不使能寄存器,使用位7:0。0:使能;1:不使能0 x0 保留0 x5600005C 保留未定义端口端口F控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 37第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值GPGCON 0 x56000060 R/W 配置端口G引脚端,使用位31:0,分别对端口G的16个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留/第3功能0 x0 GPGDAT 0 x56000064 R/W 端口G数据寄存器,使用位15:0 未定义 GPGUP 0 x56000068 R/W 端口G上拉电阻不使能寄存器,使用位15:0。0:使能;1:不使能0 xF800保留 0 x5600006C 保留未定义端口端口G控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 38第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值GPHCON 0 x56000070 R/W 配置端口H引脚端,使用位21:0,分别对端口H的11个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留/第3功能0 x0 GPHDAT 0 x56000074 R/W 端口H数据寄存器,使用位10:0 未定义 GPHUP 0 x56000078 R/W 端口H上拉电阻不使能寄存器,使用位10:0。0:使能;1:不使能0 x0 保留 0 x5600007C 保留未定义端口端口H控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 39第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值MISCCR 0 x56000080 R/W 控制数据端口的上拉电阻、高阻状态、USB Pad和CLKOUT的选择0 x10330杂项控制寄存器杂项控制寄存器寄存器地址 读/写 描 述 复位值DCLKCON 0 x56000084 R/W DCLK0/1 控制,位27:16控制DCLK1,位11:0控制DCLK0 0 x0 DCLK控制寄存器控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 40第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址读/写描 述复位值EXTINT00 x56000088R/W外部中断控制寄存器0,使用位30:0,分别对EINT7EINT0触发信号进行配置。000:低电平触发;001:高电平触发;01x:下降沿触发;10 x:上升沿触发;11x:双边沿触发0 x0EXTINT10 x5600008CR/W外部中断控制寄存器1,使用位30:0,分别对EINT15EINT8触发信号进行配置。000:低电平触发;001:高电平触发;01x:下降沿触发;10 x:上升沿触发;11x:双边沿触发0 x0外部中断控制寄存器外部中断控制寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 41第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计EXTINT20 x56000090R/W外部中断控制寄存器2,使用位30:0,分别对EINT23EINT16触发信号进行配置。000:低电平触发;001:高电平触发;01x:下降沿触发;10 x:上升沿触发;11x:双边沿触发。位31为EINT23滤波器使能控制,1:使能;0:不使能0 x0 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 外部中断控制寄存器(续)外部中断控制寄存器(续)42第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值EINTFLT0 0 x56000094 R/W 保留EINTFLT1 0 x56000098 R/W 保留EINTFLT2 0 x5600009C R/W 外部中断控制寄存器 2,控制EINT19EINT16的滤波器时钟和带宽0 x0 EINTFLT3 0 x56000A0 R/W 外部中断控制寄存器 3,控制EINT23EINT20的滤波器时钟和带宽0 x0 外部中断滤波寄存器外部中断滤波寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 43第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值EINTMASK 0 x560000A4 R/W 外部中断屏蔽寄存器,使用位23:4 控制EINT23EINT4中断屏蔽。0:使能中断;1:屏蔽中断0 x0外部中断屏蔽寄存器外部中断屏蔽寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 44第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值EINTPEND 0 x560000A8 R/W 使用位23:4分别EINT23EINT4设置是否请求中断挂起。0:不请求挂起;1:请求 挂起 0 x0 外部中断挂起寄存器外部中断挂起寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 45第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计寄存器地址 读/写 描 述 复位值GSTATUS0 0 x560000AC R 外部引脚端状态Undefined GSTATUS1 0 x560000B0 R 芯片ID 0 x32410000 GSTATUS2 0 x560000B4 R/W 复位状态 0 x1 GSTATUS3 0 x560000B8 R/W Infrom 寄存器,可被复位nRESET和看门狗定时器清零0 x0 GSTATUS4 0 x560000BC R/W Infrom寄存器,可以利用nRESET和看门狗定时器清零0 x0 通用状态寄存器通用状态寄存器 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 46第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.2.2 5.2.2 I/OI/O口编程实例口编程实例 举例举例:通过对通过对G G口的操作控制口的操作控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。void Main(void)void Main(void)intint flag,i;flag,i;Target_Init();/Target_Init();/进行硬件初始化操作,包括对进行硬件初始化操作,包括对I/OI/O口的初始化操作口的初始化操作 for(;)for(;)if(flag=0)if(flag=0)for(i=0;i1000000;i+);/for(i=0;i1000000;i+);/延时延时 rGPGCONrGPGCON=rGPGCONrGPGCON&0 xfff0ffff|0 x00050000;/&0 xfff0ffff|0 x00050000;/配置第配置第8 8、第、第9 9位为输出引脚位为输出引脚 rGPGDATrGPGDAT=rGPGDATrGPGDAT&0 xeff|0 x200;&0 xeff|0 x200;/第第8 8位输出为低电平位输出为低电平 /第第9 9位输出高电平位输出高电平 for(i=0;i10000000;i+);/for(i=0;i10000000;i+);/延时延时 flag=1;flag=1;else else for(i=0;i1000000;i+);/for(i=0;i1000000;i+);/延时延时 rGPGCONrGPGCON=rGPGCONrGPGCON&0 xfff0ffff|0 x00050000;&0 xfff0ffff|0 x00050000;/配置第配置第8 8、第、第9 9位为输出引脚位为输出引脚 rGPGDATrGPGDAT=rGPGDATrGPGDAT&0 xdff|0 x100;&0 xdff|0 x100;/第第8 8位输出为高电平位输出为高电平 /第第9 9位输出低电平位输出低电平for(ifor(i=0;i1000000;i+);/=0;i1000000;i+);/延时延时flag=0;flag=0;47第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要内容1 13 32 24 4S3C2410简介简介 I/O口口中断中断DMA5 5A/D接口接口6 6UART触摸屏触摸屏7 78 89 910101111LCDUSB设备的数据收发设备的数据收发音频录放音频录放键盘和键盘和LED控制控制48第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.3.1 5.3.1 ARMARM的中断原理的中断原理 ARMARM系统包括两类中断:一是系统包括两类中断:一是IRQIRQ中断中断,一是,一是FIQFIQ中断中断。处理中断的步骤如下:处理中断的步骤如下:(1)(1)保保存存现现场场。保保存存当当前前的的PCPC值值到到R14R14,保保存存当当前前的的程程序序运运行行状状态态到到SPSRSPSR。(2)(2)模式切换。根据发生的中断类型,进入模式切换。根据发生的中断类型,进入IRQIRQ模式或模式或FIQFIQ模式。模式。(3)(3)获获取取中中断断源源。以以异异常常向向量量表表保保存存在在低低地地址址处处为为例例,若若是是IRQIRQ中中断断,则则PCPC指指针针跳跳到到0 0 x18x18处处;若若是是FIQFIQ中中断断,则则跳跳到到0 0 x1Cx1C处处。IRQIRQ或或FIQFIQ的的异异常常向向量量地地址址处处一一般般保保存存的的是是中中断断服服务务子子程程序序的的地地址址,所所以以接接下下来来PCPC指指针跳入中断服务子程序处理中断。针跳入中断服务子程序处理中断。(4)(4)中中断断处处理理。为为各各种种中中断断定定义义不不同同的的优优先先级级别别,并并为为每每一一个个中中断断设设置置一一个个中中断断标标志志位位。当当发发生生中中断断时时,通通过过判判断断中中断断优优先先级级以以及及访访问问中中断断标标志志位位的的状状态态来来识识别别到到底底哪哪一一个个中中断断发发生生了了。进进而而调调用用相相应应的的函函数数进行中断处理。进行中断处理。(5)(5)中断返回,恢复现场。当完成中断服务子程序后,将中断返回,恢复现场。当完成中断服务子程序后,将SPSRSPSR中保存中保存的程序运行状态恢复到的程序运行状态恢复到CPSRCPSR中,中,R14R14中保存的被中断程序的地址恢复中保存的被中断程序的地址恢复到到PCPC中,进而继续执行被中断的程序。中,进而继续执行被中断的程序。49第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.3.2 5.3.2 S3C2410AS3C2410A的中断控制器的中断控制器 中断控制器使用的寄存器中断控制器使用的寄存器50第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计v 优先级生成模块优先级生成模块 51第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.3.3 5.3.3 中断编程实例中断编程实例举例举例:通过定时器通过定时器1 1中断控制中断控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。1 1对定时器对定时器1 1初始化,并设定定时器的中断时间为初始化,并设定定时器的中断时间为1 1秒。秒。void Timer1_init(void)void Timer1_init(void)rGPGCONrGPGCON=rGPGCONrGPGCON&0 xfff0ffff|0 x00050000;&0 xfff0ffff|0 x00050000;/配置配置GPGGPG口为输出口口为输出口 rGPGDATrGPGDAT=rGPGDATrGPGDAT|0 x300;|0 x300;rTCFG0 =255;rTCFG0 =255;rTCFG1 =0 4;rTCFG1 =0 4;/在在pclkpclk=50MHZ=50MHZ下,下,1 1秒钟的记数值秒钟的记数值rTCNTB1=50000000/4/256=48828;rTCNTB1=50000000/4/256=48828;rTCNTB1=48828;rTCNTB1=48828;rTCMPB1=0 x00;rTCMPB1=0 x00;rTCONrTCON =(1 11)|(1 9)|(0 8);=(1 11)|(1 9)|(0 8);/禁用定时器禁用定时器1 1,手动加载,手动加载 rTCONrTCON =(1 11)|(0 9)|(1 8);=(1 11)|(0 9)|(1 8);/启动定时器启动定时器1 1,自动装载,自动装载 52第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计举例举例:通过定时器通过定时器1 1中断控制中断控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。2 2为为了了使使CPUCPU响响应应中中断断,在在中中断断服服务务子子程程序序执执行行之之前前,必必须须打打开开ARM920TARM920T的的CPSRCPSR中的中的I I位,以及相应的中断屏蔽寄存器中的位。位,以及相应的中断屏蔽寄存器中的位。void Timer1INT_Init(void)void Timer1INT_Init(void)/定时器接口使能定时器接口使能 if(if(rINTPNDrINTPND&BIT_TIMER1)&BIT_TIMER1)rSRCPNDrSRCPND|=BIT_TIMER1;|=BIT_TIMER1;/写入定时器写入定时器1 1中断服务子程序的入口地址中断服务子程序的入口地址 pISR_TIMER1=(int)Timer1_ISR;pISR_TIMER1=(int)Timer1_ISR;rINTMSKrINTMSK&=(BIT_TIMER1);&=(BIT_TIMER1);/开中断;开中断;3 3等待定时器中断,通过一个死循环如等待定时器中断,通过一个死循环如“while(1)while(1);”实现等待过程。实现等待过程。53第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计举例举例:通过定时器通过定时器1 1中断控制中断控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。4 4根根据据设设置置的的定定时时时时间间,将将产产生生定定时时器器中中断断。定定时时器器中中断断发发生生后后,首首先先进进行行现现场场保保护护,接接下下来来转转入入中中断断的的入入口口代代码码处处执执行行,该该部部分分代代码码通通常常使使用用汇汇编编语语言言书书写写。在在执执行行中中断断服服务务程程序序之之前前,首首先先要要确确保保HandleIRQHandleIRQ地地址址处处保保存存中中断断分分发发程程序序IsrIRQIsrIRQ的入口地址。的入口地址。ldrldrr0,=r0,=HandleIRQHandleIRQ ldrldrr1,=r1,=IsrIRQIsrIRQ strstrr1,r0r1,r0接下来将执行接下来将执行IsrIRQIsrIRQ中断分发程序,具体代码如下:中断分发程序,具体代码如下:IsrIRQIsrIRQ subsubsp,sp,#4 sp,sp,#4 ;为保存为保存PCPC预留堆栈空间预留堆栈空间stmfdstmfdsp!,r8-r9 sp!,r8-r9 ldrldrr9,=INTOFFSET r9,=INTOFFSET ldrldrr9,r9r9,r9 ;加载加载INTOFFSETINTOFFSET寄存器值到寄存器值到r9r9ldrldrr8,=HandleEINT0r8,=HandleEINT0;加载中断向量表的基地址到加载中断向量表的基地址到r8r8addaddr8,r8,r9,lsl#2r8,r8,r9,lsl#2;获得中断向量获得中断向量ldrldrr8,r8r8,r8;加载中断服务程序的入口地址到加载中断服务程序的入口地址到r8r8strstrr8,sp,#8r8,sp,#8;保存保存spsp,将其作为新的将其作为新的pcpc值值ldmfdldmfdsp!,r8-r9,pcsp!,r8-r9,pc;跳转到中断服务子程序执行跳转到中断服务子程序执行54第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计举例举例:通过定时器通过定时器1 1中断控制中断控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。5 5执行中断服务子程序,该子程序实现将执行中断服务子程序,该子程序实现将LED1LED1和和LED2LED2灯熄灭或点亮,灯熄灭或点亮,从现象中看到从现象中看到LED1LED1和和LED2LED2灯闪烁一次,则说明定时器发生了一次中断。灯闪烁一次,则说明定时器发生了一次中断。intint flag;flag;void _void _irqirq Timer1_ISR(void)Timer1_ISR(void)if(flag=0)if(flag=0)rGPGDATrGPGDAT=rGPGDATrGPGDAT&0 xeff|0 x200;&0 xeff|0 x200;flag=1;flag=1;elseelse rGPGDATrGPGDAT=rGPGDATrGPGDAT&0 xdff|0 x100;&0 xdff|0 x100;flag=0;flag=0;rSRCPNDrSRCPND|=BIT_TIMER1;|=BIT_TIMER1;rINTPNDrINTPND|=BIT_TIMER1;|=BIT_TIMER1;66从中断返回,恢复现场,跳转到被中断的主程序继续执行,等待从中断返回,恢复现场,跳转到被中断的主程序继续执行,等待下一次中断的到来。下一次中断的到来。55第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要内容1 13 32 24 4S3C2410简介简介 I/O口口中断中断DMA5 5A/D接口接口6 6UART触摸屏触摸屏7 78 89 910101111LCDUSB设备的数据收发设备的数据收发音频录放音频录放键盘和键盘和LED控制控制56第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.4.1 5.4.1 DMADMA工作原理工作原理 所所谓谓DMADMA方方式式,即即直直接接存存储储器器存存取取(Direct Direct Memory Memory AcessAcess),是是指指存存储储器器与与外外设设在在DMADMA控控制制器器的的控控制制下下,直直接接传传送送数数据据而而不不通通过过CPUCPU,传传输输速速率率主要取决于存储器存取速度。主要取决于存储器存取速度。采用采用DMADMA方式进行数据传输的具体过程如下:方式进行数据传输的具体过程如下:(1 1)外设向)外设向DMADMA控制器发出控制器发出DMADMA请求;请求;(2 2)DMADMA控制器向控制器向CPUCPU发出总线请求信号;发出总线请求信号;(3 3)CPUCPU执执行行完完现现行行的的总总线线周周期期后后,向向DMADMA控控制制器器发发出出响响应应请请求求的的回回答答信信号;号;(4 4)CPUCPU将控制总线、地址总线及数据总线让出,由将控制总线、地址总线及数据总线让出,由DMADMA控制器进行控制;控制器进行控制;(5 5)DMADMA控制器向外部设备发出控制器向外部设备发出DMADMA请求回答信号;请求回答信号;(6 6)进行)进行DMADMA传送;传送;(7 7)数数据据传传送送完完毕毕,DMADMA控控制制器器通通过过中中断断请请求求线线发发出出中中断断信信号号。CPUCPU在在接接收到中断信号后,转入中断处理程序进行后续处理。收到中断信号后,转入中断处理程序进行后续处理。(8 8)中断处理结束后,)中断处理结束后,CPUCPU返回到被中断的程序继续执行。返回到被中断的程序继续执行。CPUCPU重新获得重新获得总线控制权。总线控制权。57第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.4.2 5.4.2 S3C2410AS3C2410A的的DMADMA控制器控制器 S3C2410AS3C2410A支持位于系统总线和外围总线之间的具有支持位于系统总线和外围总线之间的具有4 4个通道的个通道的DMADMA控制器。控制器。以以3 3种状态的种状态的FSMFSM来描述来描述DMADMA的操作过程如下:的操作过程如下:状状态态1 1:作作为为初初始始状状态态,DMADMA等等待待一一个个DMADMA请请求求。如如果果出出现现DMADMA请请求求,进进入入状态状态2 2
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!