免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2010年下半年 嵌入式系统设计师 上午试卷 综合知识
  第63题      
  知识点:   模数转换接口   中断方式   CPU   采样   数据采集
  关键词:   CPU   采样周期   数据采集   微处理器   采样   处理器   数据        章/节:   嵌入式系统I/O   计算机组成及主要部件的基本工作原理       

 
一个由微处理器构成的实时数据采集系统,其采样周期为20ms,A/D转换时间为25ns,则当CPU使用(63)传送方式读取数据时,其效率最高。
 
 
  A.  查询
 
  B.  中断
 
  C.  无条件传输
 
  D.  延时采样
 
 
 

 
  第30题    2016年下半年  
   43%
某8位D/A变换器的输出最大电压为5V,其分辨率指标是最低有效位输入时输出的变化程度,那么该D/A变换器的分辨率是(30)。
  第32题    2010年下半年  
   36%
在D/A变换器中,分辨率表示它的一个LSB(最低有效位)输冬使输出变化的程度。分辨率通常用D/A变换器输入的二进制位数来描述,如8位..
  第31题    2011年下半年  
   56%
D/A变换器的主要技术指标包括分辨率、精度、变换时间和动态范围,其中分辨率表示D/A变换器的1LSB输入所对应的输出变化的程度。对..
 
  第29题    2013年下半年  
   51%
在嵌入式处理器中,下面关于“菊花链”仲裁的叙述,错误的是(29)。
  第30题    2010年下半年  
   67%
外设与计算机间的信息交换可以用不同的输入/输出方法完成,下列不属于输入/输出控制方式的是(30)。
  第37题    2017年下半年  
   39%
