《嵌入式系统原理与接口技术》由会员分享,可在线阅读,更多相关《嵌入式系统原理与接口技术(67页珍藏版)》请在金锄头文库上搜索。
1、NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005嵌入式系统原理与接口技术Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005第第 5 5 章章 ARM接口设计技术接口设计技术本章主要内容:键盘接口LED显示器接口LCD显示器接口触摸屏接口通讯接口中断接
2、口A/D和D/A转换器接口ARM的JTAG接口 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 芯片芯片S3C44B0X本章主要基于芯片S3C44B0X,介绍其多个接口。S3C44B0X是基于ARM7TDMI的体系结构,是ARM公司最早为业界普遍认可并且赢得最广泛应用的处理核。芯片S3C44B0X具有71个通用多功能输入输出引脚,这些I/O口的应用是S3C44BOX处理器的基础应用,分别包含在如下7组端口中:1个10位输出端口端口A;1个11位输出端口(端口B);1个16位输入输出端口(端口C);
3、2个8位输入输出端口(端口D和G);2个9位输入输出端口(端口E和F)。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005键盘概述键盘概述 计算机的键实际上就是开关,制造这种键的方法是多种多样的,以下是几种常用的按键:机械式按键 电容式按键 薄膜式按键 霍耳效应按键 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 用用ARM芯片实现键盘接口芯片实现键盘接口本应用实例中,要与4X4的矩阵键盘接口,采用节省口
4、线的“行扫描法”方法来检测键盘,这样只需要8根口线,在此选取PF口作为检测键盘用端口,并设定PF0 PF3为输出扫描码的端口,PF4-PF7为键值读入口。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005LED显示器接口概述显示器接口概述 LED(Light Emitting Diode)常称为七段发光二极管, 在专用的微型计算机系统中,特别是在嵌入式控制系统中, 应用非常普遍。它价格低廉、体积小、功耗低,而可靠性又很好,因此,从单板微型机、袖珍计算机到许多微型机控制系统及数字化仪器都用LED作为输出
5、显示。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005用用ARM芯片实现芯片实现LED显示接口显示接口 1接口电路NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005用用ARM芯片实现芯片实现LED显示接口显示接口2.初始化程序如下。 (1)设置PCONF、PCONG寄存器,由于需要设定端口F、G为输出口,因此,在端口工作之前设置: rPCONF 001 001 001 01 01 01 01 01 B0x1
6、2555; rPCONG 01 01 01 01 01 01 01 01 B0x5555;(2)设置PUPF、PUPG寄存器,设置内部上拉电阻的语句为: rPUPF=0x00; /使能PF0-7的内部上拉电阻 rPUPG=0x00; /使能PG0-7的内部上拉电阻NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005LCD显示器接口概述显示器接口概述液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。基本原理是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。LCD有三种显示方式
7、:反射型,透射型和透反射型。市面上出售的LCD有两种类型:一种是带有驱动电路的LCD显示模块,这种LCD可以方便地与各种低档单片机进行接口;另一种是LCD显示屏,没有驱动电路,需要与驱动电路配合使用 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 LCD控制器控制器 LCD 控制器用来把定位在系统存储器中的视频缓冲区的LCD图象数据传输到LCD驱动器,并产生必须的LCD控制信号 。REGBANK具有18个可编程寄存器,用于配置LCD控制器LCDCDMA为专用DMAVIDPRCS 从LCDCDMA
8、接收数据,将相应格式的数据通TIMEGEN包含可编程的逻辑 TIMEGEN部分产生VFRAME, VLINE, VCLK, VM等信号。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005触摸屏的接口触摸屏的接口设计设计1 .触摸屏的驱动芯片ADS7843典型接口 触摸屏的控制采用专用芯片,专门处理是否有笔或手指按下触摸屏,并在按下时分别给两组电极通电,然后将其对应位置的模拟电压信号经过A/D转换送回处理器。S3C44B0选取PG口与ADS7843接口,共使用PG2 - PG7的6条口线,也可以选择其他
9、的I/O口,但注意不要与I/O口上已经设定的功能相冲突其中,X+、Y+、X-、Y-引脚直接与触摸屏的相应管脚相连。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 触摸屏的接口触摸屏的接口设计设计2 编程实现 利用连接好的电路设置PCONG寄存器如下: rPCONG = Ox015f; 其中,PENIRQ最好加上内部上拉,设置为: rPUPGOx80。(1)读取触摸点坐标程序: 编程采用固定参考电压模式,因此SER/DFR=1。首先检测PENIRQ是否为低电平,如果为低电平,则认为有接触;否则认为触
10、摸屏没有接触。利用软件模拟DIN, DOUT和DCLK上的3线串行传输时序,将读取的x或Y坐标数值的控制字串行送入ADS7843,然后再串行读出坐标值。最后将X和Y轴坐标值送串口显示即可。(2)送控制字并读取结果子程序。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 串行通信概述串行通信概述 串行数据传送模式:单工半双工全双工 串行通信方式:同步通信异步通信NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 20
11、05S3C44BOX内部集成的内部集成的UART S3C44B0X UART单元提供了两个异步串口(SIO),每个SIO可以操作在中断模式或DMA模式,支持波特率最大为115.2kbps, 每个SIO通道包含都有一个16字节的接收与发送FIFO缓冲区。每个UART模块包含以下几个部件:波特率发生器,发送器,接收器和控制单元。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 UART操作操作数据发送数据接收 动流控制(AFC) 非自动流控制(通过软件控制nRTS和nCTS) 调制解调器接口NEUSO
12、FT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 中断中断DMA请求产生器请求产生器 S3C44BOX的每个UART都有7个状态信号:接收FIFO/缓冲区数据准备好、发送FIFO缓冲区空、发送移位寄存器空、溢出错误、奇偶校验错误、帧错误和中止,所有这些状态都由对应的UART状态寄存器(UTRSTATn/UERSTATn)中的相应位来表现。当接收器要将接收移位寄存器的数据送到接收FIFO,它会激活接收FIFO满状态信号,如果控制寄存器中的接收模式选为中断模式,就会引发接收中断。当发送器从发送FIFO中取出数据送
13、到发送移位寄存器,那么FIFO空状态信号将会被激活。如果控制寄存器中的发送模式选为中断模式,就会引发发送中断。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 与与FIFO有关的中断有关的中断 类型FIFO类型非FIFO模式Rx中断每当接收数据达到接收FIFO触发的水平,就产生接收中断;如果FIFO非空且连续3个字时间没有接收到任何数据,就产生超时中断;每当接收数据满,接收移位寄存器将产生一个中断;Tx中断每当发送数据达到发送FIFO触发的水平,就产生发送中断;每当发送数据空,发送保持寄存器将产生
14、一个中断;错 误 中断帧错误、奇偶校验错误和被检测到并按字节接收的中止信号,都将产生错误中断;当达到接收FIFO的顶部,就会产生溢出错误中断;所有错误都会立即产生一个错误中断。但两个错误同时发生,只有一个中断会产生;NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 波特率发生器波特率发生器 波特率发生器以MCLK作为时钟源 每个UART的波特率发生器为传输提供了串行移位时钟。波特率时钟由通过时钟源的16分频及一个由UART波特率除数寄存器(UBRDIVn)指定的16位除数决定。 UBRDIVn(取整
15、)(MCLK(波特率16)-1 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 回送模式与回送模式与红外通信模式外通信模式回送模式:S3C44BOX的UART提供的一个测试模式。在这种模式下,发送出的数据会立即被接收。这一特性用于校验运行处理器内部发送和接收通道的功能,这种模式可以通过设置UART控制寄存器(UCONn)中的回送位来实现。红外通信模式:S3C44BOX的UART模块支持红外线(IR)发送和接收。可以通过设置UART控制寄存器(UCONn)中的红外模式位来选择这一模式。NEUSOFT
16、 Institute of Information Technology, ChengDuDate: 12. Sept. 2005S3C44BOX的的UART 的应用的应用1.电路接口和I/O口设置 S3C44BOX的串行应用接口电路中的PC12,PC13,PE1,PE2是多功能I/O口,因此,在编写串口数据收发程序之前,首先需要对PC口和PE口的工作模式进行设置。 Rpconc = Ox0f000000|rPCONC; rPUPC = 0x3000; /设置内部上拉 rPCONE = (rPCONE & Oxfc3)|Oxeb; rPUPE = 0x6;NEUSOFT Institute o
17、f Information Technology, ChengDuDate: 12. Sept. 2005 S3C44BOX的的UART 的应用的应用2.UART初始化 对UART口的可配置参数进行初始化,使其能够按照所要求的通讯方式进行通讯。对UART口进行初始化的设置程序见课本P*。3.字符发送程序Uart_SendByte()见课本P* 。4.字符接收程序Uart_GetByte()见课本P*。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 USB接口概述接口概述 USB(通用串行总线)接
18、口正在被用于多种嵌入式系统设备的数据通信中,如移动硬盘、数码相机、PDA、高速数据采集设备等。它是由Compaq、HP、Intel、Lucent、Microsoft、NEC和Philips七家公司联合推出的新一代标准接口总线。是一种连接外围设备的机外总线。 其主要性能特点如下: 提供机箱外的热即插即用功能 ;每个USB系统中有个主机,采用“级联”方式USB总线可连接多个外部设备;适用于带宽范围在几千位秒(Kb/s)一几百兆位l秒(Mb/s)的设备;低成本的电缆和连接器;具有错误检测和处理机制;较低的协议开销带来了高的总线性能;支持主机与设备之间的多数据流和多消息流传输 。NEUSOFT Ins
19、titute of Information Technology, ChengDuDate: 12. Sept. 2005 USB系统组成系统组成一个USB系统由三部分来描述:USB主机:在任一USB系统中只有一个主机,到主计算机系统的USB接口被称作主控制器。 USB设备:分为Hub(集线器)和Function(功能)两大类。Hub提供到USB的附加连接点,功能为主机系统提供附加的性能。USB互连:USB互连指的是USB设备与主机的连接和通信方式,它包括总线拓扑结构、内层关系、数据流模型和USB调度表。 USB总线用来连接各USB设备和USB主机 。NEUSOFT Institute of
20、Information Technology, ChengDuDate: 12. Sept. 2005 USB的物理接口的物理接口USB总线的电缆有4根导线:一对标准尺寸的双绞信号线和一对标准尺寸的电源线。USB总线支持的数据传输率有三种:高速信令位传输率为480Mbs;全速信令位传输率为12Mbs;低速信令位传输率为1.5Mb/s。USB2.0支持在主控制器与Hub之间用高速传输全速和低速数据,而Hub与设备之间以全速或低速传输数据,这种支持能力可以将全速设备和低速设备对高速设备可用带宽的影响减到最小。NEUSOFT Institute of Information Technology,
21、ChengDuDate: 12. Sept. 2005USB的总线协议的总线协议 USB是一种查询(Polling)总线,由主控制器启动所有的数据传输。USB上所挂连的外设通过由主机调度的( Host-Scheduled)、基于令牌的(Token-Based)协议来共享USB带宽。大部分总线事务涉及3个包的传输 :令牌包 (Token Packet) 数据包(Data Packet) 握手包(Handshake Packet)主控制器和Hub之间的某些总线事务涉及4个包的传输,这些类型的事务用来管理主机与全/低速设备之间的数据传输。主机与设备端点之间的USB数据传输模型被称作管道,管道有两种类
22、型:流和消息。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 USB接口工作原理接口工作原理 USB设备最大的特点就是即插即用,之所以能够这样,是因为USB协议规定在主机启动或USB设备插入系统时都要对设备进行配置。就是按照USB协议,在USB主机与USB设备之间进行的一系列“问答”过程 。从而主机知道了设备的情况以及该如何与设备通讯,并为设备设置一个唯一的地址 。在配置阶段主机也了解了设备端点的使用情况,便可以通过这些端点来进行特定传输方式的通讯。对于标准USB设备,操作系统带有它的驱动,而不需
23、要编写专门的主机驱动程序。但这样就必须为它选择一种标准命令集;但对于非标准设备,则可以自定义一套请求指令集,并需要编写专门的主机驱动程序来实现对USB设备的操作。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005以太网接口以太网接口概述概述以太网以其高度灵活、相对简单、易于实现的特点,成为当今最重要的一种局域网建网技术。通常所说的以太网主要是指以下3种不同的局域网技术:以太网/IEEE 802.3 采用同轴电缆作为网络介质,传输速率达到10 Mbps。100 Mbps以太网 又称为快速以太网,采用双纹
24、线作为网络介质,传输速率达到100 Mbps。1000 Mbps以太网 又称为千兆以太网,采用光缆或双纹线作为网络介质,传输速率达到1000 Mbps(1 Gbps)。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 以太网工作原理以太网工作原理 以太网最早是由Xeros公司开发的一种基带局域网技术;使用同轴电缆作为网络介质;以太网采用广播机制;采用载波多路访问和碰撞检测(CSMA/CD)机制;数据传输速率达到10 Mbps;以太网IEEE 8023通常使用专门的网络接口卡或通过系统主电路板上的电
25、路实现。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 以太网的传输编码以太网的传输编码 曼彻斯特编码差分曼彻斯特编码 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 以太网帧格式以太网帧格式 字段同步位分隔位目的地址源地址类型长度数据段填充位FCS长度568484816461 500X32在以太网帧中,同步位、分隔位、填充位和校验位这几个字段都是由以太网控制器自动产生的;人们所关心的只是目的地址、源
26、地址、类型和数据这4个字段的内容;所有数据位的传输由低位开始(传输的位流使用曼彻斯特编码);以太网的冲突退避算法是由硬件自动执行的; NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 以太网控制器以太网控制器RTL8019 RTL8019是高度集成的以太网控制器,为即插即用式NE2000兼容网络适配器提供了简易的解决方案。RTL8019共有32个输入输出地址,对应地址偏移量为00hlFh。RTL8019的内部寄存器是分页的,每个寄存器都是8位。NEUSOFT Institute of Informa
27、tion Technology, ChengDuDate: 12. Sept. 2005RTL8019寄存器寄存器1.命令寄存器CR2.与发送接收相关的寄存器3.其他寄存器:IMR:中断屏蔽寄存器,设置成0x00时,屏蔽所有的中断,设置成0xFF将允许中断。MAR0一MAR8:多点播送地址,可以全写0xFF。PAGE2的寄存器是只读的,不用设置。PAGE3的寄存器不是NE2000兼容的,所以也不用设置。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005以太网模块的接口设计以太网模块的接口设计配置RTL
28、8019:为了系统的精简,配置RTL8019为非即插即用模式。有着固定的中断,有着固定的端口地址。以太网模块与处理器的接口电路:NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005IIC接口概述接口概述IIC是一种双向两线制的串行总线,由于它支持任何一种IC制造工艺,且能够提升硬件的效率和简化电路的设计,因此众多厂商都提供了IIC兼容芯片。S3C44BOX内部也具有IIC总线接口模块,支持一个多主IIC-BUS串形接口,主S3C44B0X能发送或接收串形数据到从设备,并遵守标准的IIC协议。IIC总线操
29、作模式为:主发送模式、主接收模式、从发送模式、从接收模式。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005S3C44B0X的的IIC总线总线 S3C44B0X处理器多主模式的IIC总线串行接口。S3C44B0X采用专门的串行数据线(SDA)和串行时钟线(SCL)与总线上的其他外设传输信息。IIC总线操作读写操作配置IIC总线IIC总线接口专用寄存器NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 CAN
30、总线概述总线概述CAN全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。CAN的主要特点包括:低成本;极高的总线利用率;很远的数据传输距离(长达10公里);高速的数据传输速率(高达1Mbit/s);可根据报文的ID决定接收或屏蔽该报文;可靠的错误处理和检错机制;发送的信息遭到破坏后可自动重发;节点在错误严重的情况下具有自动退出总线的功能;报文不包含源地址或目标地址,仅用标志符来指示功能信息优先级; NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005
31、 CAN总线与同步串行接口总线与同步串行接口SIOS3C44B0X 的SIO能与各种类型的串行外设接口,这个SIO模块能以一定的频率(由寄存器设定)发送或接收8位串行数据。时钟源可以选择内部时钟或外部时钟。SIO模块功能:8位数据缓冲(SIODAT);12位的预定标器(SBRDR);8位间隔计数器(ITVCNT);时钟源选择逻辑;串行数据I/O脚(SIORXD和 SIOTXD);外部时钟输入输出脚(SIOCK);DMA运行模式。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 SIO正常操作模式正常
32、操作模式操作模式:发送与接收同时进行,一个发送数据脚,一个接收数据脚,当一个字节写入SIODAT数据寄存器,如果SIO运行位设置和发送模式允许,则SIO开始发送数据。对SIO模块编程的步骤:配置I/O脚(SIOTXD, SIOCLK, SIORXD);设置SIOCON为适当的配置;设置串行I/O中断允许位;如果想发送数据,写数据到SIODAT;设置SIOCON3为1,开始数据移位操作;当数据移位操作完成时,SIO中断被请求和SIODAT接收到数据;返回第4步。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept.
33、2005中断接口中断接口概述概述S3C44BOX具有30个中断源,包括1个看门狗定时器,6个定时器,6个UART,8个外部,4个DMA,2个RTC,1个ADC,1个IIC和1个SIO共30个中断。S3C44BOX内置的中断控制器可以接收来自30个中断源的请求。S3C44B0X支持新的中断处理模式称为矢量中断模式。中断控制器的角色,就是响应来自FIQ(快速中断请求)或IRQ(普通中断请求)的中断,并请求内核对中断进行处理。多个中断请求发生时,由硬件优先级逻辑确定应该有哪个中断得到服务,同时硬件逻辑使中断向量表的跳转指令加载到(0X18或0X1C)位置,在该位置执行跳转指令使程序跳到相应的中断服务
34、线程,因此相对于传统的ARM的软件方法能够大大减少中断进入延时。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 中断控制器中断控制器 1.中断模式 ARM7TDMI有2种类型的中断模式:FIQ和IRQ。 IRQ和FIQ之间的区别是:对于FIQ必须尽快处理事件并离开这个模式;IRQ可以被FIQ中断,但IRQ不能中断FIQ;为了使FIQ更快,FIQ模式具有更多的私有寄存器。2.PSR的F位和I位 PSR指ARM7TDMI处理器的程序状态寄存器。如果PSR的F位被设置为1,处理器将不接受来自中断控制器
35、的FIQ;如果PSR的I位被设置为1,处理器将不接受来自中断控制器的IRQ。 因此,为了使能相应中断机制,PSR的F位或I位必须被清0,同时中断屏蔽寄存器INTMSK的相应位也必须被清0。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 中断控制器中断控制器3.中断请求寄存器INTPND INTPND的各位指示了某个中断请求是否还未被处理。在INTPND中将要或已被置位的中断位称为pending位。INTPND是一个只读寄存器,在中断服务程序中要想清除pending位时,需要采用在中断服务寄存器I_
36、ISPC或F_ISPC的相应位写入1的方式实现。 INTPND寄存器中的26个位对应着每一个中断源。当某个中断产生时,INTPND中的相应位就会置1,说明该中断还未被处理。在中断服务程序中,当处理结束后必须及时清除该pending位,从而使系统能够及时再次响应该类型的中断。4. 中断屏蔽寄存器INTMSK 如果该寄存器的某位被置1,则与该位对应的中断响应被禁止。如果对应位为0,则这个中断发生时将会被正常响应。 如果某个中断在INTMSK寄存器中的对应位为1,但是又有这个中断发生,则它的pending位还是会置位,只是不会自动转入中断服务程序。如果全局屏蔽位被置1,那么,当任一中断发生时,中断p
37、ending位还是会置位,但是所有的中断都不会得到服务。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 中断源中断源在30个中断源中有26个中断源提供给中断控制器,4个外部中断(EINT4/5/6/7)请求是通过“或”的形式合成为1个中断源送至中断控制器,2个UART错误中断(UERRORO/1)也是如此。 下页续下页续NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 中断源中断源n注意:EINT4,
38、EINT5, EINT6和EINT7分享同一个中断请求源,中断服务程序ISR要通过读取EXTINTPND3-0寄存器来区别这4个中断源,并在处理结束时通过将EXTINTPND3-0中对应位写1来清除该位。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 中断优先级产生模块中断优先级产生模块 S3C44BOX中断优先级的决定有两种方式:通过软件查询决定中断优先级,该方式在跳到相应服务程序之前需要一个较长的延迟时间;通过硬件决定中断优先级:矢量中断模式。 如果中断向量模式使用和一个中断源被配置为ISQ
39、中断,中断将被中断优先级产生模块处理。中断优先级产生模块处理包括五个单元:1个主单元,4个从单元,每个从单元管理6个中断源,包括4个优先级次序可编程的优先级源(sGn)和2个固定优先级源。一个主单元管理4个从单元mGn和2个中断源mGKn,用来确定4个从单元和2个中断源的优先级mGKn。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 中断优先级中断优先级如果中断源A被设置为FIQ中断,而中断源B设置为IRQ中断,那么中断源A比中断源B具有更高的中断优先级,因为在任何情况下,FIQ中断都比IRQ中断
40、具有更高的优先级。如果中断源A和中断源B在不同的主单元中,并且A所在的主单元的优先级比B所在的主单元优先级高,则中断源A的优先级肯定比中断源B的优先级高。如果中断源A和B在同一个主单元中,且中断源A的优先级比B高,则A具有更高的优先级。位于sGA, sGB, sGC和sGD的中断优先级总是高于位于sGKA和sGKB的中断优先级。在sGA,sGB,sGC和sGD之间的优先级的高低是可编程的,或者通过Round一Robin(轮转)方式来决定。在sGKA和sGKB之间,sGKA总是拥有更高的优先级。mGA, mGB, mGC和mGD组中的中断优先级总是高于mGKA和mGKB。因此,MGKA和mGKB
41、在所有中断源之中优先级是最低的。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 中断矢量地址表中断矢量地址表 分支指令机器代码分支指令机器代码= 0xea000000 +( - vector = 0xea000000 +( - - 0x8)2)address - 0x8)2) 其中destination address为中断服务线程ISR 的开始地址,vector address 为中断源在中断相量表中的地址,即分支指令所在地址,分支指令机器代码有硬件自动产生。NEUSOFT Institute
42、of Information Technology, ChengDuDate: 12. Sept. 2005 中断矢量地址表中断矢量地址表每个中断源对应的矢量地址 中断源矢量地址中断源矢量地址EINT00x00000020INT_TIMER10x00000064EINT10x00000024INT_TIMER20x00000068EINT20x00000028INT_TIMER30x0000006cEINT30x0000002cINT_TIMER40x00000070EINT4/5/6/70x00000030INT_TIMER50x00000074TICK0x00000034INT_URXD0
43、0x00000080INT_ZDMA00x00000040INT_URXD10x00000084INT_ZDMA10x00000044INT_IIC0x00000088INT_BDMA00x00000048INT_SIO0x0000008cINT_BDMA10x0000004cINT_UTXD00x00000090INT_WDT0x00000050INT_UTXD10x00000094INT_UERR0/10x00000054NT_RTC0x000000a0INT_TIMER00x00000060INT_ADC0x000000c0NEUSOFT Institute of Information
44、 Technology, ChengDuDate: 12. Sept. 2005 控制中断的寄存器控制中断的寄存器1.中断控制寄存器2.中断请求寄存器3.中断模式寄存器4.中断屏蔽寄存器5.IRQ矢量模式寄存器6.IRQ/FIQ中断服务寄存器7.外部中断控制寄存器8.外部中断请求寄存器 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005外部中断的应用外部中断的应用1.I/O口设置 首先对PG口的工作模式进行设置,要让PG4-7工作在外部中断输入状态。因此,要将PG口设置在功能3模式下,采用语句: rP
45、CONG = 11 11 11 11 xx xx xx xxB; 如果希望采用内部上拉,则语句为: rPUPG = 0000xxxxB。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 外部中断的应用外部中断的应用2.外部中断触发模式设置 利用外部中断控制寄存器来设置外部中断的触发模式由于采用电平触发容易引起重复触发,因此建议采用下降沿或上升沿触发,不同触发方式的语句如下: 采用下降沿触发时: rEXTINT=01x 01x 01x 01x xxx xxx xxx xxxB;采用上升沿触发时: rE
46、XTINT=10x 10x 10x 10x xxx xxx xxx xxxB;采用边沿触发时: rEXTINT=11x 11x 11x 11x xxx xxx xxx xxxB;采用低电平触发时: rEXTINT=000 000 000 000 xxx xxx xxx xxxB;NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 外部中断的应用外部中断的应用3 中断寄存器设置 将EINT4-7设置为IRQ中断模式的语句为: rINTCON=0x5 ; /非矢量中断模式,禁止FIQ中断,使能IRQ中断
47、设置好了,采用以下语句开启中断: rINTMSK= (BIT_GLOBAL|BIT_EINT4567)。4 主程序编写,代码见课本P*.5 中断处理程序 void irq_Eint4567lsr(void) which_int = rEXTINTPND; rEXTINTPND = Ox0f; /清除EXTINTPND寄存器 rl_lSPC= BIT_EINT4567; /清除pending_bit Delay(1000); /延时消抖 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 模模/数转换概
48、述数转换概述所谓模数转换器就是把电模拟量转换成为数字量的电路.微机与控制系统的接口框图NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 模模/ /数转换的方法和原理数转换的方法和原理1.计数式A/D转换法 其中,Vi是模拟输入电压,V0是D/A转换器的输出电压,C是控制计数端,当C=1时,计数器开始计数,C=0时,则停止计数。D7D0是数字量输出,数字输出量又同时驱动一个D/A转换器。 NEUSOFT Institute of Information Technology, ChengDuDate:
49、 12. Sept. 2005 模模/ /数转换的方法和原理数转换的方法和原理2.双积分式A/D转换法 双积分式A/D转换的基本原理是对输入模拟电压和参考电压进行两次积分,变换成与输入电压均值成正比的时间间隔,利用时钟脉冲和计数器测出其时间间隔,因此,此类A/D转换器具有很强的抗工频干扰能力,转换精度高,但速度较慢 . (a)电路工作原理图 (b)双积分图示NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 模模/ /数转换的方法和原理数转换的方法和原理3.逐次逼近式A/D转换法 逐次逼近式A/D转换
50、原理框图逐次逼近式A/D转换过程NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 A/D转换的重要指标转换的重要指标 1.分辨率(Resolution):反映A/D转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的摸拟输入的电平值表示。 2.精度(Accuracy):绝对精度(Absolute Accuracy) ;相对精度(Relative Accuracy)。3.转换时间(Conversion Time):指完成一次A/D转换所需的时间,即由发出启动转换命令信号到转换结束信号
51、开始有效的时间间隔。转换时间的倒数称为转换速率。4.量程:量程是指所能转换的摸拟输入电压范围,分单极性、双极性两种类型。例如,单极性 量程为0+5V,0+10V;双极性 量程为-5+5V,-10+10V。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 S3C440BX自带的自带的A/D转换器转换器ARM S3C440BX芯片自带一个路10位A/D转换器,该转换器可以通过软件设置为Sleep摸式,可以节电减少功率损失,最大转换率为100K,非线性度为正负。ARM芯片与A/D功能有关的引脚: AIN
52、7:0为8路摸拟采集通道,ADC的模拟输入;AREFT为参考正电压,AREFB为参考负电压,AVCOM为摸拟公共参考电压。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 ADC的相关寄存器的相关寄存器1.A/D转换控制寄存器(ADCCON): 地址为0x01D40000(在小模式下,以字、半字、字符单位存取)、0x01D40002(在大模式下,以半字单位存取)、0x01D40003(在大模式下,以字符单位存取),可读写,初始值为0x20。2.A/D转换预分频寄存器 3.A/D转换数据寄存器NEUS
53、OFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005数数/ /模转换器原理模转换器原理 D/A转换器的主要功能是将数字量转换为模拟量。数字量是由若干数位构成的,每个数位都有一定的权。我们说把一个数字量变为模拟量,就是把每一位上的代码按照权转换为对应的模拟量,再把各位所对应的模拟量相加,所得到各位模拟量的和便是数字量所对应的模拟量。基于上述思路,在集成电路中,通常采用型网络实现将数字量转换为模拟电流,然后再用运算放大器完成模拟电流到模拟电压的转换。所以,要把一个数字量转换为模拟电压,实际上需要两个环节:即先由D/
54、A转换器把数字量转换为模拟电流,再由运算放大器将模拟电流转换为模拟电压。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 T型电阻解码网络型电阻解码网络 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 数数/ /模转换器的分类模转换器的分类 1.电压输出型(如TLC5620): 虽有直接从电阻阵列输出电压的,但一般采用内置输出放大器以低阻抗输出。直接输出电压的器件仅用于高阻抗负载,由于无输出放大器部分
55、的延迟,故常作为高速D/A转换器使用。2.电流输出型(如THS5661A): 很少直接利用电流输出,大多外接电流电压转换电路得到电压输出。当外接运算放大器进行电流电压转换时,则电路构成基本上与内置放大器的电压输出型相同,这时由于在D/A转换器的电流建立时间上加入了达算放入器的延迟,使响应变慢。3.乘算型(如AD7533): 在基准电压输入上加交流信号的,能得到数字输入和基准电压输入相乘的结果而输出,称为乘算型D/A转换器。乘算型D/A转换器一般不仅可以进行乘法运算,而且可以作为使输入信号数字化地衰减的衰减器及对输入信号进行调制的调制器使用。NEUSOFT Institute of Inform
56、ation Technology, ChengDuDate: 12. Sept. 2005 D/A转换器的主要指标转换器的主要指标 1.分辩率(Resolution):指最小模拟输出量(对应数字量仅最低位为1)与最大量(对应数字量所有有效位为1)之比。2.建立时间(Setting Time):是将一个数字量转换为稳定模拟信号所需的时间,也可以认为是转换时间。DA中常用建立时间来描述其速度,而不是AD中常用的转换速率。一般地,电流输出DA建立时间较短,电压输出DA则较长。3.其他指标:线性度(Linearity),转换精度,温度系数/漂移。NEUSOFT Institute of Informa
57、tion Technology, ChengDuDate: 12. Sept. 2005 ARM的的JTAG接口基本知识接口基本知识1. JTAG是Joint Test Action Group的缩写,是IEEEll49.1标准。使用JTAG的优点:JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试。在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线、I/O口等信息,从而达到调试的目的。2. JTAG的典型信号:TMS:测试模式选择(Test Mode Select),通过TMS信号控制JTAG状态机的状态;TCK:JTAG的时钟信号;TDI:数据输入信号;
58、TDO:数据输出信号;nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell)。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 ARM的的JTAG接口基本知识接口基本知识3. JTAG状态机:JTAG状态机分成15个状态,每一个状态都有其相应的功能。不管JTAG状态机处于哪个状态,当TMS信号等于逻辑1的时候,连续5个时钟信号以后,JTAG状态机必然回到Test-logic Reset状态。这也是JTAG状态机的复位时的状态。4. JTAG链的组成:每一条JTAG链是
59、由若干个JTAG的扫描单元串连组成的,每一个扫描单元都可以配置成捕获外部信号的输入单元或者对外的输出单元。依靠移位寄存器,通过JTAG的TDO和TDI信号线,可以使数据串行输出到每一个JTAG扫描单元上,或者读出每一个扫描单元的数据。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 ARM的的JTAG接口基本知识接口基本知识5. JTAG链的工作过程:步骤一:JTAG处于挂起状态,JTAG的扫描单元并不影响设备信号的输入输出。步骤二:在JTAG状态机的Capture-DR状态,把IO口上的数据捕获
60、到JTAG扫描单元的移位寄存器上。步骤三:在JTAG状态机的Shift-DR状态,TCK的一次跳变,把数据从TDI移位到JTAG移位寄存器的高位上,并从TDO输出移位寄存器的低位(就是O3的数据)。步骤四:经过6个TCK的时钟可以把整个捕获到的JTAG链的移位寄存器上的数据移出,并且,把新的数据移入JTAG链。步骤五:在JTAG状态机的UpdateDR状态,可以把新的数据锁定到设备的输入或者输出I/O口上,从而完成了一次JTAG的数据更新。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 ARM的的
61、JTAG调试结构调试结构 ARM7TDMI的JTAG宏单元(Macrocell)主要包括3条JTAG扫描链(Scan Chain) 和一个JTAG的控制TAP状态机。JTAG与AngelJTAG调试:协议转换器解释上位机传送过来的命令,通过JTAG控制ARM执行。Angel调试:协议转换器可以直接做为目标板的Firmware的一部分,直接执行从宿主机传送过来的调试命令;并回送相应的数据。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 ARM7TDMI内核的内核的JTAG扫描链结构扫描链结构ARM7
62、TDMI内核的JTAG扫描链结构主要包括了3条扫描链:Scan Chain 0:有113个扫描单元,包括ARM核的所有的IO、地址数据总线和输入输出控制信号。这条链上的信号复杂,不易控制,但是,包含的信息丰富,可以通过这条链得到ARM7TDMI内核的所有信息。Scan Chain l:有33个扫描单元,包括ARM核的数据总线和一个断点控制信号。这是一条很有用的链,通过控制这条链,可以控制ARM核执行指定的指令,从而实现对ARM的内部寄存器、协处理器以及外部存储器的读写操作。Scan Chain 2:有38个扫描单元,通过控制EmbeddedICE宏单元,实现对ARM执行指令的断点、观察点的控制。