当某GPIO管脚设置为输出模式课件.ppt

上传人(卖家):晟晟文业 文档编号:4194920 上传时间:2022-11-18 格式:PPT 页数:149 大小:1.81MB
下载 相关 举报
当某GPIO管脚设置为输出模式课件.ppt_第1页
第1页 / 共149页
当某GPIO管脚设置为输出模式课件.ppt_第2页
第2页 / 共149页
当某GPIO管脚设置为输出模式课件.ppt_第3页
第3页 / 共149页
当某GPIO管脚设置为输出模式课件.ppt_第4页
第4页 / 共149页
当某GPIO管脚设置为输出模式课件.ppt_第5页
第5页 / 共149页
点击查看更多>>
资源描述

1、1 在并行信号传输中,要求由多条数据导线构在并行信号传输中,要求由多条数据导线构成数据总线,另外还需要有相应的控制线和电源成数据总线,另外还需要有相应的控制线和电源线,此时每条数据导线传输一个数据位。这是要线,此时每条数据导线传输一个数据位。这是要求数据总线长度必须较短,这样并行通信的数据求数据总线长度必须较短,这样并行通信的数据通过能力强。否则会因为长导线会导致有较高的通过能力强。否则会因为长导线会导致有较高的电容值,而在具有高电容值的总线上传送数据需电容值,而在具有高电容值的总线上传送数据需要有更多时间来进行充放电。此外,并行总线中要有更多时间来进行充放电。此外,并行总线中各导线长度上的小

2、差异,也可能导致所接受的数各导线长度上的小差异,也可能导致所接受的数据字各位的抵达时间不同,随着并行总线长度的据字各位的抵达时间不同,随着并行总线长度的增加,这种数据不齐的现象更为严重。增加,这种数据不齐的现象更为严重。ARMARM架构中的处理器内核和处理器核一般都没架构中的处理器内核和处理器核一般都没有有I/OI/O的部件和模块,可以通过先进微控制总线的部件和模块,可以通过先进微控制总线架构架构AMBAAMBA来扩展宏单元和来扩展宏单元和I/OI/O部件,为微处理器部件,为微处理器提供了提供了3232位地址信号、位地址信号、3232位数据信号和一些读位数据信号和一些读/写、时钟、外围复位、选

3、通等控制信号。写、时钟、外围复位、选通等控制信号。2 ARM ARM采用了存储器映像采用了存储器映像I/OI/O的统一编址方式,即的统一编址方式,即把把I/OI/O端口当作为特殊的存储器地址来对待处理。端口当作为特殊的存储器地址来对待处理。比如三星公司生产的比如三星公司生产的S3C44B0XS3C44B0X微处理器芯片,微处理器芯片,芯片内部具有芯片内部具有7171个通用多功能输入输出引脚,个通用多功能输入输出引脚,这些这些I/OI/O口的应用是口的应用是S3C44BOXS3C44BOX处理器的基础应用,处理器的基础应用,分别包含在如下分别包含在如下7 7组端口中:组端口中:1 1个个1010

4、位输出端口端口位输出端口端口A A;1 1个个1111位输出端口(端口位输出端口(端口B B););1 1个个1616位输入输出端口(端口位输入输出端口(端口C C););2 2个个8 8位输入输出端口(端口位输入输出端口(端口D D和和G G););2 2个个9 9位输入输出端口(端口位输入输出端口(端口E E和和F F)。)。34.4.1 中断接口概述中断接口概述 在使用在使用I/OI/O的数据量比较大,中断处理事件比较频的数据量比较大,中断处理事件比较频繁的场合时,这是会很明显地影响嵌入式系统的性能。繁的场合时,这是会很明显地影响嵌入式系统的性能。因此,许多微处理器内部都包含了直接存储器

5、因此,许多微处理器内部都包含了直接存储器DMADMA。这。这样使用样使用DMADMA方式,方式,I/OI/O的数据块传送至存储器的缓冲器区的数据块传送至存储器的缓冲器区域就不需要微处理器介入,提高了微处理器的工作效率。域就不需要微处理器介入,提高了微处理器的工作效率。但对一些没有但对一些没有DMADMA的微处理器,为了要提高的微处理器,为了要提高I/OI/O高速高速数据处理的能力,微处理器系统本身设计有快速中断数据处理的能力,微处理器系统本身设计有快速中断FIQFIQ能力;而对其余的一般能力;而对其余的一般I/OI/O源可安排为一般中断源源可安排为一般中断源IRQIRQ。通常终端源有硬件和软件