RS232接口接收数据时,可以采用查询和中断两种方式,其中采用中断方式的特点是(37)。
   知识点讲解    
   · 模数转换接口    · 中断方式    · CPU    · 采样    · 数据采集
 
       模数转换接口
        所谓模/数转换器(A/D转换器)就是把电模拟量转换成为数字量的电路。在当今的现代化生产中,被广泛应用的实时监测系统和实时控制系统都离不开模/数转换器。一个实时控制系统要实现微机监控实时现场工作过程中发生的各种参数的变化,首先由传感器把实时现场的各种物理参数(如温度、流量、压力、PH值、位移等)测量出,并转为相应的电信号,经过放大、滤波处理,再通过多路开关的切换和采样/保持电路的保持,送到A/D转换器,由A/D转换器将电模拟信号转换为数字量信号,之后被微机采集,微机按一定算法计算输出控制量,并输出之。输出数据经D/A转换器(数/模转换器)将数字量转换为电模拟量去控制执行机构。
        实现A/D转换的方法很多,常用的方法有计数法、双积分法和逐次逼近法。
               计数法
               首先开始转换信号有效(由高变低),使计数器复位,当开始转换信号恢复高电平时,计数器准备计数。因为计数器已被复位,所以计数器输出数字为0。这个0输出送至D/A转换器,使之也输出0V模拟信号。此时,在比较器输入端上待转换的模拟输入电压Vi大于V0(0V),比较器输出高电平,使计数控制信号C为1。这样,计数器开始计数。从此D/A转换器输入端得到的数字量不断增加,致使输出电压V0不断上升。在V0<Vi时,比较器的输出总是保持高电平。当V0上升到某值时,第一次出现V0>Vi的情况,此时,比较器的输出为低电平,使计数控制信号C为0,导致计数器停止计数。这时候数字输出量D7~D0就是与模拟电压等效的数字量。计数控制信号由高变低的负跳变也是A/D转换的结束信号,它用来通知计算机,已完成一次A/D转换。
               计数式A/D转换的特点是简单,但速度比较慢,特别是模拟电压较高时,转换速度更慢。当C=1时,每输入一个时钟脉冲计数器加1。对一个8位A/D转换器,若输入模拟量为最大值,计数器从0开始计数到255时,才转换完毕,相当于需要255个计数脉冲周期。
               双积分法
               双积分式A/D转换的基本原理是对输入模拟电压和参考电压进行两次积分,变换成与输入电压均值成正比的时间间隔,利用时钟脉冲和计数器测出其时间间隔,因此,此类D/A转换器具有很强的抗工频干扰能力,转换精度高,但速度较慢,通常每秒转换频率小于10Hz,主要用于数字式测试仪表,温度测量等方面。
               首先电路对输入待测的模拟电压进行固定时间的积分,然后换至标准电压进行固定斜率的反向积分。反向积分进行到一定时间,便返回起始值。对标准电压进行反向积分的时间T正比于输入模拟电压,输入模拟电压越大,反向积分回到起始值的时间越长。因此,只要用标准的高频时钟脉冲测定反向积分花费的时间,就可以得到相应于输入模拟电压的数字量,即实现了A/D转换。
               逐次逼近法
               逐次逼近式A/D转换法是A/D芯片采用最多的一种A/D转换方法,和计数式A/D转换一样,逐次逼近式A/D转换时,是由D/A转换器从高位到低位逐位增加转换位数,产生不同的输出电压,把输入电压与输出电压进行比较而实现。不同之处是用逐次逼近式进行转换时,要用一个逐次逼近寄存器存放转换出来的数字量,转换结束时,将最终的数字量送到缓冲寄存器中。
               逐次逼近式A/D转换法的特点是速度快,转换精度较高,对N位A/D转换只需N个时钟脉冲即可完成,一般可用于测量几十到几百微秒的过渡过程的变化,是计算机A/D转换接口中应用最普遍的转换方法。
 
       中断方式
        在中断方式下,I/O设备工作时CPU不再等待,而是进行其他的操作,当I/O设备完成后,通过一个硬件中断信号通知CPU,CPU再来处理接下来的工作。
        利用中断方式完成数据的输入/输出过程为:当系统与外设交换数据时,CPU无须等待也不必去查询I/O设备的状态,而是处理其他任务。当I/O设备准备好以后,就发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无须等待而提高了效率。
        在系统中具有多个中断源的情况下,常用的处理方法有多中断信号线法(multiple interrupt lines)、中断软件查询法(software poll)、菊花链法(daisy chain)、总线仲裁法和中断向量表法。
        (1)多中断信号线法。每个中断源都有属于自己的一根中断请求信号线向CPU提出中断请求。
        (2)中断软件查询法。当CPU检测到一个中断请求信号以后,即转入到中断服务程序去轮询每个中断源以确定是谁发出了中断请求信号。对各个设备的响应优先级由软件设定。
        (3)菊花链法。软件查询的缺陷在于花费的时间太多。菊花链法实际上是一种硬件查询法。所有的I/O模块共享一根共同的中断请求线,而中断确认信号则以链式在各模块间相连。当CPU检测到中断请求信号时,则发出中断确认信号。中断确认信号依次在I/O模块间传递,直到发出请求的模块,该模块则把它的ID送往数据线由CPU读取。
        (4)总线仲裁法。一个I/O设备在发出中断请求之前,必须先获得总线控制权,所以可由总线仲裁机制来裁定谁可以发出中断请求信号。当CPU发出中断响应信号后,该设备即把自己的ID发往数据线。
        (5)中断向量表法。中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号(INTR)以后,由中断控制器(INTC)确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU,如下图所示。中断源的优先级由INTC来控制。
        
        中断向量表法
        在具有多个中断源的计算机系统中,各中断源对服务的要求紧迫程度可能不同。在这样的计算机系统中,就需要按中断源的轻重缓急来安排对它们的服务。
        在中断优先级控制系统中,给最紧迫的中断源分配高的优先级,而给那些要求相对不紧迫(例如几百微秒到几毫秒)的中断源分配低一些的优先级。在进行优先级控制时解决以下两种情况。
        (1)当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源。
        (2)当CPU正在对某一个中断源服务时,又有比它优先级更高的中断源提出中断请求,CPU应能暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,服务结束后再回到原先被中断的优先级较低的中断服务程序继续执行,这种情况称为中断嵌套,即一个中断服务程序中嵌套着另一个中断服务程序。
 
       CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
       采样
        采样是指每隔一定时间间隔,取模拟信号的当前值作为样本,该样本代表了模拟信号在某一时刻的瞬时值。这样,就变连续的模拟信息为离散信号。采样技术依据奈奎斯特取样定理:如果采样速率大于模拟信号最高频率的2倍,则可以用得到的样本空间恢复原来的模拟信号。
 
       数据采集
        数据采集阶段的主要任务就是获取各个不同数据源的各类数据,按照统一的标准进行数据的转换、清洗等工作,以形成后续数据处理的符合标准要求的数据集。
        原始数据往往形式多样,包括:结构化数据,例如业务系统中的交易明细、操作日志等;非结构化数据,例如企业中的各种文档数据,视频、音频等数据;半结构化数据,例如Web页面的HTML文档等。而且其来源和种类也存在很大差距。
        当前的大数据处理中,数据的种类一般包括:
        .传感数据:传感数据是由感知设备或传感设备感受、测量及传输的数据。这些感知设备或传感设备实时和动态地收集大量的时序传感数据资源。传感数据种类有很多,如人身体的传感数据,网络信号的传感数据和气象的传感数据等。近年来随着物联网、工业互联网的日益发展,传感数据越来越丰富,人们也逐渐发现了其数据价值。
        .业务数据:企业业务系统在执行日常业务活动时产生的大量数据,包括设备工况、操作记录、交易流水,以及用户在使用系统时遗留下来的大量行为数据。这些数据反映了人或者物的属性、偏好,在推荐或预测系统中有很大的利用价值。
        .人工输入数据:用户通过软件人机交互等主动输入的数据,典型代表是微博、微信、抖音等系统的用户输入数据。随着互联网的不断深入,手机APP应用的不断发展,这种用户产生的数据也越来越多,越来越丰富。
        .科学数据:通过科学研究和科学实验不断搜集和汇聚的数据,一般是以电子记录或文本的形式存在。
        从大数据的来源进行划分,其种类包括:
        .企业数据:企业自建的各种业务系统,如ERP、在线交易系统、招聘系统等,也会产生各种数据集。
        .政府数据:政府信息化已发展多年,构建了很多业务数据。近年来政府也在不断地建设大数据中心,发布各种数据,包括人社、医疗、税务、工商、财务等。
        .互联网数据:互联网数据是当前大数据应用的一个重要的数据来源。互联网上存在各种应用沉淀下来的大量数据,包括门户网站、社交信息、电商网站等等。
        其中,企业数据一般属于内部数据,而政府数据、互联网数据往往属于外部数据。
        从上面大数据的分类可以看出,数据来源渠道众多,差异非常大。因此,数据采集的主要任务就是进行数据的汇聚,为后续的数据处理做好准备。这个阶段工作中主要涉及的技术包括针对内部数据的数据集成和ETL技术,针对外部数据,尤其是互联网数据的爬虫技术。
        数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。在企业数据集成领域,已经有很多成熟的框架可以利用。目前通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着重点和应用上解决数据共享和为企业提供决策支持。
        ETL(Extract Transform Load)用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
        基本的ETL体系结构示意图如下图所示。
        
        ETL体系结构示意图
        ETL过程中的主要环节是数据抽取、数据转换和加工、数据加载。一般ETL工具中,围绕上述三个核心环节进行了功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持和统计信息等,尽量降低ETL阶段的工作强度,减少工作量。
        数据转换和加工是三个环节的重点,因为抽取的数据中往往存在各种问题,例如数据格式不一致、数据输入错误、字段不匹配、字段类型不符、数据不完整等。ETL一般以组件化的方式实现数据转换和加工。常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等,并以工作流的形式进行各种方式的组合,以满足数据转换的需求。有的ETL工具也提供脚本支持,满足用户定制化的数据转换需求。
        常用的ETL工具有三种:DataStage、Informatica PowerCenter和Kettle。
        .DataStage:IBM公司的DataStage是一种数据集成软件平台,专门针对多种数据源的ETL过程进行了简化和自动化,同时提供图形框架,用户可以使用该框架来设计和运行用于变换和清理、加载数据的作业。它能够处理的数据源有主机系统的大型数据库、开发系统上的关系数据库和普通的文件系统。
        .Informatica PowerCenter:Informatica公司开发的为满足企业级需求而设计的企业数据集成平台。可以支持各类数据源,包括结构化、半结构化和非结构化数据。提供丰富的数据转换组件和工作流支持。
        .Kettle:Kettle是一款国外开源的ETL工具,纯Java编写,可以在Windows、Linux、UNIX上运行,数据抽取高效稳定。管理来自不同数据库的数据,提供图形化的操作界面,提供工作流支持。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。Kettle包括4个产品:Spoon、Pan、Chef、Kitchen。Spoon通过图形界面来设计ETL转换过程(Transformation)。Pan批量运行由Spoon设计的ETL转换(例如使用一个时间调度器),是一个后台执行的程序,没有图形界面。Chef创建任务(Job),任务通过允许每个转换、任务、脚本等等,更有利于自动化更新数据仓库的复杂工作。Kitchen批量使用由Chef设计的任务(例如使用一个时间调度器)。
        由于很多大数据应用都需要来自互联网的外部数据,因此,爬虫技术也称为数据采集阶段的一个主要基础性的技术。
        网络爬虫(又称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。网络爬虫基本的体系结构如下图所示。
        
        爬虫框架示意图
        爬虫调度器主要负责统筹其他四个模块的协调工作。URL管理器负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口。HTML下载器用于从URL管理器中获取未爬取的URL链接并下载HTML网页。HTML解析器用于从HTML下载器中获取已经下载的HTML网页,并从中解析出新的URL链接交给URL管理器,解析出有效数据交给数据存储器。
        网络爬虫大致可以分为以下几种类型:通用网络爬虫、聚焦网络爬虫、深层网络(Deep Web)爬虫。实际的大数据应用由于往往聚焦于某个特定的应用目标,其采用的网络爬虫系统通常是聚焦网络爬虫、深层网络爬虫技术相结合实现的。
        通用网络爬虫,爬行对象从一些种子URL扩充到整个Web,主要为门户站点搜索引擎和大型Web服务提供商采集数据。通用网络爬虫的结构大致可以分为页面爬行模块、页面分析模块、链接过滤模块、页面数据库、URL队列、初始URL集合几个部分。为提高工作效率,通用网络爬虫会采取一定的爬行策略。常用的爬行策略有:深度优先策略、广度优先策略。
        聚焦网络爬虫,是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。和通用网络爬虫相比,聚焦爬虫只需要爬行与主题相关的页面,可以很好地满足一些特定人群对特定领域信息的需求。聚焦网络爬虫和通用网络爬虫相比,增加了链接评价模块以及内容评价模块。聚焦爬虫爬行策略实现的关键是评价页面内容和链接的重要性,常见的爬行策略有基于内容评价的爬行策略、基于链接结构评价的爬行策略、基于增强学习的爬行策略、基于语境图的爬行策略等。
        深层网络爬虫用于专门爬取那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。Deep Web爬虫爬行过程中最重要的部分就是表单填写,包含两种类型:基于领域知识的表单填写,此方法一般会维持一个本体库,通过语义分析来选取合适的关键词填写表单;基于网页结构分析的表单填写,此方法一般无领域知识或仅有有限的领域知识,将网页表单表示成DOM树,从中提取表单各字段值。常见的爬虫工具有如下三种:
        .Nutch:一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。Nutch有Hadoop支持,可以进行分布式抓取、存储和索引。Nutch采用插件结构设计,高度模块化,容易扩展。
        .Scrapy:是Python开发的一个快速、高层次的屏幕抓取和Web抓取框架,用于抓取Web站点并从页面中提取结构化的数据。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便地修改。它提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫、Web2.0爬虫等。
        .Larbin:Larbin是一种开源的网络爬虫/网络蜘蛛,用C++语言实现。Larbin目的是能够跟踪页面的URL进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。
        当数据采集到以后,需要对采集并清洗后的数据进行存储。具体的存储技术在13.1.3云关键技术中的分布式数据存储中介绍,此处不再详述。
   题号导航      2010年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第63题    在手机中做本题