ARM嵌入式体系结构与接口技术(Cortex-A9版)全套课件_第1页
ARM嵌入式体系结构与接口技术(Cortex-A9版)全套课件_第2页
ARM嵌入式体系结构与接口技术(Cortex-A9版)全套课件_第3页
ARM嵌入式体系结构与接口技术(Cortex-A9版)全套课件_第4页
ARM嵌入式体系结构与接口技术(Cortex-A9版)全套课件_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章嵌入式ARM技术概论第1章嵌入式ARM技术概论.pptx第2章ARM开发环境搭建.pptx第3章ARM指令.pptx第4章ARM汇编程序设计.pptx第5章GPIO编程.pptx第6章ARM异常及中断处理.pptx第7章串行通信接口.pptx第8章PWM定时器.pptx第9章看门狗定时器.pptx第10章RTC定时器.pptx第11章AD转换器.pptx第12章I2C接口.pptx第13章SPI接口.pptxARM公司成立于1990年11月前身为Acorn计算机公司主要设计ARM系列RISC处理器内核授权ARM内核给生产和销售半导体的合作伙伴ARM公司不生产芯片另外也提供基于ARM架构的开发设计技术软件工具、评估板、调试工具、应用软件、总线架构、外围设备单元等ARM全球分布ARM合作伙伴SILICONDESIGNSUPPORTSOFTWARETRAININGCONSORTIAARM处理器的最新发展数据和指令类型ARM采用的是32位架构ARM约定:Byte:8bitsHalfword:16bits(2byte)Word:32bits(4byte)Doubleword:64-bits(8byte)(Cortex-A处理器)大部分ARMcore提供:ARM指令集(32-bit)Thumb指令集(16-bit)Cortex-A处理器16位和32位Thumb-2指令集16位和32位ThumbEE指令集程序计数器PC(r15)当处理器执行在ARM状态:所有指令32bits宽所有指令必须word对齐所以pc值由bits[31:2]决定,bits[1:0]未定义(所以指令不能halfword/byte对齐)当处理器执行在Thumb状态:所有指令16bits宽所有指令必须halfword对齐所以pc值由bits[31:1]决定,bits[0]未定义(所以指令不能byte对齐)当处理器执行在Jazelle状态:所有指令8bits宽处理器执行word存取一次取4条指令字节顺序ARM可以用little/bigendian格式存取数据处理器工作模式ARM有8个基本工作模式:User:非特权模式,大部分任务执行在这种模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式IRQ:当一个低优先级(normal)中断产生时将会进入这种模式Supervisor:当复位或软中断指令执行时将会进入这种模式Abort:当存取异常时将会进入这种模式Undef:当执行未定义指令时会进入这种模式System:使用和User模式相同寄存器集的特权模式Cortex-A特有模式:Monitor:是为了安全而扩展出的用于执行安全监控代码的模式,也是一种特权模式Cortex-A寄存器组织概要当前程序状态寄存器(CPSR)条件位:N=NegativeresultfromALUZ=ZeroresultfromALUC=ALUoperationCarriedoutorborrowV=ALUoperationOverflowed中断禁止位:

I=1:禁止IRQ.F=1:禁止FIQT位T=0处理器处于ARM状态T=1处理器处于Thumb状态处理器模式位10000Usermode10001FIQmode10011SVCmode10111Abortmode11011Undfinedmode11111Systemmode10110Monitormode10010IRQ最佳流水线该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数(CPI)=1指令流水线为增加处理器指令流的速度,ARM7系列使用3级流水线允许多个操作同时处理,而非顺序执行PC指向正被取指的指令,而非正在执行的指令板载硬件资源第2章ARM开发环境搭建连接示意图环境的搭建流程开发工具的安装。创建一个新工程如何编译一个新工程如何调试一个新工程第3章ARM指令数据处理指令包括:算术指令: ADD ADC SUB SBC RSB RSC逻辑指令: AND ORR EOR BIC比较指令: CMP CMN TST TEQ数据搬移: MOV