6、相关的中断源、软件错误通常终端源有硬件和软件相关的中断源、软件错误相关的中断源、为调试程序而摄制的中断源和系统分时相关的中断源、为调试程序而摄制的中断源和系统分时所用的中断源。所用的中断源。从系统的角度看,中断是一个流程,一般来说,中从系统的角度看,中断是一个流程,一般来说,中断要经过断要经过3 3个环节:中断响应、中断处理和中断返回。个环节:中断响应、中断处理和中断返回。4 在系统对外部事件做出反应的过程中,中断响应在系统对外部事件做出反应的过程中,中断响应是第一个环节,主要是确定中断源,而后根据中断源指是第一个环节,主要是确定中断源,而后根据中断源指引引CPUCPU进入具体的中断处理程序。

7、因此,中断响应在整进入具体的中断处理程序。因此,中断响应在整个中断机制中起枢纽作用。由于在现有的技术条件下,个中断机制中起枢纽作用。由于在现有的技术条件下,芯片的引线数量受到很大的限制,因此很难为了快速确芯片的引线数量受到很大的限制,因此很难为了快速确定中断源而让定中断源而让CPUCPU芯片带足够多的中断请求线。这样一芯片带足够多的中断请求线。这样一来,为了确定中断源的来源,就需要有一些辅助的手段,来,为了确定中断源的来源,就需要有一些辅助的手段,使使CPUCPU在响应中断的时候,能迅速确定中断源。在响应中断的时候,能迅速确定中断源。辅助手段主要有以下辅助手段主要有以下3 3种形式:种形式:(

8、1 1)CPUCPU在响应中断时进入一个特殊的中断响应周在响应中断时进入一个特殊的中断响应周期,向外发一个期,向外发一个“中断响应(中断响应(ACKACK)”信号,要求中断信号,要求中断源通过数据总线提供一个代表具体设备的数值,称为源通过数据总线提供一个代表具体设备的数值,称为“中断向量中断向量”。但要求发出中断请求的外设必须在接受。但要求发出中断请求的外设必须在接受中断响应信号时发出这个中断向量。同时为了防止多个中断响应信号时发出这个中断向量。同时为了防止多个外设同时发出中断向量而形成冲突的情况,还需要把所外设同时发出中断向量而形成冲突的情况,还需要把所有可能成为中断源的设备连接成一条有可能

9、成为中断源的设备连接成一条“中断链中断链”,在,在“中断链中断链”的不同位置应具有不同的优先级。的不同位置应具有不同的优先级。5 (2 2)在外部提供一个)在外部提供一个“集线器集线器”,称为,称为“中断控中断控制器制器”。它为外设提供多条中断请求线,但是将这些中。它为外设提供多条中断请求线,但是将这些中断请求线(相或)合并成一条。与此同时,在中断控制断请求线(相或)合并成一条。与此同时,在中断控制器中还要提供一个寄存器,记录当前的(综合)中断请器中还要提供一个寄存器,记录当前的(综合)中断请求来自哪几条外部中断请求线,而求来自哪几条外部中断请求线,而CPUCPU则可以像访问外则可以像访问外设

10、一样读出这个寄存器的内容,以确定中断请求的来源。设一样读出这个寄存器的内容,以确定中断请求的来源。(3 3)将中断控制器集成在)将中断控制器集成在CPUCPU芯片中,设法芯片中,设法“挪用挪用”或或“复制复制”原有的若干引线,而并不实际增加引线的数原有的若干引线,而并不实际增加引线的数量。这样由外设产生的中断请求都由芯片上的中断控制量。这样由外设产生的中断请求都由芯片上的中断控制器汇总成一个器汇总成一个IRQIRQ中断请求。此外,中断控制器还向中断请求。此外,中断控制器还向CPUCPU提供一个中断请求寄存器和一个中断控制寄存器。寄存提供一个中断请求寄存器和一个中断控制寄存器。寄存器中的每一位都

11、代表一个中断源,通过中断请求寄存器器中的每一位都代表一个中断源,通过中断请求寄存器可以知道中断请求来自何处,通过中断控制寄存器则可可以知道中断请求来自何处,通过中断控制寄存器则可以屏蔽或者连通特定的中断源。以屏蔽或者连通特定的中断源。GPIOGPIO是一个通用的可编程的是一个通用的可编程的I/OI/O接口,其接口寄存器接口,其接口寄存器中的每一位都可以分别在程序的控制下设置成用于输入中的每一位都可以分别在程序的控制下设置成用于输入或者输出。而且,当用于输入的时候,还可以让每一位或者输出。而且,当用于输入的时候,还可以让每一位的状态变化都引发一个中断请求。的状态变化都引发一个中断请求。6 例如例

