1、电子科技大学电子科技大学通信与信息工程学院通信与信息工程学院微型计算系统原理及接口技术微型计算系统原理及接口技术1第7章 基于ARM内核的微处理器芯片简介2学时微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201027.1 ARM926EJ-S处理器内核nARM9系列的通用可综合宏单元处理器内核n采用v5TEJ的ARM指令集体系结构uARM9EJ-S整型内核u存储器管理单元(MMU)u独立的指令和数据AMBA AHB总线接口u独立的指令和数据紧耦合存储器(TCM)接口u提供对外部协处理器的支持微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20103ARM926E
2、J-S外部接口图u复位、时钟、中断u调试接口uJTAG调试接口u其他配置接口uETM接口u数据存储器接口u指令存储器接口u数据AHB接口u指令AHB接口u协处理器接口微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20104ARM926EJ-S系统控制协处理器CP15寄存器编号寄存器编号读操作对象读操作对象写操作对象写操作对象c0ID编码寄存器编码寄存器未知未知c0缓存类型寄存器缓存类型寄存器未知未知c0TCM状态寄存器状态寄存器未知未知c1控制寄存器控制寄存器控制寄存器控制寄存器c2变换表基址寄存器变换表基址寄存器变换表基址寄存器变换表基址寄存器c3域访问控制寄存器域访问控制寄
3、存器域访问控制寄存器域访问控制寄存器c4保留保留保留保留c5数据故障状态寄存器数据故障状态寄存器数据故障状态寄存器数据故障状态寄存器c5指令故障状态寄存器指令故障状态寄存器指令故障状态寄存器指令故障状态寄存器c6故障地址寄存器故障地址寄存器故障地址寄存器故障地址寄存器c7缓存操作寄存器缓存操作寄存器缓存操作寄存器缓存操作寄存器c8未知未知TLB操作寄存器操作寄存器c9缓存锁定寄存器缓存锁定寄存器缓存锁定寄存器缓存锁定寄存器c9TCM区域寄存器区域寄存器TCM区域寄存器区域寄存器c10TLB锁定寄存器锁定寄存器TLB锁定寄存器锁定寄存器c11和和c12保留保留保留保留c13FCSE PID寄存器
4、寄存器FCSE PID寄存器寄存器c13上下文上下文ID寄存器寄存器上下文上下文ID寄存器寄存器c14保留保留保留保留c15测试与调试寄存器测试与调试寄存器测试与调试寄存器测试与调试寄存器微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20105ARM926EJ-S系统控制协处理器CP15u系统控制协处理器(CP15)用于配置和控制ARM926EJ-S处理器。u缓存、紧耦合存储器、存储器管理单元以及大部分其他系统选项都由CP15寄存器控制。u用户只能在特权模式下使用MRC和MCR指令来访问CP15寄存器。 除以下情况外,所有已定义的CP15寄存器位在复位时都被清零: 在复位时若信
5、号VINITHI为低电平,则V位被清零;若信号VINITHI为高电平,则V位被置位。 在复位时若信号BIGENDINIT为低电平,则B位被清零;若信号BIGENDINIT为高电平,则B位被置位。 在复位时若INITRAM引脚为高电平,则TCM指令被使能。处理器将指令ITCM区域寄存器的指令ITCM允许位置位,并从指令TCM引导系统。微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20106ARM926EJ-Su存储器管理单元MMUuCache和写缓冲器u紧耦合存储器接口u总线接口单元u非高速缓存取指u嵌入式跟踪宏单元u电源管理 对各模块简要了解即可微型计算系统原理及接口技术电子科
6、技大学通信与信息工程学院林水生201077.2 ARM9微处理器n飞思卡尔MC9328MX21nAtmel公司AT91SAM9263n三星S3C2440An意法半导体STR91x微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20108飞思卡尔MC9328MX21n飞思卡尔公司采用ARM内核的微处理器命名为i.MX系列,该系列主要包含以下子系列:ui.MXS,i.MXL,i.MX1,i.MX21,i.MX27,i.MX31,i.MX35,i.MX37和i.MX51。n该系列微处理器主要应用于智能手机、便携式多媒体播放器、便携式导航设备、视频监控、销售终端机系统和条码扫描仪等消费类
7、、工业、健康等领域的产品。n除i.MX系列微处理器以外,飞思卡尔公司还有少数其他产品也采用了ARM内核,例如适用于便携式多媒体播放器和导航设备的STMP37XX系列产品。微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20109飞思卡尔MC9328MX21ni.MX21采用32.768 KHz的实时时钟,最大内核工作时钟可达266 MHzn内核采用1.5 V供电,外围及I/O接口采用3.3 V供电,使用289脚的PBGA封装n集成了MPEG4编解码器、LCD控制器、USB OTG接口、CMOS传感器接口和AC97主控制器ni.MX21集成了NAND Flash控制器接口,设计者可
8、以选用廉价的NAND Flash器件作为系统的非易失存储器n通过i.MX21内部集成的PCMCIA/CF,USB和MMC/SD等接口,可以进行WLAN和蓝牙等多种功能的扩展微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201010MC9328MX21内部结构框图微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201011Atmel公司AT91SAM9263nAtmel公司采用ARM内核的微处理器命名为AT91系列,该系列主要包含以下子系列:uAT91M42800A,AT91M55800AuAT91RM9200,AT91SAM7AuAT91SAM7L(低功耗),AT
9、91SAM7SuAT91SAM7SE,AT91SAM7XuAT91SAM9,AT91SAM9XE和AT91X40微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201012Atmel公司AT91SAM9263微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201013Atmel公司AT91SAM9263n基于ARM926EJ-S内核的32位微处理器n带有MMU存储器管理单元,支持DSP扩展指令和JAVA硬件加速,当运行在200MHz时拥有220MIPS的运算性能nAT91SAM9263具备两组独立的外部存储器总线EBI0和EBI1,可以连接多种内存设备和大容量IDE
10、硬盘设备n内部嵌有LCD控制器,可支持2D图形加速、双通道DMA和图像传感器接口n集成了多种标准外设接口,例如USART,SPI,TWI,定时计数器,PWM,多媒体卡接口和CAN控制器等微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201014AT91SAM9263内部结构框图微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201015三星S3C2440AnSamsung公司采用ARM内核的微处理器主要按照应用来划分。n通用型32位MCU主要采用ARM7TDMI内核,面向CAN/LIN总线、以太网、发动机控制和RFID等应用场合。nSamsung公司的更多采用AR
11、M内核的微处理器主要面向消费类便携式设备,例如:u采用ARM7TDMI内核的S3C44B0和S3C3410u采用ARM926EJ-S内核的S3C2412,S3C2413,S3C2416,S3C2450和S3C24A0u采用ARM920T内核的S3C2410,S3C2440,S3C2442和S3C2443u采用ARM1176JZF内核的S3C6400等微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201016三星S3C2440An采用ARM920T内核,实现了存储器管理单元MMU,AMBA总线和哈佛架构的高速缓冲体系结构。n在高速缓存方面采用了独立的16 KB的I-cache和1
12、6 KB的D-cache。n采用0.13 m CMOS工艺标准宏单元和存储器单元,其低功耗、简洁的结构和全静态电路设计特别适合对成本和功耗敏感的应用。n为了降低整机系统的成本,S3C2440A提供了各类丰富的功能模块,在系统设计中无需配置额外的外部组件。 微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201017S3C2440A内部结构框图微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201018存储器接口n单字节的Boot ROM 设计:微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201019存储器接口n用字节EEPROM/FLASH 设计半
13、字Boot ROM: 微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201020存储器接口n用半字EEPROM/FLASH 设计半字BOOT ROM: 微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201021存储器接口n用字节EEPROM/FLASH 设计的字Boot ROM微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201022意法半导体STR91xnST(意法半导体)公司采用ARM内核的微处理器主要包括三个系列:n采用Cortex-M3内核的STM32系列、采用ARM7TDMI内核的STR7系列和采用ARM966E-S内核的STR9系列。
14、uSTM32系列包含STM32101,STM32102和STM32103子系列;uSTR7系列包含STR710,STR730和STR750子系列;uSTR9系列包含STR910,STR911和STR912子系列。 微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201023意法半导体STR91xn采用96 MHz ARM966E-S内核,带有单周期的DSP指令和与介质无关的联网功能;n具有优化DMA数据流的10/100 M以太网接口;n具有容量高达96 KB的SRAM,544 KB的双体闪存,SRAM或闪存都可以用于指令或数据存储;n支持USB,CAN,SPI,I2C,UART/
15、IrDA和多个计时器,最多80个5 V兼容的GPIO;n带有10位ADC并具有全方位的CPU监控功能;n灵活的功耗和时钟管理功能,具有多种低功耗模式和带闹钟功能的低功耗实时时钟。n这一架构允许同时访问代码和数据,从闪存执行代码的最高速度可达96 MIPS;同时,在外设和SRAM之间能够实现高达384 Mbps的DMA数据传输。n大容量存储器可满足复杂的应用、实时操作系统(RTOS)、通信协议栈和数据存储的需求;双体闪存是实现在线编程(IAP)和E2PROM仿真的理想结构。 微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201024STR91x内部结构框图微型计算系统原理及接口技
16、术电子科技大学通信与信息工程学院林水生2010257.3 构造ARM微处理器最小硬件系统n最小硬件系统通常是指以嵌入式处理器为核心,包含电源、时钟和复位等保障处理器正常工作的基本硬件电路 n通常还包括用于引导和装载基本程序的存储器电路,以及用于系统调试和监控的调试接口电路。 微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201026S3C2440A最小硬件系统nARM微处理器;n电源模块,包括CPU内核和I/O接口电源电源;n时钟模块,包括系统主时钟和实时时钟;n复位模块,包括系统上电复位、手动复位和内部复位;n存储器模块,包括程序保存存储器和程序运行存储器;nJTAG调试接口
17、模块。微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201027基于S3C44BOX开发的通用嵌入式系统的系统框架图基于ARM架构的32位微处理器SamsungS3C44BOXLCD显示1MB线性Flash(BIOS)8MBSDRM(系统内存)16MB非线性Flash(硬盘)键盘输入TCP/IP协议CAN BUSUSB接口USB9806两个RS232串行通信端口JTAG调试端口微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201028电源模块n电源模块是系统工作的能量来源,其电压、纹波、内阻和驱动能力等性能直接影响到系统工作的稳定性,因此电源模块在系统设计中至关
18、重要。u电源电压一定要在系统需求的范围之内u电源的驱动能力一定要能满足整个系统的功率需求u电源纹波和电路干扰的处理u在设计PCB时需要对模拟电源和数字电源进行物理上的隔离微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201029电源模块微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201030时钟模块n时钟模块为系统提供同步工作信号,其稳定性直接关系到系统的工作稳定性 n在ARM嵌入式系统中通常包括频率较高的系统主时钟和频率较低的实时时钟 nS3C2440A时钟模块:u16.9344 MHz的系统主时钟u32.768 KHz的实时时钟 微型计算系统原理及接口技术
19、电子科技大学通信与信息工程学院林水生201031时钟模块经锁相环后得到FCLK,HCLK,PCLK和UCLK四组时钟信号:uFCLK:ARM920T内核uHCLK:AHB总线、存储器控制器、中断控制器、LCD控制器、DMA控制器和USB主机模块uPCLK:访问APB总线的外设,如WDT,I2S,I2C,PWM定时器,MMC接口,ADC,UART,GPIO,RTC和SPI等模块uUCLK:USB模块需要的48 MHz时钟微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201032时钟模块微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201033复位模块n系统上电复位
20、、手动复位和内部复位n一般来说系统对外部复位信号波形有一定的要求,若不能满足要求(例如持续时间过短),则系统将不能正常工作。 微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201034存储器模块n存储器模块为系统程序的保存和运行提供空间,在系统设计中主要根据处理器的存储器接口选择合适的存储器芯片(存储类型、容量、速度和接口类型 )n存放程序的NAND Flash存储器和用于程序运行的SDRAM存储器 n“Steppingstone” 用于引导系统微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201035存储器模块微型计算系统原理及接口技术电子科技大学通信与信息工
21、程学院林水生201036调试接口nARM微处理器一般都采用JTAG作为调试接口nTRST,TMS,TCK,TDI和TDO微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2010LEDLED灯灯对应对应S3C2440S3C2440引脚引脚LED0LED0S3C2410_GPC7S3C2410_GPC7LED1LED1S3C2410_GPC5S3C2410_GPC5LED2LED2S3C2410_GPH9S3C2410_GPH9LED3LED3S3C2410_GPB4S3C2410_GPB4LED4LED4S3C2410_GPG5S3C2410_GPG5LED5LED5S3C2410
22、_GPG6S3C2410_GPG6LED6LED6S3C2410_GPG7S3C2410_GPG7LED7LED7S3C2410_GPG8S3C2410_GPG8 LED接口及驱动设计微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20103838RegisterRegisterAddressAddressR/WR/WDescriptionDescriptionReset Reset valuevalueGPGCONGPGCON0 x560000600 x56000060R/WR/WConfigures the pins of port GConfigures the pins
23、of port G0 x00 x0GPGDATGPGDAT0 x560000640 x56000064R/WR/WThe data register of port GThe data register of port GUndefUndefGPGUPGPGUP0 x560000680 x56000068R/WR/WPull-up disable register of port GPull-up disable register of port G0 xfc000 xfc00GPGCON是GPIO G端口的配置寄存器,它决定每个管脚使用什么功能,它可以配置管脚为输入,输出等功能GPGDAT是
24、GPIO G端口的数据寄存器,如果端口被配置为输出端口,则数据可以写入到G口的数据寄存器中;如果端口被配置为输入端口,则数据从G口的数据寄存器中读出数据GPGUP是GPIO G端口的上拉寄存器,它控制G口的上拉功能是否有效,为0时,上拉有效,为1时,上拉无效与GPIO(LED接口)相关的控制寄存器微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2010GPG8GPG817:1617:1600=input10=EINT1601=Output11=ReservedGPG7GPG715:1415:1400=input10=EINT1501=Output11=ReservedGPG6GP
25、G613:1213:1200=input10=EINT1401=Output11=ReservedGPG5GPG511:1011:1000=input10=EINT1301=Output11=Reserved PORT G控制寄存器功能描述及控制字设置 ;设置GPG5GPG8(即LED4-LED7)为output GPGCON EQU 0 x56000060 ldr r0,=GPGCON ldr r1,r0 bic r1,r1,#0 x0003fc00 orr r1,r1,#0 x00015400 str r1,r0微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2010PORT
26、 G上拉寄存器功能描述及控制字设置GPGUPGPGUPBitBitDescriptionDescriptionGPG15:0GPG15:015:015:00: the pull up function attached to to 0: the pull up function attached to to the corresponding port pin is the corresponding port pin is enabled.enabled.1: the pull up function is disabled1: the pull up function is disable
27、d ;禁止GPG5GPG8(即LED4-LED7)端口的上拉电阻 GPUP EQU 0 x56000068ldr r0,=GPGUP ldr r1,r0 orr r1,r1,#0 x01e0 str r1,r0微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2010GPGDATGPGDATBitBitDescriptionDescriptionGPG15:0GPG15:015:015:0When the port is configured as an input port, the When the port is configured as an input port, th
28、e corresponding bit is the pin state.corresponding bit is the pin state.When the port is configured as an output port, the When the port is configured as an output port, the pin state is the same as the corresponding bit.pin state is the same as the corresponding bit.When the port is configured as f
29、unctional pin, the When the port is configured as functional pin, the undefined value will be read.undefined value will be read. ; 点亮LED4,即GPG5(即LED4) 输出为0 GPGDAT EQU 0 x56000064ldr r2,=GPGDAT ldr r3,r2orr r3,r3,#0 x01e0bic r3,r3,#0 x0020 str r3,r2 PORT G数据寄存器功能描述及操作 微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2
30、010RS232串行接口设计 RS232 COM PORT 原理图微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2010(1)UART0行控制寄存器:主要配置操作模式,校验位,停止位,数据位 ;ULCON0 设置为 0 x03, 含义是正常操作模式,无校验,停止位1,8个数据位 ULCON0 EQU 0 x50000000 ldr r2,=ULCON0 ; mov r3,#0 x03 str r3,r2微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2010;UCON0 设置为 0 x05 表示发送、接收数据都使用查询方式,使用PCLK UCON0 EQU 0 x
31、50000004 ldr r2,=UCON0 mov r3,#0 x05 str r3,r22)UART0控制寄存器:主要配置UART时钟,发送接收模式微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2010(3)UART0 波特率控制寄存器;UBRDIV0设置为36,含义为 波特率设为 115200, 由下面公式算得 UBRDIVn = (int)(PCLK/bps*16)-1,其中 PCLK =66.68MHz UBRDIV0 EQU 0 x50000028 ldr r2,=UBRDIV0 mov r3,#36 strh r3,r2微型计算系统原理及接口技术电子科技大学通信与
32、信息工程学院林水生2010(4)UART0 FIFO寄存器:主要配置是否使用FIFO;UFCON0 设置为 0 x00 为不使用 FIFO UFCON0 EQU 0 x50000008 ldr r2,=UFCON0 mov r3,#0 x00 str r3,r2微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2010(5)UART0 MODEM控制寄存器 ;UMCON0 设置为 0 x00 为不使用流控 UMCON0 EQU 0 x5000000C ldr r2,=UMCON0 mov r3,#0 x00 str r3,r2微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生201048习题7.1 7.5 7.6