MVN上述指令只能对寄存器操作,不能针对存储器。语法:<操作>{<cond>}{S}Rd,Rn,Operand2只有比较指令影响标志位-不指定Rd数据搬移(MOV指令)不指定Rn第二个操作数通过桶型移位器送到ALU中。数据处理指令机器码格式movr1,r2,lsl#2指令机器码0xe1a01102Cond:指令的条件码。Opcode:指令操作码。S:操作是否影响cpsr,S=0不影响,S=1影响。Rn:包含第一个操作数的寄存器编码。Rd:目标寄存器编码。Operand2:第2操作数、RmI:用于区别Operand2是立即数(I=1),还是寄存器移位(I=0)Shiftamount:移位数Shift:移位方式数据处理指令加法指令ADDR1,R2,R3R1=R2+R3带进位加法ADCR1,R2,R3R1=R2+R3+C减法指令SUBR1,R2,R3R1=R2-R3逆向减法RSBR1,R2,R3R1=R3-R2带借位减法SBCR1,R2,R3R1=R2-R3-!C带借位逆减法

RSCR1,R2,R3R1=R3-R2-!C逻辑与指令ANDR0,R0,#0X0F逻辑或指令ORRR0,R0,#0X0F逻辑异或EORR0,R0,#0X0F位清除BICR0,R0,#9比较指令CMPR1,#10 cpsr=R1-10反值比较指令

CMNR1,R2cpsr=R1+R2位测试指令TSTR1,#3cpsr=R1AND3相等测试TEQR1,R2cpsr=R1EORR2数据传输指令

MOVR1,R2R1=R2取反传送指令

MVNR1,R2 R1=~R2立即数没有任何一条ARM指令可包括一个32bit的立即数所有的ARM指令都是32bits固定长度数据处理指令格式中,第二个操作数有12位4bit移位值(0-15)乘于2,得到一个范围在0-30,步长为2的移位值。记住一条准则:“最后8位一定要移动偶数位”.桶型移位器DestinationCF0DestinationCFLSL:LogicalLeftShiftASR:ArithmeticRightShift(无符号数)乘2除2,并保留符号位DestinationCF...0DestinationCFLSR:LogicalShiftRightROR:RotateRight(无符号数)除2位轮换DestinationRRX:RotateRightExtended位轮换,从CF到MSB都参与操作CF分支指令Branch: B{<cond>}labelBranchwithLink: BL{<cond>}

subroutine_label处理器核按偏移量左移两位,符号扩展,再把该值加到当前PC寄存器内跳转范围:±32Mbyte如何执行长跳转?条件执行及标志位ARM指令可以通过添加适当的条件码前缀来达到条件执行的目的。这样可以提高代码密度,减少分支跳转指令数目,提高性能。CMPr3,#0CMPr3,#0

BEQskipADDNEr0,r1,r2

ADDr0,r1,r2

skip默认情况下,数据处理指令不影响条件码标志位,但可以选择通过添加“S”来影响标志位。CMP不需要增加“S”就可改变相应的标志位。

SUBSr3,r3,#0

BEQskip如果Z标志清零则跳转R1减1,并设置标志位条件码条件执行示例一系列的指令都使用条件指令if(a==0)func(1);CMPr1,#0

MOVEQr0,#1

BLEQfunc置标志位,再使用不同的条件码if(a==0)x=0;

if(a>0)x=1;CMPr0,#0

MOVEQr1,#0

MOVGTr1,#1使用条件比较指令if(a==4||a==10)x=0;CMPr0,#4

CMPNEr0,#10

MOVEQr1,#0测验#2-GCD.global_start_start: MOVr0,#9 MOVr1,#15Loop: ;yourcodeherestop: Bstop .end单寄存器数据传送LDR STR

WordLDRB STRB

ByteLDRH STRH HalfwordLDRSB

带符号的byteloadLDRSH

带符号的halfwordload存储器系统必须支持所有访问宽度语法:

LDR{<cond>}{<size>}Rd,<address>STR{<cond>}{<size>}Rd,<address>e.g.LDREQB

地址访问LDR/STR访问的地址由基址寄存器加上偏移量来产生。针对word和无符号byte的访问,偏移量可以是:一个无符号12-bit立即数(如0-4095bytes).