12、如S3C44BOXS3C44BOX具有具有3030个中断源,包括个中断源,包括1 1个看个看门狗定时器门狗定时器,6,6个定时器个定时器,6,6个个UART,8UART,8个外部个外部,4,4个个DMA,2DMA,2个个RTC,1RTC,1个个ADC,1ADC,1个个IICIIC和和1 1个个SIOSIO共共3030个中个中断源。断源。S3C44B0XS3C44B0X支持新的中断处理模式称为矢量支持新的中断处理模式称为矢量中断模式。中断控制器的角色,就是响应来自中断模式。中断控制器的角色,就是响应来自FIQ(FIQ(快速中断请求快速中断请求)或或IRQ(IRQ(普通中断请求普通中断请求)的中的

13、中断,并请求内核对中断进行处理。断,并请求内核对中断进行处理。多个中断请求发生时,由硬件优先级逻辑多个中断请求发生时,由硬件优先级逻辑确定应该有哪个中断源得到服务,同时硬件逻确定应该有哪个中断源得到服务,同时硬件逻辑使中断向量表的跳转指令加载到(辑使中断向量表的跳转指令加载到(0X180X18或或0X1C0X1C)位置,在该位置执行跳转指令使程序跳)位置,在该位置执行跳转指令使程序跳到相应的中断服务线程,因此相对于传统的到相应的中断服务线程,因此相对于传统的ARMARM的软件方法能够大大减少中断进入延时。的软件方法能够大大减少中断进入延时。7控制中断的寄存器有如下控制中断的寄存器有如下8 8个

14、:个:1.1.中断控制寄存器中断控制寄存器 2.2.中断请求寄存器中断请求寄存器 3.3.中断模式寄存器中断模式寄存器 4.4.中断屏蔽寄存器中断屏蔽寄存器 5.IRQ5.IRQ矢量模式寄存器矢量模式寄存器 6.IRQ/FIQ6.IRQ/FIQ中断服务寄存器中断服务寄存器 7.7.外部中断控制寄存器外部中断控制寄存器 8.8.外部中断请求寄存器外部中断请求寄存器8外部中断的应用(1).I/O(1).I/O口设置口设置 首先对首先对PGPG口的工作模式进行设置,要让口的工作模式进行设置,要让PG47PG47工作在外部中断输入状态。因此,要将工作在外部中断输入状态。因此,要将PGPG口口设置在功能

15、设置在功能3 3模式下,采用语句模式下,采用语句:rPCONG=11 11 11 11 xx xxxxxxBrPCONG=11 11 11 11 xx xxxxxxB;如果希望采用内部上拉,则语句为如果希望采用内部上拉,则语句为:rPUPGrPUPG=0000 xxxxB=0000 xxxxB。9(2).(2).外部中断触发模式设置利用外部中断控制寄存器来外部中断触发模式设置利用外部中断控制寄存器来设置外部中断的触发模式由于采用电平触发容易引起设置外部中断的触发模式由于采用电平触发容易引起重复触发,因此建议采用下降沿或上升沿触发,不同触重复触发,因此建议采用下降沿或上升沿触发,不同触发方式的语

16、句如下发方式的语句如下:采用下降沿触发时采用下降沿触发时:rEXTINT=01x 01x 01x 01x xxx xxxxxxxxxB rEXTINT=01x 01x 01x 01x xxx xxxxxxxxxB;采用上升沿触发时采用上升沿触发时:rEXTINT=10 x 10 x 10 x 10 x xxx xxxxxxxxxB rEXTINT=10 x 10 x 10 x 10 x xxx xxxxxxxxxB;采用边沿触发时采用边沿触发时:rEXTINT=11x 11x 11x 11x xxx xxxxxxxxxB rEXTINT=11x 11x 11x 11x xxx xxxxxxxx

17、xB;采用低电平触发时采用低电平触发时:rEXTINT=000 000 000 000 xxx xxxxxxxxxB rEXTINT=000 000 000 000 xxx xxxxxxxxxB;104.4.2 RS-232-C4.4.2 RS-232-C串行接口串行接口 目前目前RS-232RS-232是是PCPC机与通信工业中应用最广泛的一种串行接口。机与通信工业中应用最广泛的一种串行接口。RS-232RS-232被定义为一种在低速率串行通信中增加通信距离的单端标被定义为一种在低速率串行通信中增加通信距离的单端标准。美国电子工业协会(准。美国电子工业协会(EIAEIA)把)把RS-232-

18、CRS-232-C定义为:定义为:“在数据终在数据终端设备和数据通信设备之间使用串行二进制数据交换的接口端设备和数据通信设备之间使用串行二进制数据交换的接口”。RS-232-CRS-232-C标准是一种硬件协议,用于连接标准是一种硬件协议,用于连接DTEDTE(数据终端设备)(数据终端设备)和和DCE(DCE(数据通信设备数据通信设备)两种设备。两种设备。RS-232-CRS-232-C定义包括接口以下三定义包括接口以下三个方面:个方面:机械特性(一般为机械特性(一般为9 9针);针);电气信号特性(负载电容不超过电气信号特性(负载电容不超过2500P2500P,负载电阻在,负载电阻在3K7K

19、3K7K欧姆之欧姆之间,电压在间,电压在-3V-15V-3V-15V和和+3V+15V+3V+15V之间);之间);交换特性(允许全双工方式)交换特性(允许全双工方式)在实际的应用中,利用在实际的应用中,利用RS-232-CRS-232-C的通信最少可使用其中的的通信最少可使用其中的3 3根线,即根线,即TxDTxD、RxDRxD和和GNDGND。通信距离一般在几十米内,通信速率。通信距离一般在几十米内,通信速率较低。较低。11 串行通信概述串行通信概述 串行数据传送模式:串行数据传送模式:单工单工半双工半双工全双工全双工 串行通信方式:串行通信方式:同步通信同步通信异步通信异步通信12S3C

20、44BOXS3C44BOX内部集成的内部集成的UARTUART S3C44B0X UARTS3C44B0X UART单元提供了两个异步串口(单元提供了两个异步串口(SIOSIO),每个),每个SIOSIO可以操作在中断模式或可以操作在中断模式或DMADMA模式,支持波特率最大为模式,支持波特率最大为115.2kbps,115.2kbps,每个每个SIOSIO通道包含都有一个通道包含都有一个1616字节的接收与字节的接收与发送发送FIFOFIFO缓冲区。缓冲区。每个每个UARTUART模块包含以下几个部件:波特率发生器,发送模块包含以下几个部件:波特率发生器,发送器,接收器和控制单元。每个器,接

21、收器和控制单元。每个UARTUART能将从能将从RXDRXD端接收的端接收的串行数据转换为并行的数据。并且还能够将来自处理器串行数据转换为并行的数据。并且还能够将来自处理器的并行数据转化为串行数据,然后通过的并行数据转化为串行数据,然后通过TXDTXD发送出去。发送出去。13 检错是接收端检测在数据字或包传输过程中可能发生的错误检错是接收端检测在数据字或包传输过程中可能发生的错误的能力。最常见的错误类型是位错误(的能力。最常见的错误类型是位错误(bit errorbit error)和突发位错)和突发位错误(误(burst of bit errorburst of bit error)。位错误

22、就是数据字或包中有一个位)。位错误就是数据字或包中有一个位接受不正确,即接受不正确,即1 1变为变为0 0或或0 0变为变为1 1。突发位错误是数据字或包中连。突发位错误是数据字或包中连续多个位接收不正确。如果检测到错误,纠错(续多个位接收不正确。如果检测到错误,纠错(error error correctioncorrection)就是通过接收器和发送器合作以更正错误的能力。)就是通过接收器和发送器合作以更正错误的能力。检错和纠错能力通常是总线协议的一部分。以下讨论总线协议中检错和纠错能力通常是总线协议的一部分。以下讨论总线协议中常用的奇偶校验(常用的奇偶校验(parityparity)以及

23、校验和)以及校验和(checksum)(checksum)检错算法。检错算法。校验和是一种更强的检错方式,用于数据包的检查。一个数校验和是一种更强的检错方式,用于数据包的检查。一个数据包含有多个数据字。当使用奇偶校验时,每个字要增加一位,据包含有多个数据字。当使用奇偶校验时,每个字要增加一位,以帮助检错。使用校验和时,每个包要增加一个字,目的也是帮以帮助检错。使用校验和时,每个包要增加一个字,目的也是帮助检错。例如,可以计算数据包中所有数据字的异或和,并将该助检错。例如,可以计算数据包中所有数据字的异或和,并将该值与数据包一起发送;接收器在接收到数据包字和检查字后,计值与数据包一起发送;接收器

24、在接收到数据包字和检查字后,计算所接收到的所有数据字的异或和,如果所计算的校验和字等于算所接收到的所有数据字的异或和,如果所计算的校验和字等于所接受到的校验和字,则认为所接收到的数据包是正确的,否则所接受到的校验和字,则认为所接收到的数据包是正确的,否则认为是错误的。同样地,不是所有的错误组合都可以用这种方式认为是错误的。同样地,不是所有的错误组合都可以用这种方式检测到。当然,也可以同时使用奇偶校验与校验和两种检错方式,检测到。当然,也可以同时使用奇偶校验与校验和两种检错方式,以得到更强的检错能力。以得到更强的检错能力。14 在一般的微处理器中都集成了在一般的微处理器中都集成了3.3V TTL

25、 3.3V TTL 电电平的串行接口,可以直接使用,为了和标准平的串行接口,可以直接使用,为了和标准RS-RS-232-C232-C串行设备通信,采用了一块串行设备通信,采用了一块SP3243SP3243或或MAX3223MAX3223芯片用于电平的转换。将微处理器中的芯片用于电平的转换。将微处理器中的逻辑逻辑1 1信号变成信号变成 -3V-15V-3V-15V,将微处理器中的逻将微处理器中的逻辑辑0 0信号变成信号变成+3V+15V+3V+15V电平进行通信。电平进行通信。RS-232RS-232串行串行接口电路设计接口电路设计 15RS232电平 232电平或者说串口电平,有的甚至说计算机

26、电平,所有的这些说法,指得都是计算机9针串口(RS232)得电平,采用负逻辑,15v 3v 代表1 3v 15v 代表016RS232 RS232 串口电路的设计(串口电路的设计(9 9线方式)线方式)17RS232 RS232 串口电路的设计(串口电路的设计(3 3线方式)线方式)18RS485电平和RS422电平 由于两者均采用 差分传输(平衡传输)的方式,所以他们的电平方式,一般有两个引脚 A,B 发送端 AB间的电压差 2 6v 1 2 6v 0接收端 AB间的电压差 大于 200mv 1 小于 200mv 0定义逻辑1为BA的状态定义逻辑0为AB的状态 AB之间的电压差不小于200m

27、v19一对一的接头的情况下 RS232 可做到双向传输,全双工通讯 最高传输速率 20kbps RS422只能做到单向传输,半双工通讯,最高传输速率10Mbps RS485双向传输,半双工通讯,最高传输速率10Mbps20现在常用的电平标准有TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232、RS485等,还有一些速度比较高的 LVDS、GTL、PGTL、CML、HSTL、SSTL等。下面简单介绍一下各自的供电电源、电平标准以及使用注意事项。TTL:Transistor-Transistor Logic 三极管结构。Vcc:5V;VOH=2.4V;VOL=2

28、V;VIL=2.4V;VOL=2V;VIL=2.0V;VOL=1.7V;VIL=4.45V;VOL=3.5V;VIL=3.2V;VOL=2.0V;VIL=2V;VOL=1.7V;VIL=1.1V;VOL=0.85V;VIL=1.4V;VOL=1.2V;VIL=0.8VHSTL是主要用于QDR存储器的一种电平标准:一般有V¬CCIO=1.8V和V¬¬CCIO=1.5V。和上面的GTL相似,输入为输入为比较器结构,比较器一端接参考电平(VCCIO/2),另一端接输入信号。对参考电平要求比较高(1%精度)。SSTL主要用于DDR存储器。和HSTL基本相同。V¬¬

29、;CCIO=2.5V,输入为输入为比较器结构,比较器一端接参考电平1.25V,另一端接输入信号。对参考电平要求比较高(1%精度),HSTL和SSTL大多用在300M以下.25嵌入式开发板与嵌入式开发板与PCPC机的串行通讯机的串行通讯嵌入式开发板和嵌入式开发板和PCPC机的通讯电缆可以按照如图所示机的通讯电缆可以按照如图所示的方式连接。的方式连接。目前目前RS-232-CRS-232-C标准通常采用的接口是标准通常采用的接口是9 9芯芯D D型插头。型插头。但由于但由于RS232RS232标准所定的高低电平与嵌入式系统所用的标准所定的高低电平与嵌入式系统所用的LVTTLLVTTL定义的高低信号

30、完全不同,定义的高低信号完全不同,LVTTLLVTTL的标准所定义逻的标准所定义逻辑辑1 1对应对应2V3.3V2V3.3V电平,逻辑电平,逻辑0 0对应对应0V0.4V0V0.4V电平,而电平,而RS232CRS232C标准采用负逻辑方式,逻辑标准采用负逻辑方式,逻辑1 1对应对应-3V-15V-3V-15V电平,电平,逻辑逻辑0 0对应对应+3V+15V+3V+15V电平,显然两者之间要进行通信必须电平,显然两者之间要进行通信必须经过信号电平的转换,常使用的电平转换电路为经过信号电平的转换,常使用的电平转换电路为MAX3223MAX3223。264.4.3 USBUSB接口电路的设计接口电

31、路的设计 通用串行总线协议通用串行总线协议USBUSB(UniverUniver Serial Bus Serial Bus)是由是由IntelIntel、CompaqCompaq及及MicrosoftMicrosoft等公司联合提出等公司联合提出的一种新的串行总线标准,主要用于的一种新的串行总线标准,主要用于PCPC机与外围机与外围设备的互联。设备的互联。19961996年年2 2月发布第一个规范版本月发布第一个规范版本1.01.0,20002000年年4 4月发布告诉模式版本月发布告诉模式版本2.02.0,相应的设备传,相应的设备传输速率也从输速率也从1.5Mbps1.5Mbps的低速和的

32、低速和12Mbps12Mbps的全速提高的全速提高到如今的到如今的480Mbps480Mbps的高速。的高速。USBUSB规范中将规范中将USBUSB分为分为5 5部分:部分:控制器、控制控制器、控制器驱动程序、器驱动程序、USBUSB芯片驱动程序、芯片驱动程序、USBUSB设备以及针设备以及针对不同对不同USBUSB设备的驱动程序。设备的驱动程序。27 USBUSB主要有如下优点:主要有如下优点:支持即插即用:允许外设在主机和其他外设工作是进支持即插即用:允许外设在主机和其他外设工作是进行连接配置、使用及移除。无需手动设置地址、中断。行连接配置、使用及移除。无需手动设置地址、中断。支持热插拔

33、,设备不需重新启动便可以工作;支持热插拔,设备不需重新启动便可以工作;传输速率高。支持三种设备传输速率:传输速率高。支持三种设备传输速率:USB1.1 USB1.1 的速的速度为度为1.5Mb/s1.5Mb/s和和12Mb/s12Mb/s;USB2.0USB2.0实现高达实现高达480Mb/s480Mb/s的传的传输率。在输率。在USB 2.0USB 2.0定义了一个与定义了一个与USB1.1USB1.1相兼容的框架,相兼容的框架,它可以用它可以用USB 2.0USB 2.0的驱动程序驱动的驱动程序驱动USB 1.1USB 1.1的设备。的设备。USBUSB接口标准统一,使用一个接口标准统一,

34、使用一个4 4针插头作为标准。针插头作为标准。连接方便、易于扩展。可通过串行连接或者使用集连接方便、易于扩展。可通过串行连接或者使用集线器线器HubHub连接连接127127个个USBUSB设备,从而以一个串行通道取代设备,从而以一个串行通道取代PCPC上其他上其他I/OI/O端口。如串行口和并行口等,使端口。如串行口和并行口等,使PCPC与外设与外设之间的连接更容易实现。所有的外设通过协议来共享之间的连接更容易实现。所有的外设通过协议来共享USBUSB的带宽。的带宽。独立供电。独立供电。USBUSB接口提供了内置电源。不同设备之间接口提供了内置电源。不同设备之间基本可以共享接口电缆。在每个端

35、口都可检测终端是否基本可以共享接口电缆。在每个端口都可检测终端是否连接或分离,并能区分出高速或低速设备。连接或分离,并能区分出高速或低速设备。28 USBUSB设备最大的特点就是即插即用,这是因为设备最大的特点就是即插即用,这是因为USBUSB协议规定在协议规定在主机启动或主机启动或USBUSB设备插入系统时都要对设备进行配置。就是按照设备插入系统时都要对设备进行配置。就是按照USBUSB协议,在协议,在USBUSB主机与主机与USBUSB设备之间进行的一系列设备之间进行的一系列“问答问答”过程。过程。从而主机知道了设备的情况以及该如何与设备通讯,并为设备设从而主机知道了设备的情况以及该如何与

36、设备通讯,并为设备设置一个唯一的地址。置一个唯一的地址。在配置阶段主机也了解了设备端点的使用情况,便可以通过在配置阶段主机也了解了设备端点的使用情况,便可以通过这些端点来进行特定传输方式的通讯。对于标准这些端点来进行特定传输方式的通讯。对于标准USBUSB设备,操作设备,操作系统带有它的驱动,而不需要编写专门的主机驱动程序。但这样系统带有它的驱动,而不需要编写专门的主机驱动程序。但这样就必须为它选择一种标准命令集;但对于非标准设备,则可以自就必须为它选择一种标准命令集;但对于非标准设备,则可以自定义一套请求指令集,并需要编写专门的主机驱动程序来实现定义一套请求指令集,并需要编写专门的主机驱动程

37、序来实现对对USBUSB设备的操作。设备的操作。在嵌入式系统中一般要扩展出主和从两个在嵌入式系统中一般要扩展出主和从两个USBUSB接口。其中接口。其中HOSTHOST(主)(主)USBUSB接口可选用接口可选用CypressCypress公司的公司的SL811SL811芯片,要做芯片,要做DeviceDevice(设备或从)(设备或从)USBUSB接口则可选用接口则可选用PhilipsPhilips公司的公司的PDIUSBD12PDIUSBD12芯片。芯片。其其Device USBDevice USB接口可与接口可与PCPC机上的机上的USB USB 连接进行程序下载通信等功连接进行程序下载

38、通信等功能。能。HOSTHOST(主)(主)USBUSB接口可连接诸如接口可连接诸如U U盘的外部设备进行通信和盘的外部设备进行通信和存储。存储。29USBUSB接口电路接口电路304.4.4 JTAG 4.4.4 JTAG 接口与在线调试接口与在线调试 1 1)JTAGJTAG接口简介接口简介 传统的调试工具及方法存在过分依赖芯片引脚的特点,传统的调试工具及方法存在过分依赖芯片引脚的特点,不能再处理器高速运行时正常工作,并且还有占用资源、不能再处理器高速运行时正常工作,并且还有占用资源、不能实时跟踪和设置断点、价格过高等弊病。基于不能实时跟踪和设置断点、价格过高等弊病。基于JTAGJTAG仿

39、真器的调试是目前仿真器的调试是目前ARMARM开发中采用最多的一种方式。开发中采用最多的一种方式。JTAGJTAG(Joint Test Action GroupJoint Test Action Group,联合测试行动小,联合测试行动小组)是一种国际标准测试协议(组)是一种国际标准测试协议(IEEE1149.1IEEE1149.1标准),主标准),主要用于芯片内部测试及对系统仿真、调试,要用于芯片内部测试及对系统仿真、调试,JTAGJTAG技术是技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试一种嵌入式调试技术,它在芯片内部封装了专门的测试电路电路TAPTAP(Test Access

40、 Port,Test Access Port,测试访问口测试访问口),通过专用,通过专用的的JTAGJTAG测试工具对内部节点进行测试。如测试工具对内部节点进行测试。如ARMARM,DSPDSP,FPGAFPGA器件等。器件等。JTAGJTAG接口还常用于实现接口还常用于实现ISPISP(In-System In-System Programmable Programmable 在线编程)功能,如对在线编程)功能,如对Flash Flash 器件进行器件进行编程等,通过编程等,通过JTAGJTAG接口,可对芯片内部的所有部件进行接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一

