版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统:考试填空选择问答两小时闭卷数字电路不考SR状态寄存器LR连接寄存器,在ARM体系结构中LR的特殊用途有两种:一是用来保存子程序返回地址;二是当异常发生时,LR中保存的值等于异常发生时PC的值减4(或者减2),因此在各种异常模式下可以根据LR的值返回到异常发生前的相应位置继续执行。PC(PROGRAMCOUNTER)程序计数器CPSR:CurrentProgramStatusRegister当前程序状态寄存器SPSR:SavedProgramStatusRegister备份程序状态寄存器SPSR用来进行异常处理,有以下功能:1.保存ALU中的当前操作信息。2.控制允许和禁止中断。3.设置处理器的运行模式。ISR中断服务程序RTC实时时钟(Real-TimeClock)、DMA直接内存存取SIO
超级输入输出芯片(SIO)PLL锁相回路DRAM:DynamicRandomAccessMemory),即动态随机存取存储器SRAM静态随机存取存储器StaticRandom-AccessMemorySDRAMSynchronousDynamicRandomAccessMemory同步动态随机存储器SDRAM将CPU与RAM通过一个相同的时钟锁在一起,使RAM和CPU能够共享一个时钟周期,以相同的速度同步工作,与EDO内存相比速度能提高50%。SDRAM基于双存储体结构,内含两个交错的存储阵列,当CPU从一个存储体或阵列访问数据时,另一个就已为读写数据做好了准备,通过这两个存储阵列的紧密切换,读取效率就能得到成倍的提高。ROM(ReadOnlyMemory)RAM(RandomAccessMemory)第一课与第二课:(1)嵌入式系统概念:以计算机技术为基础,软件、硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。统一寻址:用总线连接,用统一的地址线数据线控制线,用地址选择芯片(2)RISC和CISC各自全称、区别、优势和劣势、44B0是何指令集44B0是RISC指令集RISC:ReducedInstructionSetComputer,精简指令集计算机。特点是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水线技术。CISC:ComplexInstructionSetComputer,复杂指令计算机,是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。CISC:通过设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统实现,以此来提高计算机的执行速度RISC的基本思想是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现。从而使指令的平均执行周期减少,提高计算机的工作主频,同时大量使用通用寄存器来提高子程序执行的速度优势与劣势:(1)指令系统:在RISC机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。CISC处理特殊任务效率较高。(2)存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC机器的存储器操作指令多,操作直接。(3)程序:CISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而RISC汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。(4)中断:RISC机器在一条指令执行的适当地方可以响应中断,相比CISC指令执行的时间短,所以中断响应及时;而CISC机器是在一条指令执行结束后响应中断。(5)CPU:RISCCPU包含有较少的单元电路,因而面积小、功耗低;而CISCCPU包含有丰富的电路单元,因而功能强、面积大、功耗大。(6)设计周期:RISC设计周期短,微处理器结构简单,布局紧凑,且易于采用最新技术;CISC设计周期长,微处理器结构复杂。(7)用户使用:RISC易学易用,微处理器结构简单,指令规整,性能容易把握;CISC实现特殊功能容易,功能强大,微处理器结构复杂。(8)应用范围:由于CISC指令系统的确定与特定的应用领域有关,故CISC机器更适合于专用机;而RISC机器则更适合于通用机。(3)ARM和THUMB各自含义优势劣势ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。ARM:ARM指令集是指计算机ARM操作指令系统,为32位。在ARM中有两种方式可以实现程序的跳转:一种是跳转指令;另一种是直接向PC寄存器(R15)中写入目标地址值。ARM指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类。Thumb:Thumb是ARM体系结构中一种16位的指令集。Thumb指令集可以看作是ARM指令压缩形式的子集,具有16bit的代码密度。Thumb指令体系并不完整,只支持通用功能,必要时仍需要使用ARM指令,如进入异常时。其指令的格式与使用方式与ARM指令集类似,而且使用并不频繁。区别:arm指令是32bit,thumb指令16bit。从占内存的空间来说,一条thumb比一条ARM少一半。但是,thumb要完成arm完成的所有(或尽可能所有)功能,thumb的数量一定会比arm指令的个数要多一些。Thumb指令与ARM指令的具体区别1.分支指令:跳转的范围小,除B指令外,都是无条件跳转.2.数据处理指令:Thumb指令只有2个操作数,而ARM指令是3个操作数.3.单寄存器加载存储指令:Thumb指令只能访问R0~R7.4.多寄存器加载存储指令:Thumb指令只能访问R0~R7的子集.5.Thumb特有指令:PUSH和POP作用于R13.采用arm指令集还是thumb指令集:工作状态利用指令BX进行两种工作状态的切换,同时操作数寄存器的状态位(0位)。1为thumb,0为ARM这条指令的解释:Rn是R1~R15的任何一个寄存器,处理器处理这条指令:将Rn的内容copy到PC中,然后跳转到相应的绝对地址,并利用Rn的bit[0]判断跳转后执行的是arm指令还是thumb指令。(bit[0]=1arm指令;bit[0]=0thumb指令)(1)源码用c来写,如果编译成thumb指令,那么目标代码只有编译成arm指令的65%,thumb指令密度大。(2)另一方面,处理器在这两种状态下的性能是依附于指令存储器的宽度的。32bit存储器情况:ARM性能较好,这是因为同样的代码,编译的结果:THUMB的指令会比ARM多,thumb指令仍然花费指令周期从32bit内存预取。16bit存储器情况:尽管thumb的指令数比arm多,但每一条thumb预取指令需要一个周期,而每条arm指令需要2个周期。但是,有一个问题。无论在arm下,还是thumb下,堆栈操作都是32bit,因此,对于堆栈的操作,用thumb指令,会使得性能下降。方法,供给32bit的内存来存放堆栈。另外,与ARM代码相比,运用thumb代码,存储器的功耗降低30%。显然,ARM和thumb各有所长,若系统要求执行效率高,则运用32bit存储器和ARM指令集;若对系统成本及功耗要求高,则应运用16bit存储器和thumb指令集。当然,若两者联合运用,充沛施展各自的长处,会取得更好的效果。补充说明:(1)有些功能只能有arm指令来实现,比如,拜访CPSR寄存器来使能/禁止中断或者转变处理器工作模式;拜访协处理器CP15;履行C代码不支持的DSP算术指令;(2)异常中断处理。在进入异常中断后,内核主动切换到ARM状态。即在异常中断处理程序入口的一些指令是ARM指令,然后根据需要可以切换到thumb状态。在异常中断处理程序返回前,程序再切换到ARM状态。(3)ARM处理器总是从ARM状态开始执行的(自动的)。因而,如果要在调试器中运行thumb程序,必须为该thumb程序添加一个ARM程序头,然后再切换到thumb状态,调用该thumb程序。附加解释:1.Arm指令32bit,thumb指令16bit,arm体系结构将存储器看成是以字节为单位的线性排列,引出问题:16bit的指令和32bit的指令合起来才是有意义的,所以每次需要取出2,4个单元。ARM处理器(或其他)如何解决,特殊寄存器PC,arm状态(低2bit不要,高30bit是PC),thumb状态(低1bit不要,高31bit是PC),这样,PC变化一个最小单位,就能从存储器中取出对应大小的数据。那么这两个字节,或4个字节在存储器如何存储。需要约定,否则,设计和实际乱掉了。(4)大端和小端。确定大小端:ENDIAN接高接低小端低字节低地址高字节高地址大端高字节低地址低字节高地址2.存储器中存储指令的时候,32bit是如何利用4个字节的,引出大端小端。在正常程序执行时,每执行一条ARM指令,PC的值加4字节,每执行一条Thumb指令,PC加2字节,整个过程是按顺序执行。所以,在ARM时,PC内容低2bit为0b00;在thumb时,PC内容低1bit地址是0b0。(5)44B0的七种模式:ARM(S3C44B0)有7种操作模式:在不用应用环境下需要调用不同的资源不同操作模式的主要目的是为了在不同模式情况下,可使用的资源和信息不同。7种操作模式:(1)用户模式usr:正常程序执行的模式;(2)管理模式svc(超级用户模式supervisor):供操作系统使用的保护模式;(3)系统模式sys:运行具有特权的操作系统操作任务(4)快速中断模式fiq:用于高速数据传输和通道处理;(5)中断模式irq:用户通常的中断使用;(6)数据访问终止abt:用于虚拟存储及存储保护;(7)未定义模式und:支持硬件协处理器的软件仿真(执行未定义的指令);关于7种模式的补充说明(1)除了用户模式外,其他6模式称为非用户模式;除了用户模式和系统模式外,其他5种称为异常模式(称为异常模式的原因是发生了中断或异常,或者要访问被保护的资源)。(2)ARM的工作模式可以通过软件改变,也可以通过中断或异常改变。(3)这7中工作模式对应着系统中的中断向量表(7个)在ARM+Linux系统中,用户程序不能访问受操作系统保护的系统资源,因此,不能进行工作模式切换,只有运行在内核态的程序才能更改工作模式。当需要处理器模式切换时,用户态的程序可以中断,内核态的中断处理程序开始响应,并做出处理。系统中所有的调度都是围绕着中断向量表展开的,(6)寄存器上图中寄存器个数为37个,其中寄存器的逻辑类型有17个(加上SPSR为18个)在不同的模式下,操作者能使用(或说看见)的资源怎么样?(1)在不同的工作模式下,使用者可以见到的寄存器是不同的。(2)物理寄存器和逻辑寄存器个人理解:硬件实现的寄存器称为一个物理寄存器;同一个物理寄存器用作N个用途时,表现出来为N个逻辑寄存器;(3)S3C44B0有37个物理寄存器,如何分配使用。(1)计算机任何工作都需要PC和CPSR状态寄存器保存的信息:4种状态位;irq,fiq中断是否允许;工作状态;操作模式(2)堆栈寄存器:指向每种模式专用的栈地址;连接寄存器:两种用途(a)在程序调用的时候用来存放地址;(b)发生异常或中断时用来存储强制转会的地址;(3)程序状态寄存器的备份。(异常工作模式,用来处理完异常工作模式后,恢复CSPR)(4)微处理器大量的数据交换:R0~R7(5)还有5个也用于数据交换:R8~R12(6)额外的待遇:FIQ还有5个自己专用的寄存器R8~R12FIQ拥有自己的5个数据寄存器,就可以不用执行保存和恢复现场的指令。响应速度会加快。SR状态寄存器LR连接寄存器,在ARM体系结构中LR的特殊用途有两种:一是用来保存子程序返回地址;二是当异常发生时,LR中保存的值等于异常发生时PC的值减4(或者减2),因此在各种异常模式下可以根据LR的值返回到异常发生前的相应位置继续执行。PC(PROGRAMCOUNTER)程序计数器CPSR:CurrentProgramStatusRegister当前程序状态寄存器SPSR:SavedProgramStatusRegister备份程序状态寄存器SPSR用来进行异常处理,有以下功能:1.保存ALU中的当前操作信息。2.控制允许和禁止中断。3.设置处理器的运行模式。(7)芯片手册图:(至少记住上半部分图)总线上最重要的五样东西:CPU,存储器,中断控制器,DMA,LCDDMA(DirectMemoryAccess,直接内存存取)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用。DMA分为ZDMA(通用DMA)和BDMA(桥式DMA)LCD(液晶显示器liquidcrystaldisplay)四个通信口:(1)UART通用异步收发器(计算机与外围设备串行通信)(2)IIC(3)IIS(4)SIO计算机应用越大,外部设备的种类和数量就会越多1.任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备间实现互连。2.总线的竞争问题;高速器件和低速器件的问题。如何实现总线连接:统一的地址线,数据线,控制线,用地址选择芯片。3.所有部件挂在一条总线上存在的问题:(1)各个设备速度不一致,在竞争总线时带来麻烦。如果碰见慢速设备,造成瓶颈(申请和释放总线的速度很慢),对于高速设备影响很大。(2)挂在总线上的设备过多的时候,造成延时。这对高速器件影响很大。4.S3C44B0的总线:(1)系统总线;系统总线桥&仲裁/BDMA;外围设备总线。(2)高速设备接在系统总线;低速设备接在外围设备总线;(3)主设备和从设备的介绍。系统总线有多个主设备,总线不允许大于等于2个主设备同时申请总线。引出“总线仲裁器”。总线仲裁器根据约定好的总线优先级来决定总线的归属。44b0关于总线优先级的约定有两种选项:轮询;固定优先级a)复位之后(固定优先级法),S3C44B0总线优先级顺序(7个总线master):从高到低:DRAM刷新控制器;LCD_DMA;ZDMA0,1;BDMA0,1;外部总线master;写缓冲区;cache和cpuLCD_DMA;ZDMA0,1;BDMA0,1之间的优先级顺序可以通过SBUSCON编程来控制(b)轮询方式下,所有的主设备都是相同的优先级。5.引出Cache:在cpuwrapper中的一个直接存储器(8k)(1)用作8K(数据或指令)高速缓冲存储器cache;(2)用作4Kcache和4Ksram;(3)用作8k的sram。cache提高运行效率;sram提高isr的运行效率(中断服务程序ISR的运行速度很重要)。(8)地址映射:百度概念:为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,这一过程称为地址映射。28根地址线---2^28=2^10*2^10*2^8=256M分为8个bank6、7bank间大小可变,分界线可变Bank~bank7首地址速记:0x00,000000;0x02,000000;0x04,000000;0x06,000000。。。逗号后面6个零,16M,所以,每2单位(16M)就是32M。2的零次方哪一列2的一二次方哪一块2的三次方哪一行(9)内存控制器(13个):(10)内存控制器初始化程序语句:ldrr0,=标号将初始化区域数据首地址加载到R0ldmiar0,{r1,r13}将初始化的数据存入通用寄存器r1,r2,r3,r4……r13ldrr0,0x01c8,0000指向13个内存控制器的首地址stmiar0,{r1,r13}将通用寄存器r1,r2,r3,r4……r13中的初始化数据存入13个内容控制寄存器逐字逐句解释!!!!!!LDRR0,=SMRDATA;将存储控制组件各控制器的初始化数据区的起始地址装载到R0LDMIAR0,{r1-r13};将R0作为起始地址的13个连续字的初始化数据装载到R1~R13LDRR0,=0x01C80000;配置总线宽度与等待控制寄存器BWSCON的地址STMIAR0,{R1-R13};将R1~R13中内容存储到R0作为起始地址的13个连续字的存储区SM(1)ldr加载指令LDR指令的格式为:LDR{条件}目的寄存器,<存储器地址>LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。该指令在程序设计中比较常用,寻址方式灵活多样,请读者认真掌握。指令示例:LDRR0,[R1];将存储器地址为R1的字数据读入寄存器R0。LDRR0,[R1,R2];将存储器地址为R1+R2的字数据读入寄存器R0。LDRR0,[R1,#8];将存储器地址为R1+8的字数据读入寄存器R0。(2)ldmiard!,{Rlist}将寄存器Rlist中的内容加载到基地址为Rn处。!一定需要吗?还是说,!表示增加后的基地址返回,不加是基地址不变。依次将R1到R13的值传入R0相应的地址,每次传输之后递增R1指向的存储地址(3)stmia:存储寄存器的内容到基地址为Rd处。CPU单元Cache的引入:(1)高速cpu与低速SDRAM之间的速度问题。(2)SRAM运行速度高于SDRAM(3)程序访问的局部性:(a)指令访问的局部性比数据明显;(b)但数组型数据,结构体等数据局部性很强。(4)引入cache后cpu与sdram之间的数据或指令传输。(5)cache大小和SDRAM大小的比例:4:1000(命中率90%)采用LRU机制提高命中率;利用写穿式保证数据的一致性。1.S3C44B0如何保证cache和SDRAM读取的一致性写穿式:任一从CPU发出的写信号送到Cache的同时,也写入主存,以保证主存的数据能同步地更新。
优点是操作简单,但由于主存的慢速,降低了系统的写速度并占用了总线的时间。S3C44B0中cache的结构:1.8Kcache分为4组,每组分为128行,每行16bit信息,共2K。2.四路组相连映射的cache中,SDRAM中4×16bit大小的块作为映射单位,其中,每16bit存放在每一组中对应行。组相联映射SDRAM:SynchronousDynamicRandomAccessMemory,同步动态随机存储器CPU单元:写缓冲机构(11)中断1.来自芯片外部的中断:5pin,8种中断2.来自芯片内部的中断(外围):(1)从CPU手中申请控制资源的权利:(2)外设与CPU的通信:(3)定时器(4)其他:看门狗和ADC理解:关于44b0的中断:1.44b0允许30个中断,这些中断来自于外部,和芯片内部(芯片内部的外围,例如uart)。2.这30个中断可以被44b0编成两个级别(优先级)的中断:IRQ和FIQ。3.对于编成同一类型中断的中断源,如果同时发生,如何解决?44b0提供了两种中断服务的方式:(1)需要通过程序确定中断源的优先级,方法是查询中断pending寄存器。“它表明“将”发生中断的类型”。这种中断处理方法的缺点:有等待时间(latencytime)。(2)中断矢量的方式:CISC类型的微处理器的通用特性(为什么RISC没有,CISC的硬件可以做的复杂)。主要好处能够减少等待时间。44b0能够完成这一功能主要是因为芯片内的中断控制器硬件提供了中断服务向量。实现过程:当多个中断发生的时候,“硬件优先级逻辑”确定先服务那个哪个中断,同时,这个硬件逻辑申请(应用apply)中断向量表(首地址是0x18或0x1c)中的跳转指令。这个跳转指令的目的就是去执行对应的ISR.这样能够减少等待时间。I_ispr:irq的中断程序的pending寄存器。Movs和mov的区别:加s影响标志位,不加s不影响标志位。subsp,sp,#4stmfdsp!,{r8-r9}ldrr9,=I_ISPRldrr9,[r9]movr8,#0x0movr9,r9,lsr,#1bcs%F1addr8,r8,#4b%B0ldrr9,=handleADCaddr9,r9,r8ldrr9,[r9]strr9,[sp,#8]ldmfdsp,[r8-r9,pc]isrIRQ解释:(1)r8,r9入栈。(2)将I_ISPR的内容存到r9里面(先存地址,再将地址的内容存入)。(3)将r9逻辑右移,当移除为1时,知道对应bit位为待处理的中断。该中断的相对地址由r8计算。(4)r8用来存储pending寄存器中发生中断的中断源的“相对地址”。先令r8=0x0,然后pending中等于1的位置,每隔一个加地址4。(5)如果没有移除1,则跳转到0继续移(B0表示向后back到0),如果移除1,则向前跳转到1(F1:forward1)(6)将相对地址编成绝对地址:r8+(=handleADC),然后将r9入栈。(7)将r8,r9,还有中断处理程序的绝对地址同时出栈,其中中断处理程序的首地址(绝对地址)赋予了PC1.只适用于IRQ;2.包括1个主单元+4个辅单元。3.每个单元都分为四个“G”和两个“Gk”。前者的优先级大于后者;并且“GkA”高于“GkB”。所以mGKB的优先级是最低的,即ADC的中断。4.“G”中连接的4个优先级是可以编程的。5.FIQ中断优先于IRQ中断动画次序:1.mGn和sGn中的四个中断源的优先级是可编程的。寄存器I_PSLV和I_PMST优先级产生单元中的4个从单元的优先级由I_PSLV来定义。每个从单元有4个可编程中断源,需要2bit×4来说明优先级1~4(00:1;01:2.。。越小级别越高),那么4个从单元共需要32bit。I_PMST:定义4个从单元的优先级,需要8bit,因此,还剩下的bit用来还做了两件工作:(1)主单元工作模式是固定的,还是轮询的。(2)从单元。,。。。。。。。。。。2.相应当前状态的查询是I_CSLV和I_CMST在轮询情况下,I_CSLV和I_CMST与对应的I_PSLV和I_PMST可以不一样。3.如果多个中断同时发出申请,可以通过查询I_ISPR(类似于INTPND)只适用于IRQ.FIQ需要查询INTPND。4.清除INTPND,用I_ISPC(用于IRQ。F_ISPC用于FIQINTMODEREGISTER中断模式寄存器DMA与CPU协调:DMA是利用DMA控制器(专门的硬件)来执行数据传送。DMA控制器可以从CPU那里接管系统总线的控制权,并且由本身发出存储器地址信号以及访问存储器和IO设备的控制信号,使得数据通过总线,直接在存储器和io设备(或存储器)之间由于DMA传送方式仅仅在需要占用总线传送数据时才暂停CPU的操作,CPU的工作效率极高,传输数据可由硬件自身控制,大大提高了传送速率,十分适合于高速数据的采集。DMA的主要特点是可以在两地自动传输数据而不需要CPU的干涉。第三课:S3C44B0的IO控制器(12)LCD控制器LCD控制器:(1)生成时序信号;(2)把视频数据变换成要求格式的数据:4,8单扫描;4双扫描;(3)LCDDMA负责数据从mem传送到lcd控制器。44b0中与LCD有关的(8+4)个管脚。借鉴xscale,管脚说明:(1)VCLK:像素点时钟。(2)VLINE:表明行的结束。(3)VFRAME:表明帧的开始。(4)VM:LCD驱动器的AC信号(13)通用异步收发器UARTUART的功能(提供RS-232C数据终端设备接口):(1)发送时:将“计算机内部”传来的”并行数据“转换为“串行数据流”,在输出的串行数据流中加入奇偶校验位,输出数据流+奇偶校验位两端加上开始bit=0,停止bit=1。(2)接收时:将“计算机外部”来的串行数据转换成字节(计算机用的是并行数据);对接收来得数据进行奇偶效验,在接收数据中删除起始和结束bit。实现串口通信需要完成两部分工作:(1)将串口电平转换为设备电路板的工作电平,即实现RS-232电平和TTL/COMS电平的转换;(2)接收并检验串行数据,将数据编程并行的,并提供给处理器使用。实现RS-232电平和TTL/COMS电平转换用接口芯片;实现数据的串行到并行转换用UART。它们是实现串行通信必不可少的两个部分。(14)IIC总线:IIC即Inter-IntegratedCircuit(集成电路总线),这种总线类型是一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS),IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线接口。I2C总线由数据线SDA和时钟信号线SCL构成串行总线。开始信号之后,如果是master先传地址(7bit)和传输方向(读或写),然后传数据。以字节为单位,没字节后有ack应答信号。在一次完整的传输过程中,传输的“字节”数是不限制的。IIC传输是以字节为单位的。无论字节是地址还是数据,一个字节结束后都有一个应答信号。如果地址超过8bit,则用两个字节传(字节间有有ack)(15)IIS总线I2S(Inter—ICSound)总线,又称集成电路内置音频总线,是为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真IIS传输是如何实现的:(1)IIS传输需要5个管脚。数据入、出两个。串行数据传输时的时钟1个。因为声音是立体声,所以,要传一个左右声道的时钟信号(如果约定好先8bit是左声道,后8bit是右声道是不是也可以,可以省掉一个LRCK),还需要一个codeclk信号。估计声音编码的基本单位。(2)IIS传输:(1)设定IIS控制器是master还是slaver(2)设定IIS是发,还是收,还是收发。IISCON(2)IIS还是MSB-JUSTIFIED(3)先设置DCLK,LRCK和CODECLK。通过设置寄存器IISPSR中的prescaler值。还要通过IISCON选择CODECLK和DCLK。(4)FIFO的设置:IISFCON和IISFIF读写:普通还是DMA大小:FIFO使能:(5)其他的设置:LRCK高为左声道还是右声道;串行数据是8bit,还是16bit。(5)开启FIFO(IISFCON)开启DMA(IISCON)开启IIS,即启动传输(IISCON)(16)GPIO总线扩展器GeneralPurposeInputOutput(通用输入/输出)简称为GPIO,或总线扩展器,人们利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。问题:L3总线包含什么?(GPIO)L3MODEL3DATAL3CLOCK第四课:ARM程序设计(17)ARM体系混合编程P5B:无条件跳转到resetISRIRQ查询那一段指令被中断,中断矢量模式比非中断矢量模式快Ldrpc,HandlerHandleADC这段程序的作用是:(1)保存r0信息;(2)利用r0将pc指向handleLabel中的地址。(18)初始化初始化堆栈:1.针对7种操作模式,有6种sp,要想对sp进行初始化,首先要让系统进入该工作状态。因为,汇编中sp只有一个标识符。2.用户堆栈不用初始化。3.程序细节:先将MODE位全部清零(保存在r0),然后,将用“或”来实现各种模式的选择(保存在r1)。注意:这时不允许INT,所以,同时进行“NOINT”的设置。P19未定义模式下SR的初始化逐行解释:!!!Mrsr0,CPSR取当前程序状态寄存器的内容赋值到r0BICR0,R0,#MODEMASK(#0x1F)清空模式位ORRR1,R0,#UNDEFMODE|NOINT(#0x1b|0xc0)选择新的模式,将新的模式控制字赋值给r0Mrscpsr_cxsf,r1取当前r0的内容赋值到当前程序状态寄存器Ldrsp,=UndefStack表示将UndefStack这个标号所代表的地址赋给堆栈指针注释:bicr0,r0,#0x1f@bic指令(bitclear):r0:=r0and(notop2).上边的指令目的是把bit0~bit4清零.mrs将状态存储器内容传到通用寄存器bic比特清零ORRLogicalOR逻辑或(19)宏指令1.MACRO,MEND伪操作可以将一段代码定义为一个整体,称为宏指令。2.宏操作的使用方法与子程序有些相似,子程序可以提供模块化的程序设计,节省存储空间并提高运行速度。但是,使用子程序结构时需要保护现场,从而增加了系统能量开销,因此,在代码较短且需要传递的参数较多时,可以使用宏操作代替子程序。第五课:(20)OSI:开放系统互连(opensysteminterconnet)1.物理层:为设备之间的数据通信提供传输媒体(物理通道)。(数据链路层解决的问题)2.数据链路层:设备之间的物理媒体是长期存在的,但是“连接”是有生存期的。所谓连接就是真正进行的数据通信。每次通信都要经过两个过程:“建立通信联络”和“拆除通信联络”。这种建立起来的数据收发关系叫做“数据链路”。物理媒体上传输数据不可避免会产生差错,为了弥补物理层的不足,需要对数据进行检错和纠错。数据链路的建立,拆除,对数据的检查,纠错是数据链路层的基本任务。3.网络层:如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年云南省蒙自市高二生物下册期末考试试卷含完整答案【名师系列】
- 2025年黑龙江省宁安市高二生物下册期末考试模拟卷【预热题】附答案
- 2026年湖南省耒阳市高二生物下册期末考试试卷附参考答案【能力提升】
- 2026年学会合作并不难课件幼儿园
- 2026年声声慢教案幼儿园
- 2026年河北省深州市高二生物下册期末考试检测卷带答案(夺分金卷)
- 2026年浙江省龙泉市高二生物下册期末考试测试卷(名师系列)附答案
- 2025年辽宁省东港市高二生物下册期末考试考试卷及完整答案(名校卷)
- 2025年山东省即墨市高二生物下册期末考试试卷完整附答案
- 2026年辽宁省瓦房店市高二生物下册期末考试检测卷及完整答案(名师系列)
- 2026年精神科医疗质量控制与评价指标
- 2026年七年级语文下册《爱莲说》古诗文综合阅读训练含答案
- 2026形势与政策课件守护瑰宝 赓续文脉-新时代我国文化遗产保护的理念与实践
- 2025年陕西八年级地理生物会考真题试卷+答案
- 工程资料审批制度管理办法
- 建筑工地责任倒查工作制度
- 2026年香港插班小学试题及答案
- 2026年高考(重庆卷)历史试题及答案
- 2026年智能制造评估师考试试题及答案
- 后张法预应力T梁台座施工工艺
- 闭店安全检查制度
评论
0/150
提交评论