LDRr0,[r1,#8]一个寄存器,或再加上移位(由立即数指定)

LDRr0,[r1,r2]

LDRr0,[r1,r2,LSL#2]可以是从基址寄存器上加或减去偏移量:

LDRr0,[r1,#-8]

LDRr0,[r1,-r2]

LDRr0,[r1,-r2,LSL#2]对于halfword和带符号的halfword/byte,偏移量可以是:一个无符号8bit立即数(如0-255bytes).一个寄存器(不能有偏移操作)。PreorPostIndexed寻址

Pre-indexed:STRr0,[r1,#12]通过

STRr0,[r1,#12]!来自动更新基址寄存器Post-indexed:STRr0,[r1],#12块数据传送LDM/STM指令允许一次传送1到16个寄存器到/从存储器中。寄存器传送顺序是固定的,不能被改变最小数字的寄存器总是被对应到存储器的最低地址上。LDMIA r10!,{r0,r1,r4}基址寄存器指定存储器访问开始的地址

块传送指令针对下列情况很有效:从存储器中搬运一块数据保存或恢复堆栈中的内容如果是慢速存储器,会影响中断响应时间r1r4r0r10地址增加LDM/STM操作语法:<LDM|STM>{<cond>}<addressing_mode>Rb{!},<寄存器list>4种寻址操作:

LDMIA/STMIA

Increment

After(先操作,后增加)

LDMIB/STMIB

Increment

Before(先增加,后操作)

LDMDA/STMDA

DecrementAfter

(先操作,后递减)

LDMDB/STMDB

DecrementBefore(先递减,后操作)LDMxxr10!,{r0,r1,r4}STMxxr10!,{r0,r1,r4}存储器块拷贝可选项“

!

”将导致LDM/STM

指令去自动更新基址寄存器后缀为IA,IB时,加上4乘以用于传送的寄存器的数目的值后缀为DA,DB时,减去4乘以用于传送的寄存器的数目的值示例:;r12指向源数据起始地址;r14指向源数据尾地址;r13指向目的数据起始地址loop LDMIA r12!,{r0-r11} STMIA r13!,{r0-r11}CMP r12,r14 BNE loop

堆栈ARM堆栈操作通过块传送指令来完成:STMFD (Push) 块存储-FullDescendingstack[STMDB]LDMFD (Pop) 块装载-FullDescendingstack[LDMIA]

STMFDsp!,{r4-r7,lr}r4100r5FFr61234r7A0BElr8034ABCD8765102E16FFFF1010123484209753存储器顶SPLDMFDsp!,{r4-r7,pc}SP100FF1234AOBE80341010123484209753r41r514544r60r712lr9048pc9020SWP在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。完成一个字节或字的交换。语法:

SWP{<cond>}{B}Rd,Rm,[Rn]可用作信号量操作不能由gcc编译产生,必须使用汇编器(as)。PSR传送指令MRS和MSR允许传送CPSR/SPSR中的内容到/从一个通用寄存器中。语法:

MRS{<cond>}Rd,<psr>;Rd=<psr>

MSR{<cond>}<psr[_fields]>,Rm;<psr[_fields]>=Rm在这里:<psr>=CPSRorSPSR[_fields]=‘fsxc’的任意组合也允许送一个立即数到psr_fields

MSR{<cond>}<psr_fields>,#Immediate用户模式下,所有位均可以被读取,但只有条件标志位(_f)可被写。协处理器指令ARM体系支持16个协处理器针对每个协处理器的指令占用ARM指令集中的固定部分如果相应的协处理器不存在,将发生一个未定义指令异常。这有三种协处理器指令协处理器数据处理指令

CDP:初始化协处理器数据处理操作协处理器寄存器传送指令

MRC:从协处理器寄存器移到ARM寄存器

MCR:从ARM寄存器移到协处理器寄存器协处理器存储器传送指令

LDC:从存储器装载到协处理器寄存器

STC:从协处理器寄存器存储到存储器软件中断(SWI)产生一个异常陷阱,跳转到SWI硬件向量。SWI处理程序可以检测SWI号,从而决定采取何种操作。通过SWI机制,运行在用户模式下的应用程序,可请求操作系统执行一系列特权操作。语法:

SWI{<cond>}<SWInumber>283124270Cond1111SWInumber(ignoredbyprocessor)23条件域第4章ARM汇编程序设计数据定义(DataDefinition)伪操作数据定义伪操作一般用于为特定的数据分配存储单元,同时可完成已分配存储单元的初始化。常见的数据定义伪操作有如下几种:.byte单字节定义

.byte0x12,’a’,23.short定义双字节数据

.short0x1234,65535.long/.word定义4字节数据 .word0x12345678.quad定义8字节

.quad0x1234567812345678.float 定义浮点数 .float0f3.2.string/.asciz/.ascii定义字符串

.ascii“abcd\0”,

注意:.ascii伪操作定义的字符串需要每行添加结尾字符‘\0‘,其他不需要汇编控制伪操作汇编控制伪操作用于控制汇编程序的执行流程,常用的汇编控制伪操作包括以下几条:.if、.else

.endif伪操作能根据条件的成立与否决定是否执行某个指令序列。当.if后面的逻辑表达式为真,则执行.if后的指令序列,否则执行.else后的指令序列;.if、.else、.endif伪指令可以嵌套使用。语法格式:.iflogical-expressing….else….endif杂项伪操作.arm.arm 定义一下代码使用ARM指令集编译.thumb.thumb定义一下代码使用Thumb指令集编译.section.sectionexpr

定义一个段。expr可以使.text.data..bss.text.text{subsection}

将定义符开始的代码编译到代码段.data.data{subsection}

将定义符开始的代码编译到数据段,初始化数据段.bss.bss{subsection}

将变量存放到.bss段,未初始化数据段.align.align{alignment}{,fill}{,max}通过用零或指定的数据进行填充来使当前位置与指定边界对齐_start汇编程序的缺省入口是,用户也可以在连接脚本文件中用ENTRY标志指明其它入口点.global/.globl

用来声明一个全局的符号.end文件结束数据定义(DataDefinition)伪操作.include格式:.include“filename”

包含指定的头文件,可以把一个汇编常量定义放在头文件中.equ格式:.equsymbol,expression把某一个符号(symbol)定义成某一个值(expression).该指令并不分配空间.(c语言的#define)伪指令ADR伪指令:ADR伪指令为小范围地址读取伪指令,ADR伪指令将基于PC相对偏移地址或基于寄存器相对偏移地址值读取到寄存器中,当地址值是字节对齐时,取值范围为−255~255,当地址值是字对齐时,取值范围为−1020~1020。

语法格式:ADR{cond}register,labelADRL伪指令:ADRL伪指令为中等范围地址读取伪指令。ADRL伪指令将基于PC相对偏移的地址或基于寄存器相对偏移的地址值读取到寄存器中,当地址值是字节对齐时,取值范围为−64~64KB;当地址值是字对齐时,取值范围为−256~256KB,

语法格式:ADRL{cond}register,labelLDR伪指令:LDR伪指令装载一个32位的常数和一个地址到寄存器。 LDR{cond}register,=[expr|label-expr]

语法格式:LDRR0,=0XFFFF0000C/汇编的混合编程混合编程的优势ATPCS标准寄存器用名GCC内联汇编GCC内联汇编语法C和汇编的混合编程优势C和汇编能很容易的混合:可实现在c中无法实现的处理器功能使用新的或不支持的指令产生更高效的代码直接链接变量和程序确定符合程序调用规范输入/输出相关的符号编译器也可保留内嵌汇编大多数arm指令都可实现内嵌汇编代码可由编译器的优化器来传递ATPCS(arm/thumb程序调用规范)开始四个字大小的参数直接使用寄存器的R0-R3来传递(快速且高效的)更多的信息可参看ATPCS如果需要更多的参数,将使用堆栈。(需要额外的指令和慢速的存储器操作)所以通常限制参数的个数,使它为4或更少。如果不可避免,把常用的参数放在前4个使用满减栈C程序中调用汇编在汇编程序中用exportname来定义在C程序中直接调用一般的链接即可externvoidmystrcopy(char*d,constchar*s);intmain(void){constchar*src=“Source”;

chardest[10];...

mystrcopy(dest,src);...}这里所有的参数都是可以用寄存器来传递的,所以不需要在汇编程序中使用PUSH/POP来保护.globalmystrcopy.textmystrcopy:LDRBr2,[r1],#1STRBr2,[r0],#1CMPr2,#0BNEmystrcopyMOVpc,lrENDCALLGCC内联汇编Gcc通过关键字“asm”来声明内联汇编。允许使用一些不能由编译器自动生成的指令:MSR/MRS新的指令协处理器指令通常在关联的内嵌函数中使用使用C变量代替寄存器不是一个真正的汇编文件通过优化器实现intadd(unsignedinta,unsigendintb){intsum;asmvolatile ( “add%0,%1,%2\n\t” :”=r”(sum):”r”(a),”r”(b) :”memory”

); returnsum;}intadd(unsignedinta,unsignedintb)

{

intsum;asmvolatile (

“add%[op1],%[op2],%[op3]\n” :[op1]”=r”(sum) :[op2]”r”(a),[op3]”r”(b) :”memory” ); returnsum;}内嵌汇编语法格式通用的内嵌汇编语法格式是这样的:asm(code:outputoperandlist:inputoperandlist:clobberlist);每一个asm语句被冒号(:)分成了四个部分。汇编指令放在第一部分中的“”中间:“addr0,%1,%2\n\t”接下来是冒号后的可选择的outputoperandlist,每一个条目是由一对[](方括号)和被他包括的符号名组成,它后面跟着限制性字符串,再后面是圆括号和它括着的C变量::”=r”(sum)接着冒号后面是输入操作符列表,它的语法和输入操作列表一样:

:”r”(a),”r”(b)

破坏符列表::”r0”注意:asm声明的4个部分中,只要最尾部没有使用的部分都可以省略。但是有一点要注意的是,上面的4个部分中只要后面的还要使用,前面的部分没有使用也不能省略,可以空但是保留冒号。使用“volatile”第5章GPIO编程GPIOGPIO的英文全称为General-PurposeIOports,也就是通用IO接口。在嵌入式系统中常常有数量众多,但是结构比较简单,很多外部设备/电路需要CPU为之提供控制手段,有的则需要被CPU用做输入信号在实际的MCU中,GPIO是有多种形式的Exynos4412GPIO接口简介Exynos4412中有304个复用功能的GPIO,这些引脚被分为37个组包含了172个外部中断其中252个引脚的功能是复用的部分引脚还有睡眠模式相关寄存器使用的寄存器GPIO接口开发注意事项方向电压驱动能力输入阻抗——输入电流第6章ARM异常及中断处理异常处理当异常产生时,ARMcore:拷贝CPSR到SPSR_<mode>设置适当的CPSR位:改变处理器状态进入ARM状态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断(如果需要)保存返回地址到LR_<mode>设置PC为相应的异常向量返回时,异常处理需要:从SPSR_<mode>恢复CPSR从LR_<mode>恢复PC

Note:这些操作只能在ARM态执行.异常返回指令异常返回:使用一数据处理指令:相应的指令取决于什么样的异常在特权模式不仅仅更新PC,

而且拷贝SPSR到CPSR指令带有“S”后缀PC做为目的寄存器从SWI和Undef异常返回

MOVSpc,lr从FIQ,IRQ和预取异常(PrefectAbort)返回

SUBSpc,lr,#4从数据异常(DataAbort)返回

SUBSpc,lr,#8

如果LR之前被压栈的话使用LDM“^”

LDMFDsp!,{pc}^异常优先级异常在当前指令执行完成之后才被响应多个异常可以在同一时间产生异常指定了优先级和固定的服务顺序:ResetDataAbortFIQIRQPrefetchAbortSWIUndefinedinstruction异常处理中的与异常发生相关的模式改变意味着所调用的异常处理程序至少要访问:私有的SP_<mode>(stackpointer).私有的LR_<mode>(linkregister).私有的SPSR_<mode>(savedprogramstatusregister).在FIQ异常处理中,另有5个私有的通用寄存器(r8_fiqtor12_fiq).其它的寄存器是所有模式共用的.异常处理程序必须确保其他的寄存器在退出前恢复到原来的状态这可以通过将任何正在使用的寄存器的内容保存在堆栈中,并在返回前恢复来实现任何所需寄存器的初始化要有应用程序的起始代码来完成中断处理ARM有两级外部中断FIQ,IRQ.可是大多数的基于ARM的系统有>2个的中断源!因此需要一个中断控制器(通常是地址映射的)来控制中断是怎样传递给ARM的。在许多系统中,一些中断的优先级比其它中断的优先级高,他们要抢先任何正在处理的低优先级中断。 Note:通常中断处理程序总是应该包含清除中断源的代码。FIQvsIRQFIQ和IRQ提供了非常基本的优先级级别。FIQs有高于IRQs的优先级,表现在下面2个方面:当多个中断产生时,CPU优先处理FIQ.处理FIQ时禁止IRQs.IRQs将不会被响应直到FIQ处理完成.FIQs的设计使中断响应尽可能的快.FIQ向量位于异常向量表的最末.异常处理程序可从异常量处连续执行FIQ模式有5个额外的私有寄存器(r8-r12)中断处理必须保护其使用的非私有寄存器可以有多个IRQ中断源,但是考虑到系统性能应避免嵌套。第7章串行通信接口串行通信的基本概念在通信领域内,有两种数据通信方式:并行通信和串行通信串口的数据传输是以串行方式进行的。串口在数据通信中,一次只传输一个比特的数据。串行数据的传输速度用bps或波特率来描述。串行通信涉及的常用术语单工、半双工和全双工单工(Simplex)特点:仅能进行一个方向的数据传送半双工(HalfDuplex)特点:数据可以在两个方向上进行传送,但是这种传送绝不能同时进行全双工(FullDuplex)特点:能够在两个方向同时进行数据传送数据传输率每秒传输的二进制位数,单位为bps(bitpersecond)也称比特率串行通信涉及的常用术语异步方式与同步方式同步通信方式(Synchronous)所用的数据格式没有起始位、停止位,一次传送的字符个数可变。在传送前,先按照一定的格式将各种信息装配成一个包,该包包括供接收方识别用的同步字符一个或两个,其后紧跟着要传送的n个字符,再后就是校验字符。异步方式(Asynchronous):也称“起止同步式”。串行通信涉及的常用术语硬件流控制如果打开串口硬件流控制后,串口A只有在nCTS被(串口B的nRTS)激活后才能把数据发送出去;当串口A可以接收数据时,激活nRTSExynos4412UART接口功能模块Exynos4412相关寄存器第8章PWM定时器PWM的概念PWM(PulseWidthModulation):脉冲宽度调制占空比:就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比PWM应用它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。常见应用有:电机控制,DAC输出等Exynos4412PWM控制器特性在Exynos4412中,一共有5个32位的定时器,定时器0、1、2、3包含了脉冲宽度调制(PWM),并可驱动其外部的I/O口定时器0有可选的dead-zone功能,以支持大电流设备Exynos4412PWM控制器原理Exynos4412PWM控制器框图第9章看门狗定时器看门狗的概念门狗定时器主要用来将受到外界干扰无法正常运行的芯片重新启动,其在实际项目和产品中有重大意义对产品稳定性的提高有很大帮助Exynos4412看门狗定时器原理启动看门狗后,必须在看门狗复位之前向特定寄存器中写入数值,不让看门狗定时器溢出,这样看门狗就会重新计时。当用户程序溢出时在规定时间内没有向特定寄存器中依次写入数值,看门狗定时器计数溢出,引起看门狗复位,看门狗产生一个强制系统复位。这样可以使程序重新运行Exynos4412看门狗定时器相关寄存器第10章RTC定时器实时时钟(RRTC)概念实时时钟(REALTIMECLOCK)英文缩写也叫RTC计算机系统通常需要一个能够记录时间的功能单元,在系统关闭后依然可以记录时间,这个功能单元就叫实时时钟单元。实时时钟通常可以提供年、月、日、时、分、秒等信息。有些还可以提供定时等功能。Exynos4412实时时钟单元BCD码的年、月、日、星期、小时、分钟、秒输出功能Alarm定时唤醒功能独立的电源供电管脚(RTCVDD)为RTOS提供毫秒级的定时时钟晶振选取32.768HZExynos4412实时时钟相关寄存器第11章AD转换器A/D转换的概念A/D转换是将模拟信号转换为数字信号,被广泛应用于控制领域分辩率(Resolution)指数字量变化一个最小量时模拟信号的变化量转换速率(Conversion

Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数量化误差(Quantizing

Error)

由于AD的有限分辩率而引起的误差线性度(Linearity)实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。Exynos4412A/D转换器特点Exy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论