41、种简洁高效的手访问,因而是开发调试嵌入式系统的一种简洁高效的手段。目前段。目前JTAGJTAG有两种标准,即有两种标准,即1414针接口和针接口和2020针接口。针接口。31 JTAGJTAG的出现可以使得集成电路直接固定在的出现可以使得集成电路直接固定在PCBPCB板上,无板上,无需插座。只通过边界扫描便可以被测试,进行芯片的故需插座。只通过边界扫描便可以被测试,进行芯片的故障定位,迅速准确的测试芯片引脚的连接是否可靠,提障定位,迅速准确的测试芯片引脚的连接是否可靠,提高测试校验效率。在微处理器中,可以通过高测试校验效率。在微处理器中,可以通过JTAGJTAG直接控直接控制制ARMARM的内

42、部总线,的内部总线,I/OI/O口等信息,从而达到调试的目的。口等信息,从而达到调试的目的。JTAGJTAG的主要功能有一是目标系统的测试,二是的主要功能有一是目标系统的测试,二是bootloaderbootloader的下载。具体的包括有如下几方面:的下载。具体的包括有如下几方面:(1 1)可以提供各引脚的采样,并可强制引脚输出用以)可以提供各引脚的采样,并可强制引脚输出用以测试外围芯片。测试外围芯片。(2 2)在线测试功能)在线测试功能 可以在不影响系统工作的情况下,可以在不影响系统工作的情况下,观察系统各部分工作的情况。特别为表面贴元件提供了观察系统各部分工作的情况。特别为表面贴元件提供

