版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2 2章章 基于基于ARM920TARM920T核微处理器核微处理器 n2.1 ARM2.1 ARM处理器简介处理器简介 n2.2 ARM920T2.2 ARM920T简介简介n2.3 2.3 三星三星S3C2410XS3C2410X处理器详解处理器详解2.3 S3C2410X处理器处理器详解详解S3C2410X在包含在包含ARM920T核的同时,增加了丰富的外围资源,如图核的同时,增加了丰富的外围资源,如图2.8所示。所示。主要片内外围模块包括:主要片内外围模块包括: 1个个LCD控制器,支持控制器,支持STN和和TFT液晶显示屏;液晶显示屏; 外部存储器管理(外部存储器管理(SDRAM
2、控制器和芯片选择逻辑);控制器和芯片选择逻辑); 3个通道的个通道的UART; 4个通道的个通道的DMA,支持存储器和,支持存储器和I/O口之间的传输,以猝发模式提高传输率;口之间的传输,以猝发模式提高传输率; 4个有个有PWM功能的功能的16位定时位定时/计数器和计数器和1个个16位内部定时器,支持外部时钟源;位内部定时器,支持外部时钟源; 8通道的通道的10位位ADC,最高速率可达,最高速率可达500kB/s,10位分辨率;位分辨率; 触摸屏接口;触摸屏接口; IIS总线接口;总线接口; 2个个USB主机接口,主机接口,1个个USB设备接口;设备接口; 2个个SPI接口;接口; SD卡接口
3、和卡接口和MMC卡接口;卡接口; 16位看门狗定时器;位看门狗定时器; 117位通用位通用I/O口和口和24位外部中断源;位外部中断源; 8通道通道10位位AD控制器;控制器; 电源管理。电源管理。 S3C2410X及片内外围简介及片内外围简介S3C2410X支持大、小端模式,将存储空间分成支持大、小端模式,将存储空间分成8组(组(Bank),每组大小是),每组大小是128MB,共计,共计1GB。表表2.7 62.7 6组组/7/7组的存储器映射地址组的存储器映射地址2.3.2 特殊功能寄存器特殊功能寄存器 1内存控制器(内存控制器(Memory Controller)内存控制器为访问外部存储
4、空间提供存储器控制信号,共有内存控制器为访问外部存储空间提供存储器控制信号,共有13个寄存器个寄存器。 表表2.8 内存控制器内存控制器 (1)BWSCON 总线宽度控制寄存器总线宽度控制寄存器 用来控制各组存储器的总线宽度和访问周期,各位定义:用来控制各组存储器的总线宽度和访问周期,各位定义:n3131 ST7 ST7 确定存储器确定存储器7 7组对应组对应 UB/LB UB/LB 端接口,端接口,0 =0 =不使用不使用 UB/LB UB/LB ,UB/LBUB/LB端与端与nWBE3:0nWBE3:0相连;相连;1 = 1 = 使使用用UB/LB UB/LB ,UB/LBUB/LB端与端
5、与nBE3:0nBE3:0相连。相连。n2727 ST6 ST6、2323 ST5 ST5、1919 ST4 ST4、1515 ST3 ST3、11 11 ST2ST2、77 ST1 ST1同上,同上,n3030 WS7 WS7 确定存储器组确定存储器组7 7的的WAITWAIT状态,状态,0=0=禁止禁止WAITWAIT,1=1=使能使能 WAIT WAIT 。n2626 WS6 WS6、2222 WS5 WS5、1818 WS4 WS4、1414 WS3 WS3、1010 WS2WS2、6 WS16 WS1同上。同上。n0 = WAIT disable 1 = WAIT enable0 =
6、 WAIT disable 1 = WAIT enablen29:28 DW7 确定存储器确定存储器7组的数据总线宽度。组的数据总线宽度。00=字节(字节(8位)、位)、01=半字(半字(16位)、位)、10=字(字(32位)、位)、11=保留。保留。n25:24 DW6、21:20 DW5、17:16 DW4、13:12 DW3、9:8 DW2、5:4 DW1。同上。同上。 n2:1 DW0 确定存储器确定存储器0组的数据总线宽度,只读位,由组的数据总线宽度,只读位,由OM1:0状态决定。状态决定。01=半字(半字(16位)、位)、10=字(字(32位)。位)。(2 2)BANKCONn B
7、ANKCONn 控制寄存器控制寄存器 BANKCONn 控制寄存器用于控制各组控制寄存器用于控制各组nGCS的时序,各位的时序,各位定义如下:定义如下:n14:13 Tacs nGCSn有效前地址的建立时间。有效前地址的建立时间。00 = 0 个个时钟、时钟、01 = 1个个时钟、时钟、10 = 2个个时钟、时钟、11 = 4个个时钟时钟n12:1112:11 Tcos nOE Tcos nOE有效前芯片选择信号的建立时有效前芯片选择信号的建立时间。间。 00 = 0个个时钟、时钟、01 = 1个个时钟、时钟、10 = 2个个时钟、时钟、11 = 4个个时钟时钟n10:810:8 Tacc T
8、acc 访问周期访问周期000 = 1个个时钟、时钟、001 = 2个个时钟、时钟、010 = 3个个时钟、时钟、011 = 4个个时钟时钟100 = 6个个时钟、时钟、101 = 8个个时钟、时钟、110 =10个个时钟、时钟、111 =14个个时钟时钟n7:67:6 Tcoh nOE Tcoh nOE无效后芯片选择信号的保持时无效后芯片选择信号的保持时间。间。00 = 0个个时钟、时钟、01 = 1个个时钟、时钟、10 = 2个个时钟、时钟、11 = 4个个时钟时钟n5:45:4 Tcah nGCSn Tcah nGCSn无效后芯片地址信号的保无效后芯片地址信号的保持时间。持时间。00 =
9、 0个个时钟、时钟、01 = 1个个时钟、时钟、10 = 2个个时钟、时钟、11 = 4个个时钟时钟n3:23:2 Tacp Tacp 页模式的访问周期。页模式的访问周期。00 = 2个个时钟、时钟、01 = 3个个时钟、时钟、10 = 4个个时钟、时钟、11 = 6个个时钟时钟n1:01:0 页模式的配置(每次读写周期数)页模式的配置(每次读写周期数)00 = 1个个时钟、时钟、01 = 4个个时钟、时钟、10 = 8个个时钟、时钟、11 = 16个个时钟时钟 当当BANKCON6BANKCON6和和BANKCON7BANKCON7中的中的MT=11MT=11时,时,BANKCON0BANK
10、CON0BANKCON5BANKCON5的的14:014:0定义与以上相同。定义与以上相同。BANKCON6BANKCON6和和BANKCON7BANKCON7的的3:03:0定义有所变化,具体如定义有所变化,具体如下:下:n3:23:2 Trkd:RAS Trkd:RAS到到CASCAS的延时。的延时。00 = 2个个时钟、时钟、01 = 3个个时钟、时钟、10 = 4个个时钟时钟n1:01:0 SCAN SCAN:列地址数目:列地址数目00 = 8位、位、01 = 9位、位、10 = 10位位(3 3)REFRESH REFRESH 刷新控制寄存器刷新控制寄存器n23 REFEN 刷新使能
11、刷新使能SDRAM:0 = 禁止禁止 1 = 使能使能SDRAM 的刷新的刷新n22 TREFMD 设置设置SDRAM 的刷新方式的刷新方式0=自动刷新方式自动刷新方式 1=自刷新方式自刷新方式n21:20 Trp 控制控制SDRAM 的行周期的行周期 00 = 2个个时钟周期时钟周期 01 = 3个个时钟周期时钟周期 10 = 4个个时钟周期时钟周期 11 = 未定义未定义n19:18 Tsrc控制控制SDRAM 的列周期的列周期00 = 4个个时钟周期时钟周期 01 = 5个个时钟周期时钟周期 10 = 6个个时钟周期时钟周期 11 = 7个个时钟周期时钟周期n17:16 保留位保留位n1
12、5:11 保留位保留位n10:0 SDRAM 的刷新计数值。的刷新计数值。刷新周期刷新周期= (2= (21111 刷新计数值刷新计数值 + 1)/HCLK+ 1)/HCLK例如:如果刷新周期是例如:如果刷新周期是15.6 us15.6 us, HCLK HCLK 是是 60 60 MHz,MHz,则则: : 刷新计数器的值刷新计数器的值 = 2= 21111 + 1 - 60 x15.6 = 1113 + 1 - 60 x15.6 = 1113在在LinuxLinux系统的系统的/include/asm-arm/arch-/include/asm-arm/arch-s3c2410/S3C24
13、10.hs3c2410/S3C2410.h头文件中定义了各寄存器,头文件中定义了各寄存器,其源代码如下:其源代码如下:n#define bMEMCON(Nb)#define bMEMCON(Nb)_REG(0 x48000000 + (Nb)_REG(0 x48000000 + (Nb)n#define BWSCON#define BWSCONbMEMCON(0)bMEMCON(0)n#define bBANKCON(Nb)#define bBANKCON(Nb)bMEMCON(Nb+1)bMEMCON(Nb+1)* *4)4)n#define BANKCON0#define BANKCON0
14、bBANKCON(0)bBANKCON(0)n#define BANKCON1#define BANKCON1bBANKCON(1)bBANKCON(1)n#define BANKCON2#define BANKCON2bBANKCON(2)bBANKCON(2)n#define BANKCON3#define BANKCON3bBANKCON(3)bBANKCON(3)n#define BANKCON4#define BANKCON4bBANKCON(4)bBANKCON(4)n#define BANKCON5#define BANKCON5bBANKCON(5)bBANKCON(5)n#d
15、efine BANKCON6#define BANKCON6bBANKCON(6)bBANKCON(6)n#define BANKCON7#define BANKCON7bBANKCON(7)bBANKCON(7)n#define REFRESH#define REFRESHbMEMCON(0 x24)bMEMCON(0 x24)n#define BANKSIZE#define BANKSIZEbMEMCON(0 x28)bMEMCON(0 x28)n#define MRSRB6#define MRSRB6bMEMCON(0 x2C)bMEMCON(0 x2C)n#define MRSRB7#
16、define MRSRB7bMEMCON(0 x30)bMEMCON(0 x30)2 2Nand Flash Nand Flash 控制器控制器S3C2410XS3C2410X支持支持Nand FlashNand Flash启动,启动代码存储在启动,启动代码存储在Nand Nand FlashFlash上。启动时,上。启动时,Nand FlashNand Flash的前的前4KB4KB(OM1:0=0OM1:0=0,地址,地址为为0 x000000000 x00000000) 将被装载到内部的固定地址中,然后开始将被装载到内部的固定地址中,然后开始执行其中的启动代码。一般情况下,该启动代码会把
17、执行其中的启动代码。一般情况下,该启动代码会把Nand Nand FlashFlash中的内容拷贝到中的内容拷贝到SDRAMSDRAM中去,拷贝完后,主程序将在中去,拷贝完后,主程序将在SDRAMSDRAM中执行。操作流程如图中执行。操作流程如图2.102.10所示。所示。 自动引导模式流程:自动引导模式流程: 复位;复位; 如果自动引导模式使能,如果自动引导模式使能,Nand Flash中的前中的前4KB代码拷贝到内部的小石头区域;代码拷贝到内部的小石头区域; 小石头映射到小石头映射到nGCS0; CPU开始执行小石头区域中的代码。开始执行小石头区域中的代码。Nand Flash模式:模式:
18、 通过通过NFCONF寄存器设置寄存器设置Nand Flash配置;配置; 把把Nand Flash命令写入命令写入NFCMD寄存器;寄存器; 把把Nand Flash地址写入地址写入NFADDR寄存器;寄存器; 读读/写数据同时通过写数据同时通过NFSTAT寄存器检测寄存器检测Nand Flash状态。读操作前或者程序执行后状态。读操作前或者程序执行后检查检查R/nB信号。信号。 (1) NFCONF (1) NFCONF 配置寄存器配置寄存器15 Enable/Disable15 Enable/Disable:NAND Flash NAND Flash 控制使能。控制使能。 0 =禁止禁止
19、 NAND Flash 控制器控制器 1 = 使能使能 NAND Flash 控制器控制器 复位后该位自动清零,访问复位后该位自动清零,访问NAND FlashNAND Flash,必须使,必须使该位置该位置1 1。14:13 14:13 保留位保留位12 12 初始化初始化ECC ECC 解码解码/ /编码编码 0 =0 =不初始化不初始化ECCECC,1= 1= 初始化初始化 ECCECC,因为,因为S3C2410 S3C2410 只支持只支持512512字节的字节的ECCECC检测检测, , 所以,每初始化所以,每初始化512512字节需初始化字节需初始化 ECC ECC 。11 NAN
20、D Flash11 NAND Flash存储器的存储器的nFCE nFCE 控制使能位:控制使能位:0= NAND flash nFCE0= NAND flash nFCE(使能(使能) )、1=NAND flash 1=NAND flash nFCE (nFCE (无效无效) ),( (复位后复位后, nFCE , nFCE 自动为无效。自动为无效。) )10:810:8 TACLS TACLS :设置:设置TACLS CLE & ALE TACLS CLE & ALE 的持续时的持续时间,设置值为间,设置值为0 07 7。持续时间持续时间 = HCLK = HCLK * *
21、 (TACLS + 1) (TACLS + 1)77 保留位保留位6:46:4 TWRPH0TWRPH0 :设置:设置TWRPH0TWRPH0的持续时间,设置的持续时间,设置值为值为0 07 7。持续时间持续时间 = HCLK = HCLK * * (TWRPH0 + 1) (TWRPH0 + 1)33 保留位保留位2:02:0 TWRPH1 TWRPH1 :设置:设置TWRPH1TWRPH1的持续时间,设置的持续时间,设置值为值为0 07 7 。持续时间持续时间 = HCLK = HCLK * * ( (TWRPH1TWRPH1 + 1) + 1)(2 2)NFCMD NFCMD 命令设置寄
22、存器命令设置寄存器15:815:8 保留位保留位7:07:0 Command Command :NAND Flash NAND Flash 存储器命令值。存储器命令值。(3 3)NFADDRNFADDR地址设置寄存器地址设置寄存器15:8 15:8 保留位保留位7:0 Address 7:0 Address :NAND flash NAND flash 存储器地址值。存储器地址值。(4 4)NFDATA NFDATA 数据寄存器数据寄存器15:815:8 保留位保留位7:07:0 Data Data :NAND FlashNAND Flash存储器的读出数据或写入编程数据。存储器的读出数据或写
23、入编程数据。(5 5)NFSTAT NFSTAT 操作状态寄存器操作状态寄存器16:116:1 保留位保留位0 RnB0 RnB:NAND FlashNAND Flash存储器就绪存储器就绪/ /忙标志位,由忙标志位,由R/nBR/nB引脚检测引脚检测0 = NAND Flash 0 = NAND Flash 存储器为存储器为“忙忙”, 1 = NAND Flash1 = NAND Flash存储器为存储器为“准备就绪准备就绪”。(6 6)NFECC NFECC 纠错码寄存器纠错码寄存器 23:16 ECC223:16 ECC2:纠错码:纠错码 #2#2。 15:8 ECC115:8 ECC1
24、:纠错码:纠错码 #1#1。 7:0 ECC07:0 ECC0:纠错码:纠错码 #0#0。 在在LinuxLinux系统的系统的/include/asm-arm/arch-/include/asm-arm/arch-s3c2410/S3C2410.hs3c2410/S3C2410.h头文件中定义了各头文件中定义了各Nand Nand FlashFlash控制寄存器控制寄存器. . 其源代码如下:其源代码如下:#define bNAND_CTL(Nb) _REG(0 x4e000000 + (Nb)#define bNAND_CTL(Nb) _REG(0 x4e000000 + (Nb)#def
25、ine NFCONF#define NFCONF bNAND_CTL(0 x00) bNAND_CTL(0 x00)#define NFCMD bNAND_CTL(0 x04)#define NFCMD bNAND_CTL(0 x04)#define NFADDR bNAND_CTL(0 x08)#define NFADDR bNAND_CTL(0 x08)#define NFDATA bNAND_CTL(0 x0c)#define NFDATA bNAND_CTL(0 x0c)#define NFSTAT bNAND_CTL(0 x10)#define NFSTAT bNAND_CTL(0
26、x10)#define NFECC bNAND_CTL(0 x14)#define NFECC bNAND_CTL(0 x14)3 3时钟和电源管理时钟和电源管理 S3C2410XS3C2410X的主时钟由外部晶振或者的主时钟由外部晶振或者外部时钟提供,选择后可以生成外部时钟提供,选择后可以生成3 3种时钟种时钟信号,分别是信号,分别是CPUCPU使用的使用的FCLKFCLK,AHBAHB总总线使用的线使用的HCLKHCLK和和APBAPB总线使用的总线使用的PCLKPCLK。时钟管理模块同时拥有两个锁相环,一时钟管理模块同时拥有两个锁相环,一个称为个称为MPLLMPLL,用于,用于FCLKF
27、CLK、HCLKHCLK和和PCLKPCLK;另一个称为;另一个称为UPLLUPLL,用于,用于USBUSB设备。设备。(1 1)时钟源选择对时钟的选择是通过)时钟源选择对时钟的选择是通过OM3:2OM3:2实现的,如表实现的,如表2.102.10所示。所示。 表表2.10 时钟源选择时钟源选择 OM3:2=00B时,晶体为时,晶体为MPLL CLK和和UPLL CLK提供提供时钟源;时钟源;OM3:2=01B时,晶体为时,晶体为MPLL CLK提供时钟源,提供时钟源,EXTCLK为为UPLL CLK提供时钟源;提供时钟源;OM3:2=10B时,时,EXTCLK为为MPLL CLK提供时钟源,
28、晶体为提供时钟源,晶体为UPLL CLK提供提供时钟源;时钟源;OM3:2=11B时,时,EXTCLK为为MPLL CLK和和UPLL CLK提供时钟。提供时钟。 (2 2)时钟控制逻辑。)时钟控制逻辑。时钟控制逻辑决定了所使用的时钟源,是采用时钟控制逻辑决定了所使用的时钟源,是采用MPLL作为作为FCLK,还是采用外部时钟。复位后,还是采用外部时钟。复位后,Fin直接传递给直接传递给FCLK,即使不想改变默认的即使不想改变默认的PLLCON值,也需要重新写一遍。值,也需要重新写一遍。FCLK由由ARM920T核使用,核使用,HCLK提供给提供给AHB总线,总线,PCLK提供给提供给了了APB
29、总线。总线。S3C2410X支持支持HCLK、FCLK和和PCLK的分频选的分频选择,其比率是通过择,其比率是通过CLKDIV寄存器中的寄存器中的HDIVN和和PDIVN控制控制的,如表的,如表2.11所示。所示。表表2.11 分频设定表分频设定表 (3 3)电源管理。)电源管理。S3C2410X电源管理模块通过电源管理模块通过4种模式有效地控制功耗,即:种模式有效地控制功耗,即:Normal模式、模式、Slow模式、模式、Idle模式和模式和Power-off模式。图模式。图2.12所所示了示了S3C2410电源管理模式的转换关系。电源管理模式的转换关系。图图2.12 S3C2410电源管理
30、转换模式电源管理转换模式 NormalNormal模式:模式:为为CPUCPU和所有的外设提供时钟,所和所有的外设提供时钟,所有的外设开启时,该模式下的功耗最大。这种模式有的外设开启时,该模式下的功耗最大。这种模式允许用户通过软件控制外设,可以断开提供给外设允许用户通过软件控制外设,可以断开提供给外设的时钟以降低功耗。的时钟以降低功耗。SlowSlow模式:模式:采用外部时钟生成采用外部时钟生成FCLKFCLK的方式,此时的方式,此时电源的功耗取决于外部时钟。电源的功耗取决于外部时钟。IdleIdle模式:模式:断开断开FCLKFCLK与与CPUCPU核的连接,外设保持正核的连接,外设保持正常
31、,该模式下的任何中断都可唤醒常,该模式下的任何中断都可唤醒CPUCPU。Power-offPower-off模式:模式:断开内部电源,只给内部的唤醒断开内部电源,只给内部的唤醒逻辑供电。一般模式下需要两个电源,一个提供给逻辑供电。一般模式下需要两个电源,一个提供给唤醒逻辑,另外一个提供给唤醒逻辑,另外一个提供给CPUCPU和内部逻辑,在和内部逻辑,在Power-offPower-off模式下,后一个电源关闭。该模式可以通模式下,后一个电源关闭。该模式可以通过过EINT15:0EINT15:0和和RTCRTC唤醒。唤醒。 (4 4)时钟和电源管理寄存器)时钟和电源管理寄存器 S3C2410XS3
32、C2410X通过控制寄存器实现对时钟和电源的管通过控制寄存器实现对时钟和电源的管理,相关寄存器如表理,相关寄存器如表2.122.12所示。所示。表表2.12 时钟控制器时钟控制器表表2.12 时钟控制器时钟控制器( (续续) )#define Olocktime #define Olocktime 0 x000 x00 / /* * R/W, PLL lock R/W, PLL lock time count register time count register * */ /#define oMPLLCON#define oMPLLCON0 x040 x04 / /* * R/W, MPLL R/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026问题干部面试题及答案
- 2026乡政府政治面试题及答案
- 语文试卷-湖北省圆创联盟2027届高三年级八月联考暨开学检测考试
- 2026-2031年中国芯片设计行业市场调查研究及发展前景预测报告
- 新建大宗气站项目环境影响报告表
- 汕尾市07号碣石湾海域启动区二区海洋牧场项目环境影响报告书
- 2025-2026学年江西省赣州市南康区数学三下期末考试试题(含答案)
- 襄阳老河口市卫健系统事业单位招聘笔试真题2025
- 陕西省石油化工学校教师招聘笔试真题2025
- 前郭县招聘社区就业服务专员笔试真题2025
- 2026乐山市市中区国有企业第二批社会招聘6人考试备考试题及答案详解
- 2022 低环境温度空气源多联式热泵(空调)机组
- 公司财务管理制度完整范本
- 2023版MRI临床应用安全专家共识课件
- 跨媒介视域下的冬至祝福短信创作:基于核心素养的初中八年级语文综合性学习教案
- 2026年审计系统公文写作规范考试题
- 动词和动词短语 复习课件 中考英语复习
- 2026年农商银行网络运维岗位题库
- 内蒙古辅警综合基础知识历年真题
- 复方比那甫西颗粒-临床药品应用解读
- 山东高速集团招聘面试题及答案
评论
0/150
提交评论