版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院2第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要内容S3C2410简介简介 I/O口口中断中断DMAA/D接口接口UART触摸屏触摸屏LCDUSB设备的数据收发设备的数据收发音频录放音频录放键盘和键盘和LED控制控制内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院3第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.1 S3C2410 5.1 S3C2410简介简介 S3C2410 S3C2410是是SamsungSamsung公司公司推出的推出的16/3216/32
2、位位RISCRISC处理器,主要处理器,主要面向手持设备以及高性价比、低功耗的应用。面向手持设备以及高性价比、低功耗的应用。 CPUCPU内核采用内核采用的是的是ARMARM公司设计的公司设计的16/3216/32位位ARM920T RISCARM920T RISC处理器处理器。 S3C2410AS3C2410A提供一组完整的系统外围设备:提供一组完整的系统外围设备:2 2个个USBUSB主设备接口,主设备接口,1 1个个USBUSB从设备从设备接口;接口;4 4通道通道PWMPWM定时器和定时器和1 1通道内部定时通道内部定时器器看门狗定时器;看门狗定时器;117117位通用位通用I/OI/
3、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;外部存储器控制器
4、;外部存储器控制器;LCDLCD控制器提供控制器提供1 1通道通道LCDLCD专用专用DMADMA4 4通道通道DMADMA并有外部请求引脚;并有外部请求引脚;3 3通道通道UARTUART和和2 2通道通道SPISPI;1 1通道多主机通道多主机IICIIC总线和总线和1 1通道通道IISIIS (Inter-IC Sound)总线控制器;总线控制器;SDSD主接口版本主接口版本1.01.0和和MMCMMC卡协议卡协议2.112.11兼容版;兼容版;内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院4第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学
5、电子信息工程学院内蒙古大学电子信息工程学院5第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院6第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院7第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院8第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院9第第5 5章章 基于
6、基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院10第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院11第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院12第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院13第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件
7、设计S3C2410S3C2410结构框图结构框图 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院14第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5 5. .1.1 1.1 S3C2410AS3C2410A的特点的特点 体系结构体系结构: :ARM920T,支持WinCE,EPOC 32 和Linux,内部AMBA系统管理器系统管理器: :8 个存储器bank,每 bank 128M 字节(总共1G 字节)支持 各种型号的 ROM 引导(NOR/NAND Flash,EEPROM,或其他)NAND FlashNAND Flash启动装载器启动装载器:
8、采用 4KB 内部缓冲器进行启动引导,启动之后 NAND 存储器仍然作为外部存储器使用CacheCache存储器存储器: :I-Cache(16KB)和D-Cache(16KB),直写、回写、写缓冲时钟和电源管理:时钟和电源管理: 2.0V最大266MHZ,正常,慢速,空闲和掉电模式中断控制器:中断控制器:55 个中断源(实际56路,LCD 2路)具有脉冲带宽调制(具有脉冲带宽调制(PWMPWM)的定时器的定时器RTCRTC(实时时钟):实时时钟):秒、分、时、日期,星期,月和年通用通用I/OI/O口口 UARTUART:3 通道UARTDMADMA控制器控制器 A/DA/D转换和触摸屏接口转
9、换和触摸屏接口 :8 通道多路复用ADC内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院15第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计LCDLCD控制器控制器STN LCDSTN LCD显示特性:显示特性:super-twisted nematic超扭曲向列型超扭曲向列型 TFTTFT彩色显示特性彩色显示特性 :Thin Film Transistor薄膜晶体管,薄膜晶体管,TFT表现效果比表现效果比 STN好,但是好,但是STN又比又比TFT省电省电 看门狗定时器;看门狗定时器;16 位IICIIC总线接口总线接口 IISIIS总线接口:总线接口:1
10、 通道音频IIS 总线接口,可基于DMA 方式工作 USBUSB主设备主设备 USBUSB从设备从设备 SDSD主机接口主机接口 SPISPI接口接口 工作电压:工作电压:内核:1.8V 最高200MHz (S3C2410A-20) 2.0V 最高266MHz (S3C2410A-26)存储器和 IO 口:3.3V封装封装 :272FBGA:Fine-Pitch Ball Grid Array:细间距球栅阵列 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院16第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5 5. .1.2 1.2 存储器控制器存储器控
11、制器 S3C2410A S3C2410A的存储器控制器提供访问外部存储器所需的存储器控制器提供访问外部存储器所需要的存储器控制信号。要的存储器控制信号。 支持小支持小/ /大端(通过软件选择)大端(通过软件选择)地址空间:每地址空间:每bankbank有有128128MM字节(总共有字节(总共有8 8个个banksbanks,共共1 1G G字节)字节)除除bank0bank0(只能是只能是16/3216/32位宽)之外,其他位宽)之外,其他bankbank都具有都具有可编程的访问大小(可以是可编程的访问大小(可以是8/16/328/16/32位宽)位宽)总共有总共有8 8个存储器个存储器ba
12、nksbanks(bank0bank7bank0bank7)其中其中6 6个个banksbanks用于用于ROMROM,SRAMSRAM等等剩下剩下2 2个个banksbanks用于用于ROMROM,SRAMSRAM,SDRAMSDRAM等等7 7个固定的存储器个固定的存储器bankbank(bank0bank6bank0bank6)起始地址起始地址最后一个最后一个bankbank(bank7bank7)的起始地址是可调整的的起始地址是可调整的最后两个最后两个bankbank(bank6bank7bank6bank7)的大小是可编程的的大小是可编程的所有存储器所有存储器bankbank的访问周
13、期都是可编程的的访问周期都是可编程的总线访问周期可以通过插入外部等待来延长总线访问周期可以通过插入外部等待来延长支持支持SDRAMSDRAM的自刷新和掉电模式的自刷新和掉电模式 特性特性 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院17第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计存储存储器映器映射射 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院18第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5 5. .1.3 1.3 NAND FlashNAND Flash控制器控制器 特性特性 NAND FlashNA
14、ND Flash模式:支持读模式:支持读/ /擦除擦除/ /编程编程NAND FlashNAND Flash存储器存储器。自动启动模式:复位后,启动代码被传送到自动启动模式:复位后,启动代码被传送到SteppingstoneSteppingstone中。传送完毕后,启动代码在中。传送完毕后,启动代码在SteppingstoneSteppingstone中执行。中执行。具备硬件具备硬件ECCECC(校验码,校验码,Error Correction CodeError Correction Code)生成模块生成模块(硬件生成校验码,通过软件校验)。(硬件生成校验码,通过软件校验)。NAND Fl
15、ashNAND Flash启动以后,启动以后,4 4KBKB的内部的内部SRAMSRAM缓冲器缓冲器SteppingstoneSteppingstone可以作为其他用途使用。可以作为其他用途使用。NAND FlashNAND Flash控制器不能通过控制器不能通过DMADMA访问,可以使用访问,可以使用LDM/STMLDM/STM指令来代替指令来代替DMADMA操作。操作。 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院19第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要区别:NOR 闪存支持随机访问,而NAND 闪存是顺序访问器件。 NOR闪存采用了
16、专用地址线和数据线,而NAND 复用地址数据线 和NOR 相比, NAND 的单位比特成本更低,容量更大,更稳定,而且容易擦除,编程时间更短。NAND应用:USB硬盘、mp3 播放器、数字音频记录、数码相机等的存储卡。NAND接口信号: I/O0 I/O7:用于输入地址/数据/命令,输出数据CLE:Command Latch Enable,命令锁存使能 ALE:Address Latch Enable,地址锁存使能 CE#:Chip Enable,芯片使能,RE#:Read Enable,读使能WE#:Write Enable,写使能 WP#:Write Protect,写保护R/B#:Rea
17、dy/Busy Output,就绪/忙,主要用于在发送完编程/擦除命令后,检测这些操作是否完成,忙,表示编程/擦除操作仍在进行中,就绪表示操作完成.Vcc:Power,电源Vss:Ground,接地内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院20第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计v NAND Flash NAND Flash控制器的结构框图控制器的结构框图 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院21第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计v NAND Flash NAND Flash的工
18、作方式的工作方式 自动导入模式的步骤自动导入模式的步骤(作业作业)内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院22第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 一般一般ARM上电以后,会从上电以后,会从0 x0地址开始执行程序地址开始执行程序,在在NOR Flash启动方式下启动方式下, CS0接一个接一个NOR Flash,里面烧,里面烧入程序,一上电,入程序,一上电,ARM就会从就会从NOR Flash里面的里面的0 x0地地址开始执行程序,址开始执行程序,NOR Flash程序可以在里面运行,而程序可以在里面运行,而不需要拷贝到不需要拷贝到RA
19、M中再运行。中再运行。 从从nand flash 启动:启动:cpu自动将自动将nand flash开始的开始的4kB数据复制到称为数据复制到称为“steppingstone”的的4KB内部内部ram(sram)中)中,指针自动跳转到指针自动跳转到0 x00000000地址处开始执行地址处开始执行代码代码,因此,我们可以在因此,我们可以在nand flash前前4kb中储存相应的启中储存相应的启动代码,即可实现动代码,即可实现nand flash 启动。启动。 以上操作都是由以上操作都是由cpu内部硬件自动完成内部硬件自动完成内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院23第第5 5章
20、章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5 5. .1.4 1.4 时钟和电源管理时钟和电源管理 时钟和电源管理模块包括三部分:时钟和电源管理模块包括三部分:时钟控制:时钟控制:CPUCPU所需的所需的FCLKFCLK时钟信号、时钟信号、AHBAHB总线外围设备所需总线外围设备所需的的HCLKHCLK时钟信号,以及时钟信号,以及APBAPB总线外围设备所需的总线外围设备所需的PCLKPCLK时钟信号时钟信号 。USBUSB控制:产生控制:产生USB 主接口和USB 从接口都需要的48Mhz 时钟电源控制电源控制正常模式正常模式 慢速模式慢速模式空闲模式空闲模式 掉
21、电模式掉电模式内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院24第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要内容S3C2410简介简介 I/O口口中断中断DMAA/D接口接口UART触摸屏触摸屏LCDUSB设备的数据收发设备的数据收发音频录放音频录放键盘和键盘和LED控制控制内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院25第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 S3C2410AS3C2410A共有共有117
22、117个多功能复用输入输出口(个多功能复用输入输出口(I/OI/O口),分为口),分为8 8组组PORT APORT APORT HPORT H。PORT APORT A除了作为功能口外,它只作为输出口使用;除了作为功能口外,它只作为输出口使用;其余的其余的PORT BPORT BPORT HPORT H都可以作为输入输出口使用。都可以作为输入输出口使用。8 8组组I/OI/O口按照口按照其位数的不同,可分为:其位数的不同,可分为:1 1个个2323位的输出口(位的输出口(PORT APORT A)2 2个个1111位的位的I/OI/O口(口(PORT B PORT B 和和PORT HPOR
23、T H)4 4个个1616位的位的I/OI/O口(口(PORT CPORT C、PORT DPORT D、PORT EPORT E、PORT GPORT G)1 1个个8 8位的位的I/OI/O口(口(PORT FPORT F) 与配置与配置I/OI/O口相关的寄存器包括:口相关的寄存器包括:端口控制寄存器(端口控制寄存器(GPACONGPHCONGPACONGPHCON)端口数据寄存器(端口数据寄存器(GPADATGPHDATGPADATGPHDAT)端口上拉寄存器(端口上拉寄存器(GPBUPGPHUPGPBUPGPHUP)杂项控制寄存器杂项控制寄存器外部中断控制寄存器(外部中断控制寄存器(
24、EXTINTNEXTINTN) PORT F和和PORT G 可以可以配置为二十四路外中断输入。配置为二十四路外中断输入。内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院26第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计PORT G CONTROL REGISTERS (GPGCON)触摸屏触摸屏内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院27第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.2.2 5.2.2 I/OI/O口编程实例口编程实例 举例举例: :通过对通过对G G口的操作控制口的操作控制CPUCPU
25、板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院28第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.2.2 5.2.2 I/OI/O口编程实例口编程实例 GPBCON equ 0 x56000010GPBDAT equ 0 x56000014GPBUP equ 0 x56000018DELAYTIME equ 0 x10AREA LEDTESTASM,CODE,READONLYCODE32ENTRY;设置设置GPB5-GPB8为为outputldr r0,=GPBCO
26、Nldr r1,r0bic r1,r1,#0 x3fc00 ;把把GPB17:10设为设为0 :bic:r1 = r1 and (not 0 x3fc00)orr r1,r1,#0 x15400 ;把把GPB17:10设为设为01010101str r1,r0;禁止禁止GPB5-GPB8端口的上拉电阻端口的上拉电阻ldr r0,=GPBUPldr r1,r0orr r1,r1,#0 x1E0 ;当相应位为当相应位为1时上拉电阻无效时上拉电阻无效str r1,r0内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院29第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设
27、计 5.2.2 5.2.2 I/OI/O口编程实例口编程实例 looptest;将数据端口将数据端口B的数据寄存器的地址附给寄存器的数据寄存器的地址附给寄存器r2ldr r2,=GPBDATldr r3,r2bic r3,r3,#0 x1e0orr r3,r3,#0 x1c0 ;GPB5为为0,相应相应LED亮亮str r3,r2ldr r0,=DELAYTIMEbl delay ;调用延迟子程序调用延迟子程序ldr r3,r2bic r3,r3,#0 x1e0orr r3,r3,#0 x1A0 ;GPB6为为0,相应相应LED亮亮str r3,r2ldr r0,=DELAYTIMEbl de
28、lay ;调用延迟子程序调用延迟子程序ldr r3,r2bic r3,r3,#0 x1e0orr r3,r3,#0 x160 ;GPB7为为0,相应相应LED亮亮str r3,r2ldr r0,=DELAYTIMEbl delay ;调用延迟子程序调用延迟子程序内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院30第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.2.2 5.2.2 I/OI/O口编程实例口编程实例 ldr r3,r2bic r3,r3,#0 x1e0orr r3,r3,#0 xe0 ;GPB8为为0,相应相应LED亮亮str r3,r2l
29、dr r0,=DELAYTIMEbl delay ;调用延迟子程序调用延迟子程序b looptest;延迟子程序延迟子程序delayldr r4,=0 x2ffffdelay_1sub r4,r4,#1cmp r4,#0 x0bne delay_1sub r0,r0,#1cmp r0,#0 x0bne delaybx lr;END内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院31第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.2.2 5.2.2 I/OI/O口编程实例口编程实例 举例举例: :通过对通过对G G口的操作控制口的操作控制CPUCPU板左
30、下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。 void Main(void)void Main(void) int flag, i; int 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+); /延时延时 rGPGCON = rGPGCON & 0 xfff0ffff |
31、 0 x00050000; /rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; /配置第配置第8 8、第、第9 9位为输出引脚位为输出引脚 rGPGDAT = rGPGDAT & 0 xeff | 0 x200; /rGPGDAT = rGPGDAT & 0 xeff | 0 x200; /第第8 8位输出为低电平位输出为低电平 作业作业 / /第第9 9位输出高电平位输出高电平 for(i=0;i10000000;i+); /for(i=0;i10000000;i+); /延时延时 flag = 1;flag = 1; el
32、se else for(i=0;i1000000;i+); /for(i=0;i1000000;i+); /延时延时 rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; /rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; /配置第配置第8 8、第、第9 9位为输出引脚位为输出引脚 rGPGDAT = rGPGDAT & 0 xdff | 0 x100; /rGPGDAT = rGPGDAT & 0 xdff | 0 x100; /第第8 8位输出为高电平位输出为高电平 / /第
33、第9 9位输出低电平位输出低电平for(i=0;i1000000;i+); /for(i=0;i1000000;i+); /延时延时flag = 0;flag = 0; 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院32第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要内容S3C2410简介简介 I/O口口中断中断DMAA/D接口接口UART触摸屏触摸屏LCDUSB设备的数据收发设备的数据收发音频录放音频录放键盘和键盘和LED控制控制内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院33第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计
34、的系统硬件设计 5.3.1 5.3.1 ARMARM的中断原理的中断原理 ARMARM系统包括两类中断:一是系统包括两类中断:一是IRQIRQ中断中断,一是,一是FIQFIQ中断中断。 处理中断的步骤如下:处理中断的步骤如下:(1)(1)保存现场。保存当前的保存现场。保存当前的PCPC值到值到R14R14,保存当前的程序运行状态到保存当前的程序运行状态到SPSRSPSR。(2)(2)模式切换。根据发生的中断类型,进入模式切换。根据发生的中断类型,进入IRQIRQ模式或模式或FIQFIQ模式。模式。(3)(3)获取中断源。以异常向量表保存在低地址处为例,若是获取中断源。以异常向量表保存在低地址处
35、为例,若是IRQIRQ中断,中断,则则PCPC指针跳到指针跳到0 0 x18x18处;若是处;若是FIQFIQ中断,则跳到中断,则跳到0 0 x1Cx1C处。处。IRQIRQ或或FIQFIQ的异常的异常向量地址处一般保存的是中断服务子程序的地址,所以接下来向量地址处一般保存的是中断服务子程序的地址,所以接下来PCPC指针指针跳入中断服务子程序处理中断。跳入中断服务子程序处理中断。(4)(4)中断处理。为各种中断定义不同的优先级别,并为每一个中断设中断处理。为各种中断定义不同的优先级别,并为每一个中断设置一个中断标志位。当发生中断时,通过判断中断优先级以及访问中置一个中断标志位。当发生中断时,通
36、过判断中断优先级以及访问中断标志位的状态来识别到底哪一个中断发生了。进而调用相应的函数断标志位的状态来识别到底哪一个中断发生了。进而调用相应的函数进行中断处理。进行中断处理。(5)(5)中断返回,恢复现场。当完成中断服务子程序后,将中断返回,恢复现场。当完成中断服务子程序后,将SPSRSPSR中保存中保存的程序运行状态恢复到的程序运行状态恢复到CPSRCPSR中,中,R14R14中保存的被中断程序的地址恢复到中保存的被中断程序的地址恢复到PCPC中,进而继续执行被中断的程序。中,进而继续执行被中断的程序。 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院34第第5 5章章 基于基于S3C2
37、410S3C2410的系统硬件设计的系统硬件设计v 优先级生成模块(优先级生成模块(56 个中断源) 中断优先级控制寄存器内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院35第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计中断源中断控制器支持中断控制器支持56 个中断源,分成个中断源,分成32个优先级个优先级每个仲裁器基于一个位仲裁器模式控制(每个仲裁器基于一个位仲裁器模式控制(ARB_MODE)和选择控制信号)和选择控制信号(ARB_SEL)的两位来处理)的两位来处理6 个中断请求。个中断请求。ARB_SEL位是位是00b,优先级是,优先级是REQ0,RE
38、Q1,REQ2,REQ3,REQ4,REQ5.ARB_SEL位是位是01b,优先级是,优先级是REQ0,REQ2,REQ3,REQ4,REQ1,REQ5.ARB_SEL位是位是10b,优先级是,优先级是REQ0,REQ3,REQ4,REQ1,REQ2,REQ5.ARB_SEL位是位是11b,优先级是,优先级是REQ0,REQ4,REQ1,REQ2,REQ3,REQ5.注意仲裁器的注意仲裁器的REQ0 总是有最高优先级,总是有最高优先级,REQ5 总是有最低优先级。总是有最低优先级。如果如果ARB_MODE 位置位置0,ARB_SEL 位不会自动改变(可手动改变)。位不会自动改变(可手动改变)。
39、如果如果ARB_MODE 位是位是1,ARB_SEL 位以翻转的方式改变。位以翻转的方式改变。ARB_SEL 变化的详细规则如下:变化的详细规则如下:如果如果REQ0 或或REQ5 被服务,被服务,ARB_SEL位完全不会变化。位完全不会变化。如果如果REQ1 被服务,被服务,ARB_SEL位变为位变为01b。如果如果REQ2 被服务,被服务,ARB_SEL位变为位变为10b。如果如果REQ3 被服务,被服务,ARB_SEL位变为位变为11b。如果如果REQ4 被服务,被服务,ARB_SEL位变为位变为00b。内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院36第第5 5章章 基于基于S3
40、C2410S3C2410的系统硬件设计的系统硬件设计 5.3.2 5.3.2 S3C2410AS3C2410A的中断控制器的中断控制器 中断控制器使用的寄存器中断控制器使用的寄存器SRCPND INTPND:对某位写对某位写1,清除该位清除该位.INTPND:SRCPND多个中断源竞争后有效的中断多个中断源竞争后有效的中断,只能有只能有1位置位置1INTMOD:为为1表示表示FIQ模式模式.所有中断只能有一个被设为所有中断只能有一个被设为FIQ,所以任何时刻所以任何时刻INTMOD最多只能有一位置最多只能有一位置1.内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院37第第5 5章章 基于基
41、于S3C2410S3C2410的系统硬件设计的系统硬件设计中断源挂起寄存器中断源挂起寄存器SRCPND内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院38第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计中断优先级控制寄存器PRIORITY00 = REQ 0-1-2-3-4-5 01 = REQ 0-2-3-4-1-510 = REQ 0-3-4-1-2-5 11 = REQ 0-4-1-2-3-50 = 优先级不翻转1 = 优先级翻转使能中断优先级内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院39第第5 5章章 基于基于S3C2410S3C2410的
42、系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院40第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计子中断屏蔽寄存器内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院41第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院42第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院43第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.3.3
43、5.3.3 中断编程实例中断编程实例举例举例: :通过定时器通过定时器1 1中断控制中断控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。1 1对定时器对定时器1 1初始化,并设定定时器的中断时间为初始化,并设定定时器的中断时间为1 1秒。秒。void Timer1_init(void)void Timer1_init(void) rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; /配置配置G
44、PGGPG口为输出口口为输出口 rGPGDAT = rGPGDAT | 0 x300;rGPGDAT = rGPGDAT | 0 x300; rTCFG0 = 255;/ rTCFG0 = 255;/设定定时器预分频设定定时器预分频 rTCFG1 = 0 4; rTCFG1 = 0 4; /在在pclk=50MHZpclk=50MHZ下,下,1 1秒钟的记数值秒钟的记数值rTCNTB1 =50000000/4/256=48828;rTCNTB1 =50000000/4/256=48828; rTCNTB1 = 48828; / rTCNTB1 = 48828; /计数缓存计数缓存 rTCMPB
45、1 = 0 x00;/ rTCMPB1 = 0 x00;/比较缓存比较缓存 rTCON = (1 11) | (1 9) | (0 8); rTCON = (1 11) | (1 9) | (0 8); /禁用定时器禁用定时器1 1,手动加载,手动加载 rTCON = (1 11) | (0 9) | (1 8); rTCON = (1 11) | (0 9) | (1 8); /启动定时器启动定时器1 1,自动装载,自动装载 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院44第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计举例举例: :通过定时器通过定时
46、器1 1中断控制中断控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。2 2为了使为了使CPUCPU响应中断,在中断服务子程序执行之前,必须打开响应中断,在中断服务子程序执行之前,必须打开ARM920TARM920T的的CPSRCPSR中的中的I I位,以及相应的中断屏蔽寄存器中的位。位,以及相应的中断屏蔽寄存器中的位。void Timer1INT_Init(void) void Timer1INT_Init(void) /定时器接口使能定时器接口使能 if (rINTPND & BIT_TIMER1)if (rINTPND &
47、 BIT_TIMER1) rSRCPND |= BIT_TIMER1;/rSRCPND |= BIT_TIMER1;/清除中断源标志清除中断源标志 /写入定时器写入定时器1 1中断服务子程序的入口地址中断服务子程序的入口地址 pISR_TIMER1 = (int)Timer1_ISR; pISR_TIMER1 = (int)Timer1_ISR; rINTMSK &= (BIT_TIMER1); rINTMSK &= (BIT_TIMER1); /开中断;开中断; 3 3等待定时器中断,通过一个死循环如等待定时器中断,通过一个死循环如“while(1)while(1);”实现等
48、待过程。实现等待过程。 内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院45第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计举例举例: :通过定时器通过定时器1 1中断控制中断控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。4 4根据设置的定时时间,将产生定时器中断。定时器中断发生后,首根据设置的定时时间,将产生定时器中断。定时器中断发生后,首先进行现场保护,接下来转入中断的入口代码处执行,先进行现场保护,接下来转入中断的入口代码处执行,AREA Init,CODE,READONLYENTRY b Hand
49、lerUndef ;handler for Undefined mode b HandlerSWI ;handler for SWI interrupt b HandlerPabort ;handler for PAbort b HandlerDabort ;handler for DAbort b . ;reserved b HandlerIRQ ;handler for IRQ interrupt b HandlerFIQ ;handler for FIQ interrupt HandlerIRQ sub sp,sp,#4 ; 预留一个字的存储空间预留一个字的存储空间 stmfd sp!,
50、r0 ; r0 入栈入栈 ldr r0,=HandleIRQ ; HandleIRQ 为预留的为预留的4字节标号地址字节标号地址 ldr r0,r0 ; str r0,sp,#4 ; ldmfd sp!,r0,pc ;内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院46第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计在执行中断服务程序之前,首先要确保在执行中断服务程序之前,首先要确保HandleIRQ地址处保存中断分发程序地址处保存中断分发程序IsrIRQ的入口地址。的入口地址。ldrr0,=HandleIRQ ldrr1,=IsrIRQ strr1,r0接
51、下来将执行接下来将执行IsrIRQ中断分发程序,具体代码如下:中断分发程序,具体代码如下:IsrIRQ sub sp,sp,#4 ;为保存为保存PC预留堆栈空间预留堆栈空间stmfdsp!,r8-r9 ldrr9,=INTOFFSET ; INTOFFSET =0-31ldrr9,r9 ;加载加载INTOFFSET寄存器值到寄存器值到r9ldrr8,=HandleEINT0;加载中断向量表的基地址到加载中断向量表的基地址到r8add r8,r8,r9,lsl #2;获得中断向量获得中断向量ldrr8,r8;加载中断服务程序的入口地址到加载中断服务程序的入口地址到r8strr8,sp,#8;保存
52、保存sp,将其作为新的将其作为新的pc值值ldmfdsp!,r8-r9,pc;跳转到中断服务子程序执行跳转到中断服务子程序执行内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院47第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计举例举例: :通过定时器通过定时器1 1中断控制中断控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2实现轮流闪烁。实现轮流闪烁。5 5执行中断服务子程序,该子程序实现将执行中断服务子程序,该子程序实现将LED1LED1和和LED2LED2灯熄灭或点亮,灯熄灭或点亮,从现象中看到从现象中看到LED1LED1和和LE
53、D2LED2灯闪烁一次,则说明定时器发生了一次中断。灯闪烁一次,则说明定时器发生了一次中断。int flag;int flag;void _irq Timer1_ISR( void ) void _irq Timer1_ISR( void ) if (flag = 0) if (flag = 0) rGPGDAT = rGPGDAT & 0 xeff | 0 x200; rGPGDAT = rGPGDAT & 0 xeff | 0 x200; flag = 1; flag = 1; elseelse rGPGDAT = rGPGDAT & 0 xdff | 0 x100
54、; rGPGDAT = rGPGDAT & 0 xdff | 0 x100; flag = 0; flag = 0; rSRCPND |= BIT_TIMER1;rSRCPND |= BIT_TIMER1; rINTPND |= BIT_TIMER1;rINTPND |= BIT_TIMER1; 6 6从中断返回,恢复现场,跳转到被中断的主程序继续执行,等待下从中断返回,恢复现场,跳转到被中断的主程序继续执行,等待下一次中断的到来。一次中断的到来。内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院48第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计主要
55、内容S3C2410简介简介 I/O口口中断中断DMAA/D接口接口UART触摸屏触摸屏LCDUSB设备的数据收发设备的数据收发音频录放音频录放键盘和键盘和LED控制控制内蒙古大学电子信息工程学院内蒙古大学电子信息工程学院49第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.4.1 5.4.1 DMADMA工作原理工作原理 所谓所谓DMADMA方式,即直接存储器存取(方式,即直接存储器存取(Direct Memory AcessDirect Memory Acess),),是指存储是指存储器与外设在器与外设在DMADMA控制器的控制下,直接传送数据而不通过控制
56、器的控制下,直接传送数据而不通过CPUCPU,传输速率主传输速率主要取决于存储器存取速度。要取决于存储器存取速度。采用采用DMADMA方式进行数据传输的具体过程如下:方式进行数据传输的具体过程如下:(1 1)外设向)外设向DMADMA控制器发出控制器发出DMADMA请求;请求;(2 2)DMADMA控制器向控制器向CPUCPU发出总线请求信号;发出总线请求信号;(3 3)CPUCPU执行完现行的总线周期后,向执行完现行的总线周期后,向DMADMA控制器发出响应请求的回答信控制器发出响应请求的回答信号;号;(4 4)CPUCPU将控制总线、地址总线及数据总线让出,由将控制总线、地址总线及数据总线
57、让出,由DMADMA控制器进行控制控制器进行控制;(5 5)DMADMA控制器向外部设备发出控制器向外部设备发出DMADMA请求回答信号;请求回答信号;(6 6)进行)进行DMADMA传送;传送;(7 7)数据传送完毕,)数据传送完毕,DMADMA控制器通过中断请求线发出中断信号。控制器通过中断请求线发出中断信号。CPUCPU在接在接收到中断信号后,转入中断处理程序进行后续处理。收到中断信号后,转入中断处理程序进行后续处理。(8 8)中断处理结束后,)中断处理结束后,CPUCPU返回到被中断的程序继续执行。返回到被中断的程序继续执行。CPUCPU重新获得重新获得总线控制权。总线控制权。 内蒙古
58、大学电子信息工程学院内蒙古大学电子信息工程学院50第第5 5章章 基于基于S3C2410S3C2410的系统硬件设计的系统硬件设计 5.4.2 5.4.2 S3C2410AS3C2410A的的DMADMA控制器控制器 S3C2410AS3C2410A支持位于系统总线和外围总线之间的具有支持位于系统总线和外围总线之间的具有4 4个通道的个通道的DMADMA控制器。控制器。 以以3 3种状态的种状态的FSM(FSM(Finite Status Machine ) )来描述来描述DMADMA的操作过程如下:的操作过程如下: 状态状态1 1:作为初始状态,:作为初始状态,DMADMA等待一个等待一个D
59、MADMA请求。如果出现请求。如果出现DMADMA请求,进入状请求,进入状态态2 2。在这种状态下,。在这种状态下,DMA ACKDMA ACK和和INT REQINT REQ为为0 0。状态状态2 2:在这种状态下,:在这种状态下,DMA ACKDMA ACK变为变为1 1,并且从,并且从DCON19:0DCON19:0寄存器向计数寄存器向计数器(器(CURR_TCCURR_TC)加载计数值。注意此时加载计数值。注意此时DMA ACKDMA ACK一直是一直是1 1直到以后被清零。直到以后被清零。状态状态3 3:在这种状态下,子:在这种状态下,子FSMFSM处理处理DMADMA的的原子操作原
60、子操作被初始化。子被初始化。子FSMFSM从源地从源地址读取数据,并将其写入目标地址。这一操作被重复执行,直到在整体服址读取数据,并将其写入目标地址。这一操作被重复执行,直到在整体服务模式下计数器(务模式下计数器(CURR_TCCURR_TC)变为变为0 0;这一操作在单个服务模式下则只执行;这一操作在单个服务模式下则只执行一次。当子一次。当子FSMFSM每完成一次原子操作,主每完成一次原子操作,主FSMFSM将将CURR_TCCURR_TC进行一次向下计数。进行一次向下计数。另外,当另外,当CURR_TCCURR_TC变为变为0 0时,主时,主FSMFSM将将INT REQINT REQ信号置信号置1 1,并将,并将DCONDCON寄存器的中寄存器的中断设置位断设置位2929置置1 1。除此以外,如果发生以下情况,则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息化档案管理制度
- 2026及未来5年中国塑胶公仔行业市场运行态势及发展战略研究报告
- 2025 九年级道德与法治下册批判性思维训练习题课件
- 2026年内蒙古包头市单招职业倾向性测试题库附参考答案详解(巩固)
- 2026年南阳科技职业学院单招职业适应性测试题库含答案详解(能力提升)
- 2026年博尔塔拉职业技术学院单招职业技能测试题库带答案详解(培优b卷)
- 2026年博尔塔拉职业技术学院单招职业倾向性测试题库完整参考答案详解
- 2026年南京城市职业学院单招职业技能测试题库含答案详解(黄金题型)
- 2026年内蒙古呼和浩特市单招职业倾向性测试题库含答案详解(突破训练)
- 2026年信阳艺术职业学院单招职业技能测试题库带答案详解(满分必刷)
- 2025至2030中国航空发动机关键零部件国产化突破与投资价值评估报告
- 2026年《必背60题》党校教师高频面试题包含详细解答
- 安全监察队伍培训班课件
- 2025年重庆基层法律服务考试真题及答案
- 血液透析患者出血风险的防范
- 高考数学解答题:圆锥曲线的综合应用(10大题型)学生版
- 2024-2025学年下学期高一物理教科版期中必刷常考题之斜抛运动
- 《建筑装饰设计收费标准》(2024年版)
- 山东省潍坊市普通高中2025届物理高三第一学期期末调研模拟试题含解析
- 旅游景区项目定位分析报告
- 北京航空航天大学2014年671无机化学考研真题
评论
0/150
提交评论