43、了方便。方便。32(3 3)在线编程功能)在线编程功能 可以利用可以利用JTAGJTAG的外测试功能将的外测试功能将需装载的数据通过需装载的数据通过I/OI/O下载到系统中下载到系统中EEPROMEEPROM器件的引脚器件的引脚上,在无需任何附加电路情况下完成在线编程功能。上,在无需任何附加电路情况下完成在线编程功能。(4 4)可以软件下载、执行、调试和控制,为复杂的跟踪)可以软件下载、执行、调试和控制,为复杂的跟踪调试提供路径。调试提供路径。(5 5)可以进行多内核和多处理器的板级和芯片级的调试,)可以进行多内核和多处理器的板级和芯片级的调试,通过串接为芯片制造商提供芯片生产、测试的途径。通

44、过串接为芯片制造商提供芯片生产、测试的途径。基本特征:符合基本特征:符合IEEE 1149.1IEEE 1149.1规范;支持全系列的规范;支持全系列的ARMARM处理器处理器如如ARM7ARM7、ARM9ARM9、ARM10ARM10、XscaleXscale等等支持多种目标平台支持多种目标平台 ATMELATMEL、SumsungSumsung、IntelIntel、PhilipPhilip、SharpSharp等等除除JTAGJTAG扫描链外,不占用目标板上任何资源。扫描链外,不占用目标板上任何资源。33 ARM ARM的的JTAGJTAG接口内部组成接口内部组成 JTAG JTAG接口

