资源描述
微处理器系统结构与嵌微处理器系统结构与嵌入式系统设计入式系统设计第十章第十章 基于基于ARM微处理器的硬件微处理器的硬件系统设计系统设计10.1 基于基于ARM微处理器的系统设计概述微处理器的系统设计概述10.2 基于基于ARM内核的常用微处理器简介内核的常用微处理器简介10.3 ARM微处理器最小硬件系统微处理器最小硬件系统10.4 人机交互接口人机交互接口10.5 通信接口通信接口10.2 10.2 基于基于ARMARM内核的常用微处理器简介内核的常用微处理器简介ARMARM微处理器有多种内核结构,还有多种多样的内微处理器有多种内核结构,还有多种多样的内部功能配置组合,所以在设计一个系统时选择最合部功能配置组合,所以在设计一个系统时选择最合适的适的ARMARM芯片是非常重要的。芯片是非常重要的。一些主流的一些主流的ARM9ARM9处理器芯片如:处理器芯片如:飞思卡尔:飞思卡尔:MC9328MX27MC9328MX27三星:三星:S3C2440A S3C2440A AtmelAtmel公司:公司:AT91SAM9263 AT91SAM9263 意法半导体:意法半导体:STR91x STR91x 恩智浦半导体:恩智浦半导体:LPC2000 LPC2000 系列系列 飞思卡尔公司的飞思卡尔公司的ARMARM微处理器芯片微处理器芯片美国美国飞思卡尔公司采用飞思卡尔公司采用ARMARM内核的微处理器命名为内核的微处理器命名为i.MXi.MX系列,系列,该系列主要包含以下子系列:该系列主要包含以下子系列:li.MXSi.MXS,i.MXLi.MXL,i.MX1i.MX1,i.MX21i.MX21,i.MX27i.MX27,i.MX31i.MX31,i.MX35i.MX35,i.MX37i.MX37、i.MX51i.MX51等等该系列微处理器主要应用于智能手机、便携式多媒体播放器、该系列微处理器主要应用于智能手机、便携式多媒体播放器、便携式导航设备、视频监控、销售终端机系统和条码扫描仪便携式导航设备、视频监控、销售终端机系统和条码扫描仪等消费类、工业、健康等领域的产品。等消费类、工业、健康等领域的产品。除除i.MXi.MX系列微处理器以外,飞思卡尔公司还有少数其他产品系列微处理器以外,飞思卡尔公司还有少数其他产品也采用了也采用了ARMARM内核,例如适用于便携式多媒体播放器和导航内核,例如适用于便携式多媒体播放器和导航设备的设备的STMP37XXSTMP37XX系列产品。系列产品。飞思卡尔公司的飞思卡尔公司的i.MX27i.MX27l采采用用ARM926EJ-SARM926EJ-S内内核核,一一级级指指令令缓缓存存和和数数据据缓缓存存各有各有16KB16KBl集集 成成 了了 1616通通 道道 DMADMA和和ETMETM实时调试接口实时调试接口lAHBAHB总总线线采采用用了了6363多多层层交交叉叉开开关关(MAXMAX),支支持持多多个个并并行行事事项项,改改善善总线的有效吞吐量。总线的有效吞吐量。l其其外外部部存存储储器器接接口口可可以以支支持持16/3216/32位位SDRAMSDRAM或或DDRDDR存存储储器器、8/168/16位位NAND NAND flashflash存储器和存储器和PSRAMPSRAM。三星公司推出的基于三星公司推出的基于ARMARM内核的微处理器主要面向消费类便携式设备内核的微处理器主要面向消费类便携式设备,为手持为手持设备和一般应用提供了高性价比和高性能的微控制器解决方案。设备和一般应用提供了高性价比和高性能的微控制器解决方案。包括:包括:采用采用ARM7TDMIARM7TDMI内核的内核的S3C44B0S3C44B0和和S3C3410S3C3410采用采用ARM926EJ-SARM926EJ-S内核的内核的S3C2412S3C2412,S3C2413S3C2413,S3C2416S3C2416,S3C2450S3C2450和和S3C24A0S3C24A0采用采用ARM920TARM920T内核的内核的S3C2410S3C2410,S3C2440S3C2440,S3C2442S3C2442和和S3C2443S3C2443采用采用ARM1176JZFARM1176JZF内核的内核的S3C6400S3C6400等等三星公司采用三星公司采用ARMARM内核的微处理器主要按照应用来划分,如通用型内核的微处理器主要按照应用来划分,如通用型3232位位MCUMCU主要采用主要采用ARM7TDMIARM7TDMI内核,面向内核,面向CAN/LINCAN/LIN总线、以太网、发动机控制和总线、以太网、发动机控制和RFIDRFID等应用场合。等应用场合。三星公司的三星公司的ARMARM微处理器芯片微处理器芯片三星公司的三星公司的S3C2440AS3C2440A采用采用ARM920TARM920T内核,实现了内核,实现了MMUMMU,AMBAAMBA总线和哈佛架构总线和哈佛架构的高速缓冲体系结构。的高速缓冲体系结构。在高速缓存方面采用了独立的在高速缓存方面采用了独立的16 KB16 KB的的I-cacheI-cache和和16 KB16 KB的的D-D-cachecache。采用采用0.13 0.13 m CMOSm CMOS工艺标准宏工艺标准宏单元和存储器单元,其低功耗、单元和存储器单元,其低功耗、简洁的结构和全静态电路设计简洁的结构和全静态电路设计特别适合对成本和功耗敏感的特别适合对成本和功耗敏感的应用。应用。为了降低整机系统的成本,提为了降低整机系统的成本,提供了各类丰富的功能模块,在供了各类丰富的功能模块,在系统设计中无需配置额外的外系统设计中无需配置额外的外部组件。部组件。AtmelAtmel公司的公司的ARMARM微处理器芯片微处理器芯片美国美国AtmelAtmel公司继成功推出公司继成功推出AT89AT89系列(兼容系列(兼容MCS-51MCS-51)和)和AT90AT90系列系列(RISC)(RISC)单单片机后,采用业界流行的片机后,采用业界流行的ARMARM内核推出了更强的内核推出了更强的3232位位AT91AT91系列微控制器。系列微控制器。该系列主要包含以下子系列:该系列主要包含以下子系列:AT91M42800AAT91M42800A,AT91M55800AAT91M55800AAT91RM9200AT91RM9200,AT91SAM7AAT91SAM7AAT91SAM7L(AT91SAM7L(低功耗低功耗),AT91SAM7SAT91SAM7SAT91SAM7SEAT91SAM7SE,AT91SAM7XAT91SAM7XAT91SAM9AT91SAM9,AT91SAM9XEAT91SAM9XE和和AT91X40AT91X40AT91AT91系列微控制器使用高密度系列微控制器使用高密度CMOSCMOS技术,集成了技术,集成了ARMARM内核和大量的内核和大量的FlashFlash存储器、片内存储器、片内RAMRAM和各种外围功能模块,为许多需要加强运算的嵌入式应和各种外围功能模块,为许多需要加强运算的嵌入式应用提供了高度灵活且性价比高的解决方案。用提供了高度灵活且性价比高的解决方案。AtmelAtmel公司的公司的AT91SAM9263AT91SAM9263基于基于ARM926EJ-SARM926EJ-S内核的内核的3232位微处理器位微处理器带带MMUMMU存存储储器器管管理理单单元元,支支持持DSPDSP扩扩展展指指令令和和JAVAJAVA硬硬件件加加速速,当运行在当运行在200MHz200MHz时拥有时拥有220MIPS220MIPS的运算性能的运算性能AT91SAM9263AT91SAM9263具具备备两两组组独独立立的的外外部部存存储储器器总总线线EBI0EBI0和和EBI1EBI1,可以连接多种内存设备和大容量可以连接多种内存设备和大容量IDEIDE硬盘设备硬盘设备内内部部嵌嵌有有LCDLCD控控制制器器,可可支支持持2D2D图图形形加加速速、双双通通道道DMADMA和和图图像传感器接口像传感器接口集集成成了了多多种种标标准准外外设设接接口口,例例如如USARTUSART,SPISPI,TWITWI,定定时时计计数器,数器,PWMPWM,多媒体卡接口和,多媒体卡接口和CANCAN控制器等控制器等意法半导体公司的意法半导体公司的ARMARM微处理器芯片微处理器芯片意法半导体有限公司意法半导体有限公司(STMicroelectronics)(STMicroelectronics)是全球最大的半导体公司之一。是全球最大的半导体公司之一。其采用其采用ARMARM内核的微处理器主要包括三个系列:采用内核的微处理器主要包括三个系列:采用Cortex-M3Cortex-M3内核的内核的STM32STM32系列、采用系列、采用ARM7TDMIARM7TDMI内核的内核的STR7STR7系列和采用系列和采用ARM966E-SARM966E-S内核的内核的STR9STR9系列。系列。STM32STM32系列产品得益于系列产品得益于Cortex-M3Cortex-M3在架构上进行的多项改进,包括性能和在架构上进行的多项改进,包括性能和代码密度同时得以提升的代码密度同时得以提升的Thumb-2Thumb-2指令集,大幅度提高的中断响应,而且指令集,大幅度提高的中断响应,而且所有新功能都同时具有业界最优的功耗水平。所有新功能都同时具有业界最优的功耗水平。STR7STR7系列产品融合了系列产品融合了1616位和位和3232位产品的优势,适合嵌入式控制应用,如位产品的优势,适合嵌入式控制应用,如工业控制、工厂自动化、销售终端设备、医疗和测试设备以及电信和消费工业控制、工厂自动化、销售终端设备、医疗和测试设备以及电信和消费电子应用等。电子应用等。STR9STR9系列结合了系列结合了ARM9EARM9E处理器内核和通用闪存,并加入了联网功能,使处理器内核和通用闪存,并加入了联网功能,使实现各种要求苛刻的应用变得更加简单和廉价。实现各种要求苛刻的应用变得更加简单和廉价。意法半导体公司的意法半导体公司的STR91xSTR91x采用采用96 MHz ARM966E-S96 MHz ARM966E-S内核,内核,带有单周期的带有单周期的DSPDSP指令和与介质指令和与介质无关的联网功能;无关的联网功能;大容量存储器可满足复杂的应用、大容量存储器可满足复杂的应用、实时操作系统实时操作系统(RTOS)(RTOS)、通信协、通信协议栈和数据存储的需求;双体闪议栈和数据存储的需求;双体闪存是实现在线编程存是实现在线编程(IAP)(IAP)和和E E2 2PROMPROM仿真的理想结构。仿真的理想结构。具有优化具有优化DMADMA数据流的数据流的10/100 10/100 MM以太网接口;以太网接口;支持支持USBUSB,CANCAN,SPISPI,I2CI2C,UART/IrDAUART/IrDA和多个计时器,最多和多个计时器,最多8080个个5 V5 V兼容的兼容的GPIOGPIO;带有带有1010位位ADCADC并具有全方位的并具有全方位的CPUCPU监控功能;监控功能;灵活的功耗和时钟管理功能,具灵活的功耗和时钟管理功能,具有多种低功耗模式和带闹钟功能有多种低功耗模式和带闹钟功能的低功耗实时时钟。的低功耗实时时钟。恩智浦半导体的恩智浦半导体的ARMARM微处理器芯片微处理器芯片l恩智浦半导体由飞利浦在恩智浦半导体由飞利浦在 50 50 多年前创立。恩智浦提供半导体、多年前创立。恩智浦提供半导体、系统解决方案和软件,为电视、机顶盒、智能识别应用、手系统解决方案和软件,为电视、机顶盒、智能识别应用、手机、汽车以及其他形形色色的电子设备提供更好的感知体验。机、汽车以及其他形形色色的电子设备提供更好的感知体验。l恩智浦半导体基于恩智浦半导体基于ARM7ARM7的的LPC2000 LPC2000 为为32 32 位微控制器设定了位微控制器设定了新的性价比,包括新的性价比,包括LPC213xLPC213x,LPC214xLPC214x、LPC2101/2/3LPC2101/2/3等系列,等系列,采用了采用了0.16-0.18 m0.16-0.18 m工艺工艺l更高性能产品系列更高性能产品系列(LPC2300,LPC2400,LPC2800)(LPC2300,LPC2400,LPC2800)采用了采用了0.14um0.14um工艺工艺恩智浦半导体的恩智浦半导体的LPC2000LPC2000lARM7TDMI-SARM7TDMI-S内核内核三级流水线三级流水线冯冯诺依曼架构诺依曼架构T:ThumbT:Thumb指令集指令集D:DebugD:Debug扩展扩展M:M:增强的乘法指令增强的乘法指令(32B x 8B-64B)(32B x 8B-64B)I:I:内核带有内核带有EmbeddedICEEmbeddedICE逻辑功能扩展逻辑功能扩展S:S:软核软核l高速嵌入式高速嵌入式FlashFlashl丰富的外设资源丰富的外设资源UART,SPI,I2C,CAN,USB,ethernetUART,SPI,I2C,CAN,USB,ethernet等等l工业级芯片工业级芯片工作温度范围工作温度范围:40C40C+85C/+105C+85C/+105Cl丰富开发工具支持丰富开发工具支持高性能高性能,低价格低价格ARMARM芯片的选型芯片的选型性能参数的考虑性能参数的考虑ARMARM核版本核版本工作频率工作频率内部存储器容量内部存储器容量电源控制电源控制DSPDSP协处理器协处理器功耗功耗外设接口的考虑外设接口的考虑USBUSB接口接口RTCRTCGPIOGPIO数量数量其他因素其他因素芯片封装的选择芯片封装的选择芯片的封装有很多种类型,如:芯片的封装有很多种类型,如:DIPDIP、QFPQFP、PGAPGA、BGABGA等等在散热性能、信号完整性特性、体积大小等方面的要求在散热性能、信号完整性特性、体积大小等方面的要求10.3 ARM10.3 ARM微处理器最小硬件系统的设计微处理器最小硬件系统的设计nARMARM微处理器微处理器;n电源模块电源模块,包括,包括CPUCPU内核和内核和I/OI/O接口电源电源;接口电源电源;n时钟模块时钟模块,包括系统主时钟,包括系统主时钟和实时时钟;和实时时钟;n复位模块复位模块,包括系统上电复,包括系统上电复位、手动复位和内部复位;位、手动复位和内部复位;n存储器模块存储器模块,包括程序保存,包括程序保存存储器(存储器(FLASHFLASH)和程序运)和程序运行存储器(行存储器(SDRAMSDRAM););nJTAGJTAG调试接口模块调试接口模块。最小硬件系统通常是指以最小硬件系统通常是指以嵌入式处理器为嵌入式处理器为核心核心,包含,包含电电源、时钟和复位源、时钟和复位等保障处理器等保障处理器正常工作的基本硬件电路正常工作的基本硬件电路 。S3C2440AS3C2440A最小硬件系统:电源模块最小硬件系统:电源模块电电源源模模块块是是系系统统工工作作的的能能量量来来源源,其其电电压压、纹纹波波、内内阻阻和和驱驱动动能能力力等等性性能能直直接接影影响响到到系系统统工工作作的的稳稳定定性性,因因此此电电源源模模块块在在系系统统设设计计中中至至关重要。关重要。电源电源电压电压一定要在系统需求的范围之内一定要在系统需求的范围之内电电源源的的驱驱动动能能力力一一定定要要能能满满足足整整个个系系统统的的功功率率需需求求电源纹波和电路电源纹波和电路干扰干扰的处理的处理在在设设计计PCBPCB时时需需要要对对模模拟拟电电源源和和数数字字电电源源进进行行物物理上的隔离理上的隔离S3C2440AS3C2440A最小硬件系统:时钟模块最小硬件系统:时钟模块时时钟钟模模块块为为系系统统提提供供同同步步工工作作信信号号,其其稳稳定定性性直直接接关关系系到系统的工作稳定性。到系统的工作稳定性。在在ARMARM嵌嵌入入式式系系统统中中通通常常包包括括频频率率较较高高的的系系统统主主时时钟钟和和频率较低的频率较低的实时时钟。实时时钟。时钟经内部锁相环后得到四组时钟信号:时钟经内部锁相环后得到四组时钟信号:uFCLKFCLK:ARM920TARM920T内核内核uHCLKHCLK:AHBAHB总总线线、存存储储器器控控制制器器、中中断断控控制制器器、LCDLCD控控制制器器、DMADMA控控制器和制器和USBUSB主机模块主机模块uPCLKPCLK:访访问问APBAPB总总线线的的外外设设,如如WDTWDT,I I2 2S S,I I2 2C C,PWMPWM定定时时器器,MMCMMC接口,接口,ADCADC,UARTUART,GPIOGPIO,RTCRTC和和SPISPI等模块等模块uUCLKUCLK:USBUSB模块需要的模块需要的48 MHz48 MHz时钟时钟S3C2440AS3C2440A最小硬件系统:复位模块最小硬件系统:复位模块系统上电复位、手动复位和内部复位系统上电复位、手动复位和内部复位一一般般来来说说系系统统对对外外部部复复位位信信号号波波形形有有一一定定的的要要求求,若若不不能能满满足足要要求求(例例如如持持续续时时间间过过短短),则则系系统统将将不不能正常工作。能正常工作。l存存储储器器模模块块为为系系统统程程序序的的保保存存和和运运行行提提供供空空间间,在在系系统统设设计计中中主主要要根根据据处处理理器器的的存存储储器器接接口口选选择择合合适适的的存存储储器器芯芯片片(存存储储类类型型、容容量量、速速度度和和接接口类型口类型 )lARMARM最最小小系系统统中中的的存存储储器器通通常常包包括括存存放放程程序序的的NAND FlashNAND Flash和用于程序运行的和用于程序运行的SDRAMSDRAM。l存存储储器器模模块块通通常常挂挂接接在在ARMARM芯芯片片的的局局部部总总线线上上(外部三总线外部三总线)。S3C2440AS3C2440A最小硬件系统:存储器模块最小硬件系统:存储器模块“Steppingstone”为系系统从外部从外部Flash存存储器引器引导提供支持提供支持使用使用16位存位存储芯片构造芯片构造32位位宽存存储器器系系统ARMARM微处理器一般都采用微处理器一般都采用JTAGJTAG作为基本调试接口作为基本调试接口nTRSTnTRST,TMSTMS,TCKTCK,TDITDI和和TDOTDOS3C2440AS3C2440A最小硬件系统:调试接口最小硬件系统:调试接口10.4 10.4 人机交互接口人机交互接口 人机交互接口主要用于人与人机交互接口主要用于人与设备之之间的信息交的信息交换,通常包括用于信息,通常包括用于信息输入的入的键盘、触摸屏,以、触摸屏,以及信息及信息输出的各出的各类显示示设备。以以S3C2440A的相关接口的相关接口为例介例介绍各各类接口硬接口硬件件结构与使用构与使用:键盘与键盘与LEDLED接口接口LCDLCD显示接口显示接口触摸屏接口触摸屏接口键盘与键盘与LEDLED接口接口按按键和和LED是最常用的两种是最常用的两种输入入输出器件,使用出器件,使用它它们可以可以实现简单的信号的信号输入和入和输出,在嵌入式系出,在嵌入式系统中有重要用途。中有重要用途。这类简单外外设与与处理器理器进行行连接接时,通常有两种,通常有两种方式:一是使用方式:一是使用处理器的理器的GPIO直接控制直接控制,由,由处理器理器运行相运行相应软件来件来实现所需功能;二是使用所需功能;二是使用专用的控制用的控制芯片芯片来来获取按取按键信息以及信息以及驱动显示。示。GPIO(General Purpose Input)可以可以实现任何一任何一般用途的信号般用途的信号输入入/输出。出。ARM处理器芯片的大部分引脚都可以通理器芯片的大部分引脚都可以通过设定定相相应的控制寄存器的控制寄存器实现基本的基本的GPIO功能,并可功能,并可编程程设置信号方向、置信号方向、电平上拉平上拉/下拉等功能。下拉等功能。在在S3C2440A中共有中共有130个多功能个多功能I/O引脚,引脚,这些引脚除了可以作些引脚除了可以作为某个特殊功能使用外,均可以某个特殊功能使用外,均可以配置成配置成GPIO模式,并分模式,并分为以下八以下八组:Port A(GPA):25个个输出端口出端口Port B(GPB):11个个输入入/输出端口出端口Port C(GPC):16个个输入入/输出端口出端口Port D(GPD):16个个输入入/输出端口出端口Port E(GPE):16个个输入入/输出端口出端口Port F(GPF):8个个输入入/输出端口出端口Port G(GPG):16个个输入入/输出端口出端口Port H(GPH):9个个输入入/输出端口出端口Port J(GPJ):13个个输入入/输出端口出端口GPIOGPIO例例10.110.1:使用使用S3C2440AS3C2440A的端口的端口G G的第的第4 47 7引脚驱动四个引脚驱动四个LEDLED,并点亮,并点亮GPG4GPG4引脚的引脚的LEDLED。每每组GPIO端口均有各自的寄存器端口均有各自的寄存器组,主要包括,主要包括端口端口配置寄存器(配置寄存器(GPxCON)、端口数据寄存器)、端口数据寄存器(GPxDAT)、端口上拉寄存器()、端口上拉寄存器(GPxUP)。寄存器名寄存器名地址地址读写属性读写属性功能功能复位值复位值GPGCONGPGCON0 x560000600 x56000060可读可写可读可写配置引脚功能为配置引脚功能为输入输入/输出输出/其他其他0 x000 x00GPGDATGPGDAT0 x560000640 x56000064可读可写可读可写G G端口数据寄存器端口数据寄存器未定义未定义GPGUPGPGUP0 x560000680 x56000068可读可写可读可写上拉配置寄存器上拉配置寄存器低电平低电平0 0有效有效0 xFC000 xFC00G端口共有端口共有16个个GPIO引脚,寄存器引脚,寄存器GPGCON宽度度为32位,每个引脚的功能各由位,每个引脚的功能各由2位来位来选择控制,控制,第第4引脚的控制位如下:引脚的控制位如下:GPGCONGPGCON寄存器位寄存器位功能选择功能选择GPG7GPG715:1415:1400=00=输入输入 01=01=输出输出10=EINT15 11=10=EINT15 11=保留保留GPG6GPG613:1213:1200=00=输入输入 01=01=输出输出10=EINT14 11=10=EINT14 11=保留保留GPG5GPG511:1011:1000=00=输入输入 01=01=输出输出10=EINT13 11=10=EINT13 11=保留保留GPG4GPG49:89:800=00=输入输入 01=01=输出输出10=EINT12 11=10=EINT12 11=保留保留寄存器寄存器GPGDAT和和GPGUP宽度均度均为16位,各位,各引脚按其引脚按其编号与相号与相应的寄存器位的寄存器位对应。GPGDAT中存放的即中存放的即为需要需要输出的数据,根出的数据,根据硬件据硬件电路路连接接图可知,要将第可知,要将第4引脚引脚LED点亮,点亮,则对应的引脚的引脚应输出低出低电平,所以寄存器平,所以寄存器GPGDAT中的中的7:4位位应设置置为二二进制制值1110。本例中端口本例中端口为输出功能,因此寄存器出功能,因此寄存器GPGUP中中对应各位均各位均设置置为1,将上拉,将上拉电阻断开。阻断开。GPGCONEQU0 x56000060GPGDATEQU0 x56000064GPGUPEQU0 x56000068;配置;配置GPGCON寄存器,寄存器,设置相关引脚置相关引脚为输出功能出功能LDRR0,=GPGCON LDRR1,R0 BICR1,R1,#0 x0000FF00 ORRR1,R1,#0 x00005500 STRR1,R0;配置;配置GPGUP寄存器,断开各上拉寄存器,断开各上拉电阻阻LDRR0,=GPGUPLDRR1,R0ORRR1,R1,#0 x00F0STRR1,R0;输出出驱动数据,点亮数据,点亮GPG4引脚引脚对应的的LEDLDRR2,=GPGDATLDRR3,R2ORRR3,R3,#0 x00F0BICR3,R3,#0 x0010STRR3,R2使用使用GPIO的的问题:l按按键或或LED数量数量较大大时,由于,由于处理器理器GPIO数数量有限量有限,无法无法满足硬件足硬件电路路设计需求;需求;l采用采用GPIO的的驱动方式需要方式需要CPU执行行软件来件来完成相完成相应的功能,需占用大量的的功能,需占用大量的处理器理器时间,在多任在多任务系系统中很中很难满足足实时性要求。性要求。采用采用专用的控制芯片来用的控制芯片来驱动键盘及数及数码管管l直接直接驱动数数码管管/同同时扫描管理多描管理多个个按按键/内内含有含有显示示译码器器l有多种控制指令,如消有多种控制指令,如消隐、闪烁、左移、右、左移、右移、段移、段寻址等。址等。l通常采用通常采用I2C等串行等串行总线与系与系统连接接专用控制芯片专用控制芯片在嵌入式系在嵌入式系统中常用的中常用的LCD产品主要有两种:品主要有两种:一种是一种是带有有驱动电路的路的LCD显示模示模块;另一种;另一种则仅是是LCD显示屏,没有示屏,没有驱动电路,需要与路,需要与驱动电路配合使用。路配合使用。在常在常见的的ARM处理器芯片中,通常都理器芯片中,通常都带有有LCD控制器,可以直接控制器,可以直接驱动多种多种LCD显示屏。示屏。S3C2440A中的中的LCD控制器模控制器模块,可以直接,可以直接与与STN或或TFT等多种不同分辨率的等多种不同分辨率的单色色/彩色彩色LCD连接,具有将接,具有将显示示缓存(在系存(在系统存存储器中)器中)中的中的LCD图象数据象数据传输到外部到外部LCD 驱动电路的路的逻辑功能,功能,驱动其完成各其完成各类数据的数据的显示。示。LCDLCD显示接口显示接口按照触摸屏的工作原理和感按照触摸屏的工作原理和感应触摸信息触摸信息的介的介质来分,常来分,常见的触摸屏有四的触摸屏有四类:l电阻式阻式l电容式容式l红外外线式式l表面声波式表面声波式触摸屏接口触摸屏接口电阻屏根据引出阻屏根据引出线数多少,可分数多少,可分为四四线、五、五线、六、六线等多等多线电阻触摸屏。阻触摸屏。S3C2440A处理器中内置了理器中内置了A/D转换器,并提供了一器,并提供了一个个专用的四用的四线电阻式触摸屏接口,此接口引出了四根信阻式触摸屏接口,此接口引出了四根信号号线XP,XM,YP,YM,分,分别对应触摸屏上的触摸屏上的X,X,Y,Y,因此在硬件接口,因此在硬件接口设计上十分上十分简洁。10.5 10.5 通信接口通信接口 通信接口通常用于嵌入式通信接口通常用于嵌入式设备与其他与其他设备进行信息交行信息交换,由于各,由于各类设备性能指性能指标差异差异巨大,要巨大,要实现信息的信息的传递需要需要进行速率、行速率、电平、平、时序、信息格式等多方面的序、信息格式等多方面的转换和匹配,和匹配,所以所以该类接口种接口种类十分丰富。十分丰富。串行通信串行通信SCISCI接口接口其他通信接口其他通信接口S3C2440S3C2440中的中的UARTUART模块模块接口初始化接口初始化:ULCON、UCON、UFCON、UMCON、UBRDIV数据数据传递:UTRSTAT、UFSTAT、UTXH、URXH接收接收错误状况:状况:UERSTATS3C2440AS3C2440A中中UART0UART0的的相关寄存器相关寄存器例例10.2:UART0采用采用查询方式方式进行数据通信,要行数据通信,要求使用求使用8位数据位,位数据位,1位停止位,奇校位停止位,奇校验,传输速速率率115200bps,不使用,不使用FIFO,关,关闭流控制,流控制,处理理器外器外设时钟PCLK=66.68MHz。步步骤1:接口初始化接口初始化设置置帧格式、格式、时钟来源、收来源、收发模式、中断配模式、中断配置、置、FIFO的使用、波特率的使用、波特率计算等算等步步骤2:数据数据传递:可可选择使用使用查询方式或中断方式方式或中断方式传递主要用于主要用于帧格式配置格式配置ULCON0=0 x23步骤步骤1 1:UART0UART0的初始化的初始化配置配置ULCON0线路控制寄存器路控制寄存器主要用于主要用于时钟源源选择、收、收发模式、中断配置等模式、中断配置等UCON0=0 x0005步骤步骤1 1:UART0UART0的初始化的初始化配置配置UCON0控制寄存器控制寄存器主要用于使能主要用于使能FIFO及相关参数配置及相关参数配置UFCON0=0 x00步骤步骤1 1:UART0UART0的初始化的初始化配置配置UFCON0 FIFO控制寄存器控制寄存器主要用于主要用于设置置UART模模块与与Modem相关参数相关参数UFCON0=0 x00步骤步骤1 1:UART0UART0的初始化的初始化配置配置UMCON0调制解制解调器器控制寄存器控制寄存器步骤步骤1 1:UART0UART0的初始化的初始化配置配置UBRDIV0波特率波特率控制寄存器控制寄存器UBRDIV=int(UART时钟频率时钟频率/(波特率波特率16)1采用采用66.68MHz的的PCLK作作为时钟源,源,为得到得到115200bps的的速率,速率,则:UBRDIV=int(66.68M/(11520016)1=int(36.176)1=35实际波特率波特率=UART时钟频率率/(UBRDIV+1)16)=66.68M/(35+1)16)115764bps实际的工作速率与理的工作速率与理论值之之间存在存在偏差偏差:(115764 115200)/115200100%=+0.49%初始化程序段初始化程序段ULCON0EQU0 x50000000UCON0EQU0 x50000004UFCON0EQU0 x50000008UMCON0EQU0 x5000000CUBRDIV0EQU0 x50000028LDRR2,=ULCON0;配置;配置ULCON0寄存器寄存器MOVR3,#0 x23STRBR3,R2LDRR2,=UCON0;配置;配置UCON0寄存器寄存器MOVR3,#0 x05STRHR3,R2LDRR2,=UFCON0;配置;配置UFCON0寄存器寄存器MOVR3,#0 x00STRR3,R2LDRR2,=UMCON0;配置;配置UMCON0寄存器寄存器MOVR3,#0 x00STRR3,R2LDRR2,=UBRDIV0;配置;配置UBRDIV0寄存器寄存器MOVR3,#35STRHR3,R2步骤步骤2 2:使用:使用UART0UART0进行数据收发进行数据收发使用使用UTRSTAT0、UTXH0、URXH0进行状行状态的判断并完成通信。的判断并完成通信。收收/发示例程序段发示例程序段UTRSTAT0EQU0 x50000010UTXH0EQU0 x50000020;假;假设系系统采用小端存采用小端存储URXH0EQU0 x50000024;假;假设系系统采用小端存采用小端存储TLOOPLDRR0,=UTRSTAT0;读取取UART0收收发状状态寄存器的寄存器的值TSTR0,#0 x02;判断;判断发送送缓冲区是否空冲区是否空闲BEQTLOOP;不空;不空闲则继续查询LDRR0,=UTXH0STRBR1,R0;若空;若空闲,则将将R1寄存器中字寄存器中字节;传递至至发送送缓冲区,完成一字冲区,完成一字节;数据数据发送送RLOOPLDRR0,=UTRSTAT0;读取取UART0收收发状状态寄存器的寄存器的值TSTR0,#0 x01;判断接收;判断接收缓冲区是否有数据冲区是否有数据BEQRLOOP;若没有数据;若没有数据则继续查询LDRR0,=URXH0LDRBR1,R0;若有数据;若有数据则将数据收回至将数据收回至R1寄寄;存器完成一字存器完成一字节数据接收数据接收其他通信接口其他通信接口SPI(Serial Peripheral Interface)串行外串行外设接口接口总线系系统是一种同步串行外是一种同步串行外设接口,是接口,是Motorola首先在其首先在其MC68HC系列系列处理器上定理器上定义的。的。I2C(Inter-Integrated Circuit)总线是由是由PHILIPS公公司开司开发的两的两线式串行式串行总线,可用于,可用于连接接微控制器微控制器及其外及其外围设备。CAN(Controller Area Network)控制器局域网控制器局域网络,是由研是由研发和生和生产汽汽车电子子产品著称的品著称的德国德国BOSCH公司公司开开发了的,并最了的,并最终成成为国国际标准,是国准,是国际上上应用最广泛用最广泛的的现场总线之一。之一。USB(Universal Serial Bus)通用串行通用串行总线,是一个,是一个外部外部总线标准,用于准,用于规范范电脑与外部与外部设备的的连接和通接和通讯。第十章第十章 习题作业:作业:10.210.2、10.410.4、10.610.1010.610.10思考:思考:10.110.1、10.310.3、10.5 10.5
展开阅读全文