S3C44B0X处理器体系结构分析

上传人:嘀****l 文档编号:246557643 上传时间:2024-10-14 格式:PPT 页数:106 大小:7.75MB
返回 下载 相关 举报
S3C44B0X处理器体系结构分析_第1页
第1页 / 共106页
S3C44B0X处理器体系结构分析_第2页
第2页 / 共106页
S3C44B0X处理器体系结构分析_第3页
第3页 / 共106页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,S3C44B0X处理器体系结构分析,体系结构、接口功能,1,Contents,Introduction of Samsung ARM CPU embedded Microcontroller Bus architecture,The Usage of ICE,引脚定义,Application of,S3C44B0X,2,A photo of ARM-R44B0X-002(S3C44B0X),Summarize of S3C44B0X,3,Inner structure of S3C44B0X,4,Architecture,Features,- Integrated system for hand-held devices and general embedded applications.,- 16/32-Bit RISC architecture and powerful instruction set with ARM7TDMI CPU core.,- Thumb de-compressor maximizes code density while maintaining performance.,- On-chip ICEbreaker debug support with JTAGbased debugging solution.,- 32x8 bit hardware multiplier.,- New bus architecture to implement Low-Power SAMBA II(SAMSUNGs ARM CPU embedded Micro-controller Bus Architecture).,5,1.Introduction of Samsung ARM CPU embedded Microcontroller Bus architecture,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA( Arm Microcontroller Bus architecture)规范主要包括了AHB (Advanced High performance Bus)系统总线和APB( Advanced Peripheral Bus)外围总线。,S3C44B0X,采用在AMBA基础上采用了新的更节能的总线结构:SAMBA II ( Samsungs ARM CPU embedded Micro-controller Bus Architecture).,6,SAMBA II,片上总线,AMBA 2.0规范包括四个部分:AHB、ASB、APB和Test Methodology。AHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。,Microprocessors, DMA controllers, memory controllers and other higher performance blocks are suited for connection to the AHB/ASB. Lower performance blocks such as UARTs, General Purpose Input/Output (GPIO) and Timers are suited for connection to the APB.,7,The reason why adopts partitioning blocks onto separate bus connections,In systems which use a common bus, each block adds to the total capacitance on the bus. It is quite common for the total capacitance to exceed the maximum driving capability of buffers in ASIC vendors standard cell libraries. Bus signals are often left under driven, thereby reducing the performance of the bus.,8,AHB (,Advanced High performance Bus),AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位128位总线宽度;支持字节、半字节和字的传输。,AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。,9,AHB总线互连结构图,AHB总线互连结构图,10,APB:,Advanced Peripheral Bus,APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。,1)系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。,2)当有传输要进行时,PSELx1,PENABLE0,系统进入SETUP状态,并只会在SETUP 状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE 状态。,11,APB:,Advanced Peripheral Bus,3)系统进入ENABLE状态时,维持之前在SETUP 状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态,。,12,APB传输状态图,13,基于AMBA的片上系统,大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。主模块是向从模块发出读写操作的模块,如CPU,DSP等;从模块是接受命令并做出反应的模块,如片上的RAM,AHBAPB 桥等。,14,基于AMBA的片上系统,还有一些模块同时具有两种属性,例如直接存储器存取(DMA)在被编程时是从模块,但在系统读传输数据时必须是主模块。,如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。,15,基于AMBA的SoC结构图,16,Energy saving,Increasing levels of on chip system integration means that more functional units need to be interconnected. The need to limit clock cycle times and power consumption means that,bus capacitance must be as low as possible,. This can be done effectively by partitioning functional units onto discrete bus connections that are joined by bus bridges.,17,Partitioning blocks onto separate bus connections has several advantages:,Each bus has a lower capacitance giving higher speed operation or reduced power consumption.,If frequently accessed peripherals are grouped on a separate bus from peripherals that are only accessed occasionally then power can be saved.,The high bandwidth data transfer required for the LCD controller occurs on its own local bus stub, reducing power consumption.,18,开发系统,ARM 全面的调试解决方案包括电路内仿真工具Multi-ICE 和MultiTrace 以及片上嵌入式电路单元EmbeddedICE 和Embedded Trace Macrocell(ETM).,Multi-ICE:,Multi-ICE 是ARM 的JTAG 电路内仿真器ICE 支持ARM 实时调试提供触发点位置上处理器运行的宝贵历史记录和现场信息通过Multi-ICE 可以控制存储器和内核寄存器内容.,19,2.The introduction of,EmbeddedlCE,The ICErun controlunit allows the core to be started and stopped under control of the connected debugger software. The user can then examine and modify registers and memory, and set breakpoints and watch points. ICE also provides support for code download, trace and real-time debug.,20,The introduction of,EmbeddedlCE,EmbeddedlCE,是集成在,ARM,内核中的嵌入式,ICE,仿真器,通过对,EmbeddedlCE,的控制,对,EmbeddedlCE,中寄存器的读取,可以获得,ARM,内核的状态,为程序设置断点以及读取,Debug,通信通道。,EmbeddedICE,的长度是,38,位,包括:,32,位数据,,5,位的访问,EmbeddedICE,中寄存器的地址,,1,个读写控制位。,21,The introduction of,EmbeddedlCE,EmbeddedICE,的一个主要作用就是可以在,ARM,的程序中设置软件或者硬件的断点,。,在,ARM7TDMI,处理器的内核中,有两种断点的设置方式:硬件断点和软件断点。,在有两个,Watchpoint,资源的,ARM7TDMI,的内核中,断点可以有如下情况:,2,个硬件断点,没有软件断点;,1,个硬件断点,任意多个软件断点;,任意多个软件断点。,22,EmbeddedlCE宏单元组成,一个与EmbeddedlCE 兼容的 宏单元包括一个 内核、少量的内核调试逻辑、一个 测试端口()控制器和EmbeddedlCE 宏单元。,EmbeddedlCE 宏单元包括断点寄存器,后者能够比 较地址、数据和控制总线同寄存器内的设置值。若两者匹配,会产生一个断点信号,该信号将被传送到处理器。举个例子来说,当一个特定地址的指令或一个特定的数据值被加载入指定的位置,宏单元就会产生一个断点。,23,24,EmbeddedlCE,使用,如果在一条指令上设置了断点,当指令到达流水线的执行级时,指令的执行将被中断,处理器进入调试状 态。然后,处理器和存储系统通过控制器由进行状态检测。,一旦处理器进入调试状态,它就会停止从数据总线读取指令,并且与存储系统隔离。,EmbeddedlCE,此时就可以通过扫描链将指令读入流水线、驱动处理器。寄存器和存储内容在调试状态下仍可以进行访问。这个过程是可逆的,用户可以在调试器下把代码下载进存储器,避免了烧写 的不便。,25,EmbeddedlCE,在多处理器debug中的使用,EmbeddedlCE,宏单元提供的调试特征使 处理器能够在多处理器环境下进行调试。当 处理器遇到一个断点时,它的执行就被中断,控制权通过接口交由调试器。,处理器向存储系统发出一个“调试确认”( debug Acknowledge )信号,告知后者处理器处于调试状态。同时,它不再向存储器发出访问请求,保证了其它处理器或者 通道继续工作、继续与存储系统通信。在调试过程的最后, 处理器会发出一个“存储请求”(memory equest)信号,系统控制器将根据此信号对存储系统作出仲裁。,26,S3C44B0X芯片及引脚分析,S3C44B0X共有160只引脚,采用QFP封装,具有大量的电源和接地引脚,以及地址总线、数据总线和通用I/O口,以及其他的专用模块如UART、IIC等接口,在硬件系统的设计中,应当注意芯片引脚的类型, S3C44B0X的引脚主要分为三类,即:输入(I)、输出(O)、输入/输出(I/O),输出类型的引脚主要用于S3C44B0X对外设的控制或通信,由S3C44B0X主动发出,这些引脚的连接不会对S3C44B0X自身的运行有太大的影响,输入/输出类型的引脚主要是S3C44B0X与外设的双向数据传输通道,27,S3C44B0X的引脚信号描述 ,总线控制信号,28,S3C44B0X的引脚信号描述 ,DRAM/SDRAM/SRAM,29,S3C44B0X的引脚信号描述 ,LCD控制信号,30,S3C44B0X的引脚信号描述 ,TIMER/PWM控制信号,31,S3C44B0X的引脚信号描述 ,中断控制信号,32,S3C44B0X的引脚信号描述 ,DMA控制信号,33,S3C44B0X的引脚信号描述 ,UART控制信号,34,S3C44B0X的引脚信号描述 ,IIC-BUS控制信号,35,S3C44B0X的引脚信号描述 ,IIS-BUS控制信号,36,S3C44B0X的引脚信号描述 ,SIO控制信号,37,S3C44B0X的引脚信号描述 ,ADC,38,S3C44B0X的引脚信号描述 ,GPIO,39,S3C44B0X的引脚信号描述 ,复位和时钟信号,40,S3C44B0X的引脚信号描述 ,JTAG测试逻辑,JTAG是Joint Test Action Group的缩写;是IEEE1149.1标准,41,S3C44B0X的引脚信号描述 ,电源,42,ARM接口简述,ARM接口主要包括:,键盘接口,LED显示器接口,LCD显示器接口,S3C44BOX内部集成的UART,USB接口,JTAG接口,触摸屏接口,IIC接口,43,用ARM芯片实现键盘接口,本应用实例中,要与,4X4,的矩阵键盘接口,采用节省口线的“行扫描法”方法来检测键盘,这样只需要,8,根口线,在此选取,PF,口作为检测键盘用端口,并设定,PF0 PF3,为输出扫描码的端口,,PF4-PF7,为键值读入口。,44,用ARM芯片实现键盘接口,矩阵键盘按键的识别方法,此方法分两步进行:,识别键盘哪一行的键被按下:让所有行线均为低电平,检查各列线电平是否为低,如果有列线为低,则说明该列有键被按下,否则说明无键被按下。,如果某列有键被按下,识别键盘哪一行的键被按下:逐行置低电平,并置其余各行为高电平,检查各列线电平的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。,45,行扫描法获取键值的程序设计,1,.,寄存器设置,接口中利用了,PF,口的相关寄存器,,PF,口的寄存器有,3,个:,PCONF ,PDATF,和,PUPF,。,(1),设置,PCONF,寄存器,需要设定,PF0-3,为输出口,,PF4 - 7,为输入口,因此,在端口工作之前设置,:,rPCONF,000 000 000 00 01 01 01 01 B,0x55,;,(2),设置,PDATF,寄存器,PF0-3,作为输出口输出扫描码时,可采用语句,:,rPDATF=Oxf0;,PF0-3,全写入,0,PF4-7,作为输入口读入键值时,采用语句,:,Keyval=,(,rPDATF&0xf0,),4;,(3),设置,PUPF,寄存器,设置内部上拉电阻的语句为,:,rPUPF=0x00; /,使能,PF0-7,的内部上拉电阻,46,行扫描法获取键值的程序设计,2.编写键盘扫描程序,47,LED显示器接口概述,LED(Light Emitting Diode),常称为七段发光二极管,在专用的微型计算机系统中,特别是在嵌入式控制系统中,应用非常普遍。它价格低廉、体积小、功耗低,而可靠性又很好,因此,从单板微型机、袖珍计算机到许多微型机控制系统及数字化仪器都用,LED,作为输出显示。,48,LED显示器接口概述,49,LED显示器接口概述,在多个,LED,显示电路中,通常把阴(阳)极控制端接至一输出端口,我们称它为位控端口;而把数据显示段接至一个输出端口,我们称这个端口为段控端口。段控端口处应输出十六进制数的,7,段代码。,为了将一个,4,位二进制数,(,可能为一个十六进制数,也可能是一个,BCD,码,),在一个,LED,上显示出来,就需要将,4,位二进制数译为,LED,的,7,位显示代码。要完成译码功能,可以采用两种方法:,50,一种方法是采用专用芯片,可以实现对BCD码的译码,但不能对大于9的二进制数译码。,另一种常用的办法是软件译码法。在软件设计时,将0到F共16个数字(也可以为0到9)对应的显示代码组成一个表。,51,用ARM芯片实现LED显示接口,1,接口电路,52,用ARM芯片实现LED显示接口,2.初始化程序如下。,(,1,)设置,PCONF,、,PCONG,寄存器,由于需要设定端口,F,、,G,为输出口,因此,在端口工作之前设置,:,rPCONF,001 001 001 01 01 01 01 01 B,0x12555,;,rPCONG,01 01 01 01 01 01 01 01 B,0x5555;,(,2,)设置,PUPF,、,PUPG,寄存器,设置内部上拉电阻的语句为,:,rPUPF=0x00; /,使能,PF0-7,的内部上拉电阻,rPUPG=0x00; /,使能,PG0-7,的内部上拉电阻,53,用ARM芯片实现LED显示接口,3. 7,段数码,LED,编程,54,LCD显示器接口概述,液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光,。,基本原理是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。,LCD有三种显示方式:反射型,透射型和透反射型。,55,市面上出售的LCD有两种类型:,一种是带有驱动电路的LCD显示模块,这种LCD可以方便地与各种低档单片机进行接口;,另一种是LCD显示屏,没有驱动电路,需要与驱动电路配合使用,56,LCD控制器,LCD 控制器用来把定位在系统存储器中的视频缓冲区的LCD图象数据传输到LCD驱动器,并产生必须的LCD控制信号,。,REGBANK,具有,18,个可编程寄存器,用于配置,LCD,控制器,LCDCDMA,为专用,DMA,VIDPRCS,从,LCDCDMA,接收数据,将相应格式的数据通,TIMEGEN,包含可编程的逻辑,TIMEGEN,部分产生,VFRAME, VLINE, VCLK, VM,等信号。,57,LCD应用实例,1.LCD,接口电路,58,LCD应用实例,3. LCD初始化程序,59,S3C44BOX内部集成的UART,S3C44B0X的UART(通用异步收发器)单元提供两个独立的,异步串行I/O端口,,每个都可以在中断和DMA两种模式下工作。它们支持的最高波特率为115.2Kbps。每个UART通道包含2个16位FIFO分别提供给接收和发送。,每个UART模块包含以下几个部件:波特率发生器,发送器,接收器和控制单元。,60,S3C44BOX内部集成的UART,61,UART操作,数据发送,数据接收,可检测溢出错误、奇偶校验错误、帧错误和终止状况。,动流控制(AFC),非自动流控制(通过软件控制nRTS和nCTS),调制解调器接口,62,中断DMA请求产生器,S3C44BOX的每个UART都有7个状态信号:接收FIFO/缓冲区数据准备好、发送FIFO缓冲区空、发送移位寄存器空、溢出错误、奇偶校验错误、帧错误和中止,所有这些状态都由对应的UART状态寄存器(UTRSTATn/UERSTATn)中的相应位来表现。,63,举例:,当接收器要将接收移位寄存器的数据送到接收FIFO,它会激活接收FIFO满状态信号,如果控制寄存器中的接收模式选为中断模式,就会引发接收中断。,当发送器从发送FIFO中取出数据送到发送移位寄存器,那么FIFO空状态信号将会被激活。如果控制寄存器中的发送模式选为中断模式,就会引发发送中断。,64,UART提供的两种模式,1. 回送模式,S3C44B0X的UART提供一个测试模式,即回送模式。在这种模式下,发送的数据会立即被接收。这一特性运行处理器校验内部发送和接收通道的功能。这种模式可以通过设置UART控制寄存器(UCONn)中的回送位来设定。,2.红外通信模式,S3C44B0X的UART模块支持红外线(IR)发送和接收。可以通过设置UART控制寄存器(ULCONn)中的红外模式位来选择这一模式。,65,与FIFO有关的中断,类型,FIFO类型,非FIFO模式,Rx中断,每当接收数据达到接收FIFO触发的水平,就产生接收中断;如果FIFO非空且连续3个字时间没有接收到任何数据,就产生超时中断;,每当接收数据满,接收移位寄存器将产生一个中断;,Tx中断,每当发送数据达到发送FIFO触发的水平,就产生发送中断;,每当发送数据空,发送保持寄存器将产生一个中断;,错误中断,帧错误、奇偶校验错误和被检测到并按字节接收的中止信号,都将产生错误中断;当达到接收FIFO的顶部,就会产生溢出错误中断;,所有错误都会立即产生一个错误中断。但两个错误同时发生,只有一个中断会产生;,66,波特率发生器,波特率发生器以MCLK作为时钟源,每个UART的波特率发生器为传输提供了串行移位时钟。波特率时钟由通过时钟源的16分频及一个由UART波特率除数寄存器(UBRDIVn)指定的16位除数决定。,UBRDIVn(取整)(MCLK(波特率16)-1,67,UART的寄存器,1.UART线控制寄存器,ULCONn,位,描述,初始值,保留,7,0,红外线模式,6,该位确定是否使用红外通信模式,0:正常模式 1:红外收发模式,0,奇偶校验模式,5:3,该位确定奇偶如何产生和校验,0xx:无校验位 100:奇校验 101:偶校验,110:校验位强制/检测置1 111:校验位强制/检测置0,000,停止位的数量,2,该位确定停止位的个数,0:1位停止位 1:2位停止位,0,数据位长度,1:0,该位确定数据位的个数,00:5位 01:6位 10:7位 11:8位,00,68,UART的寄存器,2.UART控制寄存器,UCONn,位,描述,初始值,发送中断类型,9,发送中断请求类型,0:脉冲(在发送缓冲区变空时立即引发中断),1:电平(在发送缓冲区为空时引发中断),0,接收中断类型,8,接收中断请求类型,0:脉冲(接收缓冲区接收到数据时立即引发中断),1:电平(接收缓冲区正在接收数据时引发中断),0,接收超时中断使能,7,在UART的FIFO使能的情况下,使能禁止接收超时中断,0:禁止 1:使能,0,接收错误状态中断使能,6,使能UART在接收操作中发生错误时的错误中断响应,0:不产生错误状态中断 1:产生错误状态中断,0,回送模式,5,该位使UART自动进入回送模式,0:正常操作 1:回送模式,0,发送中止信号,4,该位将引发UART在一帧时间内发送中止信号, 该信号发送 完后,该位自动被清除,0:正常操作 1:发送中止信号,0,发送模式,3:2,这2位决定当前哪个功能项能够向UART发送保持寄存器写入发送数据,00:禁止 01:中断请求或轮流检测模式,10: BDMAO请求(仅对UARTO),11: BDMAI请求(仅对UART1),00,接收模式,1:0,这2位决定当前哪个功能项能够从UART接收保持寄存器中读出接收数据 00:禁止,01:中断请求或轮流检测模式 IO:BDMAO请求(仅对UARTO) 11:BDMAl请求(仅对UART1),00,69,UART的寄存器,3.FIFO控制寄存器,UFCONn,位,描述,初始值,发送FIFO的触发电平,7:6,这两位确定发送FIFO的触发条件 00:空,01:4字节 10 :8字节 11 :12字节,00,接收FIFO的触发电平,5:4,这两位确定接收FIFO的触发条件 00 :4字节,01:8字节 10: 12字节 11:16字节,00,保留,3,0,发送FIFO复位,2,该位在FIFO复位后自动清除,0 :正常 1:发送FIFO复位,0,接收FIFO复位,1,该位在FIFO复位后自动清除,0 :正常 1:接收FIFO复位,0,FIFO使能,0,0 :禁止 FIFO 1 :FIFO 使能,0,70,UART的寄存器,4.Modem控制寄存器,UMCONn,位,描述,初始值,保留,7:5,这3位必须为 0,000,自动流控制,4,AFC是否允许,0 :禁止 1 :使能,0,保留,3:1,这3位必须为 0,000,请求发送,0,如果AFC允许,该位忽略;如果AFC禁止,必须由软件来控制nRTS。,0 : 高电平(不激活 nRTS) 1 : 低电平(激活 nRTS),0,71,UART的寄存器,5.发送/接收状态寄存器,UTRSTATn,位,描述,初始状态,发送移位寄存器为空,2,当发送移位寄存器中不包含有效数据或移位寄存器为空,该位自动被置位。0:非空,1:发送保持和移位寄存器为空,1,发送缓冲器为空,1,当发送缓冲区寄存器中不包含有效数据,这一位将自动被置位 0:缓冲区寄存器非空 1:空,如果使用了FIFO,则用户不用检测这个位,而应当检测UFSTAT中发送FIFO计数器位和FIFO满位,1,接收缓冲器数据准备好,0,当接收缓冲器寄存器中包含了有效数据,这一位将自动被置位,0:完全为空 1:缓冲区寄存器中包含有效数据,如果使用了FIFO则用户不用检测这个位,而应当检测UFSTAT中接收FIFO计数器位,0,72,UART的寄存器,6.UART错误状态寄存器,UERSTATn,位,描述,初始值,间隔中断,3,如果接收到某个中止信号,该位将自动置1,0:未接收到中止信号 1:接收到中止信号,0,数据帧错误,2,如果在接收操作中发生了帧错误,该位将自动置1,0:接收中没有发生帧错误 1:帧错误,0,奇偶错误,1,如果在接收操作中发生了奇偶校验错误,该位将自动置1,1:奇偶校验错误 0:接收中没有发生奇偶校验错误,0,Overrun错误,0,如果在接收操作中发生了溢出错误,该位将自动置1 0:接收中没有发生溢出错误 1 :溢出错误,0,73,UART的寄存器,7.UART的FIFO状态寄存器,UFSTATn,位,描述,初始值,保留,15:10,000000,发送FIFO满,9,当发送 FIFO满时该位为1,0 : 0字节发送 FIFO 的数据个数 15字节 1 :满,0,接收FIFO满,8,当FIFO将要满时,该位为1,0 : 0字节接收 FIFO 数据个数 15字节 1 :满,0,发送FIFO计数器,7:4,发送FIFO里的数据数量,0000,接收FIFO计数器,3:0,接收 FIFO里的数据数量,0000,74,UART的寄存器,8.Modem状态寄存器:,Modem状态寄存器0(UMSTAT0)、寄存器1(UMSTAT1)的地址分别为0x01D0001C、0x01D0401C,可读, 初始值为0x06。,9.UART发送/接收保持(缓冲区)寄存器:,发送/接收保持寄存器0(UTXH0)、寄存器1(UTXH1)的地址在小模式下分别为0x01D00020、0x01D04020,在大模式下分别为0x01D00023、0x01D04023,可写, 初始值可编程。,10.UART波特率除数寄存器,UART波特率除数寄存器0(UBRDIV0)、寄存器1(UBRDIV1)的地址分别为0x01D00028、0x01D04028,可读写, 初始值可编程。,75,USB接口概述,USB(通用串行总线)接口正在被用于多种嵌入式系统设备的数据通信中,如移动硬盘、数码相机、PDA、高速数据采集设备等。它是由Compaq、HP、Intel、Lucent、Microsoft、NEC和Philips七家公司联合推出的,新一代标准接口总线,。是一种连接外围设备的机外总线,。,其主要性能特点如下:,提供机箱外的即插即用功能,;,每个USB系统中有个主机,采用“级联”方式USB总线可连接多个外部设备;,适用于带宽范围在几千位秒(Kb/s)一几百兆位l秒(Mb/s)的设备;,低成本的电缆和连接器;,具有错误检测和处理机制;,较低的协议开销带来了高的总线性能;,支持主机与设备之间的多数据流和多消息流传输,。,76,USB系统组成,一个USB系统由三部分来描述:,USB主机:,在任一USB系统中只有一个主机,到主计算机系统的USB接口被称作主控制器。,USB设备:,分为Hub(集线器)和Function(功能)两大类。Hub提供到USB的附加连接点,功能为主机系统提供附加的性能,。,USB互连:USB互连指的是USB设备与主机的连接和通信方式,它包括总线拓扑结构、内层关系、数据流模型和USB调度表。,USB总线用来连接各USB设备和USB主机,。,77,USB的物理接口,USB总线的电缆有4根导线:一对标准尺寸的双绞信号线和一对标准尺寸的电源线。,USB总线支持的数据传输率有三种:高速信令位传输率为480Mbs;全速信令位传输率为12Mbs;低速信令位传输率为1.5Mb/s。,USB2.0支持在主控制器与Hub之间用高速传输、全速和低速数据,而Hub与设备之间以全速或低速传输数据,这种支持能力可以将全速设备和低速设备对高速设备可用带宽的影响减到最小。,78,USB的电源,USB的电源规范包括两个方面:,电源分配用,来处理USB设备如何使用主机通过USB总线提供的电源。,电源管理,用来处理USB系统软件和设备如何适应主机上的电源管理系统。,79,USB的总线协议,USB是一种查询(Polling)总线,由主控制器启动所有的数据传输。USB上所挂连的外设通过由主机调度的( Host-Scheduled)、基于令牌的(Token-Based)协议来共享USB带宽。,大部分总线事务涉及3个包的传输,:,令牌包,(Token Packet),数据包(Data Packet),握手包(Handshake Packet),80,主控制器和Hub之间的某些总线事务涉及4个包的传输,这些类型的事务用来管理主机与全/低速设备之间的数据传输。,主机与设备端点之间的USB数据传输模型被称作管道,管道有两种类型:流和消息,。,81,USB接口工作原理,USB设备最大的特点就是即插即用。,原因:USB协议规定在主机启动或USB设备插入系统时都要对设备进行配置。就是按照USB协议,在USB主机与USB设备之间进行的一系列“问答”过程,。从而,主机知道了设备的情况以及该如何与设备通讯,并为设备设置一个唯一的地址,。,82,在配置阶段主机也了解了设备端点的使用情况,便可以通过这些端点来进行特定传输方式的通讯。对于标准USB设备,操作系统带有它的驱动,而不需要编写专门的主机驱动程序。但这样就必须为它选择一种标准命令集;但对于非标准设备,则可以自定义一套请求指令集,并需要编写专门的主机驱动程序来实现对USB设备的操作。,83,USB设备应用,对USB设备的开发需要考虑的因素:,选择USB接口控制器芯片。,编写USB设备要执行的USB通信代码(也称为固件程序)。,USB设备需要执行的其他功能,例如处理接收数据和即将发送数据所需要的硬件和程序代码。,一台支持USB接口的主机。,主机上装有与USB设备通信的驱动软件。,84,USB设备应用,USB设备开发的一般步骤:,根据所要开发的设备的功能需要,确定设备在USB总线上的位置、传输数据的速度以及传输数据的量等,从而确定选择哪一类的USB控制器芯片,并进一步具体决定采用芯片的厂家和型号,然后根据该器件和其他所需芯片进行电路设计。,编写固件程序,其作用是让主机能够识别该设备,并响应主机的各种请求。,根据所用设备是否为标准USB设备,来决定是另外编写驱动,还是使用操作系统自带的驱动程序来访问USB设备。,把编写好的固件程序载入 USB设备,并将USB设备插入主机总线打开应用程序可以对该设备进行指定的操作。,按需要调试和重复以上步骤。,85,以太网接口,概述,以太网以其高度灵活、相对简单、易于实现的特点,成为当今最重要的一种局域网建网技术。通常所说的以太网主要是指以下3种不同的局域网技术:,以太网/IEEE 802.3 采用同轴电缆作为网络介质,传输速率达到10 Mbps。,100 Mbps以太网 又称为快速以太网,采用双纹线作为网络介质,传输速率达到100 Mbps。,1000 Mbps以太网 又称为千兆以太网,采用光缆或双纹线作为网络介质,传输速率达到1000 Mbps(1 Gbps)。,86,以太网控制器RTL8019,RTL8019是高度集成的以太网控制器,为即插即用式NE2000兼容网络适配器提供了简易的解决方案。RTL8019共有32个输入输出地址,对应地址偏移量为00hlFh。RTL8019的内部寄存器是分页的,每个寄存器都是8位。,87,RTL8019的复位,RTL8019的复位引脚RSTDRV是高电平有效的复位信号,高电平时间长度需大于800 ns,通常在RSTDRV从高电平回到低电平之后的100ms时,再对RTL8019进行读写操作,以确保完全复位。当处理器复位时,以太网控制器也复位。,热复位:为了保证能够完全复位,可以使用热复位方法。18h一1Fh的8个地址,为复位端口,对该端口的偶数地址读或写入任何数,都会引起以太网控制器的复位,这种方式称为热复位。,88,RTL8019的复位,中断状态寄存器中的第7位RST跟复位有关,它的地址为07h,位于第0页,可直接读写。在以太网控制器执行了正确复位之后该位为1。一般在复位之后检查该标志位,以确认是否复位成功。,89,RTL8019寄存器,1.命令寄存器CR:地址偏移量是00h,长度为一个字节。,位,符号,描述,7,6,PS1,PS0,选择寄存器页 00:0页 01:1页 10:2页 11:3页(为RTL8019AS配,置),53,RD20,表示要执行的功能 000:不允许,001:远程读取以太网控制器内存,010:远程写入以太网控制器内存,011:发送包 1XX:中止/完成远程DMA,2,TXP,要发送数据包时,要将该位置1,该位可能在发送完成后或者发送中止时内部清0,对该位写0操作无效,1,STA,写STP组合使用,0,STP,该位是停止命令。该位被置1,就停止接收或发送任何数据包,上电时该位为1。STA 与STP组合使用,10:启动命令 01:停止命令,90,RTL8019寄存器(1),2.与发送接收相关的寄存器:,PSTART:接收缓冲区的起始页地址(位于01h,在第0页可写,在第2页可读)。,PSTOP:接收缓冲区的结束页地址(该页不用于接收,位于02h,在第0页可写,在,第2页可读)。,BNRY:边界寄存器(作为读指针使用,位于03h,在第0页可读写)。这个寄存器用来避免对环形接收缓冲区中数据的错误覆盖,通常用作指针,指向接收缓冲区中已经被读取的最后一个页。,CURR:当前页寄存器(作为写指针使用,位于07h,在第1页可读写)。这个寄存器的内容指向接收缓冲区中第一个可用于接收新数据的页面。,DCR:数据配置寄存器。将它设置为使用FIFO缓存,普通模式,8位数据传输模式。字节顺序为高位字节在前,低位字节在后。,91,RTL8019寄存器(2),TPSR:为发送页的起始页地址。初始化为指向第一个发送缓冲区的页。,RCR :接收配置寄存器,设置为使用接收缓冲区,仅接收与自己地址相匹配的数据包(以及广播地址数据包)和多点播送地址包;小于64字节的包和校验错的数据包将被丢弃。,TCR:发送配置寄存器,启用CRC(循环冗余校验)自动生成和校验功能,工作在正常模式。,RSAR0,1:对存储器进行操作的起始地址寄存器,RSAR0存放低8位,RSARl存放高8位。,RBCR0,1:对存储器操作的字节计数寄存器,RBCR0存放低8位,RBCRl存放高8位。,TBCR0,1:发送字节计数器,这两个寄存器设置了要发送数据包中的字节个数,。,TBCR0存放低8位,TBCRl存放高8位。,92,RTL8019寄存器,3.其他寄存器:,IMR:中断屏蔽寄存器,设置成0x00时,屏蔽所有的中断,设置成0xFF将允许中断。,MAR0一MAR8:多点播送地址,可以全写0xFF。,PAGE2的寄存器是只读的,不用设置。PAGE3的寄存器不是NE2000兼容的,所以也不用设置。,93,RAM空间结构,以太网控制器含有16KB的RAM,地址为0x40000x7FFF,每256个字节称为一页,共有64页。,使用0x400x45作为以太网控制器的发送缓冲区,共6页,。,使用0x460x5F作为以太网控制器的接收缓冲区,共32页,。,CURR和BNRY寄存器是以太网数据收发中用到的两个最主要的寄存器,CURR和BNRY主要用来控制缓冲区的存取过程,保证能顺次写入和读出。,CURR是以太网控制器写接收缓冲区的指针。,BNRY指向接收缓冲区中已经被读取的最后一个页。,94,网卡的物理地址,在完成对寄存器的初始化后,还要对以太网控制器的物理地址(即48位的以太网控制器地址)进行设置。,RAM地址中的0x00000x000B的12字节是网卡的物理地址。网卡的物理地址本应该是6个字节的,这12字节是单双地址重复存储的。0x000B后面的地址存储的是生产厂商的代码和产品标识代码,也是单双地址重复存储的。,95,以太网模块的接口设计,配置RTL8019:为了系统的精简,配置RTL8019为非即插即用模式。有着固定的中断,有着固定的端口地址,。,以太网模块与处理器的接口电路,:,96,ARM的JTAG接口基本知识,1. JTAG是Joint Test Action Group的缩写,是IEEEll49.1标准。使用JTAG的优点:JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试。在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线、I/O口等信息,从而达到调试的目的。,97,2. JTAG的典型信号:,TMS:测试模式选择(Test Mode Select),通过TMS信号控制JTAG状态机的状态;,TCK:JTAG的时钟信号;,TDI:数据输入信号;,TDO:数据输出信号;,nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell)。,98,ARM的JTAG接口基本知识,3. JTAG,状态机:,JTAG,状态机分成,15,个状态,每一个状态都有其相应的功能。不管,JTAG,状态机处于哪个状态,当,TMS,信号等于逻辑,1,的时候,连续,5,个时钟信号以后,,JTAG,状态机必然回到,Test-logic Reset,状态。这也是,JTAG,状态机的复位时的状态。,4. JTAG,链的组成:每一条,JTAG,链是由若干个,JTAG,的扫描单元串连组成的,每一个扫描单元都可以配置成捕获外部信号的输入单元或者对外的输出单元。依靠移位寄存器,通过,JTAG,的,TDO,和,TDI,信号线,可以使数据串行输出到每一个,JTAG,扫描单元上,或者读出每一个扫描单元的数据。,99,ARM的JTAG接口基本知识,5. JTAG,链的工作过程:,步骤一:,JTAG,处于挂起状态,,JTAG,的扫描单元并不影响设备信号的输入输出。,步骤二:在,JTAG,状态机的,Capture-DR,状态,把,IO,口上的数据捕获到,JTAG,扫描单元的移位寄存器上。,100,ARM的JTAG接口基本知识,步骤三:在,JTAG,状态机的,Shift-DR,状态,,TCK,的一次跳变,把数据从,TDI,移位到,JTAG,移位寄存器的高位上,并从,TDO,输出移位寄存器的低位,(,就是,O,3,的数据,),。,步骤四:经过,6,个,TCK,的时钟可以把整个捕获到的,JTAG,链的移位寄存器上的数据移出,并且,把新的数据移入,JTAG,链。,步骤五:在,JTAG,状态机的,Update,DR,状态,可以把新的数据锁定到设备的输入或者输出,I/O,口上,从而完成了一次,JTAG,的数据更新。,101,触摸屏的接口,设计,1 .,触摸屏的驱动芯片,ADS7843,典型接口,触摸屏的控制采用专用芯片,专门处理是否有笔或手指按下触摸屏,并在按下时分别给两组电极通电,然后将其对应位置的模拟电压信号经过A/D转换送回处理器。S3C44B0选取PG口与ADS7843接口,共使用PG2 - PG7的6条口线,也可以选择其他的I/O口,但注意不要与I/O口上已经设定的功能相冲突其中,X+、Y+、X-、Y-引脚直接与触摸屏的相应管脚相连。,102,IIC接口概述,IIC是一种双向两线制的串行总线,由于它支持任何一种IC制造工艺,且能够提升硬件的效率和简化电路的设计,因此众多厂商都提供了IIC兼容芯片。,S3C44BOX内部也具有IIC总线接口模块,支持一个多主IIC-BUS串形接口,主S3C44B0X能发送或接收串形数据到从设备,并遵守标准的IIC协议。,IIC总线操作模式为:主发送模式、主接收模式、从发送模式、从接收模式。,103,参考文献,ARM7TDMI-S (Rev 4)Technical Reference Manual ARM DDI 0234A,(,ARM,),Architecture,Reference ManualView Larger ImageDavid SealAddison-Wesley, 2nd edition, Published December 2000,ARM System-on-chip Architecture, Steve Furber, Addison Wesley, 2000,104,演讲完毕,谢谢观看!,内容总结,S3C44B0X处理器体系结构分析。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。2个硬件断点,没有软件断点。1个硬件断点,任意多个软件断点。然后,处理器和存储系统通过控制器由进行状态检测。EmbeddedlCE宏单元提供的调试特征使 处理器能够在多处理器环境下进行调试。PF0-3作为输出口输出扫描码时,可采用语句:。PF0-3全写入0。而把数据显示段接至一个输出端口,我们称这个端口为段控端口。(2)设置PUPF、PUPG寄存器,设置内部上拉电阻的语句为:。适用于带宽范围在几千位秒(Kb/s)一几百兆位l秒(Mb/s)的设备。USB总线支持的数据传输率有三种:高速信令位传输率为480Mbs。RTL8019共有32个输入输出地址,对应地址偏移量为00hlFh。一般在复位之后检查该标志位,以确认是否复位成功。演讲完毕,谢谢观看,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


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

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


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