45、一端与接口一端与PCPC机并口相连,另一端是面向用户的机并口相连,另一端是面向用户的测试接口,通过本身具有的边界扫描便可以对芯片进行测测试接口,通过本身具有的边界扫描便可以对芯片进行测试,从而达到调试的目的。其内部主要是由试,从而达到调试的目的。其内部主要是由JTAGJTAG状态机和状态机和JTAGJTAG扫描链的组成。扫描链的组成。JTAGJTAG状态机:状态机:JTAGJTAG状态机分成状态机分成1515个状态,每一个状态个状态,每一个状态都有其相应的功能。不管都有其相应的功能。不管JTAGJTAG状态机处于哪个状态,当状态机处于哪个状态,当TMSTMS信号等于逻辑信号等于逻辑1 1的时候

46、,连续的时候,连续5 5个时钟信号以后,个时钟信号以后,JTAGJTAG状态机必然回到状态机必然回到Test-logic ResetTest-logic Reset状态。这也是状态。这也是JTAGJTAG状态状态机的复位时的状态。机的复位时的状态。JTAGJTAG链的组成:每一条链的组成:每一条JTAGJTAG链是由若干个链是由若干个JTAGJTAG的扫描的扫描单元串连组成的,每一个扫描单元都可以配置成捕获外部单元串连组成的,每一个扫描单元都可以配置成捕获外部信号的输入单元或者对外的输出单元。依靠移位寄存器,信号的输入单元或者对外的输出单元。依靠移位寄存器,通过通过JTAGJTAG的的TDOT

47、DO和和TDITDI信号线,可以使数据串行输出到每一信号线,可以使数据串行输出到每一个个JTAGJTAG扫描单元上,或者读出每一个扫描单元的数据。扫描单元上,或者读出每一个扫描单元的数据。34 JTAGJTAG链的工作过程链的工作过程是将被测芯片内部所有的引脚是将被测芯片内部所有的引脚通过边界扫描单元通过边界扫描单元(BSC(BSC)串接起来,从)串接起来,从JTAGJTAG的数据输入信的数据输入信号号TDITDI引入,在数据输出信号引入,在数据输出信号TDOTDO上引出。通过芯片内的上引出。通过芯片内的BSCBSC来实现许多在线仿真的功能。在进入调试状态,调试来实现许多在线仿真的功能。在进入

48、调试状态,调试指令和数据从指令和数据从TDITDI进入,沿着测试链通过测试单元送到芯进入,沿着测试链通过测试单元送到芯片的各个引脚和测试寄存器中,通过不同的测试指令来完片的各个引脚和测试寄存器中,通过不同的测试指令来完成不同的测试功能。成不同的测试功能。虽然虽然JTAGJTAG调试不占用系统资源,能够调试没有外部总调试不占用系统资源,能够调试没有外部总线的芯片,代价也非常小。但是线的芯片,代价也非常小。但是JTAGJTAG通过串行方式依次传通过串行方式依次传递数据,速度比较慢,只能进行软件断点级别的调试,自递数据,速度比较慢,只能进行软件断点级别的调试,自身还不能完成实时跟踪和多种事件触发等复

49、杂调试功能。身还不能完成实时跟踪和多种事件触发等复杂调试功能。35JTAG的典型接口(14针)VCCVCC(1 1、1313脚):接电源脚):接电源 GNDGND(2 2、4 4、6 6、8 8、1010、1414脚):接地线脚):接地线 nTRSTnTRST(3 3脚):脚):JTAGJTAG复位信号,复位复位信号,复位JTAGJTAG的状态机和内的状态机和内部的宏单元(部的宏单元(MacrocellMacrocell)TDITDI(5 5脚):数据输入信号脚):数据输入信号 TMSTMS(7 7脚):脚):测试模式选择(测试模式选择(Test Mode SelectTest Mode Se

50、lect),),通过通过TMSTMS信号控制信号控制JTAGJTAG状态机的状态状态机的状态 TCKTCK(9 9脚)脚):JTAGJTAG的时钟信号的时钟信号 TDOTDO(1111脚)脚):数据输出信号:数据输出信号 NCNC(1212脚):未连接脚):未连接36JTAG14JTAG14连接图连接图37J20连接图382)常用的调试方法常用的调试方法 指令集模拟器指令集模拟器 一种利用一种利用PCPC机端的仿真开发软件模拟调试的机端的仿真开发软件模拟调试的方法。方法。JTAGJTAG仿真器仿真器 通过通过ARMARM芯片的芯片的JTAGJTAG边界扫描口与边界扫描口与ARMARM核进行核进

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(当某GPIO管脚设置为输出模式课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|