当前位置:首页 > 分析
  • 现有的FTTH技术探讨分析

    现有的FTTH技术探讨分析

      1、背景   首先,随着用户对宽带接入提出越来越高的要求,现有的宽带接入方式,如ADSL和LAN接入,由于存在传输距离短、接入带宽有限、安全性不高、QoS没有很好的保证等问题,已越来越不能满足用户的需求。第二,光接入技术快速发展,从有源光接入技术(PDH、SDH、MSTP、点到点以太网系统)到PON无源光接入技术(APON、BPON、GPON、EPON、GEPON)。最后,由于光纤本身的成本,光收发模块、OLT和ONU的设备成本,以及现有光纤到户的配套成本不断下降,使得目前实现光纤到户的设备成本和线路成本比以前有了大幅度的下降。因此,光纤到户接入方式逐渐成熟,目前也逐渐成为国内外通信行业的热点。在不久的将来必将成为用户接入的重要手段。然而在目前众多的光纤接入技术中,哪种光纤接入技术比较适合FTTH的大规模发展呢?   2、有源光纤接入技术   2.1 PDH   PDH技术以其成熟性在光接入领域得到广泛应用,其安全可靠性和高QoS保障性能,使其在一段时间内仍然是电信运营商重要的光纤接入技术方式。但是传统PDH技术在接入应用中不可避免存在一定局限性,主要体现在:   (1)缺乏统一的网络管理;   (2)组网能力欠缺;   (3)对业务的保护能力差;   (4)对急剧增长的IP数据业务缺乏有效的承载手段;   (5)扩容升级缺乏灵活性;   (6)接口单一,设备层叠,外部线缆连接比较多,故障点增多,给维护带来困难。   PDH光接入技术主要应用于点对点小容量专线企业用户。   2.2 SDH   在目前企事业客户光纤接入中应用得比较多的SDH,与PDH相比,有如下明显优点:   (1)统一的比特率,统一的接口标准,便于设备间的互联;   (2)网络管理能力大大加强;   (3)具有自愈保护功能。   SDH主要缺点在于是为传输TDM信息而设计的。该技术缺少处理基于TDM技术的传统语音信息以外的其他信息所需的功能,不适合于传送TDM以外的ATM和以太网业务。   SDH光接入技术主要应用于点对点大容量专线企业用户、局间或汇接点(POP)间通信。   2.3 MSTP   基于SDH、同时实现TDM、ATM、以太网等业务接入、处理和传送,提供统一网管的MSTP,具有如下优势:   (1)提供多种物理接口,满足新业务快速接入。在保证兼容传统TDM业务的同时,能够提供多业务灵活接入。典型的业务主要有:IP、ATM、SDH、FR。   (2)由于它是基于现有SDH传输网络的,可以很好地兼容现有技术,保证现有投资。   (3)MSTP采用VC虚级联技术,有效地利用带宽并实现了较小颗粒的带宽管理。   (4)MSTP采用LCAS技术,保证了在不中断数据流的情况下动态地调整虚级联的个数。   (5)MSTP技术支持网状、树型、星型、多环切接等组网方式,这样可以提高网络的可扩展性,便于灵活高效地配置系统环境。   (6)传输的高可靠性和自动保护恢复功能。MSTP继承了SDH的保护特性,小于50ms的自动保护恢复,保证用户对服务的满意程度。   MSTP的缺点主要有:   (1)带宽利用率较低;   (2)最大提供的带宽有限;   (3)主要实现二层功能,以及较为简单的三层功能;   (4)灵活提供业务能力不足。   (5)光纤的占用较多   MSTP的应用场合主要定位于局间或汇接点间通信以及大型企事业用户的点到点通信。   2.4 点到点以太网系统   点到点以太网系统是最直接的以太网光纤接入技术。每个用户通过一根/对光纤直接连接到局端以太网交换机的一个用户光接口。在点到点以太网系统方式中,通过扩充的以太网OAM协议,可以通过局端交换机对用户端设备进行远程管理,从而提供电信级可运营、可管理的以太网接入方式。   2.4.1 优点   (1)接入带宽高,网络升级方便;   (2)网络层次简单,接入网和用户以太网无缝连接;   (3)以太网交换机放在大楼、小区或者局端机房,局端和用户端之间直接通过光纤连接,整个接入网络结构简单;   (4)业务开通率高,投资回收快;   (5)通过局端交换机可以对用户端设备进行远程管理,在局端就可以轻松进行线路检测、故障定位,降低了维护难度。   2.4.2 缺点   (1)需要重新铺设光纤线路;   (2)每个用户占用一根/对光纤,光纤数量多,施工较困难;   (3)因为以太网技术的固有机制不提供端到端的包时延、包丢失率和带宽控制,难以保证实时业务的服务质量,提供TDM业务比较困难;   (4)维护成本很高;   (5)缺乏安全机制保证;   2.4.3 应用场合   用户很密集时,机房空间需求和成本也随之迅速增加,因而不太适合高密集用户区域,比较适合分散用户接入。   3、无源光纤接入技术   无源光网络(PON),是指在OLT(光线路终端)和ONU(光网络单元)之间的光分配网络(ODN)没有任何有源电子设备。其典型的拓扑结构为点对多点的星型结构(如图1所示)。在光分支点不需要节点设备,只需要安装一个简单的无源光分路器,因此具有节省光缆资源、带宽资源共享、节省机房投资、安全性高、综合建网成本低、维护成本低、可靠性高等优点。      图1 无源光网络(PON)拓扑图   PON光纤接入技术的缺点:   (1)初期投资成本太高;   (2)其拓扑结构使用户不具有保护功能或保护成本太高。   PON光纤接入技术的应用场合主要适合于分散的小企业和居民用户,特别是那些用户区域较分散,而每一区域用户又相对集中的小面积密集用户地区。   目前基于PON的光纤接入技术有APON、BPON、GPON、EPON和GEPON等5种,由于APON和BPON是基于ATM,而ATM不是发展方向,而且其速率有限,设备复杂,满足不了用户高带宽和低成本的要求,因此,APON和BPON不是发展方向。本文主要介绍EPON/GEPON和GPON光纤接入技术。

    时间:2020-09-08 关键词: 分析 ftth

  • 大数据的下一步是什么?混合服务/分析处理(HSAP)

    大数据的下一步是什么?混合服务/分析处理(HSAP)

    混合服务/分析处理(HSAP)具有强大的分析能力,那么会取代大数据技术吗?大数据的下一步发展是什么? 由于侧重点不同,传统数据库可以分为以事务为中心的联机事务处理 (OLTP) 系统和以分析为中心的联机分析处理(OLAP)系统。随着国际互联网的发展,数据量呈指数级增长,离线数据库已经无法满足企业的业务需求。特别是在分析领域,查询可能需要遍历大部分数据甚至全部数据,而海量数据带来的压力使得采用新技术变得尤为紧迫。这推动了过去十年左右以Hadoop技术开始的大数据革命,并满足了对海量数据分析的需求。与此同时,在数据库领域出现了几种分布式数据库产品,以应对联机事务处理 (OLTP)场景数据的增长。 为了分析联机事务处理 (OLTP)系统中的数据,标准做法是定期(例如每天)将联机事务处理 (OLTP)系统中的数据同步到联机分析处理(OLAP)系统。该架构确保分析查询不会影响在线事务处理。但是,定期同步导致分析结果并不是基于最新数据,并且这种延迟可能使企业失去及时做出业务决策的机会。为了解决这个问题,近年来出现了混合事务分析处理(HTAP)架构,它使企业能够直接分析联机事务处理 (OLTP)数据库中的数据,从而确保分析的及时性。分析不再是传统联机分析处理(OLAP)系统或大数据系统的独特功能。那么一个问题是:由于混合事务分析处理(HTAP)具有分析能力,它将取代大数据系统吗?大数据的下一站是什么? 背景介绍 为了回答这个问题,以下将以推荐系统为例来分析大数据系统的典型场景。 当购物应用程序推荐人们想要购买的商品,以及播放喜欢的音乐时,推荐系统将发挥其神奇的作用。高级推荐系统的核心目标是根据用户的实时行为进行个性化推荐。用户与系统之间的每次交互都会实时优化下一次体验。为了支持这样的系统,大数据技术堆栈已经发展成为一个非常复杂且分散的系统。 为了提供高质量的实时个性化推荐,推荐系统非常依赖于实时功能和模型的持续更新。 实时功能可以分为两类: 推荐系统将收集大量用户行为事件(如浏览、点击等)和交易记录(如从OLTP数据库同步的支付记录等)。这些数据量非常大(流量可能高达每秒数千万甚至数亿条),而且大部分数据都不是来自交易系统。为了方便以后的使用,这些数据将导入到系统中,同时将它们与各种维度表数据相关联,推导出一系列重要特征,并实时更新到推荐系统中,优化用户体验。这里的实时维度表关联需要低延迟和高吞吐量的点检查支持,以跟上新生成的数据。 推荐系统还将使用滑动窗口和其他方法来计算各种维度和时间粒度的特征(例如,过去5分钟的点击次数,过去7天的观看次数,以及过去30天内某一商品的销售额等)。根据滑动窗口的粒度,这些聚合可以通过流计算或批处理来完成。 这些数据还用于生成实时和离线的机器学习样本,经过验证的模型将在推荐系统中不断更新。 以上解释的是高级推荐系统的核心部分,但这只是整个系统的冰山一角。此外,还需要一套完整的系统,如实时模型监控、验证、分析和调整,其中包括:使用实时大屏幕查看A/B测试结果、使用交互式分析用于商业智能,以及优化和调整模型。此外,运营部门还将使用各种复杂的查询来深入了解业务进展情况,并利用客户定位和产品推荐进行有针对性的营销。 这个例子展示了一个非常复杂但典型的大数据场景,从实时数据导入到预聚合,从数据服务、连续聚合、到交互式查询再到批处理。这种复杂的场景对大数据系统的需求非常多样化。在构建这些系统的实践中,可以看到两个新趋势。 (1)实时:业务需要从刚刚收集的数据中快速获得业务洞察力。写入的数据需要在几秒钟内可见。漫长的离线ETL(抽取、转换、加载)流程变得令人无法忍受。与此同时,所收集的数据远远超过从联机分析处理(OLAP)系统同步的数据,事件日志数据(例如用户浏览和单击)甚至比其大几个数量级。企业的系统需要能够提供低延迟查询功能,同时以极高的吞吐量写入数据。 (2)混合服务和分析:传统的联机分析处理(OLAP)系统通常在业务中扮演相对静态的角色。可以通过分析数据来获得业务洞察力(例如预先计算的视图和模型等),并基于获取的知识通过另一个系统提供在线数据服务。这里的服务和分析是一个分散的过程。与其相反,理想的业务决策过程通常是持续优化的在线过程。服务过程将生成大量新数据,需要对这些新数据进行复杂的分析。分析产生的见解会实时反馈给服务,以创造更大的商业价值。服务和分析正在形成一个闭环。 现有解决方案通过一系列产品的组合来满足实时服务/分析融合的需求。例如,通过Apache Flink进行数据的实时预聚合,聚合的数据将存储在提供多维分析的产品(如Apache Druid)中,而数据服务将通过诸如Apache HBase之类的产品提供。这种烟囱开发模式将不可避免地生成数据孤岛,从而导致不必要的数据重复。各种产品之间复杂的数据同步也使数据的一致性和安全性成为一个挑战。这种复杂性使应用程序开发难以快速响应新需求,影响了业务的迭代速度,还给开发、操作和维护带来了额外的大量开销。 专家认为,实时服务/分析集成应通过统一的混合服务/分析处理(HSAP)系统实现。通过这样一个系统,应用开发不再需要处理多个不同的产品,也不再需要学习和应用每个产品的问题和局限性,可以显著简化业务架构,提高开发和运行效率。这样一个统一的系统可以避免不必要的数据重复,从而节省成本。同时,该体系结构还可以为系统带来二级甚至亚二级的实时性能,使业务决策更加实时,从而使数据发挥更大的商业价值。 尽管分布式混合服务/分析处理(HSAP)系统具有实时分析功能,但无法解决大数据的问题。 首先,事务系统同步的数据只是实时推荐系统需要处理的数据中的一小部分。大多数其他数据来自日志等非事务系统(用户在每次购买前通常有几十甚至数百次的浏览行为)。大多数分析都是在这些非事务数据上进行的。但是,混合事务分析处理(HTAP)系统没有这部分数据,因此无法进行分析。 这些非事务数据能否写入混合事务分析处理(HTAP)系统进行分析?以下分析一下混合事务分析处理(HTAP)系统和混合服务/分析处理(HSAP)系统在数据写入模式上的差异。混合事务分析处理(HTAP)系统的基础和优势是支持细粒度的分布式事务。事务性数据通常以许多分布式小事务的形式写入混合事务分析处理(HTAP)系统。但是,来自日志和其他系统的数据并没有细粒度分布式事务的语义。如果要将这些非事务性数据导入到混合事务分析处理(HTAP)系统中,必然会带来不必要的开销。 与其相反,混合服务/分析处理(HSAP)系统不需要这种高频分布式的事务。混合服务/分析处理(HSAP)系统中通常有两种数据写入模式: (1)海量单笔记录的实时写入; (2)频率相对较低的分布式批处理数据写入。 这使混合服务/分析处理(HSAP)系统可以进行一系列优化设计,从而提高成本效益,并避免由于将非事务性数据导入混合事务分析处理(HTAP)系统而导致的不必要的开销。 即使企业不在乎这些支出,假设可以不计成本地将所有数据写入混合事务分析处理(HTAP)系统中,那么能否解决问题?其答案是否定的。 支持联机事务处理 (OLTP)方案是混合事务分析处理(HTAP)系统的先决条件。为此,混合事务分析处理(HTAP)系统通常采用基于行存储的数据格式,而基于行存储中的分析查询效率大大低于列存储。具有分析能力并不等于能够有效分析,为了提供有效的分析功能,混合事务分析处理(HTAP)系统必须将大量非事务数据复制到列存储中,但这势必带来大量成本。最好以较低的成本将少量事务数据复制到混合服务/分析处理(HSAP)系统,同时,可以更好地避免对在线事务系统的影响。 因此,混合服务/分析处理(HSAP)和混合事务分析处理(HTAP)将会互补,并将分别引领数据库和大数据的发展方向。 混合服务/分析处理(HSAP)面临的挑战 作为一种全新的架构,混合服务/分析处理(HSAP)面临着与现有大数据和传统联机分析处理(OLAP)系统截然不同的挑战。 高并发混合工作负载:混合服务/分析处理(HSAP)系统需要处理的并发查询远远超出了传统的联机分析处理(OLAP)系统。 实际上,数据服务的并发性远远超出了联机分析处理(OLAP)查询。例如,人们在实践中已经看到,数据服务每秒需要处理数千万个查询,这比联机分析处理(OLAP)查询的并发性要高出5个数量级。同时,与联机分析处理(OLAP)查询相比,数据服务查询对延迟的要求更加严格。而且,更大的挑战是系统在提供数据服务查询的同时需要处理非常复杂的分析查询。这些混合查询有效载荷在延迟和吞吐量之间具有不同的权衡。如何有效利用系统资源来处理这些完全不同的查询,并确保每个查询的服务水平目标(SLO)是一个巨大的挑战。 混合服务/分析处理(HSAP)系统在处理高并发查询负载的同时,还需要支持海量数据的实时写入。实时写入的数据量远远超过了传统联机分析处理(OLAP)系统的要求。例如,以上实时推荐场景将持续每秒写入数千万甚至数亿个事件。与传统联机分析处理(OLAP)系统的另一个区别是混合服务/分析处理(HSAP)系统对实时数据的要求很高。为了确保服务和分析结果的效率,其书面数据需要在几秒钟甚至几秒钟内可见。 灵活性和可扩展性:数据写入和查询的负载可能会出现突发峰值,这对系统的灵活性和可扩展性提出了很高的要求。在实际应用中,注意到数据写入的峰值可以达到平均值的2.5倍,查询的峰值可以达到平均值的3倍。此外,数据写入和查询的峰值不一定同时出现,这也要求系统具有根据不同峰值进行快速调整的能力。 混合服务/分析处理(HSAP)的系统设计 为了应对这些挑战,典型的混合服务/分析处理(HSAP)系统可以采用以上相似的架构。 存储和计算的存储分解:所有数据都存储在分布式文件系统中,企业通过切分来扩展系统。存储管理器将管理这些碎片。资源管理器对系统的计算资源进行管理,保证系统能够处理高吞吐量的数据写入和查询要求。该架构可以随着工作负载的变化而快速扩展,当查询负载变大时可以扩展计算资源,当数据量快速增长时,可以快速扩展存储资源。存储和计算的分离确保了这些操作可以快速完成,而无需等待数据的移动/复制。该架构显著简化了操作和维护,为系统的稳定性提供了保证。 统一实时存储:为了支持各种查询模式,统一的实时存储层至关重要。查询可以大致分为两种类型,一种是点查询(其中大多数是数据服务类型),另一种是扫描大量数据的复杂分析查询(其中大多数是分析类型)。当然,两者之间有许多查询。这两种查询类型也对数据存储提出了不同的要求。基于行的存储可以更有效地支持点查询,而列存储在支持具有大量扫描的查询中具有明显的优势。需要在行存储和列存储之间做出折衷,但其代价是在检查和扫描数据的情况下无法获得优质性能。希望在两种情况下都能达到优质效果,因此系统同时支持行存储和列存储,并且用户可以根据方案选择每个表的存储。对于同时具有两个需求的表,允许用户通过索引抽象同时选择两种存储,系统通过索引维护机制确保两者之间的一致性。在实践中,发现此设计带来的效率和灵活性可以更好地支持业务。 工作负载隔离 通过计划来保证在混合工作负载下系统的服务水平目标(SLO)。在理想情况下,大型查询应该能够利用所有资源。当多个查询同时运行时,这些查询需要公平地共享资源。由于面向服务的点查找查询通常相对简单,并且需要较少的资源,因此这种公平的调度机制可以确保即使存在复杂的分析查询,也仍然可以保证面向服务的查询的等待时间。作为分布式系统,调度可以分为分布式调度和过程调度。协调器将查询分解为多个任务,这些任务分配给不同的进程。协调人员需要采取某些策略来确保公平。同样重要的是,企业还需要允许不同的任务在流程中公平地共享资源。由于操作系统不了解任务之间的关系,因此在每个进程中都实现了一个用户状态调度程序,以更灵活地支持工作负载隔离。 系统的开放性 许多企业已经使用了其他存储平台或计算引擎,因此新系统必须考虑与现有系统的集成。查询、计算和存储的集成需要很高的时间效率,可以带来明显的优势。但是,对于没有高时间效率的脱机计算,存储层可以提供一个统一的接口来打开数据,这使得其他引擎能够提取数据进行处理,并给业务带来更大的灵活性。开放性的另一方面是处理存储在其他系统中的数据的能力,这可以通过联合查询来实现。 混合服务/分析处理(HSAP)的应用 以下将分享阿里巴巴集团的搜索推荐优化运营业务。 原始搜索推荐完善的运营业务架构 可以通过一系列存储和计算引擎(HBase、Druid、Hive、Drill、Redis等)的复杂协作来满足业务需求,多个存储需要通过数据同步任务来保持近似同步。这种业务架构极其复杂,整个业务架构的开发需要大量的时间。 升级搜索推荐优化运营业务架构 阿里巴巴2019年的网站购物购买额超过2684亿元人民币(379.6亿美元),而阿里巴巴已在2019年的“双十一”通过混合服务/分析处理(HSAP)系统对其业务进行了升级。混合服务/分析处理(HSAP)系统总共支持1.45亿个在线查询,这进一步支持了非常复杂的业务的分析和决策过程,同时,这些分析背后还包含具有1.3亿个实际数据的大规模数据记录而不会生成冗余数据。 阿里巴巴新的架构更加简化。用户、商品、商家的数据和大量用户行为数据从在线和离线ETL进入混合服务/分析处理(HSAP)系统。混合服务/分析处理(HSAP)系统提供查询和分析服务,例如实时数据可视化、实时报告、效果跟踪、实时数据应用等。它通过提供实时数据可视化、实时销售等服务帮助做出更好的决策。预测、实时库存监控、实时商业智能报告、实时监控业务进度、监控运营增长、跟踪算法效果、实时标签、实时肖像、竞争分析、客户定位、产品推荐以及奖金分配等数据产品有助于精确的运营和决策。实时数据服务支持算法控制、库存监视和预警以及其他服务。一套混合服务/分析处理(HSAP)系统实现了所有渠道和所有过程的数据共享和重用,从而从运营商、产品所有者、算法所有者、开发人员、分析师或高级经理的不同业务角度解决了数据分析和查询要求。 通过提供统一的实时存储而不需要任何数据复制,混合服务/分析处理(HSAP)架构为点查找查询、联机分析处理(OLAP)分析、在线数据服务以及其他各种查询和服务提供了一站式服务。这种新的架构显著降低了应用程序的复杂性,并使企业能够快速响应新的业务需求。实时性能中的秒级甚至亚秒级延迟使决策更加迅速和高效,从而允许数据创造更大的商业价值。

    时间:2020-08-27 关键词: 技术 大数据 分析

  • 阴阳师SP缚骨清姬技能分析 不削有机会成为人权卡

    阴阳师SP缚骨清姬技能分析 不削有机会成为人权卡

    阴阳师SP缚骨清姬技能到底怎么样?SP缚骨清姬技能强不强?SP缚骨清姬技能好不好用?今天小编就为大家介绍下SP缚骨清姬技能分析,我们一起来看看吧! 基础面板 攻击S、生命A、防御B、速度S、暴击C,很奇葩的面板,攻击很高,速度超级快高达118,但是暴击非常的低,本身生存能力还算是中上等水准,让人搞不清楚具体的定位。 一技能 效果:目标造成攻击70%伤害(满级是100%),每次攻击对目标附加持续5回合3级中毒,和持续至战斗结束的20点减防(上限200点)(满级5级中毒,50点减防上限500点) 解读 常规的破防普攻类型的技能,看满级的效果,感觉喂满的必要性很高。 二技能:0火 效果: 1)对敌方非召唤单位施加怨,并召唤蛇灵,每回目限制释放1次,唯一效果 2)带有怨的目标挂了以后,蛇灵返回,SP清姬解除自身所有控制并吸取目标40%全体属性 3)受到致命伤害时,扑向带有怨的目标,使其之后受到伤害时,削减等量生命上限(最多降低至20%)之后和蛇灵阵亡 怨:每损失1%生命,造成伤害降低1%,受到伤害增加1% 蛇灵:继承SP清姬全部属性,被召唤时,移除我方召唤物位置上的召唤物,不可被攻击,行动时对带有怨的目标造成攻击200%伤害,并附加1回合怨火(满级后,蛇灵行动拉条SP清姬30%+在场降低清姬40%受到的伤害+被召唤后立刻行动1次+带有怨的目标行动后,蛇灵额外行动1次) 怨火:行动前受到99%间接伤害 最复杂也是最核心的技能,看技能展示效果,就是把SP清姬的蛇扔到了召唤位置。这个蛇灵相当于变相残废了对面一个单位,和鬼吞技能是反着来的,血克SP酒吞,血越少伤害越低。蛇灵本身输出不错就还有怨火攻击,对方行动还能拉条SP清姬,让SP清姬动的更加频繁,关键是想干掉这个蛇灵必须要干掉清姬,清姬有接近同归于尽的削减生命上限的能力。简单来说就是谁被SP清姬缠上了谁倒霉,碰不得。 三技能 效果 攻击目标3次,每次70%伤害,附加1回合的1层瞳蛊。(满级100%伤害) 瞳蛊:受到治疗效果时触发,消耗1层使其无效,上限3层。满级后还能通过消耗1层阻止敌人拉条,如果触发的话,降低目标8%最大生命上限(最多降低至20%) 蛇灵返回后,替换成新技能:追加效果,对敌方全体附加持续3回合的怨火 核心三技能有点意思,吃了这个技能的单位,无法拉条和接受治疗反而会受到伤害,和百目鬼的技能一样。 替换升级的技能是被SP清姬附加了怨的单位挂了以后升级获得的,直接让清姬获得了AOE的剑阶伤害能力。 云评价 这么说吧,这式神一看就不是打PVE的,毕竟占据了召唤物的位置,而且还是单体,减防的实质效果还需要待测试,不是说打不了,而是现阶段其核心特色明显不是针对PVE的(EVP应该很强)PVP方面,目前来看是什么玩意都有,高速+减伤+破防减速+削生命上限+禁疗+锁拉条+偷属性,什么玩意都有,什么都不是特别的专精,等待实战测试,如果厉害的话就是全能式神,不厉害的话就是多边形仓管。

    时间:2020-07-06 关键词: 技能 机会 阴阳 人权 分析

  • FTP协议的分析和扩展

    >>1.0<< FTP和TCP端口号 根据是使用Port模式还是Passive模式,FTP使用不同的TCP端口号,在详细描述FTP前,我们来 简单讨论一下TCP端口号的一些基本概念。TCP使用端口号来标识所发送和接收的应用,端口号 可以帮助TCP来分离字节流并且帮相应字节传递给正确的应用程序。 TCP端口号可以是半永久的和暂时的。服务器端监听在半永久的端口上来让客户端访问。客户 端使用暂时的端口在本地标识一个对话,客户端端口只在使用TCP服务时候才存在,而服务器 端口只要服务器在运行就一直在监听。 TCP端口可以归为3类: 1、众所周知的端口来标识在TCP上运行的标准服务,包括FTP、HTTP、TELNET、SMTP等,这些 端口号码范围为0-1023; 2、注册端口号用来标识那些已经向IANA(Internet Assigned Numbers Assigned Numbers Authority)注册的应用,注册端口号为1024-49151; 3、私有端口号是非注册的并且可以动态地分配给任何应用,私有端口为49152-65535; 注册的端口号本来打算只给注册的应用使用,可近年来端口号已经陷入了到达极限的困境,你可能会看到本来应该是给注册应用使用的注册端口被非注册应用用做暂时的端口。RFC1700详 细标注了众所周知的和注册的端口号。>>2.0<< FTP Port模式和FTP Passive模式 当你对一个FTP问题进行排错时候,你首先要问的一个问题是使用的是port模式的还是passive 模式。因为这两种行为迥异,所以这两种模式引起的问题也不同;在过去,客户端缺省为acti ve(port)模式;近来,由于Port模式的安全问题,许多客户端的FTP应用缺省为Passive模式。 >>2.1 FTP Port模式 Port模式的FTP步骤如下: 1、 客户端发送一个TCP SYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端 使用暂时的端口作为它的源端口; 2、 服务器端发送SYN ACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口; 3、 客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP命令,服务器端使用这个连接来发送FTP应答; 4、 当用户请求一个列表(List)请求或者发起一个要求发送或者接受文件的请求,客户端软件使用PORT命令,这个命令包含了一个暂时的端口,客户端希望服务器在打开一个数据连接时候使用这个暂时端口;PORT命令也包含了一个IP地址,这个IP地址通常是客户自己的IP地址,而且FTP也支持第三方(third-party)模式,第三方模式是客户端告诉服务器端打开与另台主机的连接; 5、 服务器端发送一个SYN包给客户端的暂时端口,源端口为20,暂时端口为客户端在PORT命令中发送给服务器端的暂时端口号; 6、 客户端以源端口为暂时端口,目的端口为20发送一个SYN ACK包; 7、 服务器端发送一个ACK包; 8、 发送数据的主机以这个连接来发送数据,数据以TCP段(注:segment,第4层的PDU)形式发送(一些命令,如STOR表示客户端要发送数据,RETR表示服务器段发送数据),这些TCP段都需要对方进行ACK确认(注:因为TCP协议是一个面向连接的协议) 9、 当数据传输完成以后,发送数据的主机以一个FIN命令来结束数据连接,这个FIN命令需要另一台主机以ACK确认,另一台主机也发送一个FIN命令,这个FIN命令同样需要发送数据的主机以ACK确认; 10、 客户端能在控制连接上发送更多的命令,这可以打开和关闭另外的数据连接;有时候客户端结束后,客户端以FIN命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认。 下图图示了FTP PORT模式前几步步骤: /====================================================================/ | | | [ ftp Client ] [ ftp Server ] | | | | (TCP:21 连接初始化,控制端口) | | SYN | | Port xxxx ----------------------> Port 21 [TCP] | | SYN+ACK | | Port xxxx <---------------------- Port 21 | | ACK | | Port xxxx ----------------------> Port 21 | | | | (控制操作: 用户列目录或传输文件) | | | | Port, IP, Port yyyy | | Port xxxx <---------------------- Port 21 | | Port Seccussful | | Port xxxx <---------------------- Port 21 | | List, Retr or Stor | | Port xxxx ----------------------> Port 21 | | | | | | (TCP:20 连接初始化,数据端口) | | SYN | | Port yyyy <---------------------- Port 20 | | SYN+ACK | | Port yyyy ----------------------> Port 20 | | ACK | | Port yyyy <---------------------- Port 20 | | | | | | (数据操作: 数据传输) | | Data + ACK | | Port yyyy s: %000010 | | 0. .... (No Urgent pointer) | | .0 .... (No Ack) | | .. 0... (No Push) | | .. .0.. (No Reset) | | .. ..1. SYN | | .. ...0 (No FIN) | | | | Window: 3731 | | Checksum: 0x8A4C | | Urgent Pointer: 0 | | No TCP Options | | | | TCP Options | | Options Type: 2 Maxinum Segment Size | | Length: 4 | | MSS: 1460 | | | | FCS - Frame Check Sequence | | FCS (Calculated): 0x5A1BD023 | /====================================================================/ 当使用FTP时候,网络中的防火墙必须要声明相应的端口,防火墙必须要跟踪FTP对话然后检查PORT命令,防火墙必须要参与从服务器端到客户端在PORT命令中指定的端口连接的建立过程。 如果网络中使用了NAT(注:网络地址翻译),那么NAT的网关同样也需要声明相应的端口,网关需要把在PORT命令中指定的IP地址翻译成分配给客户的地址,然后重新计算TCP的Checksum;如果网关没有正确地执行这个操作,FTP就失败了。 黑客可能会利用FTP支持第三方特性这一特点,在PORT命令中设置IP地址和端口号参数来指定一台目标主机的地址和端口号(有时候称这种攻击为FTP反弹攻击),例如黑客可以让一台FTP服务器不断地从它的源端口20发送TCP SYN包给一系列目的端口,让FTP服务器看起来正在进行 端口扫描,目的主机不知道攻击来自黑客的主机,看起来攻击象是来自FTP服务器。一些常用的FTP应用在PORT命令中设置地址为0.0.0.0,这样做的意图是让FTP服务器只需要与打开控制连接的相同客户进行数据连接,设置地址为0.0.0.0可能会让防火墙不知所措。例如,CISCO PIX IOS 6.0以上版本的PIX(注:CISCO硬件防火墙设备,6.0以上版本为其修正了相关的FTP协议)要求数据连接的IP地址与已经存在的控制连接的IP地址必须相同。这样做的原因是防止黑客用PORT命令来攻击别的机器,虽然一些FTP应用设置IP地址为0.0.0.0不是有意图的攻击,但在PIX修正协议环境下的确引起了一些问题,同时对其他不允许第三方模式和避免FTP反弹攻击的防火墙来说,这也会引起相同的问题。 >>2.2 FTP Passive模式 下面的列表描述了Passive模式的FTP的步骤,步骤1到3和Port模式FTP相同,步骤9到11同样与Port模式FTP最后三步相同。 1、客户端发送一个TCP SYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端使用暂时的端口作为它的源端口; 2、服务器端发送SYN ACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口; 3、客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP命令,服务器端使用这个连接来发送FTP应答; 4、当用户请求一个列表(List)或者发送或接收文件时候,客户端软件发送PASV命令给服务器端表明客户端希望进入Passive模式; 5、服务器端进行应答,应答包括服务器的IP地址和一个暂时的端口,这个暂时的端口是客户端在打开数据传输连接时应该使用的端口; 6、客户端发送一个SYN包,源端口为客户端自己选择的一个暂时端口,目的端口为服务器在PASV应答命令中指定的暂时端口号; 7、服务器端发送SYN ACK包给客户端,目的端口为客户端自己选择的暂时端口,源端口为PASV应答中指定的暂时端口号; 8、客户端发送一个ACK包; 9、发送数据的主机以这个连接来发送数据,数据以TCP段(注:segment,第4层的PDU)形式发送(一些命令,如STOR表示客户端要发送数据,RETR表示服务器段发送数据),这些TCP段都需要对方进行ACK确认; 10、当数据传输完成以后,发送数据的主机以一个FIN命令来结束数据连接,这个FIN命令需要另一台主机以ACK确认,另一台主机也发送一个FIN命令,这个FIN命令同样需要发送数据的主机以ACK确认; 11、客户端能在控制连接上发送更多的命令,这可以打开和关闭另外的数据连接;有时候客户端结束后,客户端以FIN命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认。 下图图示了Passive模式FTP的开始几个步骤: /====================================================================/ | | | [ ftp Client ] [ ftp Server ] | | | | (TCP:21 连接初始化,控制端口) | | SYN | | Port xxxx ----------------------> Port 21 [TCP] | | SYN+ACK | | Port xxxx <---------------------- Port 21 | | ACK | | Port xxxx ----------------------> Port 21 | | | | (PASV操作: 被动连接数据端口初始化) | | | | PASV | | Port xxxx ----------------------> Port 21 | | PASV OK, IP, Port yyyy | | Port xxxx <---------------------- Port 21 | | SYN | | Port zzzz ----------------------> Port yyyy | | SYN+ACK | | Port zzzz <---------------------- Port yyyy | | ACK | | Port zzzz ----------------------> Port yyyy | | | | | | (数据操作: 数据传输) | | List, Retr or Stor | | Port xxxx ----------------------> Port 21 | | Data + ACK | | Port zzzz. ...0 (No FIN) | | | | Window: 8192 | | Checksum: 0x1A57 | | Urgent Pointer: 0 | | No TCP Options | | | | TCP Options | | Options Type: 2 Maxinum Segment Size | | Length: 4 | | MSS: 1460 | | | | FCS - Frame Check Sequence | | FCS (Calculated): 0x5A1BD023 | /====================================================================/ 大多数人认为在防火墙网络环境中Passive模式比Port模式的问题小,但我们注意到在Passive模式下,客户端打开一个暂时的目的端口连接,一些防火墙或者CISCO设备的访问列表(ACL)可能会阻止这种连接,同样服务器的回应也是从一个暂时的端口到一个暂时的端口,防火墙或者CISCO的访问列表也会阻止这种连接。在CISCO路由器上你可以用访问列表关键字"established"来避免第二个问题,"established"关键字告诉路由器允许带ACK字端的包通过,服务器端的SYN ACK包带有ACK字端。在新版本PIX IOS中也可以通过fixit关键字建立针对ftp协议的深层状态检测过滤,其他大多数状态检测防火墙例如LinuxNetfilters也支持ftp协议的状态检测,进行准确的PASV动态端口过滤。 >>2.3 用户名和口令的明文传输 FTP另一个声名狼藉的问题是它以明文方式发送用户名和口令,也就是不加密地发送。任何人只要在网络中合适的位置放置一个协议分析仪就可以看到用户名和口令;FTP发送的数据也是以明文方式传输,通过对ftp连接的监控和数据收集就可以收集和重现ftp的数据传输并实现协议连接回放。事实上很多用户把相同的用户名和口令用在不同的应用中,这样这个问题可能看起来更为糟糕;如果黑客收集到FTP口令,他们也可能就得到了你在线帐号或者其他一些机密数据的口令。 下面是通过tcpdump -- 一个著名的网络协议分析程序抓取的ftp的完整通讯过程。 /=================================================================/ 21:55:36.682402 IP 192.168.0.1.2323 > 192.168.0.3.21: S 2047626269:2047626269(0) win 65535等等,但是在大多数情况下,ftp的通用性和易用性使得它在很长一段时间内必然无法被完全取代。所以如同其他一系列古董服务(例如SMTP/HTTP)一样,近年来也出现了一些不需要对ftp协议自身做完全更改的协议扩展模块,能够良好的完成兼容性和功能扩展。ftp SSL/TLS Extension就是其中一种方式。 >>3.1 SSL/TLS简介 先说一下SSL/TLS协议,SSL(Secure Socket Layer)最早是netscape公司设计的用于HTTP协议加密的安全传输协议,SSL工作于TCP协议的传 输层(TCP层)和应用程序之间。作为一个中间层,应用程序只要采用SSL提供的一套SSL套接字API来替换标准的Socket套接字,就可以把程序转换为SSL化的安全网络程序,在传输过程中将由SSL协议实现数据机密性和完整性的保证。SSL协议的当前版本为3.0,当SSL取得大规模成功后,IETF(www.ietf.org)将SSL作了标准化,规范为RFC2246,并将其称为TLS(Transport Layer Security)。从技术上讲,TLS1.0与SSL3.0的差别非常微小,SSL由于其历史应用的原因在当前的商业应用程序之中使用得更多一些。 >>3.2 数据机密性和完整性 前面多次提到了数据的机密性和完整性两个方面,在此略微解释一下。数据的机密性确保数据信息机密可靠,不会被没有权限的对象所访问和浏览到,基本的机密性保护手段就是数据加密;而数据的完整性则是指数据在传输和存储过程中将保证数据的唯一和完整,不会被恶意篡改着所修改,保证数据完整性的基本手段主要有数字签名。 这里就牵扯到数据加密领域的两类算法,加密算法和散列算法。加密算法从数学原理上看可以分为对称加密和非对称加密,从数据处理方法上可以分为流加密和分组加密,本文重点不在此,不再赘述,只举例几种常用的加密算法: DES, 3DES, AES, BlowFish,RC2-RC6等等。数据签名算法是加密领域的另一套方法,又叫数据散列算法,用于对数据进行处理生成一个唯一的等长签名字符串,原数据的长度可能是任意的,而任意两个相似但哪怕只有少许细差别的数据集,都将产生差别非常大的等长签名字符串,这个字符串在一般意义下被认为是极少会发生空间冲突(重复)的,因此数据散列算法对于确保数据的唯一性是一种必要的手段;常见的数字散列算法有MD5,SHA-1,CAST-256等等。 可以看出,面对如此多种类的加密算法,应用程序处理起来是很繁琐的。SSL在这个层次中就提供了一种自动的算法协商,密钥交换和数据加密过程。SSL协议分为两部分:Handshake Protocol和Record Protocol,HandShake部分用于处理通讯双方的算法协商和密钥交换过程,Record部分用于对数据进行加密传输。 整个的SSL基本通讯过程如下: /====================================================================/ | | | [ SSL Client ] [ SSL Server ] | | | | (TCP三步握手) | | (SSL套结字连接) | | . | | . SSLSocket() | | . Bind() | | SSLSocket() -------------------> | | <------------------- Connect | | (连接加密算法协商) | | ClientHello() -------------------> | | (服务器端算法确认和证书发送)| | ServerHello | | Certificate* | | ServerKeyExchange* | | CertificateRequest* | | <------------------- ServerHelloDone | | (客户端证书验证与密钥交换) | | Certificate* | | ClientKeyExchange | | CertificateVerify* | | [ChangeCipherSpec] | | Finished -------------------> (数据加密算法协商) | | [ChangeCipherSpec] | | <------------------- Finished | | (应用数据加密传输) | | Application Data----------------------------------------- 234 | | TLSneg()程: /======================================================================/ | WinSock 2.0 -- OpenSSL 0.9.7d 17 Mar 2004 | | [R] Connecting to 192.168.21.3 -> IP=192.168.21.3 PORT=9909 | | [R] Connected to 192.168.21.3 | | [R] Connected. Negotiating SSL/TLS session.. | | [R] SSL/TLS negotiation successful... | | [R] TLSv1/SSLv3 encrypted session using cipher AES256-SHA (256 bits) | | [R] 220 Please enter your login name now. | | [R] PBSZ 0 | | [R] 200 PBSZ Command OK. Protection buffer size set to 0. | | [R] USER elly | | [R] 331 Password required for elly . | | [R] PASS (hidden) | | [R] 230 User elly logged in. | | [R] SYST | | [R] 215 UNIX Type: L8 , CP:936 | | [R] PROT P | | [R] 200 PROT P accepted. | | [R] PASV | | [R] 227 Entering Passive Mode (192,168,21,3,5,122) | | [R] Opening data connection IP: 192.168.21.3 PORT: 1402 | | [R] LIST -al | | [R] Connected. Negotiating SSL/TLS session.. | | [R] 150 Opening ASCII data connection for ls / using SSL/TLS. | | [R] SSL/TLS negotiation successful... | | [R] TLSv1/SSLv3 encrypted session using cipher AES256-SHA (256 bits) | | [R] List Complete: 181 bytes in 0.17 seconds (1.04 KBps) | /======================================================================/ Explicit SSL模式下ftp client <-- server的通讯数据,可以看到AUTH SSL之后的指令全部都已经加密,无法看到。对应2.3节中的传统通讯过程,这确保了传输过程中数据无法被窃听到。 在Implicit SSL模式中,从初始化连接开始的数据将全部加密,无法分析,因此此处不摘录。 /======================================================================/ 21:34:22.095241 IP 192.168.0.1.2279 > 192.168.0.3.999: S 1727744887:1727744887(0) win 6553571(866) ack 141 win 65395 (DF) 0x0000 4500 038a 8dad 4000 8006 e86b c0a8 0003 E.....@....k.... 0x0010 c0a8 0001 03e7 08e7 d67d 9aa4 66fb 4c04 .........}..f.L. 0x0020 5018 ff73 e356 0000 1603 0100 4a02 0000 P..s.V......J... 0x0030 4603 0140 8283 7da1 8821 775e 7765 a9ee F..@..}..!w^we.. 0x0040 18ca e0ab 1b17 461e bf71 515f 6837 5c1a ......F..qQ_h7/. /======================================================================/ >>4.0<< 总结 FTP的替代应用 如今,如果考虑到其他一些安全的文件传输选择,可能看起来没有理由再使用FTP了,如SCP或者SFTP,与FTP应用相似但运用SSH(注:Secure Shell)来进行验证和加密,如果你使用一台基于UNIX的服务器,你可以在命令方式下调用SCP或者SFTP。如果你只是用FTP来更新你的Web页面,有别的替代应用,称为WebDAV的新的协议,WebDAV是HTTP的扩展,它允许多个用户共同编辑和维护远程WEB服务器上的文件。FTP是在70年代设计出来的,那个时候互联网还是一个封闭的网络,网络安全不是一个大的问 题。当FTP在使用NAT网关、防火墙、CISCO访问列表的现代网络环境中运用的时候,不管你使用Port模式还是Passive模式,都可能产生一些问题。

    时间:2019-04-19 关键词: 扩展 ftp协议 分析

  • 运算放大器的噪声分析与设计

    运算放大器的噪声分析与设计

    D类音频功率放大器中,前置运算放大器是一个比较重要的模块,它位于整个拓扑结构中的前面,完成输入信号源的加工处理,或者实现放大增益的设置,或者实现阻抗变换的目的,使其和后面功率放大级的输入灵敏度相匹配;前置放大器获得并稳定输入音频信号,并确保差动信号,设计时需要尽量减小其等效输入的闪烁噪声及热噪声,降低输出电阻,增加其PSRR、CMRR、SNR、频带宽度、转换效率等参数。 一般来说,双极晶体管的闪烁噪声具有较低的转角频率(闪烁噪声和热噪声的交叉点),低于MOS晶体管的闪烁噪声,在音频等低频的设计系统中,应用双极晶体管的设计有利于降低噪声,然而在混合信号电路的设计中,衬底噪声对双极晶体管就有很大的影响,所以在混合信号电路设计中,更多的使用MOS晶体管,因此这里提到的运放就采用CMOS工艺完成了相应的设计。 1 音频功放中前置运算放大器的功能 如图1所示,D类音频功率放大器主要由以下几个模块组成:前置运算放大器、调制级、偏置、控制级、驱动级及输出功率管级(BTL);前置运算放大器位于整个结构的最初端,本设计中,要求前置运放有正常工作模式(play)及噪声抑制工作模式(mute)两种工作模式,在正常工作模式下,运放接收信号源,正常工作,后面各级完成相应调制及信号的再生;在噪声抑制工作模式下,运放停止接收输入信号源,差分输出端各被钳制在固定的电压下,其它模块正常工作,BTL输出端为相同的输出方波,在负载上,看不到信号的再生重现,此时处于静音状态,使用静噪状态的主要作用是抑制开关机时候的爆裂(pop)噪声,其实现的电路内部结构如图2所示。 2 前置运算放大器的噪声特性 运算放大器电路中存在5种噪声源:散粒噪声(Shot Noise)、热噪声(Thermal Noise)、闪烁噪声(Flicker Noise)、爆裂噪声(Burst Noise)、雪崩噪声(Avalanche Noise),对于CMOS工艺,散粒噪声、爆裂噪声和雪崩噪声在运算放大器电路中通常没有太大影响,即使有,也能够消除,在噪声分析中可以不予考虑。 2.1 噪声模型 电阻的噪声主要是热噪声。该噪声可以等效为一个理想的无噪声电阻串连一个电压源,或并联一个电流源作为它的噪声模型,其等效的噪声电流及电压分别为: 运算放大器制造商提供的噪声指标,通常是指在运算放大器输入端测试的噪声,包括热噪声及闪烁噪声。而运算放大器内部的噪声通过内部等效来描述,运算放大器内部可视为一个理想的无噪声运算放大器(Noisless OpAmp),通过在理想无噪声运算放大器的同相输入端串联一个噪声电压源,同相、反相输人端到地分别串联一个噪声电流源,来表征内部噪声,对于单管NMOS或者PMOS,它们的等效噪声电流及噪声电压分别为: 上面各式及下面提到的公式中,K为Boltzmann常数,T是热力学温度,gm为晶体管的跨导。k是MOS晶体管闪烁噪声系数,W,L分别为MOS晶体管的有效栅宽度和长度,Cox是单位面积的栅氧化层电容。 2.2 前置运算放大器的噪声分析 音频功率放大器中的前置运放,其噪声模型可以如图4所示,R1、R2是输入电阻,R3、R4是反馈电阻,R3和R4为可调电阻,用于设置其整个功放的增益,e1、e2、e3、e4分别为4个电阻的热噪声电压,4个电阻对输入的噪声影响电压分别为: 其前置运算放大器的噪声为电阻噪声与其运放内部噪声的总和,下面就分析运放内部噪声。 2.3 全差分运放的内部噪声分析 我们知道,噪声设计的关键是输入级的低噪声设计,因此在大多数运放设计的时候,第一级的关键不是增益的设计,因为这一级的噪声大小直接决定了整个运放的噪声特性。PMOS管比NMOS管的噪声系数低,利于减小其输入噪声电压,因此输入级常采用:PMOS管差分输入结构。图5就是运放输入级的噪声分析图,输入管为PMOS。 差分管的源极接到同一点上,那么电流源负载的噪声就是相关噪声源,其等效到Mp1和Mp2上的噪声由于差动的作用就可以相互抵消,从而减小了电路的噪声。Mp1、Mp2为输入差分对管。另外,对于Mn3管,噪声电压对输入的影响也可以忽略。 3 电路设计及物理层设计 由以上噪声特性的分析可以看出,要改善运算放大器的噪声需要选择合适的电阻及合适的MOS管的栅宽长比,本文应用Winbond 0.5μ CMOS典型工艺,对运放噪声进行了分析,如图6和图7,其中L1<L2<L3。 由图6和图7可以看出,输入管及负载管L越大,噪声特性越好,但由于版图及稳定性的要求,不可能使用过大的L值;通过同样的仿真,对输入的宽长比,我们也可以得到类似的结论;因此,本文的运放选择合适的电阻及输入级和负载管的宽长比,完成了很好的设计,图8给出了详细电路图,且表1给出了其设计的基本仿真结果。 由表1仿真结果可以看出,运放采用低静态电流设计,实现较低的噪卢特性、较高的电源抑制比,及较快的转换速率等。 图9是前置运算放大器在功率放大器中的完整版图,使用Winbond 0.5μCMOS工艺,此工艺本身对衬底的噪声有一定的抑制,对音频功率放大器的设计提供了很好的前提,上图的3个框分别为外部反馈电阻、运算放大器内部结构及内部调零电阻,并且很好地实现了电阻电容及晶体管的匹配。 4 结束语 噪声是运算放大器非常重要的参数,它决定了整个系统的灵敏度,本文从噪声这个参数入手,分析了音频放大器中前置运放的噪声特性,给出了改善噪声的方法,并用winbond 0.5μCMOS工艺完成了相关设计。

    时间:2018-11-06 关键词: 电源技术解析 运算放大器 噪声 音频功率放大 分析

  • 集成运算放大器构成交流放大电路的分析和设计

    集成运算放大器构成交流放大电路的分析和设计

    0 引言 集成运算放大器(简称集成运放或运放)在电子电路中应用非常广泛。运放的多数典型应用电路在各类电子技术教科书中都有详细和深入的分析,而用集成运放构成交流信号放大电路很多教科书却没有介绍,有些教科书虽有介绍,但是介绍简单,分析不全面。用集成运放构成的交流放大电路具有线路简单、免调试、故障率低等优点,如今许多电子产品中的交流放大电路普遍采用运放构成,全面分析集成运放构成的各种交流放大电路的组成和参数计算,有助于对该类电路的检修,以及合理设计和使用集成运放构成的交流放大电路。 1 运放交流放大电路的分析 1.1 使用双电源的运放交流放大电路 为了使运放在零输入时零输出,运放的内部电路是按使用双电源的要求来设计的。运放交流放大电路采用双电源供电,可以增大动态范围。 1.1.1 双电源同相输入式交流放大电路 图1是使用双电源的同相输入式交流放大电路。两组电源电压VCC和VEE相等。C1和C2为输入和输出耦合电容;R1使运放同相输入端形成直流通路,内部的差分管得到必要的输入偏置电流;RF引入直流和交流负反馈,并使集成运放反相输入端形成直流通路,内部的差分管得到必要的输入偏置电流;由于C隔直流,使直流形成全反馈,交流通过R和C分流,形成交流部分反馈,为电压串联负反馈。引入直流全反馈和交流部分反馈后,可在交流电压增益较大时,仍能够使直流电压增益很小(为1倍),从而避免输入失调电流造成运放的饱和。 无信号输入时,运放输出端的电压V0≈0V,交流放大电路的输出电压U0=0V;交流信号输入时,运放输出端的电压V0在-VEE~+VCC之间变化,通过C2输出放大的交流信号,输出电压uo的幅值近似为VCC(VCC=VEE)。引入深度电压串联负反馈后,放大电路的电压增益为放大电路输入电阻Ri=R1//γif。γif是运放引入串联负反馈后的闭环输入电阻。γif很大,所以Ri=R1/γif≈R1;放大电路的输出电阻R0=γof≈0,γof是运放引入电压负反馈后的闭环输出电阻,rof很小。 1.1.2 双电源反相输入式交流放大电路 图2是使用双电源的反相输入式交流放大电路。两组电源电压VCC和VEE相等。RF引入直流和交流负反馈,C1隔直流,使直流形成全反馈,交流通过R和C1分流,形成交流部分反馈,为电压并联负反馈。为了减小运放输入偏置电流造成的零点漂移,可以选择R1=RF。引入深度电压并联负反馈后,放大电路的电压增益为因为运放反相输入端"虚地",所以放大电路的输入电阻Ri≈R;放大电路的输出电R0=r0f≈0。 1.2 使用单电源的运放交流放大电路 在采用电容耦合的交流放大电路中,静态时,当集成运放输出端的直流电压不为零时,由于输出耦合电容的隔直流作用,放大电路输出的电压仍为零。所以不需要集成运放满足零输入时零输出的要求。因此,集成运放可以采用单电源供电,其-VEE端接"地"(即直流电源负极),集成运放的+Vcc端接直流电源正极,这时,运放输出端的电压V0只能在0~+Vcc之间变化。在单电源供电的运放交流放大电路中,为了不使放大后的交流信号产生失真,静态时,一般要将运放输出端的电压V0设置在0至+Vcc值的中间,即V0=+Vcc/2。这样能够得到较大的动态范围;动态时,V0在+Vcc/2值的基础上,上增至接近+Vcc值,下降至接近0V,输出电压uo的幅值近似为Vcc/2。 1.2.1 单电源同相输入式交流放大电路 图3是使用单电源的同相输入式交流放大电路。电源Vcc通过R1和R2分压,使运放同相输入端电位由于C隔直流,使RF引入直流全负反馈。所以,静态时运放输出端的电压V0=V-≈V+=+Vcc/2;C通交流,使RF引入交流部分负反馈,是电压串联负反馈。放大电路的电压增益为 放大电路的输入电阻Ri=R1/R2/rif≈R1/R2, 放大电路的输出电阻R0=r0f≈0。1.2.2 单电源反相输入式交流放大电路 图4是使用单电源的反相输入式交流放大电路。电源V cc通过R1和R 2分压,使运放同相输入端电位 为了避免电源的纹波电压对V+电位的干扰,可以在R2两端并联滤波电容C3,消除谐振;由于C1隔直流,使RF引入直流全负反馈。所以,静态时,运放输出端的电压V0=V-≈V+=+Vcc/2;C1通交流,使RF引入交流部分负反馈,是电压并联负反馈。放大电路的电压增益为放大电路的输入电阻Ri≈R,放大电路的输出电阻R0=r0f≈0。  2 运放交流放大电路的设计 在设计单级运放交流放大电路时, (1)选择能够满足使用要求的集成运算放大器。在采用电容耦合的交流放大电路中,由于电容隔直流,交流放大电路输出的温度漂移电压很小。因此,对集成运放漂移性能的要求可以降低,主要从转换速率、增益带宽、噪声等方面来考虑选用集成运放。对脉冲信号、宽频带交流信号和视频信号等,应选用转换速率较高、增益带宽至少是最高工作频率10倍的集成运放。对音质要求比较高的音频交流放大电路中常采用高速低噪声的集成运放,如双运放的4558、NE5532等。 (2)确定采用双电源供电还是单电源供电。在使用条件许可的情况下,运放交流放大电路尽量采用双电源供电方式,以增大线性动态范围。当集成运放双电源使用时,正、负电源电压一般要对称。且电源电压不要超过使用极限,电源滤波要好。为了消除电源内阻引起的低频自激,常常在正、负电源接线与地之间分别加0.01~0.1 μF的电容退耦。使用单电源供电时,运放同相输入端电位要小于该运放的最大共模输入电压。 (3)确定输入信号是同相输入还是反相输入。若要求放大电路的输入电阻比较大,应采用同相输入式交流放大电路。因为反相输入式交流放大电路输入电阻的提高会影响电压增益。由图2或图4相关计算式可知,增大反相输入式交流放大电路输入电阻时,该电路电压增益将减小,且电压增益也会受信号源内阻的影响。所以在设计反相输入式交流放大电路时,有时输入电阻和电压增益的选择难以兼顾。而采用图1或图3同相输入式交流放大电路时,图1中的R1偏置电阻值适当增大,或者图3中的R1和R2分压电阻值适当增大,就能够提高放大电路的输入电阻,而对电压增益无影响。另外,为了有效地提高图3放大电路的输入电阻,可以对电路做一些改进,改进电路如图5所示。 该放大电路输入电阻Ri≈R3,当R3值 图5见原稿选择大时,放大电路输入电阻Ri值就大。所以明显地提高了放大电路的输入电阻。 (4)确定交流放大电路电压增益。单级运放交流放大电路的电压增益Au通常不要超过100倍(40dB)。过高的电压增益不但会使放大电路的通带下降,也容易感应高频噪声或产生自激振荡。如果要得到一个放大倍数比较大的放大器,可用两级等增益的运放电路或者多级等增益的运放电路来实现。 (5)确定交流放大电路中的电阻值。一般应用中阻值在1~100kΩ之间比较合适。高速的应用中阻值在100Ω~1k Ω之间,但会增大电源的消耗。便携设计中阻值在1~10M Ω之间,但会增大系统噪声。先设定图中运放反向输入端R电阻值,根据相关电路的电压增益计算式,再估算出反馈电阻RF的值。最好采用金属膜电阻,以减小内噪声。 (6)确定放大电路中的电容值。信号耦合电容的大小决定放大电路的低频特性。根据交流放大电路信号频率的高低选择耦合电容值。若放大的是低频交流信号,如音频信号,耦合电容值可选择1~22 μF之间;若放大的是高频交流信号,耦合电容值可选择1000pF~0.1 μ F之间。同相输入式交流放大电路引入直流全反馈的隔直流电容值由C=1/20πfR式估算。式中f是输入信号的最低频率。音频信号的最低频率为20Hz,当R≥1k Ω时,经过上式估算,选择C=100 μF时,已经能够满足要求。滤波电容值选择100~1000 μ F之间。 3 结束语 在引入深度交流负反馈的情况下,运放交流放大电路的电压增益、输入电阻等的大小仅与集成运放外接的电阻有关。因此,相对于三极管交流放大电路而言,运放交流放大电路的设计更方便,电路参数的一致性也较好。

    时间:2018-09-12 关键词: 放大电路 电源技术解析 设计 运算放大器 分析

  • 电路板防水三大方法对比分析

    电路板防水三大方法对比分析

    电路板的防水之路在何方?对于很多工程师来说,电路板防水一直是一个很头痛的问题,为了不耽误工期,为了能通过验货,多少日日夜夜奋斗在一线,研究各种模具,满脑子注塑、密封、排气、各种胶垫、导流,散热,变形,开模成本等。如何让产品防水工艺更简单,需要我们去思考改进并大胆尝试。市面上有哪些最常见的技术来解决这个“头痛问题”呢? 结构防水法 结构防水是电子产品防水最为传统的模式,也应该是大多数工程师们最先想到的办法,主题思想是疏水,导流,外部封装与内部电气部分的有效隔离,产品的模具设计以及各种封堵是要点,当然越是复杂模具的成本也不便宜。 比一个开关电源,开模做一个塑料壳,电路板放进盒子里头然后对塑料壳进行密封处理,就是从外部着手去堵水,从而达到防水的目的。   壳子的接缝出一个是凹型,一个是凸型,中间放一个防水胶圈然后锁紧已达到密封的效果。也有的直接把壳子对接后热熔密封,但不好返修啊。 防水的成本也比较高,对于一些小企业如果订单量小,开模太不划算了。 理论上讲应该做了防水壳子就类似于一个潜水艇。 遗憾的是,即便从结构上做很多的改变依然无法更好的阻止水气的浸入,电路板使用在水汽很重的环境,外观在使用过程中自身也存在着变形的风险,外观结合处的缝隙也会随之变形,或者外观的人为非人为破坏都是随时存在,成为潜在的担忧。 优点:防水效果不错 缺点:工艺难保证,结构存在变形的风险。 灌封防水法 灌封方式防水目前常见的是采用环氧树脂灌封胶,是用于电子产品模组的灌封,可以将整个pcb板包裹其中,从而起到防水、防潮、防盐雾、防霉菌、抗震、抗外力冲击等,环氧树脂是饱和性树脂,以其为基材生产的环氧树脂灌封胶具有本体强度高、粘接力强、耐候性好、收缩率低、绝缘强度高、无毒环保等特性,灌封后能在-45-120℃间稳定的机械和电气性能。能对电路板全方位保护,极大提高电路板的使用寿命。但同时也存在一些比较致命的问题,比如pcb板的散热将会非常受影响,最麻烦的是产品几乎没有返修的可能,或者说返修成本过高。 由于灌封胶导热性能不错,对于功率型电路板灌封后对散热有一定的帮助的,不过电路板灌封后会使EMI变大。   电路板树脂灌封胶防水 优点:防水效果很好 缺点:成本高,返修难度太大 表面涂层防水法 三防漆也叫线路板保护油、披覆油、防水胶、绝缘漆、防潮漆,三防漆类产品普遍比较厚,基本上涂层厚度会达到50微米,散热不好,粘稠度高,一公斤产出比较低,干燥慢,甚至要一两小时才能干,三防漆是在电子产品pcb板上涂覆固化一层胶膜,用于电路板防潮、防腐蚀、防盐雾,但这层膜只能防护潮气和少量的水份,如果电子产品完全浸入水中工作它就会失效;由于三防漆自身工艺原因,因此不抗摔、不抗振动,受外力冲击容易剥落,对pcb板的防护作用非常有限,用肉眼直接观察很难看出来是否涂覆均匀。目前很多三防漆依然使用挥发性溶剂,对人体与环境有很大伤害,这对于一些产品要出口欧美的制造企业来说环保不能达标。 灌封胶对电路板的防护作用超过三防漆。如果只要起到一个最基本的防护作用,是可以选用三防漆防护。   电路板三防漆 优点:成本低 缺点:防水效果差,不环保

    时间:2018-03-22 关键词: 方法 电路板 电路设计 防水 分析

  • 关于Linux启动过程分析

    关于Linux启动过程分析

    理解运转良好的系统对于处理不可避免的故障是最好的准备。 关于开源软件最古老的笑话是:“代码是自具文档化的self-documenting”。经验表明,阅读源代码就像听天气预报一样:明智的人依然出门会看看室外的天气。本文讲述了如何运用调试工具来观察和分析 Linux 系统的启动。分析一个功能正常的系统启动过程,有助于用户和开发人员应对不可避免的故障。 从某些方面看,启动过程非常简单。内核在单核上以单线程和同步状态启动,似乎可以理解。但内核本身是如何启动的呢?initrd(initial ramdisk) 和引导程序bootloader具有哪些功能?还有,为什么以太网端口上的 LED 灯是常亮的呢? 请继续阅读寻找答案。在 GitHub 上也提供了 介绍演示和练习的代码。 启动的开始:OFF 状态 局域网唤醒Wake-on-LAN OFF 状态表示系统没有上电,没错吧?表面简单,其实不然。例如,如果系统启用了局域网唤醒机制(WOL),以太网指示灯将亮起。通过以下命令来检查是否是这种情况: # sudo ethtool 其中 是网络接口的名字,比如 eth0。(ethtool 可以在同名的 Linux 软件包中找到。)如果输出中的 Wake-on 显示 g,则远程主机可以通过发送 魔法数据包MagicPacket 来启动系统。如果您无意远程唤醒系统,也不希望其他人这样做,请在系统 BIOS 菜单中将 WOL 关闭,或者用以下方式: # sudo ethtool -s wol d 响应魔法数据包的处理器可能是网络接口的一部分,也可能是 底板管理控制器Baseboard Management Controller(BMC)。 英特尔管理引擎、平台控制器单元和 Minix BMC 不是唯一的在系统关闭时仍在监听的微控制器(MCU)。x86_64 系统还包含了用于远程管理系统的英特尔管理引擎(IME)软件套件。从服务器到笔记本电脑,各种各样的设备都包含了这项技术,它开启了如 KVM 远程控制和英特尔功能许可服务等 功能。根据 Intel 自己的检测工具,IME 存在尚未修补的漏洞。坏消息是,要禁用 IME 很难。Trammell Hudson 发起了一个 me_cleaner 项目,它可以清除一些相对恶劣的 IME 组件,比如嵌入式 Web 服务器,但也可能会影响运行它的系统。 IME 固件和系统管理模式System Management Mode(SMM)软件是 基于 Minix 操作系统 的,并运行在单独的平台控制器单元Platform Controller Hub上(LCTT 译注:即南桥芯片),而不是主 CPU 上。然后,SMM 启动位于主处理器上的通用可扩展固件接口Universal Extensible Firmware Interface(UEFI)软件,相关内容 已被提及多次。Google 的 Coreboot 小组已经启动了一个雄心勃勃的 非扩展性缩减版固件Non-Extensible Reduced Firmware(NERF)项目,其目的不仅是要取代 UEFI,还要取代早期的 Linux 用户空间组件,如 systemd。在我们等待这些新成果的同时,Linux 用户现在就可以从 Purism、System76 或 Dell 等处购买 禁用了 IME 的笔记本电脑,另外 带有 ARM 64 位处理器笔记本电脑 还是值得期待的。 引导程序 除了启动那些问题不断的间谍软件外,早期引导固件还有什么功能呢?引导程序的作用是为新上电的处理器提供通用操作系统(如 Linux)所需的资源。在开机时,不但没有虚拟内存,在控制器启动之前连 DRAM 也没有。然后,引导程序打开电源,并扫描总线和接口,以定位内核镜像和根文件系统的位置。U-Boot 和 GRUB 等常见的引导程序支持 USB、PCI 和 NFS 等接口,以及更多的嵌入式专用设备,如 NOR 闪存和 NAND 闪存。引导程序还与 可信平台模块Trusted Platform Module(TPM)等硬件安全设备进行交互,在启动最开始建立信任链。   在构建主机上的沙盒中运行 U-boot 引导程序。 包括树莓派、任天堂设备、汽车主板和 Chromebook 在内的系统都支持广泛使用的开源引导程序 U-Boot。它没有系统日志,当发生问题时,甚至没有任何控制台输出。为了便于调试,U-Boot 团队提供了一个沙盒,可以在构建主机甚至是夜间的持续集成(CI)系统上测试补丁程序。如果系统上安装了 Git 和 GNU Compiler Collection(GCC)等通用的开发工具,使用 U-Boot 沙盒会相对简单: # git clone git://git.denx.de/u-boot; cd u-boot # make ARCH=sandbox defconfig # make; ./u-boot => printenv => help 在 x86_64 上运行 U-Boot,可以测试一些棘手的功能,如 模拟存储设备 的重新分区、基于 TPM 的密钥操作以及 USB 设备热插拔等。U-Boot 沙盒甚至可以在 GDB 调试器下单步执行。使用沙盒进行开发的速度比将引导程序刷新到电路板上的测试快 10 倍,并且可以使用 Ctrl + C 恢复一个“变砖”的沙盒。 启动内核 配置引导内核 引导程序完成任务后将跳转到已加载到主内存中的内核代码,并开始执行,传递用户指定的任何命令行选项。内核是什么样的程序呢?用命令 file /boot/vmlinuz 可以看到它是一个 “bzImage”,意思是一个大的压缩的镜像。Linux 源代码树包含了一个可以解压缩这个文件的工具—— extract-vmlinux: # scripts/extract-vmlinux /boot/vmlinuz-$(uname -r) > vmlinux # file vmlinux vmlinux: ELF64-bit LSB executable,x86-64,version1(SYSV),statically linked,stripped 内核是一个 可执行与可链接格式 Executable and Linking Format(ELF)的二进制文件,就像 Linux 的用户空间程序一样。这意味着我们可以使用 binutils 包中的命令,如 readelf 来检查它。比较一下输出,例如: # readelf -S /bin/date # readelf -S vmlinux 这两个二进制文件中的段内容大致相同。 所以内核必须像其他的 Linux ELF 文件一样启动,但用户空间程序是如何启动的呢?在 main() 函数中?并不确切。 在 main() 函数运行之前,程序需要一个执行上下文,包括堆栈内存以及 stdio、stdout 和 stderr 的文件描述符。用户空间程序从标准库(多数 Linux 系统在用 “glibc”)中获取这些资源。参照以下输出:[!--empirenews.page--] # file /bin/date /bin/date: ELF64-bit LSB shared object,x86-64,version1(SYSV),dynamically linked,interpreter /lib64/ld-linux-x86-64.so.2,forGNU/Linux2.6.32, BuildID[sha1]=14e8563676febeb06d701dbee35d225c5a8e565a, stripped ELF 二进制文件有一个解释器,就像 Bash 和 Python 脚本一样,但是解释器不需要像脚本那样用 #! 指定,因为 ELF 是 Linux 的原生格式。ELF 解释器通过调用 _start() 函数来用所需资源 配置一个二进制文件,这个函数可以从 glibc 源代码包中找到,可以 用 GDB 查看。内核显然没有解释器,必须自我配置,这是怎么做到的呢? 用 GDB 检查内核的启动给出了答案。首先安装内核的调试软件包,内核中包含一个未剥离的unstripped vmlinux,例如 apt-get install linux-image-amd64-dbg,或者从源代码编译和安装你自己的内核,可以参照 Debian Kernel Handbook 中的指令。gdb vmlinux 后加 info files 可显示 ELF 段 init.text。在 init.text 中用 l *(address) 列出程序执行的开头,其中 address 是 init.text 的十六进制开头。用 GDB 可以看到 x86_64 内核从内核文件 arch/x86/kernel/head_64.S 开始启动,在这个文件中我们找到了汇编函数 start_cpu0(),以及一段明确的代码显示在调用 x86_64 start_kernel() 函数之前创建了堆栈并解压了 zImage。ARM 32 位内核也有类似的文件 arch/arm/kernel/head.S。start_kernel() 不针对特定的体系结构,所以这个函数驻留在内核的 init/main.c 中。start_kernel() 可以说是 Linux 真正的 main() 函数。 从 start_kernel() 到 PID 1 内核的硬件清单:设备树和 ACPI 表 在引导时,内核需要硬件信息,不仅仅是已编译过的处理器类型。代码中的指令通过单独存储的配置数据进行扩充。有两种主要的数据存储方法:设备树device-tree 和 高级配置和电源接口(ACPI)表。内核通过读取这些文件了解每次启动时需要运行的硬件。 对于嵌入式设备,设备树是已安装硬件的清单。设备树只是一个与内核源代码同时编译的文件,通常与 vmlinux 一样位于 /boot 目录中。要查看 ARM 设备上的设备树的内容,只需对名称与 /boot/*.dtb 匹配的文件执行 binutils 包中的 strings 命令即可,这里 dtb 是指设备树二进制文件device-tree binary。显然,只需编辑构成它的类 JSON 的文件并重新运行随内核源代码提供的特殊 dtc 编译器即可修改设备树。虽然设备树是一个静态文件,其文件路径通常由命令行引导程序传递给内核,但近年来增加了一个 设备树覆盖 的功能,内核在启动后可以动态加载热插拔的附加设备。 x86 系列和许多企业级的 ARM64 设备使用 ACPI 机制。与设备树不同的是,ACPI 信息存储在内核在启动时通过访问板载 ROM 而创建的 /sys/firmware/acpi/tables 虚拟文件系统中。读取 ACPI 表的简单方法是使用 acpica-tools 包中的 acpidump 命令。例如:   联想笔记本电脑的 ACPI 表都是为 Windows 2001 设置的。 是的,你的 Linux 系统已经准备好用于 Windows 2001 了,你要考虑安装吗?与设备树不同,ACPI 具有方法和数据,而设备树更多地是一种硬件描述语言。ACPI 方法在启动后仍处于活动状态。例如,运行 acpi_listen 命令(在 apcid 包中),然后打开和关闭笔记本机盖会发现 ACPI 功能一直在运行。暂时地和动态地 覆盖 ACPI 表 是可能的,而永久地改变它需要在引导时与 BIOS 菜单交互或刷新 ROM。如果你遇到那么多麻烦,也许你应该 安装 coreboot,这是开源固件的替代品。 从 start_kernel() 到用户空间 init/main.c 中的代码竟然是可读的,而且有趣的是,它仍然在使用 1991 – 1992 年的 Linus Torvalds 的原始版权。在一个刚启动的系统上运行 dmesg | head,其输出主要来源于此文件。第一个 CPU 注册到系统中,全局数据结构被初始化,并且调度程序、中断处理程序(IRQ)、定时器和控制台按照严格的顺序逐一启动。在 timekeeping_init() 函数运行之前,所有的时间戳都是零。内核初始化的这部分是同步的,也就是说执行只发生在一个线程中,在最后一个完成并返回之前,没有任何函数会被执行。因此,即使在两个系统之间,dmesg的输出也是完全可重复的,只要它们具有相同的设备树或 ACPI 表。Linux 的行为就像在 MCU 上运行的 RTOS(实时操作系统)一样,如 QNX 或 VxWorks。这种情况持续存在于函数 rest_init() 中,该函数在终止时由 start_kernel() 调用。   早期的内核启动流程。 函数 rest_init() 产生了一个新进程以运行 kernel_init(),并调用了 do_initcalls()。用户可以通过将 initcall_debug 附加到内核命令行来监控 initcalls,这样每运行一次 initcall 函数就会产生 一个 dmesg 条目。initcalls 会历经七个连续的级别:early、core、postcore、arch、subsys、fs、device 和 late。initcalls 最为用户可见的部分是所有处理器外围设备的探测和设置:总线、网络、存储和显示器等等,同时加载其内核模块。rest_init() 也会在引导处理器上产生第二个线程,它首先运行 cpu_idle(),然后等待调度器分配工作。 kernel_init() 也可以 设置对称多处理(SMP)结构。在较新的内核中,如果 dmesg 的输出中出现 “Bringing up secondary CPUs…” 等字样,系统便使用了 SMP。SMP 通过“热插拔” CPU 来进行,这意味着它用状态机来管理其生命周期,这种状态机在概念上类似于热插拔的 U 盘一样。内核的电源管理系统经常会使某个核core离线,然后根据需要将其唤醒,以便在不忙的机器上反复调用同一段的 CPU 热插拔代码。观察电源管理系统调用 CPU 热插拔代码的 BCC 工具 称为 offcputime.py。[!--empirenews.page--] 请注意,init/main.c 中的代码在 smp_init() 运行时几乎已执行完毕:引导处理器已经完成了大部分一次性初始化操作,其它核无需重复。尽管如此,跨 CPU 的线程仍然要在每个核上生成,以管理每个核的中断(IRQ)、工作队列、定时器和电源事件。例如,通过 ps -o psr 命令可以查看服务每个 CPU 上的线程的 softirqs 和 workqueues。 # ps -o pid,psr,comm $(pgrep ksoftirqd) PID PSR COMMAND 7 0ksoftirqd/0 16 1ksoftirqd/1 22 2ksoftirqd/2 28 3ksoftirqd/3 # ps -o pid,psr,comm $(pgrep kworker) PID PSR COMMAND 4 0kworker/0:0H 18 1kworker/1:0H 24 2kworker/2:0H 30 3kworker/3:0H [...] 其中,PSR 字段代表“处理器processor”。每个核还必须拥有自己的定时器和 cpuhp 热插拔处理程序。 那么用户空间是如何启动的呢?在最后,kernel_init() 寻找可以代表它执行 init 进程的 initrd。如果没有找到,内核直接执行 init 本身。那么为什么需要 initrd 呢? 早期的用户空间:谁规定要用 initrd? 除了设备树之外,在启动时可以提供给内核的另一个文件路径是 initrd 的路径。initrd 通常位于 /boot 目录中,与 x86 系统中的 bzImage 文件 vmlinuz 一样,或是与 ARM 系统中的 uImage 和设备树相同。用 initramfs-tools-core 软件包中的 lsinitramfs 工具可以列出 initrd 的内容。发行版的 initrd 方案包含了最小化的 /bin、/sbin 和 /etc 目录以及内核模块,还有 /scripts 中的一些文件。所有这些看起来都很熟悉,因为 initrd 大致上是一个简单的最小化 Linux 根文件系统。看似相似,其实不然,因为位于虚拟内存盘中的 /bin 和 /sbin 目录下的所有可执行文件几乎都是指向 BusyBox 二进制文件 的符号链接,由此导致 /bin 和 /sbin 目录比 glibc 的小 10 倍。 如果要做的只是加载一些模块,然后在普通的根文件系统上启动 init,为什么还要创建一个 initrd 呢?想想一个加密的根文件系统,解密可能依赖于加载一个位于根文件系统 /lib/modules 的内核模块,当然还有 initrd 中的。加密模块可能被静态地编译到内核中,而不是从文件加载,但有多种原因不希望这样做。例如,用模块静态编译内核可能会使其太大而不能适应存储空间,或者静态编译可能会违反软件许可条款。不出所料,存储、网络和人类输入设备(HID)驱动程序也可能存在于 initrd 中。initrd 基本上包含了任何挂载根文件系统所必需的非内核代码。initrd 也是用户存放 自定义ACPI 表代码的地方。   救援模式的 shell 和自定义的 initrd 还是很有意思的。 initrd 对测试文件系统和数据存储设备也很有用。将这些测试工具存放在 initrd 中,并从内存中运行测试,而不是从被测对象中运行。 最后,当 init 开始运行时,系统就启动啦!由于第二个处理器现在在运行,机器已经成为我们所熟知和喜爱的异步、可抢占、不可预测和高性能的生物。的确,ps -o pid,psr,comm -p 1 很容易显示用户空间的 init 进程已不在引导处理器上运行了。 总结 Linux 引导过程听起来或许令人生畏,即使是简单嵌入式设备上的软件数量也是如此。但换个角度来看,启动过程相当简单,因为启动中没有抢占、RCU 和竞争条件等扑朔迷离的复杂功能。只关注内核和 PID 1 会忽略了引导程序和辅助处理器为运行内核执行的大量准备工作。虽然内核在 Linux 程序中是独一无二的,但通过一些检查 ELF 文件的工具也可以了解其结构。学习一个正常的启动过程,可以帮助运维人员处理启动的故障。

    时间:2018-03-19 关键词: Linux 启动过程 分析

  • 矢量调制分析基础

    矢量调制分析基础

    前言 本文介绍VSA 的矢量调制分析和数字调制分析测量能力。某些扫频调谐频谱分析仪也能通过使用另外的数字无线专用软件来提供数字调制分析。然而,VSA 通常在调制格式和解调算法配置等方面提供更大的测量灵活性,并提供更多的数据结果和轨迹轨迹显示。本文中描述的基本的数字调制分析概念也同样适用于使用额外数字调制分析软件的扫频调谐分析仪。 VSA 真正的威力在于它测量和分析矢量调制信号和数字调制信号的能力。矢量调制分析是指测量具有实部和虚部分量的复信号。 矢量调制分析提供一个重要的测量工具就是模拟调制分析。例如,Agilent 89600B VSA 软件提供了模拟调制分析,并且可以像调制分析仪一样产生AM、FM 和PM 解调结果,允许你查看幅度、频率和相位随时间变化的曲线图。这些额外的模拟解调能力可以用来对数字通信发射机中的特殊问题进行故障诊断。例如,相位解调经常用于在特殊LO 频率上不稳定性问题的故障分析。 由于数字通信系统使用复信号(I-Q 波形),所以需要使用矢量调制分析功能来测量数字调制信号。但是矢量调制分析还不足以测量今天复杂的数字调制信号。你还需要数字调制分析。数字调制分析用来将射频调制载波信号解调为其复数分量(I-Q 波形),之后你可以应用数字和可视化工具快速识别和定量分析I-Q 波形的缺损。数字调制分析可以检波和恢复数字数据比特。 数字解调还提供了调制质量测量。使用于Agilent VSA 的技术( 在本节后面讨论) 可以显示非常细微的信号变化,并最终将其转化为信号质量信息。而这些是传统的调制质量测量方法无法提供的。各种显示格式和能力用来查看基带信号特性并分析调制质量。VSA 提供传统的显示格式,例如I-Q 矢量图、星座图、眼图和网格图。符号/ 误差汇总表显示了实际恢复的比特和有价值的误差数据,例如误差矢量幅度(EVM)、幅度误差、相位误差、频率误差、rho 和I-Q 偏置误差。其它显示格式,例如幅度/ 相位误差对时间、幅度/ 相位误差对频率或均衡,允许你进行频率响应测量和群时延测量,或查看码域结果。VSA 提供的显示格式和测量能力还有许多,这些仅仅是一部分代表。各种功能的可用性取决于分析能力以及将要测量的数字调制格式类型。 VSA 的数字调制方案提供对多种数字通信标准,例如GSM、EDG、W-CDMA和cdma2000 以及其它数字调制格式,比如LTE、WLAN 和WiMAX,包括MIMO信号的测量支持。这些信号比我们在这里将要考察的简单信号复杂得多。测量可能是连续载波或脉冲载波( 例如TDMA),可以贯穿整个数字通信系统方框图,对基带、IF 和射频位置进行测量。不需要外部滤波、相关载波信号或符号时钟计时信号。Agilent VSA 中的数字解调通用算法还允许你测量非标准格式的信号,针对定制的测试和分析改变用户定义的数字测量参数。 矢量调制和数字调制 我们先回顾一下矢量调制和数字调制。特别注意,虽然调制器和解调器两个术语含有硬件的意思,但是基于软件的VSA ,实际上是基于DSP 的软件在执行调制/ 解调的。数字调制是无线、卫星和地面通信行业中使用的一个术语,指数字状态由载波相对相位和/ 或幅度表示的一种调制。虽然我们讨论的是数字调制,但是应记住这种调制并不是数字的,而真正是模拟的。调制是按照调制( 基带) 信号的幅度变化成比例地改变载波的幅度、频率或相位。参见图1。在数字调制中,基带调制信号是数字式的,而调制过程不是数字的。   图1. 在数字调制中,信息包含在载波的相对相位、频率或幅度中。 基于具体的应用,数字调制可以同时或单独改变幅度、频率和相位。这类调制可以通过传统的模拟调制方案,例如幅度调制(AM)、频率调制(FM) 或相位调制(PM) 来完成。不过在实际系统中,通常使用矢量调制( 又称为复数调制或I-Q 调制) 作为替代。矢量调制是一种非常强大的调制方案,因为它可生成任意的载波相位和幅度。在这种调制方案中,基带数字信息被分离成两个独立的分量: I ( 同相) 和Q ( 正交) 分量。这些I 和Q 分量随后组合形成基带调制信号。I 和Q 分量最重要的特性是它们是独立的分量( 正交)。在下面的讨论中你将进一步了解I 和Q 分量,以及数字系统使用它们的原因。   图2. 数字调制I-Q 图 理解和查看数字调制的简单方法是使用图2 所示的I-Q 或矢量图。在大多数数字通信系统中,载波频率是固定的,因此只需考虑相位和幅度。未经调制的载波作为相位和频率参考,根据调制信号与载波的关系来解释调制信号。相位和幅度可以作为I-Q 平面中的虚线点在极坐标图或矢量坐标图中表示。参见图2。I 代表同相位( 相位参考) 分量,Q 代表正交( 与相位相差90 °)分量。你还可以将同相载波的某具体幅度与正交载波的某具体幅度做矢量加法运算,来表示这个点。这就是I-Q 调制的原理。 将载波放入到I-Q 平面预先确定的某个位置上,然后发射已编码信息。每个位置或状态( 或某些系统中状态间的转换) 代表某一个可在接收机上被解码的比特码型。状态或符号在每个符号选择计时瞬间( 接收机转换信号时) 在I-Q 平面的映射称为星座图。参见图3。一个符号号代表一组数字数据比特; 它们是所代表的数字消息的代号。每个符号号包含的比特数即每符号号比特数(bpsym) 由调制格式决定。例如,二进制相移键控(BPSK) 使用1 bpsym,正交相移键控(QPSK) 使用2 bpsym,而8 相移键控(8PSK) 使用3bpsym。理论上,星座图的每个状态位置都应当显示为单个的点。但由于系统会受到了各种损伤和噪声的影响,会引起这些状态发生扩散( 每个状态周围有分散的点呈现)。图3 显示了16 QAM 格式(16 正交幅度度调制) 的星座图或状态图; 注意,此时有16 个可能的状态位置。该格式使用4 比特数据串,编码为单个幅度度/ 相位状态或符号号。为了产生这一调制格式,基于被传输的代码,I 和Q 载波都需采用4 个不同的幅度度电平。[!--empirenews.page--]   图3. 星座图中的每个位置或状态代表一个具体的比特码型( 符号号) 和符号号时间 在数字调制中,信号在有限数量的符号或状态中移动。载波在星座图各点间移动的速率称为符号率。使用的星座状态越多,给定比特率所需的符号率就越低。符号率十分重要因为它代表了传输信号时所需的带宽。符号号 率越低,传输所需的带宽就越小。例如,前面提到过的16 QAM 格式使用每符号号4 比特的速率。如果无线传输速率为16 Mbps,则符号率= 16 (Mbps) 除以4 比特即4 MHz。此时提供的符号号率是比特率的四分之一和一个更高效的传输带宽(4 MHz 相对16 MHz)。 I-Q 调制 在数字通信中,I-Q 调制将已编码的数字I 和Q 基带信息放入载波中。参见图4。I-Q 调制生成信号的I 和Q 分量; 从根本上讲,它是直角坐标—极坐标转换的硬件或软件实现。   图4. I-Q 调制 I-Q 调制接受I 和Q 基带信号作为输入,并将它们与相同的本地振荡器(LO) 混合。注意,这个可能是数字( 软件) LO。下面,I 和Q 均会上变频到射频载波频率。I 幅度度信息调制载波生成同相分量。Q 幅度度信息调制90°( 直角) 相移的载波生成正交分量。这两种正交调制载波信号相加生成复合I-Q 调制载波信号。I-Q 调制的主要优势是可以容易地将独立的信号分量合并为单个复合信号,随后同样容易地再将这个复合信号分解为独立的分量部分。以90° 分离的信号彼此之间呈直角或正交关系。I 和Q 信号的正交关系意味着这两个信号是真正独立的,它们是同一信号的两个独立分量。虽然Q 输入的变化肯定会改变复合输出信号,但不会对I 分量造成任何影响。同样地,I 输入的变化也不会影响到Q 信号。 I/Q 解调 如图5 所示,I-Q 解调是图4 所示的I-Q 调制的镜像。I-Q 解调从复合I-Q调制输入信号中恢复原始的I 和Q 基带信号。   图5. I-Q 解调( 或正交检测) 解调过程的第一步是将接收机LO 锁相至发射机载频。为了正确地恢复I 和Q 基带分量必须要把接收机LO 锁相至发射机载波( 或混频器LO)。随后,I-Q调制载波与未相移的LO 和相移90° 的LO 混合,生成原始的I 和Q 基带信号或分量。在VSA 软件中,使用数学方法实现90° 相移。 从根本上讲,I-Q 解调过程就是极坐标—直角坐标的转换。通常如果没有极坐标—直角坐标转换,信息不能在极坐标格式上绘制并重解释为直角值。参见图2。这种转换与I-Q 解调器所执行的同相和正交混合过程完全一致。 为什么使用I 和Q ? 数字调制使用I 和Q 分量,因为它可提供简单有效、功能强大的调制方法来生成、发射与恢复数字数据。I-Q 域中的调制信号具有很多优势: 1. I-Q 的实现提供一种生成复信号( 相位和幅度均改变) 的方法幅度。I-Q 调制器不使用非线性,难实现的相位调制,而是简单的对载波幅度度及其正交量进行线性调制。具有宽调制带宽和良好线性的混频器很容易得到,基于基带和中频软件的LO 也是。为生成复调制信号,只需产生信号的基带I 和Q 分量 。I-Q 调制的一个关键优势是调制算法可以生成从数字制式到射频脉冲甚至线性调频雷达等各种调制。 2. 信号的解调也同样简单明了。使用I-Q 解调至少理论上可以轻松地恢复基带信号。 3. 在I-Q 平面上观查信号经常能更好地洞察信号。串扰、数据偏移、压缩以及AM-PM 失真等用其它方法难以呈现的现象在I-Q 平面上可以轻松查看。 数字射频通信系统 图6 是一个通用的使用I-Q 调制的数字射频通信系统的基本架构的的简化方框图,通过对该系统基本概念的了解能更好地理解带有矢量调制分析功能的VSA 的工作情况。通信发射机和计算机的所有部分都可被带有矢量调制分析的VSA 测量并分析。还有,即使是该方框图的软件仿真也可被VSA 分析,因为VSA 只需要利用时间采样数据。   图6. 数字射频通信系统的简化方框图。注意,ADC 和DAC 可能在不同的方框中出现。 数字通信发射机 通信发射机开始于语音编码( 假设进行语音传输),即对模拟信号进行量化并转化为数字数据( 数字化) 的过程。随后,数据压缩用于降低数据速率并提高频谱效率。信道编码和交织属于常见技术,通过最小化噪声与干扰的影响来改进信号完整性。额外的比特经常被用来进行误差校准或者作为识别和均衡的训练序列。这些技术还使与接收机的同步( 找寻符号时钟) 更简单。符号编码器将串行比特流转换为适当的I 和Q 基带信号,对应具体的系统每个信号映射到I-Q 平面上符号。符号时钟代表各个符号传输的频率和精确计时。当符号时钟跳变时,发射载波在正确的I-Q ( 或幅度/ 相位) 值上代表具体的符号( 星座图的特定点)。各个符号的时间间隔即为符号时钟周期,其倒数是符号时钟频率。当符号时钟与检测符号的最佳瞬时同步时,符号时钟相位是正确的符号。 一旦I 和Q 基带信号生成后,它们会被过滤( 带限) 以提高频谱效率。未经过滤的无线数字调制器的输出会占用非常宽的带宽( 理论上是无限宽)。这是因为调制器被基带I-Q 方波的快速跳变所驱动; 时域上的快速跳变等同于频域上的宽频谱。这种情况不可接受是因为它会减少其他用户的可用频谱并造成对邻近用户的信号干扰,称之为邻信道功率干扰。基带滤波通过限制频谱以及限制对其它信道的干扰解决了这一问题。实际上,滤波减缓了状态之间的快速转换,从而限制了频谱。不过滤波也不是没有缺点; 它会导致信号和数据传输性能的下降。[!--empirenews.page--] 信号质量的下降是由于频谱分量的减少、过冲以及滤波器时间( 脉冲) 响应引起的有限振铃效应。频谱分量减少了就会使信息丢失,从而可能导致接收机重建信号困难,甚至是不可重建的。滤波器的振铃响应可能持续很久,以致影响到随后的符号,并产生码间串扰(ISI)。ISI 定义为前后符号的多余能量干扰到当前的符号,导致接错误地解码。滤波器的最佳选择就成为频谱效率和ISI 的折衷。在数字通信设计中,有一款常用的特定类型的滤波器称为Nyquist 滤波器。Nyquist 滤波器是一个理想的滤波器选择,因为它能够最使数据速率最大化而且最小化ISI 并限制信道带宽需求。在本节后面的部分,你将会进一步了解这种滤波器。为了改进系统的整体性能,滤波器一般会在发射机和接收机之间共享或分配。在这种情况下,为了最小化ISI,滤波器必须尽可能地匹配发射机和接收机并正确实现。图6 仅显示了一个基带滤波器。但在实际中会用到两个,I 和Q 信道各有一个。 已过滤的I 和Q 基带信号是I-Q 调制器的输入。调制器中的LO 可能工作在中频(IF) 或直接工作在最终的无线射频(RF) 上。调制器的输出是中频( 或射频)上的两个正交I 和Q 信号的合成。调制后,如果需要,信号会上变频到射频。再将任何多余的频率过滤掉,最后信号送入到输出放大器并传输。 数字通信接收机 接收机从本质上说是发射机的反向实现,但在设计上更为复杂。接收机首先把输入的射频信号下变频为中频信号,然后进行解调。解调信号和恢复原始数据的能力通常难度较大。发射信号经常被空气噪声、信号干扰、多径或衰落等因素影响而遭到损坏。 解调过程通常包括以下阶段: 载波频率恢复( 载波锁定)、符号时钟恢复( 符号锁定)、信号分解为I 和Q 分量(I-Q 解调)、I 和Q 符号检测、比特解调和去交织( 解码比特)、解压缩( 扩展至原始比特流),如果需要最后是数模转换。 接收机与发射机的主要区别是需要恢复载波和符号时钟。在接收机中,符号时钟的频率和相位( 或计时) 都必须正确,才可以成功地解调比特和恢复已发射信息。例如,符号时钟的频率设置正确,但相位错误。就是说如果符号时钟与符号间的过度同步,而不是符号本身,解调将会失败。 接收机设计的一项艰巨任务是建立载波和符号时钟恢复算法。有些时钟恢复技术包括测量调制幅度度变化、或者在带有脉冲载波的系统中可以使用功率打开事件。当发射机的信道编码提供训练序列或同步比特时,这项任务便可以简单些。 VSA 数字调制分析概念和工作原理 VSA 可被看作是基于软件的测量接收机。它实际上是在数字调制解码时采用与大多数数字无线接收机相似技术的I-Q 接收机。不同的是,VSA 软件专为高精度参数测量和调制特性显示而设计。还有,VSA 是能够测量和分析数字通信发射机与接收机系统几乎所有方面的测量工具。   图7. 带有射频前端的VSA 测量系统的简化方框图。对于其它前端,VSA 软件将执行所给前端不支持的功能。 图7 显示了Agilent 89600B VSA 的简化系统方框图。你可能注意到系统方框中的许多部分与图6 所示的数字通信接收机的类似。通过几个阶段的超外差式混频将射频输入信号下变频为能被ADC 精确数字化的中频信号。有多种不同类型的前端都可完成这个过程。有的比如信号分析仪提供射频信号检测和中频数字化。其它的像示波器和逻辑分析仪则提供完全数字化的基带信号。VSA 所需的输入是经过数字化的时间采样数据。随后,对这个数字化信号进行矢量( 正交) 检测和数字过滤; 如果需要,将其最后一次下变频为I 和Q 基带信号格式(I-Q 时间数据) 并存储在RAM 中。接着就是使用DSP 算法解调这个信号; 恢复载波和符号时钟并应用建滤波和解码( 恢复原始比特)。几乎任何一种调制格式都可被这个DSP 软件解调。 VSA 的实现与无线接收机不同,VSA 处理采样的信号是基于样本块; 而无线接收机是实时串行串行数据。当为VSA 软件提供无线接收机参数时,它可以通过DSP 的处理过程合成这个接收机。它能够提供接收机的全部功能,甚至包括生成模拟波形。因为信号实际上是数字化的,它可被后期处理并在时域、频域或调制域的任何域中查看。 VSA 数字解调 VSA 中数字解调过程的核心是数字解调。图8 显示了Agilent 89600B 所使用的数字解调算法的简化方框图。数字解调算法提供通用解调,仅需输入信号很少的先验信息即可执行解调,并适用于非常广泛的调制格式。解调器提供载波锁定、符号时钟恢复和比特恢复( 对实际已编码的1 和0 进行解码),并生成I-Q 测量波形。解调器还能产生理想的I-Q 波形,这些波形由真实的已恢复比特( 称为I-Q 参考波形 ) 合成。I-Q 测量波形与参考波形的差可得到I-Q 误差波形。分析I-Q 误差波形可得出调制质量数据结果,该结果可以通过各种数据格式和显示输出进行查看。 解调过程从配置VSA 基于软件的解调器开始。解调算法必须根据特定的数字调制格式进行配置,以恰当地解调和分析信号。大多数分析选件提供一组标准预设值,例如GSM、W-CDMA、cdma2000 或802.11a/b/g,可自动配置解调器。在这些情况下,输入中心频率并选择一个标准预置,软件就可以解调信号。 灵活配制或用户定义的解调 Agilent 89600B VSA 软件通过一个通用的、用户可定义的解调器提供更多额外功能。它允许针对非标准格式或故障诊断定制解调器配置。图8 的解调方框图显示了内部解调过程( 矩形框内) 和用户可设的配置参数( 椭圆或圆角矩形框内)。椭圆框内的项目是用于定义测量所需的解调器的配置参数。圆角框内是用户可调节的输入参数。解调算法至少知道调制格式(QPSK、FSK 等)、符号速率、基带滤波器类型和滤波器 α/BT 等参数。这组参数通常通常足以满足解调器锁定信号以及很多格式的符号恢复的需要。其它格式,像定制的OFDM 针对具体格式类型则需要额外的信息。   [!--empirenews.page--] 图8. 数字方框图 数字解调基带滤波 前面提到,数字解调利用基带滤波来限制带宽和降低码间干扰。还有,就像通信接收机一样,数字解调基带滤波必须配置的与被测系统匹配,以精确地解调信号。这同样要求滤波器类型( 如Nyquist 或Gaussian) 与滤波器带宽系数(α 或BT) 匹配。 如图9 所示,I-Q 测量波形和I-Q 参考波形具备独自的信号处理路径和基带滤波。I-Q 测量波形必须使用与被测系统的接收机滤波相匹配的基带滤波。该滤波器称为测量滤波器或Meas Filter。I-Q 参考波形必须使用与被测系统的总体( 发射机和接收机) 信道滤波相匹配的基带滤波。该滤波器称为参考滤波器或Ref Filter。参考滤波器能够仿真总体信道滤波因为它用来合成可被“完美的”线性信道信道响应接收的理想的I-Q 信号。解调器必须利用总体系统信道滤波才能精确地合成参考I-Q 波形。 选择恰当的滤波 在数字通信系统中,基带滤波可能出现在发射机或接收机上; 或者分布在发射机和接收机之间,发射机中完成一半滤波,接收机中完成另外一半。这是个很重要的概念,会影响到解调器在处理I-Q 测量波形和I-Q 参考波形时所需的滤波器类型。VSA 软件的Meas Filter 代表系统接收机的基带滤波,而Ref Filter 代表整个系统的基带滤波( 接收机和发射机整体的信道滤波)。   图9. 可选的匹配滤波器用于代表发射机和接收机的滤波。 借助已检测的比特,再结合对调制类型和滤波的了解,可以确定理想信号。 选择正确的解调基带滤波可能并不像想象中的那么简单直接,尤其是对于分布式系统。例如,北美数字蜂窝(NADC) 标准采用分布式滤波; 在发射机和接收机中都使用了根升余弦滤波器。参见图9。在VSA 解调里,针对I-Q 测量波形使用一个根升余弦滤波器( 与系统接收机滤波匹配,系统发射机含有一个类似滤波器)。对于I-Q 参考波形,您可以使用一个升余弦滤波器( 与整体系统信道滤波匹配)。这是因为平方根( 升余弦) 乘以平方根( 升余弦) 的结果就等于升余弦滤波器。 表1 显示了一些常用的滤波器类型以及测量和参考滤波器基于发射机滤波器类型的选择示例。   表1. 常用的发射机滤波器类型 滤波器 α 和BT 带宽时间产品 可精确代表被测系统的另一个滤波器参数是滤波器带宽系数,定意为滤波器 α 或BT。每个滤波器类型将会有一个对应的滤波器带宽系数; Nyquist 滤波器使用 α,高斯滤波器使用BT。解调器对测量滤波器和参考滤波器使用相同的 α 或BT 值。 根据具体的应用需求,数字通信使用许多滤波器类型,传统上,使用Nyquist ( 升余弦) 滤波器是因为它能最小化ISI 。如图10 所示,Nyquist 滤波器脉冲响应的峰值幅度出现在符号时刻t = 0 幅度时,而在所有其它符号时刻为零。也就是说,该响应在符号周期的整数倍(1 除以 fs) 通过零点。这意味着Nyquist 已过滤的符号不会干扰周围的符号( 即符号间干扰为零)。虽然Nyquist 滤波器可最大限度地减少ISI,但对于有些应用ISI 并不是最重要的标准。另外两种常用的滤波器类型是高斯滤波器和Chebyshev 滤波器。高斯滤波器不具备最佳的ISI 特性,但在平衡载波功率、占用带宽和符号时钟恢复方面具有优势。它通常使用在GSM ( 全球移动通信系统) 的无线电话系统中。Chebyshev 滤波器具有陡降特性,能够有效减少对相邻信道的功率泄漏。 Chebyshev 滤波器通常应用在使用CDMA ( 码分多址) 调制方案的无线电话系统中,例如cdmaOne 和cdma2000。除了这里探讨的类型外,数字通信领域还采用许多其它类型的滤波器。   图10. Nyquist 滤波器最大限度地降低符号间干扰(ISI)。 Alpha Alpha (α) 描述了Nyquist ( 升余弦) 滤波器的滚降程度。参见图10。Alpha也称为滚降或多余带宽因子。α 值较高,则会增加理论最小值之外的带宽。调制原理指出,发射一个信号所需的最小带宽等于符号率的一半。不过,要实现这个系统带宽,需要一个完美的砖墙式( 矩形) 滤波器,也就是 α 等于0,占用带宽等于符号率。但砖墙式滤波器并不能实现,所以实际中的通信系统一般采用 α 等于0.3 的滤波器。α 值为0.3 意味着滤波器将使用比理论最小值多30% 的占用带宽。这个值是频谱效率和最小ISI 的一个很好的折衷。对于给定 α 的占用带宽近似等于采样率乘以(1 + α)。 BT — 带宽时间产品 BT ( 带宽时间产品) 是高斯滤波器对应的滤波器系数,描述了这个滤波器的滚降程度。高斯滤波器通常使用0.3 ~ 0.5 的BT 值。 解调分析 一旦用户提供了输入配置,解调器就利用它们并通过DSP 以块状格式接收来自VSA 可用样本存储器的I-Q 时间数据。VSA 软件能够接收来自外部硬件( 例如Agilent X 系列信号分析仪或Infiniium 系列示波器) 或记录文件的I-Q 时间数据。解调器使用所提供的中心频率和符号率锁定载波,并且从调制载波上恢复符号时钟。注意,解调器参考时钟不需要与源时钟锁定。解调算法自动提供载波和符号锁定; 不必提供额外的源时钟输入。然后信号通过补偿过程应用增益和相位校正。补偿数据( 例如幅度幅度偏差和I-Q 偏置误差数据) 被存储并可以在误差汇总表中查看。随后,应用数字基带滤波以恢复基带I-Q 波形(I-Q 测量时间数据)。将已恢复的I-Q 波形送入到符号检测器,基于具体的调制格式来尝试确定发射的符号。从符号块中,解码和恢复串行数据比特(1 和0)。参考产生器使用已检测的符号再结合调制格式、符号率以及特定滤波,从而合成一组理想的I-Q 参考基带波形(I-Q 参考时间数据)。最终将测得的I/Q 波形和参考I-Q 波形进行对比,得到一系列误差特性( 与理想波形之间的偏差),例如相位误差、幅度误差和误差矢量幅度(EVM)。[!--empirenews.page--] I-Q 测量和I-Q 参考信号 通过对比测得的信号与理想的参考信号,可以分析I-Q 调制信号的质量。参见图9。解调过程会生成两个波形: I-Q 测量波形和I-Q 参考波形。I-Q 测量波形是针对输入信号解调的基带I-Q 数据,也称为IQ 测量时间。I-Q 参考波形是如果输入信号是理想的( 没有误差),在解调该输入信号后应该得到的基带I-Q 数据,也称为IQ 参考时间。假设原始的数据序列可以被恢复,I-Q 参考波形从I-Q 波形恢复的数据比特中采用数学方法导出。I-Q 参考波形的产生开始于恢复已解调I-Q 测量波形的实际符号比特,随后重建理想的I 和Q 状态序列。这些状态再作为理想的脉冲,并根据参考信道滤波进行基带过滤,从而生成一个理想的I-Q 参考波形。然后对比I-Q 测量波形与I-Q 参考波形,分析输入信号的质量。从已测波形中减去参考波形得到误差矢量波形,或I-Q 误差波形。这种方法能够揭示非常微小的信号变化,并能转化为信号的质量信息,这些信息是传统调制质量测量方法所不能提供的。 测量概念 现在已解释了一些数字调制基础和VSA 的系统原理,下一步是了解关于数字调制分析测量结果与用于系统故障诊断的轨迹轨迹显示。下面的例子显示了QPSK ( 正交相移键控) 的测量结果,调制信号的符号速率是50 ksym/s, α 等于0.35 的根升余弦基带滤波器。正交表示载波信号在相差90°的相位状态之间转换。信号以90° 为增量在45° 到135°、-45° 或-135° 变化。QPSK 有四个可用状态。每个状态分配一个0 ~ 3 的二进制值,这要求每个状态有2 个比特,也就是每符号两个比特。只要两个I 值和两个Q 值就可生成四种状态,同时满足双比特码元的要求。 矢量 ( 或IQ) 图 矢量示意图,通常更多地称为数字调制的IQ 图,显示了时间上各个时刻所恢复的复杂I-Q 基带信号。它显示了信号状态以及信号在符号之间移动时的跳变过程。从原点到矢量示意图上某个点绘制的矢量线对应着此刻的瞬时电压。 图11a 显示了前面提到的QPSK 调制信号的IQ 图示例。IQ 图显示了4 个理想的状态位置( 以十字表示),分别是45°、135°、-45° 和-135°。还有已检测的符号和符号间的跳变。IQ 图给出了峰均电压比,它可用于确定放大器的压缩情况。   图11. QPSK 量图和星座图 矢量图解释 在I-Q 平面上查看信号时,记住你是在观察信号相对载波的幅度和相位。未调制的载波是相位参考(0°)。图11 中,每个检测的符号都是相对未调制载波以不同的幅度和相位进行调制,但频率与载波一致。如果检测到符号频率与未调制载波的不同,它的表象是信号相对未调制载波连续增加或减小相位似的移动。还有,数字调制属于三维测量,根据I ( 同相)/Q ( 正交)分量与时间的关系进行调制。而IQ 图仅是二维图,所以与I-Q 平面( 或CRT屏幕) 垂直的时间参数无法显示。 星座图 图11b 显示了与前面相同的QPSK 信号的星座图。星座图显示了与符号时钟同步的载波幅度和相位。这些测量点通常就是检测判断点,代表已检测的符号。它与I-Q 图类似,只是不显示状态间的跳变轨迹轨迹。 理想状态下,所有符号都应显示为单点,并集中在理想状态位置处( 以十字坐标显示)。理想状态是指信号没有误差时的符号位置。不过由于信号的损伤及其它调制误差会造成偏差,符号会分散在理想状态位置的周围。 89600B VSA 允许你在理想状态周围放置一个定义好的误差限制圈。显示的实际已检测符号与理想状态可以帮助您直观地了解信号质量。星座图有助于识别幅度不平衡、正交误差或相位噪声等信号损伤。 误差矢量幅度(EVM) 在数字通信系统中应用最为广泛的调制质量指标是误差矢量幅度(EVM)。误差矢量是指在给定时间的理想参考信号和所测信号之间的矢量差。参见图12。误差矢量是一个复参量,包含幅度和相位分 量。不要将误差矢量幅度与幅度误差、误差矢量相位与相位误差相混淆。   图12. 误差矢量幅度(EVM); 实际测得的信号与理想参考信号的差异 EVM 定义为在符号时钟跳变时刻误差矢量的均方根(rms)。按照惯例EVM 通常归一化为最外面符号的幅度或符号平均功率的平方根。EVM 测量在有些通信标准中也称为相对星座误差(RCE),各种相关数据结果对于任意 数字调制格式中影响信号的幅度和相位轨轨迹路的损伤都十分敏感。因此,EVM 是一种分析诊断通信系统基带、中频或射频部分中的故障的理想测量工具。 图13 是图12 中定义的调制质量测量的示例。误差矢量时间数据( 轨迹A) 是根据I-Q 测量信号和I-Q 参考信号上相应符号点计算出的误差矢量幅度。误差矢量频谱数据( 轨迹B) 显示了误差矢量时间数据的频谱。也就是说,误差矢量时间数据被加窗并FFT 以生成误差矢量频谱轨迹。这种格式能够揭示使得制载波偏离理想路径的多余信号的频谱成分。如果这些误差成分是确定的,它们会以频谱轨迹的形式显示在误差矢量频谱上。测量这些频谱,可以更深入地了解这些误差信号的本质与来源。频率峰值通常会对应方框图中某处的一个信号。I-Q 幅度误差( 轨迹C) 和I-Q 相位误差( 显示D) 显示了I-Q 测量信号和I-Q 参考信号间的误差。I-Q 幅度误差显示幅度误差,I-Q相位误差显示相位误差。   图13. 轨迹A ( 误差矢量时间) 显示了符号点处的误差矢量幅度。轨迹B ( 误差矢量频谱) 显示了误差矢量时间数据的频谱。轨迹C (IQ 幅度误差) 是测量IQ 波形和IQ 参考波形的幅度差。 轨迹D (IQ 相位误差) 是测量IQ 波形和IQ 参考波形的相位差。 符号表/ 误差汇总[!--empirenews.page--] 符号表/ 误差汇总测量结果可能是数字解调最强大的工具了。你可以看到解调比特,以及所有解调符号的误差统计。例如,查看rms EVM 值可以帮助你快速评估调制精度。还有其它很多有价值的误差报告。图14 显示了前面使用的QPSK 信号的符号表/ 误差汇总数据。标记读数显示的是符号表中突出显示的比特对应的值,代表符号3,数值为2 (“10”的二进制值)。可以看出这个值与QPSK 调制所需的双比特码元一致。误差表显示了适用于QPSK 调制信号的统计数据与误差数据。其它误差值为其它格式所用。我们已经讨论了一些基本的调制测量,但还有很多定性显示和定量测量并未涉及。   图14. 符号表/ 误差汇总数据提供解调比特及所有已解调信息的误差统计。 模拟调制分析 矢量调制分析可以提供的另一种重要的测量工具是模拟调制分析。模拟调制产生AM、FM 和PM 解调结果,类似于调制分析的输出,允许你查看幅度、频率和相位特性对时间的关系。这些模拟调制分析能力增强了VSA 已有的数字调制分析功能,提供完整的分析数字通信系统的测量解决方案。例如,可使用模拟调制能力分析像FSK ( 频移键控) 这样的有意调制; 像相位噪声或AM-PM 转换这样的无意调制; 或者像频率或相位稳定或脉冲成形过程这种单脉冲信号参数。 解调信号的过程看上去挺复杂,但矢量调制和I-Q 调制过程的基础特性使得解调变得简单。前面提到的矢量或IQ 图( 图2 和11) 显示了调制载波相对未调制载波的瞬时幅度和相位,这有助于显示数字调制特性。不过它还提供了一个简单的方法来查看模拟调制信号特性,例如图15 所示的AM、PM 和FM 调制。未调制连续波(CW) 信号简单地显示为一个幅度与相位恒定的固定点。AM 信号的轨迹经过原点沿着固定线路,只有信号幅度发生改变。FM 信号的轨迹是以原点为中心的圆圈,瞬时频率偏差由相位变化率给出。PM 与FM 的轨迹类似,当然,相位的相对变化是关键参数。在矢量调制中,幅度和相位可同时改变,矢量轨迹会在幅度和相位上都发生变化。   图15. I-Q 示意图中I-Q 平面上的模拟调制特性。 传统上,为了查看载波调制波形( 调制包络),应当通过检波移除载波并将结果波形显示在幅度对时间的示波器上。不过,取代在载波上检测调制的思想,在矢量调制中,我们将载波“搬移”或“下变频”到0 Hz 之后再在剩下的部分里查看调制。频移的直观图将显示利用基本三角恒等式载波上幅度和相位变化是如何被“检测”的。   图16. 调制通过搬移载波频率(fc) 至0 Hz 测量。当数字LO 频率等于调制载波频率时,正交检波器的输出 —I(t) 和Q(t) 时域波形 — 就是载波上的调制。 如图16 所示,复调制载波信号以(V(t) = A(t)Cos[2πfct + Ø(t)]) 表示,频率fc 是用于频率转换的正交混频器( 或正交检测器) 的输入。为恢复基带调制信号,首先通过设置LO 频率为fc 将载波下变频至基带(0 Hz)。随后基带信号经过低通滤波,只留下差频。这个过程生成实部I(t) 和虚部Q(t) 时域波形,表示已调制载波信号与未调制LO 信号的幅度和相位差,以载波为参考。这是载波调制以I(t) 和Q(t) 分量( 直角坐标) 表示的形式,而不是幅度A(t) 和相位Ø(t)。前面提到I-Q 解调执行极坐标—直角坐标的转换。不过,通过对I(t) 和Q(t) 分量应用一些运算和简单的三角恒等式,我们也能够获得瞬时幅度A(t) 或相位Ø(t) 这些载波上的变化。这就是AM 和PM 调制。 幅度调制AM 是载波幅度A(t) 随时间的变化,由I(t) 和Q(t) 的平方和开平方根得出。 AM = A(t) = sqrt[I2(t) + Q2(t)] 相位调制PM 是相位Ø(t) 随时间的变化,等于[Q(t)/I(t)] 的反正切。频率调制FM 是相移对时间dØ/dt 的导数。即,FM 是PM 的导数: PM = Ø(t) = arctan[Q(t)/I(t)] FM = PM 的导数= (dØ/dt) 从I(t) 和Q(t) 开始,通过应用基本三角恒等式,我们完成了载波的第一阶解调,能够查看AM、PM 和FM 调制。实际中,VSA 软件使用精密的解调算法再结合频率和相位误差校准程序,可以精确地将有意和无意调制从载波上分离出来。模拟解调可使PM、FM 与AM 完全分离。同样地,AM 也可与PM、FM 完全分离。 总结 本文介绍了运用在基于软件的矢量信号分析中的矢量/ 数字调制技术和数字调制分析的基本原理。描述了数字( 矢量或I-Q) 调制和常见数字调制格式。VSA 架构类似于数字通信系统,因此我们也描述了无线接收机和发射机的方框图,介绍了生成、发射、接收以及恢复原始数字信息的过程。随后,我们着眼于VSA 数字解调方框图并描述了每个功能及正确解调信号并进行测量的相关解调参数。带有矢量调制分析功能的VSA 提供强大的专业测量能力,允许你贯穿整个数字系统( 系统使用I 和Q 信号) 的方框图进行表征和故障诊断。通过借鉴本章节内容,针对你的通信系统,你将更加明确地选择所需的测量仪器和必备工具。现在,VSA 既可作为嵌入式专用软件运行在信号分析仪,示波器和逻辑分析仪上,也可作为独立软件与多种测量前端和仿真软件兼容。

    时间:2018-01-23 关键词: 基础 嵌入式开发 矢量调制 分析

  • 量子点的应用前景分析

    量子点又称半导体纳米微晶体,是直径在1~10nm的一类半导体纳米粒子,特殊的结构使得它具有表面效应、量子尺寸效应、介电限域效应和宏观量子隧道效应[1],其所展现出的许多不同于宏观块体材料的物理化学性质和特殊的光学性质,使其在显示、医学、太阳能电池等诸多领域中有着极大的应用前景。下面就随嵌入式小编一起来了解一下相关内容吧。 1. 量子点在显示领域的应用: 纳米量子点作为一种最新型的半导体荧光材料,已经逐渐成为取代传统荧光的研究热点。量子点LED具有以下优点: a)量子点LED的发光层单层量子点可以由胶体溶液制成; b)量子点LED器件的发光颜色可通过控制量子点尺寸进行调节; c)量子点是无机物,比有机半导体具有更好的抗水、氧侵蚀的能力,因此量子点LED的封装要求低于OLED; d)量子点LED具有较高的显色指数、色彩饱和度以及较低的能量损耗。 基于量子点LED以上所述的几大优势,目前,全球各大面板制造商正在积极地促进量子点LED的研究以及量产,量子点LED技术将成为下一代半导体照明与显示领域所面临的共性关键技术。 2. 量子点在医学领域的应用: 量子点最有前途的应用领域是在生物体系中作为荧光探针。理想的荧光探针必须能够与相应的细胞发生特异性的结合,通常荧光探针要满足以下要求: a)必须具有足够的稳定性; b)必须具有水溶性; c)低毒或无毒,而且不损伤细胞; d)必须具有足够强的荧光以便能满足于观察和研究。 而利用量子点作为荧光探针恰恰具备了以上的所有特点[2]。量子点技术,因其所拥有的独特的标记特点,必将成为今后生物分子检测的尖端技术,从而推动生物显像技术和生物制药技术的迅速发展,给疾病的诊断和治疗带来巨大进步。目前,结合流式细胞术,将量子点标记用于微流控芯片免疫分析也是一个方兴未艾的研究方向。 3. 量子点在太阳能电池中的应用: 量子点太阳能电池是第三代太阳能电池,也是目前最尖端、最新的太阳能电池技术之一。它主要通过两个效应来大幅度增加光电转换效率:第一个效应是来自具有充足能量的单光子激发产生多激子;第二个效应是在带隙里形成中间带,可以有多个带隙起作用,来产生电子空穴对。此外,它还可通过其它效应,减缓热电子-空穴对的冷却、提高电荷载流子之间的俄歇复合过程和库仑耦合、并且通过对于载流子进行三维限制,使跃迁过程不必满足动量守恒,从而提高转换效率[3]。 量子点太阳能电池有着良好的应用前景,其中量子点敏化太阳能电池距离商业化应用最为接近,但真正意义上的量子点太阳能电池,还有待深入研究。 综上所述,随着量子点研究的不断深入,量子点商品化进程已经逐渐开始。未来,随着人们对量子点材料更加深入的研究,量子点在生物分析、医学诊断、太阳能电池等方面都将会有很大发展。另外,伴随着不断成熟的量子点技术,将会有越来越多的量子点产品及技术被商品化,一个全新的、更成熟的量子点时代即将来临。 参考文献: [1]田宇光,陈优生.量子点的应用概论[J].科技信息,2008(9):441-442+444 [2]赵承军,唐军民.量子点在生物医学中的应用[J].解剖学报,2006.8:37(4)484-486 [3]基于量子点太阳能电池简介

    时间:2018-01-23 关键词: 应用前景 量子点 设计教程 分析

  • 信号完整性与电源完整性的详细分析

    信号完整性与电源完整性的详细分析

    最近在论坛里看到一则关于电源完整性的提问,网友质疑大家普遍对信号完整性很重视,但对于电源完整性的重视好像不够,主要是因为,对于低频应用,开关电源的设计更多靠的是经验,或者功能级仿真来辅助即可,电源完整性分析好像帮不上大忙,而对于50M -100M以内的中低频应用,开关电源中电容的设计,经验法则在大多数情况下也是够用的,甚至一些芯片公司提供的Excel表格型工具也能搞定这个频段的问题,而对于100M以上的应用,基本就是IC的事情了,和板级没太大关系了,所以电源完整性仿真,除非能做到芯片到芯片的解决方案,加上封装以及芯片的模型,纯粹做板级的仿真意义不大,真是这样吗? 其实电源完整性可做的事情还很多,下面就来了解了解吧。 信号完整性与电源完整性分析 信号完整性(SI)和电源完整性(PI)是两种不同但领域相关的分析,涉及数字电路正确操作。在信号完整性中,重点是确保传输的1在接收器中看起来就像 1(对0同样如此)。在电源完整性中,重点是确保为驱动器和接收器提供足够的电流以发送和接收1和0。因此,电源完整性可能会被认为是信号完整性的一个组成部分。实际上,它们都是关于数字电路正确模拟操作的分析。 分析的必要性 如果计算资源是无限的,这些不同类型的分析可能不存在。整个电路将会被分析一次,而电路某一部分中的问题将会被识别并消除。但除了受实际上可仿真哪些事物的现实束缚之外,具有不同领域分析的优点在于,可成组解决特定问题,而无需归类为“可能出错的任何事物”。在信号完整性中,例如,重点是从发射器到接收器的链路。可仅为发射器和接收器以及中间的一切事物创建模型。这使得仿真信号完整性变得相当简单。另一方面,要仿真电源完整性可能有点困难,因为“边界”有点不太明确,且实际上对信号完整性领域中的项目具有一定的依赖性。 在信号完整性中,目标是消除关于信号质量、串扰和定时的问题。所有这些类型的分析都需要相同类型的模型。它们包括驱动器和接收器、芯片封装及电路板互连(由走线及过孔、分立器件和/或连接器组成)的模型。驱动器和接收器模型包括关于缓冲器阻抗、翻转率和电压摆幅的信息。通常,IBIS 或 SPICE 模型用作缓冲器模型。这些模型与互连模型结合使用来运行仿真,从而确定接收器中的信号情况。 互连将主要包括行为类似于传输线的电路板走线。此类传输线具有阻抗、延迟和损耗特性。它们的特性决定了所连接的驱动器和接收器与彼此进行交互的方式。互连的电磁特性必须使用某种类型的场求解器进行求解,该场求解器通过可与信号完整性仿真器结合使用的电路元件或 S 参数模型来描述其特征。大多数走线均可建模为一个均匀的二维横截面。该横截面足以计算走线的阻抗特性。阻抗将会影响信号线上接收器中的波形形状。最基本的信号完整性分析包括设置电路板叠层(包括适当的介电层厚度),以及查找正确的走线宽度,以实现一定的走线目标阻抗。 与过孔相比,对走线进行建模会相对比较容易。当对较快的信号进行信号完整性分析时,适当的过孔建模就变得非常重要。通常,千兆位信号需要通过三维场求解器对模型特征进行适当地描述。幸运的是,这些信号往往是不同的,这使它们的影响相对局部化。穿过过孔的快速、单端信号与配电网络(PDN)进行强有力地交互。从这些过孔返回的电流穿过附近的缝合孔、缝合电容器和/或平面对(组成PDN且需要建模以进行电源完整性分析的相同元器件)。   图1:在走线横截面、信号过孔和 PDN 上的能量传播。 在电源完整性分析中,较高频率的能量分布在整个传输平面上。这立即使此分析比基本信号完整性更复杂,因为能量将沿x和y方向移动,而不是仅沿传输线一个方向移动。在直流中,建模需要计算走线的串联电阻、平面形状和过孔相对较为简单。但是对于高频率,分析PDN的不同位置上电源与地面之间的阻抗需要复杂的计算。阻抗将根据电路板的位置(电容器的放置位置、安装方式、类型及电容值)而异。高频行为(如安装电感和平面扩散电感)需要包括在建模中,以便生成准确的去耦分析结果。存在简单版本的去耦分析(通常称为集总分析),在此分析中,会将PDN视为一个节点来计算其阻抗。这通常是可一次性成功的有效而快速的初步分析,可确保有足够的电容器且它们具有正确的值。然后,运行分布式去耦分析可确保在电路板的不同位置满足PDN的所有阻抗需求。 信号完整性仿真 信号完整性仿真重点分析有关高速信号的3个主要问题:信号质量、串扰和时序。对于信号质量,目标是获取具有明确的边缘,且没有过度过冲和下冲的信号。通常,可以通过添加某种类型的端接以使驱动器的阻抗与传输线的阻抗相匹配来解决这些问题。对于多点分支总线,并非总能匹配阻抗,因此,需要将端接和拓扑的长度变化相结合来控制反射,使得它们不会对信号质量和时序产生不利影响。   图2:使用信号完整性分析和设计空间探索消除信号质量和串扰问题。 可以运行这些相同的仿真,以确定信号经过电路板时的传输时间。电路板时序是系统时序的一个重要组成部分,并受线路长度、其在经过电路板时的传播速度以及接收器中波形形状的影响。由于波形的形状确定了接收的信号穿越逻辑阈值的时间,因此,它对于时序来说是非常重要的。这些仿真通常会驱动走线长度约束的变化。 通常运行的另一个信号完整性仿真是串扰。这涉及多条相互耦合的传输线。随着走线挤进密集的电路板设计,了解它们正在相互耦合多少能量对于消除因串扰产生的错误是非常重要的。这些仿真将推动走线之间的最小间距要求。 电源完整性仿真 在电源完整性分析中,主要仿真类型有直流压降分析、去耦分析和噪声分析。直流压降分析包括对PCB上复杂走线和平面形状的分析,可用于确定由于铜的电阻将损失多少电压。此外,还可以使用直流压降分析来确定高电流密度区域。实际上,可以使用热仿真器对它们进行协同仿真,以查看热效应。幸运的是,针对直流压降问题的解决方案非常简单:添加更多的金属。这些额外金属可能会采用更宽和/或更厚的走线和平面形状、额外平面或额外过孔。[!--empirenews.page--]   图3:显示PI/热协同仿真中“热点”的电流密度和温度图 上面简要讨论的去耦分析旨在确定和最大限度减少电路板不同IC位置上电源与地面之间的阻抗。去耦分析通常会驱动PDN中所用电容器的值、类型和数量的变化。因此,它需要包括寄生电感和电阻的电容器模型。它还会驱动电容器安装方式的变化和/或电路板叠层的变化,以满足低阻抗要求。 噪声分析的类型可能会有所不同。它们可以包括围绕电路板传播的、来自IC电源管脚中的噪声,可通过去耦电容器对其进行控制。通过噪声分析,可以调查噪声如何从一个过孔耦合到另一个过孔,可以对同步开关噪声进行分析。在许多情况下,这种噪声是由信号切换(从1到0及从0到1)引起的,因此它与信号完整性密切相关。但在所有情况下,这些电源完整性分析的最终目标是驱动PDN的变化:电源/地面平面对、走线、电容器和过孔。 表 1. 信号完整性和电源完整性之间的差异   PDN不仅充当为IC提供电流的手段,还用作信号的返回电流路径。信号完整性与电源完整性之间的大量交叉发生在过孔中。对于穿过过孔的单端信号来说,PDN充当该信号的返回电流路径。附近的过孔或电容器为返回电流提供路径,以使其从一个平面移至下一个平面。因此,PDN实际上决定了该单端过孔的阻抗和延迟特性,并且对于更快的单端信号(如DDR3和DDR4)的精确建模来说是至关重要的。使用这一相同的SI/PI组合过孔模型,可以分析从一个过孔到下一个过孔的耦合,以及信号通过过孔到PDN的耦合。 同样地,PDN对于最大限度减少可能由多个信号切换(通常称为SSN)同时引起的噪声来说是至关重要的。如果在IC电源管脚中的PDN阻抗太高,当所有驱动器同时切换时,它们的切换电流将产生电压,而该电压可在信号本身中观察到。可通过利用去耦分析设计一个出色的低阻抗PDN来消除此问题。全面仿真此问题以查看对信号的影响,要求能够同时执行信号完整性分析和电源完整性分析。驱动器的SPICE模型传统上用于执行此类分析,但更新的IBIS模型也具有相应的基础架构,以包括在查找信号完整性时的PDN影响。 信号完整性和电源完整性的分析对于成功的高速数字设计来说是至关重要的。它们为需要进行哪些设计更改提供了有价值的见解。此外,随着建模方法和计算能力的改善,如果能够同时仿真这两种类型的完整性,则会清楚地了解电路的实际行为、设计中真正存在的利润以及它们如何实现最佳可能性能。 电源完整性设计的几点考虑因素 1、电源系统噪声余量分析 绝大多数芯片都会给出一个正常工作的电压范围,这个值通常是±5%。老式的稳压芯片的输出电压精度通常是±2.5%,因此电源噪声的峰值幅度不应超过±2.5%。精度是有条件的,包括负载情况,工作温度等限制,因此要有余量。 电源噪声余量计算 比如芯片正常工作电压范围为3.13V到3.47V之间,稳压芯片标称输出3.3V。安装到电路板上后,稳压芯片输出3.36V。那么容许电压变化范围为3.47-3.36=0.11V=110mV。稳压芯片输出精度±1%,即±3.363*1%=±33.6mV。电源噪声余量为110-33.6=76.4mV。 2、电源噪声是如何产生 第一,稳压电源芯片本身的输出并不是恒定的,会有一定的波纹。 第二,稳压电源无法实时响应负载对于电流需求的快速变化。稳压电源芯片通过感知其输出电压的变化,调整其输出电流,从而把输出电压调整回额定输出值。 第三,负载瞬态电流在电源路径阻抗和地路径阻抗上产生的压降,引脚及焊盘本身也会有寄生电感存在,瞬态电流流经此路径必然产生压降,因此负载芯片电源引脚处的电压会随着瞬态电流的变化而波动,这就是阻抗产生的电源噪声。 3、电容退耦的两种解释 采用电容退耦是解决电源噪声问题的主要方法。这种方法对提高瞬态电流的响应速度, 降低电源分配系统的阻抗都非常有效。 3.1 从储能的角度来说明电容退耦原理 在制作电路板时, 通常会在负载芯片周围放置很多电容, 这些电容就起到电源退耦作用。其原理可用图 1 说明。   当负载电流不变时,其电流由稳压电源部分提供,即图中的I0,方向如图所示。此时电容两端电压与负载两端电压一致,电流Ic为0,电容两端存储相当数量的电荷,其电荷数量和电容量有关。当负载瞬态电流发生变化时,由于负载芯片内部晶体管电平转换速度极快,必须在极短的时间内为负载芯片提供足够的电流。但是稳压电源无法很快响应负载电流的变化,因此,电流I0不会马上满足负载瞬态电流要求,因此负载芯片电压会降低。但是由于电容电压与负载电压相同,因此电容两端存在电压变化。对于电容来说电压变化必然产生电流,此时电容对负载放电,电流Ic不再为0,为负载芯片提供电流。只要电容量C足够大,只需很小的电压变化,电容就可以提供足够大的电流,满足负载态电流的要求。 相当于电容预先存储了一部分电能,在负载需要的时候释放出来,即电容是储能元件。储能电容的存在使负载消耗的能量得到快速补充,因此保证了负载两端电压不至于有太大变化,此时电容担负的是局部电源的角色。 从储能的角度来理解电源退耦,非常直观易懂,但是对电路设计帮助不大。从阻抗的角 度理解电容退耦,能让我们设计电路时有章可循。实际上,在决定电源分配系统的去耦电容 的时候,用的就是阻抗的概念。 3.2 从阻抗的角度来理解退耦原理   [!--empirenews.page--] 将图 1 中的负载芯片拿掉,如图 2 所示。从 AB 两点向左看过去,稳压电源以及电容退耦系统一起,可以看成一个复合的电源系统。这个电源系统的特点是:不论 AB 两点间 负载瞬态电流如何变化,都能保证 AB 两点间的电压保持基本稳定,即 AB 两点间电压变 化很小。 我们可以用一个等效电源模型表示上面这个复合的电源系统,如图 3   对于这个电路可写出如下等式:   我们的最终设计目标是,不论 AB 两点间负载瞬态电流如何变化,都要保持 AB 两点 间电压变化范围很小,根据上面公式,这个要求等效于电源系统的阻抗 Z 要足够低。在图 2 中,我们是通过去耦电容来达到这一要求的,因此从等效的角度出发,可以说去耦电容降低 了电源系统的阻抗。另一方面,从电路原理的角度来说,可得到同样结论。电容对于交流信 号呈现低阻抗特性,因此加入电容,实际上也确实降低了电源系统的交流阻抗(1/jwc)。 从阻抗的角度理解电容退耦,可以给我们设计电源分配系统带来极大的方便。实际上, 电源分配系统设计的最根本的原则就是使阻抗最小。 最有效的设计方法就是在这个原则指 导下产生的。 4、实际电容的特性 正确使用电容进行电源退耦,必须了解实际电容的频率特性。理想电容器在实际中是不存在的,这就是为什么常听到“电容不仅仅是电容”的原因。 实际的电容器总会存在一些寄生参数,这些寄生参数在低频时表现不明显,但是高频情 况下,其重要性可能会超过容值本身。图 4 是实际电容器的 SPICE 模型,图中,ESR 代表 等效串联电阻,ESL 代表等效串联电感或寄生电感,C 为理想电容。   等效串联电感(寄生电感)无法消除,只要存在引线,就会有寄生电感。这从磁场能量变化的角度可以很容易理解,电流发生变化时,磁场能量发生变化,但是不可能发生能量跃变,表现出电感特性。寄生电感会延缓电容电流的变化,电感越大,电容充放电阻抗就越大,反应时间就越长。 自谐振频率点是区分电容是容性还是感性的分界点,高于谐振频率时,“电容不再是电容”,因此退耦作用将下降。 电容的等效串联电感和生产工艺和封装尺寸有关,通常小封装的电容等效串联电感更低,宽体封装的电容比窄体封装的电容有更低的等效串联电感。 在电路板上会放置一些大的电容,通常是坦电容或电解电容。这类电容有很低的ESL,但是ESR很高,因此Q值很低,具有很宽的有效频率范围,非常适合板级电源滤波。 电路的品质因数越高,电感或电容上的电压比外加电压越高。Q值越高在一定的频偏下电流下降得越快,其谐振曲线越尖锐。也就是说电路的选择性是由电路的品质因素Q所决定的,Q值越高选择性越好。 5、局部去耦设计方法 为保证逻辑电路能正常工作,表征电路逻辑状态的电平值必须落在一定范围内。比如对于3.3V逻辑,高电平大于2V为逻辑1,低电平小于0.8V为逻辑0。 把电容紧邻器件放置,跨接在电源引脚和地引脚之间。正常时,电容充电,存储一部分电荷。这样电路转换所需的瞬态电流不必再由VCC提供,电容相当于局部小电源。因此电源端和地端的寄生电感被旁路掉了,寄生电感在这一瞬间没有电流流过,因而也不存在感应电压。通常是两个或多个电容并联放置,减小电容本身的串联电感,进而减小电容充放电回路的阻抗。 注意:电容的摆放、安装距离、安装方法、电容选择

    时间:2017-12-27 关键词: 电源电路 信号完整性 电源完整性 分析

  • 使用实时数字荧光示波器进行验证——捕获和分析

    验证(Verification),就是测试设计是否和它对应的各种标准(行业标准或者自定义标准)相符,以及有多少冗余量。验证和调试,是示波器的主要用途。 在使用示波器进行调试时,我们关心的主要指标是: 波形捕获率——决定仪器能够多快发现故障 触发系统——决定仪器能够多精确地定位故障 分析能力——决定仪器能够从波形里提取出多少有用信息。 而在使用示波器进行验证时,我们更关心的指标是:信号保真度——决定采集的样点是否能够真实反映信号特性;采样率和内存深度——决定单次捕获可以以多快的速度以及抓取多少样点供验证测试;分析工具——决定深入分析的程度和准确性。 信号保真度是一个比较复杂的问题,涵盖了示波器的带宽、采样率、内插、抖动噪底、本底噪声、时间测量精度、探头系统等多个方面。业界对此的讨论很多,也有很多相关文章,所以本文不再做详细分析,只强调示波器的频率响应对验证的影响。 频率响应,在示波器指标上反映为带宽和上升时间。带宽表征的是示波器的稳态响应能力,而上升时间是瞬态相应。经验上,带宽和上升时间(10~90%)的乘积是一个常数,这个常数和示波器的放大器模型有关。如高斯响应的放大器模型,这个常数是0.35;而高性能的示波器放大器模型比较复杂,该常数一会在0.4~0.55之间。当然,从用户的角度看,这个常数应该越小越好:常数越小,则表示相同的带宽(稳态响应)下,该示波器的上升时间更快,也就是说瞬态响应更好;而上升时间一样的情况下,乘积小的示波器需要的带宽会相对低一些——而对示波器,带宽和价格是正比的,也就是说乘积小的示波器性价比更高。 我们验证测试对象一般都是脉冲(非正弦)信号,如通信信号、串行总线信号、高速脉冲信号、调制信号等等,所以示波器的瞬态响应相比起来更加重要。泰克DPO示波器在相同带宽下,能提供最快的上升时间,对于瞬态信号的测试非常有帮助。 另外一方面,高带宽示波器的不同设计结构,也会影响到验证测试的正确性、精度和速度: 近几年示波器带宽不断高速提升,如何在提升带宽的同时,保证带内幅度响应的平坦和相位响应的线性,成了一个重要的问题。有经验的工程师都知道,要完全从硬件入手,是不可能得到理想的平坦幅度响应和线性相位响应的。所以在高性能示波器的放大器技术中,各大示波器生产商都在使用软件提升带宽和优化响应的DSP技术。DSP技术的使用,确实能得到比较理想的幅度和相位响应,但是它并不是有利无害的。下图是示波器对阶跃信号的响应,蓝色为完全的模拟响应,而红色是DSP处理后的响应。 DSP 提升、修正幅度和相位响应后,示波器可以更加精确地测量上升时间、眼图冗余等指标,有利于对数字通信信号、计算机总线信号等的验证测试。但是从红色的波形可以看到:虚线框部分,我们叫做“预过冲”,是一种不存在于现实信号中“假波形”,是由DSP处理产生出来的失真——对于阶跃信号来说,没有理由当上升能量还没有产生时,波形就开始振荡。所以当使用示波器测量高速脉冲、激光脉冲或类似信号时,DSP的处理就不再是测试人员期望的了——失真的波形错误指示了各个时间点的物理行为。 当然,DSP还有其它一些问题,如过驱动的信号的错误显示、较低的数据吞吐速度、DSP之前的原始数据无法导出等。所以当用户需要观测过驱动信号(如脉冲顶端的过冲细节)、需要使用示波器采集的原始数据做自定义分析(如激光脉冲测量)或者需要较高的处理速度时,都要求示波器不使用DSP功能。 泰克在所有2.5GHz带宽以上的DPO中都使用了DSP的频响修正和通道匹配功能,DPO72004还有DSP的带宽提升功能。但是泰克公司也深知DSP功能的利弊,所以在其它公司“悄悄”使用DSP功能时,泰克唯一让用户有了“知情权”和“控制权”,即用户可以知道示波器是否正在使用DSP功能,同时还可以根据需要打开或者关闭DSP提升功能。这样,如进行需要示波器原始采集数据的脉冲测试,用户可以选择关闭DSP功能;而进行串行信号一致性测试时,泰克建议可以打开DSP功能。 除了应用上需要注意以上这些事项以外,DSP功能还有一些要求。从上图我们可以看到,DSP要求必须满足奈奎斯特采样率实时采样。有一些厂家的示波器当采样率不满足奈奎斯特带宽时,会有难以预料的波形幅度失真,大多来自于这个原因。 同时,高性能示波器一般都是4通道。但是要在四个通道上同时实现标定带宽,还需要采样率的支持。业界一般公认2.5倍于带宽的采样率是保证带宽的最低要求。这样,如果使用8GHz以上的示波器做信号验证(一般都是单次采集),泰克的DPO可以同时在4条通道同时提供全带宽性能(每通道50G的采样率可以有效保证最高20GHz的带宽),而采用共享放大器和ADC结构的示波器最多只能在两条通道上达到全带宽指标,有的甚至仅仅能保证一条通道的性能。 存储深度方面,很多验证测试需要足够的数据。如目前在高速串行信号的抖动和眼图测试过程中都要求一次捕获大量的数据,以进行精确的抖动测量和预估,同时保证低误码率。以避免捕获少量数据进行分析的结果的偶然性和不确定性。类如HDMI测试规范(CTS1.2 a Page 15)要求捕获1百万个比特数据进行眼图分析,则需要示波器两通道在10Gs/S的采样率下使用16M的存储深度。FBD Sigtest(Release notes Page6)推荐捕获1百万个比特数据进行眼图分析.PCIE 2.0的规范(Page239)规定强制要求捕获1Mlillion数据进行眼图抖动分析。则需要示波器单通道在40Gs/S的采样率下使用8M的存储深度。 另一个例子:为了减少EMI的串扰和辐射,在大多数高速串行信号中均使用了加入了扩频时钟(spread spectrum clock),它可以使串行信号的速率在一个适当的范围内进行漂移,从而使其频谱在一个较宽的范围内扩散,尖峰值显著降低,可以有效减少EMI问题。例如 FBD规范(Page15)明确规定需要支持频率很低的30-33K的频率的扩频时钟,其他如PCIE,SATAI,SATAII同样要支持此功能。为了验证Motherboard上的诸如此类的串行信号是否支持扩频时钟,而且确认其调制频率是否在30-33K之间。就必须一次捕获足够长时间的信号进行频率抖动分析。一次抓取的采样点数可以用下面的公式计算:每个扩频周期约位1/33k=30uS,由于是捕获高速串行信号,采样率至少为40Gs/S,即采样间隔为25pS,则捕获单个周期的总采样点数为30uS/25ps=1.2M,为了实现准确的扩频时钟的测量,一般建议捕获10个以上的扩频时钟周期, 所以总的采样点数为1.2M*10=12M.需要强调的是,此12M的存储深度必须使用在40Gs/s或更高的采样率下才有意义。 有些示波器设计时采用将高速采集前端(多达80颗ADC)和高速内存在物理上用一颗SOC芯片实现,由于有太多功能在一个芯片内部实现,导致片内高速内存容量的限制(在40GS/s下不大于2M),而且无法对内存扩展升级。为了弥补这种设计结构的缺陷,这类示波器会采用在芯片外部添加低速存储器弥补片内高速内存的限制,但外部存储器不能在高采样率下工作,一般只能提供2GS/s,样点间隔500ps,无法在信号边沿采集足够样点,甚至出现会出现混叠,所以它无法提供高精度时间测试结果。泰克DPO可以提供每通道200M的存储深度,且无任何使用限制,是业界最高的能力。这一能力让使用DPO进行验证测试的工程师在工作里游刃有余。 在分析工具方面,工程师一般会按优先顺序考虑以下三个方面:第一是准,即分析工具能够精确地得出结果;第二是全,即分析工具能够尽可能多地完成要求的测试项;第三是快,即在保证“准”和“全”的基础上,分析工具还能迅速、自动地工作,最好能够生成标准的测试报告。 “ 准”是第一要求,工业的标准文档一般会推荐一些解决方案,这些解决方案通常是标准工作组正在使用的方案,当然这类方案可以满足“准”的要求。还有一些所谓的“执行标准”,就是在标准工作组推荐的多个方案中,主要厂商或者行业领导者选择的方案。这类方案有最多的采用者,当然使用这类方案,可以得到业界最主要厂商的认同,所遇到的兼容性问题也最小。 建立在“准”基础上的“全”也是一个重要条件。一种分析工具,如果能够提供尽可能多的测试项,最好还能用户自定义测试点,那么将会为工程师带来很大的便利。行业规范以及业界认可的设备对验证测试非常重要,不同厂家的设备虽然都对外宣称可以支持某一项标准的一致性测试,但由于硬件平台以及软件实现方式的不同,使测试项目的完整性,覆盖率以及测试结果存在很大差异。这种测试结果的差异会大大降低客户对测试报告的认可程度,对于OEM/ODM厂商这一点尤其需要重视。 “快”的要求,必须要建立在“准”和“全”的基础上——高效必须以质量为前提。 以高速计算机总线测试为例,下表列出泰克的解决放案,其中大部分方案都是标准规范所推荐的。值得注意的是,唯有泰克的DPO70000系列实时数字荧光示波器可以涵盖所有的标准一致性测试要求的带宽: 另外,在通信规范的验证上,泰克的Pinpoint触发系统提供通信相关触发,它使用硬件时钟恢复电路恢复高速串行数据的嵌入式时钟,从而可以进行等效眼图测试。泰克示波器也是业界唯一可以实现标准等效眼图测试的实时示波器。

    时间:2017-10-11 关键词: 示波器 验证 捕获 分析

  • 如何进行电源测量和分析?

    电源是把电能从一台设备转换到另一台设备的元件、子系统或系统,其通常从交流(AC)电源转换成直流(DC)电源。 从个人电脑到军事设备和工用机械, 电子设备的正常运转离不开 DC 电源的性能和可靠性。 电源分成许多不同的类型和规格, 包括传统模拟式电源电源到高效的开关式电源。所有这些电源都面临着复杂的动态工作环境。设备负载和需求在不同时间之间可能会大幅度变化。 即使是商用开关电源, 也必须能够承受突然出现的远远超过平均工作电流的峰值电流。设计电源或设计采用电源的系统的工程师必需了解电源在静止条件到最坏条件下的行为。 从历史上看, 检定电源行为意味着使用数字万用表进行静态电流和电压测量,然后在计算器或PC上麻烦地进行计算。今天,大多数工程师正转向示波器,作为首选的电源测量平台。 现代示波器可以配备集成电源测量和分析软件,简化设置, 更轻松地进行测量。 用户可以定制关键参数,自动进行计算,在几秒钟内查看结构,而不只是原始数字。 本入门手册将重点介绍怎样使用示波器和专用软件测量开关式电源设计。 电源设计问题指向测量需求 在理想状态下, 每个电源的的行为方式都应与设计使用的数学模型类似。 但在实际环境中, 元件是不理想的, 负载会变化, 线路电源可能会失真, 环境变化会改变性能。此外, 性能和成本需求变化也进一步提高了电源设计的复杂性。考虑一下下面的问题: 电源可以保持高于额定输出容量多少瓦?保持多长时间? 电源散发多少热量?在过热时会出现什么情况?要求多少冷却气流? 在负载电流大幅度提高时会发生什么情况?设备能够保持额定输出电压(负载稳压)?电源对输出完全短路会作出什么样的反应? 在电源输入电压变化时会发生什么情况(线路稳压)? 设计人员需要开发出占用空间更少、能耗效率更高、减少散热量、降低制造成本、满足更严格的EMI/EMC 标准的电源。只有严格的测量体系,才能引导工程师实现上述目标。 开关式电源基础知识   在大多数现代系统中,流行的 DC 电源结构是开关式电源(SMPS),这种电源因能够高效处理负载变化而闻名。典型SMPS的电源信号路径包括无源元件、有源元件和磁性元件。SMPS 最大限度地减少了有损耗的元件的使用量, 如电阻器和线性模式晶体管, 重点采用(在理想条件下)没有损耗的元件, 如开关式晶体管、 电容器和磁性元件。 SMPS设备还包括一个控制段, 其中包含脉宽调制稳定器、脉冲速率调制稳定器和反馈环路等单元 1。控制段可以有自己的电源。图1是简化的SMPS示意图,其中显示了包括有源单元、无源单元和磁性单元的电源转换段。 SMPS技术依托电源半导体开关设备, 如金属氧化物场效应晶体管(MOSFET)和绝缘门双极晶体管(IGBT)。这些设备提供了快速开关时间, 能够耐受没有规律的电压峰值。同样重要的是,其在 On 状态或 Off 状态下消耗的功率非常小,实现了很高的效率,而生成的热量很低。开关设备在极大程度上决定着 SMPS 的整体性能。开关设备的关键测量项目包括开关损耗、平均功率损耗、安全工作区等等。

    时间:2017-07-18 关键词: 测量 电源 分析

  • 在选购电源适配器前你要知道这些

    作为电源设计师,并不是所有人都能将知识应用到实际生活中去。比如在对电源适配器进行选择时,就需要用到电路知识来进行选择。本文就将从不同的角度出发,通过多方面的分析来对电源适配器的选择进行建议和分析。 原装电源适配器的选择 先说原装的电源适配器。原装的电源适配器的形状、大小、重量、电源接口、电压、输出功率、电流等参数都没有问题,选购的时候省时省力(就是不能省钱)。一般情况下,一款原装的电源适配器的价格要300元以上,价格是兼容电源的3-5倍,如果纯粹为了省心的话,买个原装的电源适配器也是不错的选择。 购买原装电源适配器的时候有一些注意事项,比如所在国家的电压、适用机型等问题首先要弄明白。同一品牌不同型号的笔记本电脑,其电源适配器并不是完全一样的,不同国家和地区的输入电压也可能会有不同(不过好像大多数适配器都能兼容100V-240V这个范围内的电压)。确定了基本的需求后,尽量选择正规的售后服务中心和电子商城进行购买,网上买的话最好找信誉和评价都不错的商家。需要注意的一点是,原装的电源适配器不但会有假冒产品,在市场上还存在以次充好、以旧充新等现象。 兼容的电源适配器选择 再说兼容的产品。兼容的产品在选购的时候最主要的就是要注意参数的匹配,主要包括输入、输出接口类型,输入、输出电压,输出电流,输出功率,外观,重量,品质,价格等问题。不过现在大多数的兼容性产品都会注明适用机型,所以对具体参数不感兴趣的朋友可以略过相关内容,购买的时候直接根据适用机型进行选择即可。 按接口类型选择 适配器的接口有两种:电源输入接口和输出接口。输入接口多数都是三个脚的插头,也有个别是两个脚的,大家购买的时候要看清楚。比较重要的是电源输出接口,就是要插到笔记本电脑上的那个接头。这个接头一定要百分之百地匹配,不同的接头大小、长短,内径、外径,针脚类型可能都不相同,凭眼睛看的话不太靠谱,如果没有标明是否属于适用范围,在电压、电流匹配的情况下,一定要带着电脑现场测试。 电源接头看似简单,但事实上对品质要求是很高的。接口部位经常会因为挤压、拖拽等原因承受很大的压力,如果质量不过关,很容易就变形损坏,造成接触不良、短路等问题。所以大家在购买的时候要注意观察关键部位的做工是否精细,受力部位是否有额外的加粗加厚,很多电源坏掉的原因就是因为接头部分线路断掉了。 以电压、电流和功率来选择 很多适配器的输入电压都标明是100V-240V,这样的话在所有的国家和地区都可以适用,但是并不表明输入电压可以在100V-240V之间跳动,正常使用的前提是电压要平稳,否则可能会损坏适配器甚至损坏电脑。 还有一个问题就是最大输出功率(输出功率=电压╳电流)。笔记本电脑的各个部件的功耗是不同的,像屏幕、CPU、显卡、主板、硬盘、无线网络、USB外接设备等都需要较大功耗,如果功率不匹配,电脑可能就无法正常使用,甚至有可能损坏适配器和电脑上的零部件。 兼容类型的电源由于要用于多种类型的笔记本电脑,所以在设计的时候会有功率方面的余量,对于一般功耗的电脑应该可以够用,但如果您的电脑是耗电大户,并且要接一些外置设备(比如给手机充电、外置光驱、音箱之类的),那么就可能会出现电源功率不够的问题。还有就是有一部分兼容电源的参数并不是很准,大家选择的时候尽量选购电源适配器的功率较高比较稳妥。

    时间:2016-03-25 关键词: 电源适配器 电源技术解析 选择 分析

  • 智能配电系统的关键技术与系统结构分析

    摘要:随着经济的发展,配电要求也在不断提高,智能配电系统中的关键技术直接影响着用户的生产生活,两者之间的关系非常密切。本文就智能配电系统的关键技术与系统结构进行了简要的分析,其中包括硬件电路、三相不平衡试验、启动试验等,从而提高智能配电系统的实际应用性能。 关键词:智能配电系统;关键技术;系统结构;分析 受各方面因素的影响,我国的配电网事业起步比较晚,明显滞后于发电以及输电行业,难以满足社会发展的客观需求。调查数据显示,目前我国90%以上的停电事故均是因为配电系统的落后而造成的,通常情况下,电力资源在长距离输送的过程当中,必定会出现一定程度的电力自损,这与能量守恒原则相符,然而由于配电系统的落后,导致电力资源在在输送的过程当中,损耗量增加了三分之一,造成极大的资源浪费。自2000年以来,智能电网便受到了社会各界人士的广泛关注,而智能电网当中最为重要的组成部分就是智能配电系统(SDG),与传统的配电系统相比较,智能配电系统具有高度智能化、人性化等优点,是我国建设全面智能电网的核心因素之一。 1 智能配电网的基本概念 智能配电网是实现智能配电,规避停电事故,提高电力资源利用效率的重要组成部分之一,当前我国的智能配电网整体而言尚处于较低的水平线上。智能配电网是基于自动化配电技术的尖端配电技术设备,集测量、控制、传感、现代网络等新型技术于一体,无论是开关设备,还是终端设备都具备着高度的智能化,搭配双向通信网络与坚强电网合并运行,整体的安全性能更加优良,运行效率更加理想。除此之外,传统的配电网质支持单一式电源接入,智能配电网则支持分布式电源 (DER)接入,根据用户的用电高峰时段分布情况,为用户提供择时用电服务,加强用户与配电网之间的互动,具有高度的实际应用价值。 2 智能配电系统的系统结构分析 智能配电系统的系统结构可划分为两大部分,第一部分是内部系统,也是核心系统,重要由3大分系统组成,分别是:配电主站系统、配电子站系统、通信系统,其中配电主站系统对配电子站系统、通信系统拥有绝对的指挥功能;第二部分是外部系统,主要由七大分系统组成,分别是:营销管理系统、上级调度自动化系统、负荷管理系统、配变采集与监测系统、地理信息系统、企业资源管理系统、故障报修系统。一般而言,智能配电系统的主要应用价值是分析电网、实现智能配电以及馈线自动化,其中主要依赖通信系统的智能化通信手段,当配电网发生严重故障时,可以及时在故障区与非故障区建立反感染区域,切断故障区与非故障区直接的联系导线,保证非故障区的供电不受影响。同时将区域内的配电信息加以整合,联系外部系统,共同搭建更加完整的配网系统。同时,智能配电系统支持分布式电源接入,具有较强的自愈功能。配电智能化系统总体架构如图1所示。   智能配电网是集各种新型配电技术于一身的配电网,与传统的配电网相比,配电性能有了非常大的提升。配电自动化(DA)与智能配电网(SDG)存在着很大的相似之处,然而就整体而言,智能配电网的实际应用价值更高,技术内容也更加丰富,智能配电网是在配电自动化的基础上对凡是涉及配电系统一次与二次的全部配电技术加以整合,整体的配电效果更为理想。配电自动化(DA)与智能配电网(SDG)的结构关系见如图2所示。   2.1 配电主站系统 智能化配电主站系统具有高安全性、高效率等特点,受国家强制标准的管理。其软件与硬件的选择需要遵循地区的实际情况,如配电网架的结构、供电企业的需求等内容,在地区内的配电自动化应用、基础比较差的情况下,软硬件系统的配置要求也需要相对降低。通常情况下,配电主站系统的主要功能包括两个方面,第一个方面是调度配电,及时根据地区内电力用户的实际用电需求,包括用电高峰期等情况,合理调度配电,在保证电力资源得到最大限度的利用的同时,满足用户的用电需求,调度配电是配电主站系统的核心功能。第二个方面是电网分析应用,即是在配电网正常运行的情况下,就整个系统内部的数据完备情况进行分析,从而实现配电主站系统与其他系统的互联,以综合数据平台为载体,实现信息交换,电网分析应用属于配电主站系统的次要功能,只有当调度配电(SCADA)正常的情况下,电网分析应用功能才具备存在的意义。 2.2 配电子站系统 配电子站系统是由配电主站系统衍生而来的,其整体结构采取模块化设计,稳定性高,可靠性强,并且由于其具有相对的独立性,因此在出现故障的时候,维修的难度相对于母站而言要小得多。根据《城市配电网技术导则》的具体要求,配电子站系统需要同时满足不同接线方式的所有要求,在隔离故障方面需要保持相对的独立性,维持固定地区的供电正常,而在恢复供电的方面,则需要充分展示互联性,在同一方案的指导下,恢复故障地区的供电。一般而言,配电子站系统可分为两个部分,分别是:监控功能型子站与通信汇集型子站,监控功能型子站负责监控配电网的运行情况,对故障及时作出预警,通信汇集型子站可以看成通信网络的中转站,收集配电网运行的详细参数,加以整合传输至控制终端。 2.3 通信系统 首先,建设配电通信网络,在建设的过程当中,需要将用户用电信息、配电自动化、配电计量等情况纳入考虑的范围,提高配电通信网络的利用效率,合理设计配电通信网络的整体架构。在智能配电系统当中,各级通信网络层级非常明显,各自的功能也存在着较大的区别,如配电主站系统与配电子站系统的通信网络是骨干通信系统层,而配电子站系统之间的则为接入层,其重要性与具体作用均不如骨干通信系统层。传统的通信系统采用的都是采用公网通信,公网通信方式的安全性能比较低,容易遭受入侵。笔者建议无论是骨干通信系统层,还是接入通信系统层,都必须采用专网通信,在对馈线自动化要求特别高的地区,可以采取光纤专网通信,保证通信安全。具体的通信系统结构如图3所示。   3 智能配电系统的关键技术分析 3.1 分布式发电技术和DG技术 分布式发电技术是在分布式电源的基础上产生的,传统的配电系统只支持单一式接入,而智能配电系统则可以支持分布式接入方式。连接到配电网的小容量发电机或储能装置,具有多种接入方式的即是分布式发电。分布式发电技术对智能配电系统的影响非常大,换言之,智能配电网的容量很大程度上取决于分布式发电技术的水平,然而分布式发电技术容易受到外界因素的制约,比如非辐射性潮流、短路容量等问题,且在孤岛情况下的运行能力明显难以为继。基于此,我国智能配电系统的分布式发电技术,关键在于提升其抗非辐射性潮流的性能。DG技术即是微网技术,微网技术是相对独立的技术,及产能与储能于一体,允许接入可再生能源,通常情况下,微网技术与分布式发电技术时相伴存在,共同运行的,微网技术通过自身的储能优势,一定程度上可以提升分布式发电技术的抗非辐射性潮流性能。 3.2 电子测量技术 电子测量技术(AMI技术),是实现配电系统信息化和数字化的重要基础条件之一,其主要的实现载体是进量测和通信技术的配电系统高级量测体系(AMI)。电子测量技术的组成部分包括:数据收集单元、计量数据管理系统、回程传输单元、智能表计等构件,简而言之,AMI技术是从人工抄表的基础上进化而来的,更好地实现了用户与供电企业之间的双向沟通,一则用户可以实时了解到自身的电力消费情况,二则供电企业可以直接向用户发送电价信号,获悉用户的用电信息,随后通过MDMS系统进行数据分析,测量效率与精确度都比较理想。 3.3 自愈控制技术 智能配电系统的运行环境相对封闭,在有利于接入分布式电源的同时,如果智能配电系统出现故障,人工维修的难度比较大。而智能化配电系统则是在灵活、可靠、高效的配电网网架结构当中,利用先进的数学和控制理论,在系统的内部划定检修维护区,当故障发生的时候,利用数学控制理论计算出故障发生的具体区域以及可造成供电停止的区域范围,自行加以判别,随后在此基础上完成自愈,省却了人工维护的步骤,节约人力资源。自愈控制技术的运行指标包括稳定性评价、经济评价、电能量评价、用户服评价等方面,需要注意的是,智能配电系统的自愈控制技术并非完全智能化,需要在隐预测的基础上,根据地区的实际情况执行相应的自愈控制技术方案,从而达到预期的自愈控制目标。 4 结束语 综上所述,智能化配电网有利于根据地区的电力资源的不同而合理调配电力,保证电力资源的利用效率达到最大化,然而目前我国的智能化配电网发展水平尚处于提升的阶段,自动化程度不足,用户与电网之间的互动性有限。智能化配电系统是整个智能化配电网中的重要组成部分,只有在明确其内部系统结构的情况下,充分发挥其技术特点,才能促进我国智能电网技术的发展。

    时间:2015-11-24 关键词: 关键技术 智能配电 系统结构 分析

  • 2015智能硬件十大新看点

    2015年被誉为是智能硬件成长的一年,在经历了2014年的各种跟风起哄之后,智能硬件厂商都开始沉心着手开发智能硬件产品,打造自己的生态圈;投资者们和消费者也都更加冷静。让我们来看看智能硬件都有哪些需要你关注的吧! 一、首先要肯定的是,未来一年智能硬件行业将呈现持续爆发的态势 从各大智能硬件展展出的硬件产品来看,穿戴设备、智能家具、健康领域以及母婴产品增速最大,而围绕汽车周边、美颜产品、宠物设备等智能硬件也会面临规模化的发展趋势,除此之外在户外休闲、智能情趣等关注度相对较低的细分领域也会产生意料不到的机会。 二、一个行业的爆发离不开持续活跃资本界,智能硬件也不例外 在过去的一年包括亿航GHOST无人机、Sleepace睡眠监测器等一大波分属不同领域的产品都获得了千万级的投资。智能家居、可穿戴设备、影音产品等投资热度和宽度持续发酵;母婴、健康和汽车周边产品开始发力;智能情趣、宠物设备成为新的特色投资点。 三、智能硬件产品的丰富度大幅提升 创新工场汪华曾讲到,智能硬件是将真实社会实在自动化的重要一环,会贯穿到日常生活中的方方面面。据太火鸟与数据公园综合各平台销售、投资和创业数据的智能硬件报告趋势显示,从2013年至2015年4月,智能硬件产品丰富度在产品类型的广度和产品种类的深度上大幅提升。换句话说,在万物互联时代,身边一切皆可“智能”。 四、各个细分领域逐渐爆发 创业者不可能做大而全的产品,细分领域的差异化服务可能是今后硬件产品的核心竞争力。就拿手环这一硬件品类来讲,已经从单一睡眠、记步功能逐步细分为主打支付、社交、游戏等满足不同用户诉求的产品。由此看来,在细分市场抓住用户显得尤为重要,那些存在真实需求的场景都将会涌现出对应价值的产品。 五、去中心化+平台化 由于创客的大规模崛起,越来越多的小团队和集体加入到硬件创新这个领域,导致智能硬件发展去中心化趋势明显,但同时平台化整合和聚集模式仍然是核心趋势。每一个创业者都应该以开放的心态接触各个平台,包括云端接口、渠道销售、供应链。智能硬件是个多方才能玩的转的圈子,需要借助平台的力量来扩大自己的知名度,完善自己的产品。如淘宝众筹对接阿里的电商、云计算等资源,硬蛋平台则会在后端的供应链和渠道方面给创业者提供帮助,还有包括微信硬件开放平台这样的项目都给创业者们带来了很多可能。 六、爆款产品成为新常态 爆款产品成为智能硬件创新发展的新常态,这种不确定性使得更多创客拥有均等的成功机会。而根据临界点理论测算,智能硬件成为爆款产品的几率在6.3%作用。就拿京东众筹来讲,自2014年7月1日上线以来,诞生了7个千万级的项目,超过70个百万级项目,总募集金额也超过三个亿。 七、“智能”红利渐行渐远,产品回归品质和体验 以前深圳模式对于品质、品牌不够敬畏,对用户不够重视和尊重,导致是中国制造而不是中国创造,智能硬件在这个时间窗口被看作是一个绝佳的翻身机会。随着整个行业逐渐规模化,那些早期依靠“智能”红利,被贴上“智能”标签但体验上欠佳的产品虽然曾经获得了很大的关注度,但今后会逐渐被更精致、更人性化的新一代产品所替代。 八、产品即是服务 新的智能硬件趋势当中,产品和服务并没有明确的界限,突破了传统买卖关系的一次性交易。用户购买硬件产品后也就意味着服务才刚刚开始,硬件发展趋势未来也将从单一产品创新发展为整体服务系统创新。如刚刚发布的海尔嫩烤箱,其打通了烘焙圈当中的食材提供、技巧培训等后续围绕产品的一系列服务。 九、越来越重视品牌策略 产品是在工厂里面生产的,但是品牌来自于用户的头脑,如何塑造品牌,这就是设计创新和产品创新带来的一些机会。智能硬件其实未来的价格是越来越扁平的,硬件的价值背后带来的情感、用户体验是可以有溢价的,很可惜的是国内很多智能硬件的产品都没有带来情感层面的溢价,你没有办法拿这个产品去装逼。我们可以看到伟大的公司——苹果公司其实就是这样一个可以让你装逼的产品,市场营销和广告起了很大的作用。 十、设计成为智能硬件变革力量的主导,让产品具备附加值 设计和科技整合创新成为新的核心推动力,这里非常强调用户反向定义,产品设计要充分考量用户的意愿,由用户参与设计的产品成为智能硬件创新的新趋势,同时及时有效扑捉到用户需求来完善产品设计任何一家产品放都要花心思去研究一番的。

    时间:2015-10-10 关键词: 智能硬件 趋势 分析

  • 2015年我国汽车后市场政策及布局分析

    任何行业的发展都离不开政策的支持,汽车行业也不例外,中国从2009年起连续5年汽车销售量均居全球第一,2013年汽车产销2211.68万辆和2198.41万辆,同比增长14.76%和13.87%,国产汽车产销突破一千万辆,用了半个世纪,而从一千万辆到两千万辆,仅仅用了4年时间。与此相对应的汽车后市场不仅将发生井喷式增长,而且一定是长期的持续高增长。下文是对2015年我国汽车后市场政策及布局分析。 我国汽车售后市场从非独立到独立的变局成必然趋势,战略机遇显现。中央层面“反垄断”决心增强,汽车后市场变革之持久战已开始。汽车售后市场整体战略地位提升,且逐步成为产业利润核心增长点。 在7月28日举行的“汽车后市场迎变创新论坛”上,来自交通部的人士表示,汽车后市场在度过了2014年的政策大年后,2015年将获得来自政策方面的持续推动力,一系列利好政策正加紧研究制定。在政策和市场的双重利好下,上市公司也加快了汽车后市场的布局步伐。更多汽车后市场分析信息请查阅中国报告大厅发布的《2015-2020年中国汽车后市场行业专项调研及投资价值预测报告》。 汽车后市场政策持续加码 2014年一度成为汽车后市场的政策大年,《关于开展“贯彻落实汽车三包规定提升汽车售后服务质量”专项活动的通知》、《汽车零部件统一编码与标识征求意见稿》等一系列政策意见陆续出台。特别是9月份,十部委联合发布的《关于促进汽车维修业转型升级提升服务质量的指导意见》,针对汽车维修业存在的结构不优、发展不规范以及信息不透明等系列乱象提出了多项鼓励计划和保障措施,明确提出要建立实施汽车维修技术信息公开制度,破除维修配件渠道垄断。 2015年,汽车后市场有望迎来政策的持续推动力。今年2月,交通运输部办公厅发布《汽车维修技术信息公开实施管理办法(征求意见稿)》,其中明确规定,汽车生产者应以可用的信息形式、便利的信息途径、合理的信息价格,向所有维修经营者和消费者无差别、无歧视、无延迟地公开汽车维修技术信息。 “现在这个管理办法已经取得了阶段性的成果。”交通部道路运输司曹磊博士表示。 曹磊透露,交通部正积极推进汽车电子健康档案系统的建设,“这个系统是未来汽车维修行业信息化的一个很好的切入点和抓手,可以使行业的接入和服务融为一体,并能为汽车三包等一些后续工作提供支撑,目前已经开展了这方面系统的方案设计和标准体系的研究工作。” 据了解,近期由发改委牵头、交通部参与的针对汽车业的反垄断指南已经正式启动研究起草工作。太平洋证券指出,未来围绕“打破零配件渠道垄断”和“鼓励汽车服务连锁经营”的政策将全面铺开,建立更加诚信透明、经济优质、便捷周到、满意度高的机动车维修服务体系势在必行。 上市公司加快布局汽车后市场 除了政策的持续加码外,在乘用车市场整体疲软的背景下,汽车后市场正成为为数不多的亮点之一,在上述双重利好之下,上市公司也加快了汽车后市场的布局步伐。 据国家统计局数据,2014年末全国民用汽车保有量达到15447万辆,比上年末增长12.4%。民用轿车保有量8307万辆,同比增长 16.6%,其中私人轿车7590万辆,同比增长18.4%。我国千人保有量首次突破百辆,达到105.83辆/千人。太平洋证券认为,未来,即使考虑到环保压力、限购限行等因素的影响,假设私人轿车年均增速按3%递减,那么到2020年,我国私家车保有量将至少达到1.2亿万辆,较2014年底增长 4312万辆,增长幅度至少为56.8%。汽车保有量的快速增长为汽车后市场的发展提供了坚实基础。市场人士预计,汽车后市场5年内有望达到万亿规模。 日上集团7月20日晚间便公告称,拟开展互联网+汽车后市场项目前期工作,该项目前期计划投资金额2亿元;万丰奥威7月13日晚间公告称,公司与北京正和磁系资产管理有限公司就“投资互联网+汽车后市场事宜”签订了《战略合作框架协议》;回天新材7月13日晚间公告称,公司孙公司回天汽服与义乌德福签署《股权收购框架协议》,收购其100%股权。公告称,义乌德福在汽车后服务行业,特别是在给高端车的洗车美容、保养维修和保险服务领域有多年的从业经验,已形成一套利用APP预约对接车主用车需求的高效操作流程和运营体系。

    时间:2015-07-30 关键词: 政策 汽车后市场 分析

  • 三种嵌入式操作系统的分析与比较

    摘要:提要三种常用的嵌入式操作系统——Palm OS、Windows CE、Linux;在此基础上、分析、比较这三种嵌入式操作系统,给出它们之间的异同点及各自的适用范围。 关键词:嵌入式系统 嵌入式操作系统 Palm OS Windows CE Linux 1 嵌入式系统与嵌入式操作系统 1.1 嵌入式系统 嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。 嵌入式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌入式应用要求实时性,这就要求嵌入式操作系统具有实时处理能力 ;嵌入式系统和具体应用有机地结合在一起,它的升级换代也是具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性,一般都固化在只读存储器中或闪存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。 1.2 嵌入式操作系统 嵌入式操作系统EOS(Embedded Operating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、调度作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列。随着 Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而方的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点: ①可装卸性。开放性、可伸缩性的体系结构。 ②强实时性。EOS实时性一般较强,可用于各种设备控制当中。 ③统一的接口。提供各种设备驱动接口。 ④操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用。 ⑤提供强大的网络功能,支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。 ⑥强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。 ⑦固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。 ⑧更好的硬件适应性,也就是良好的移植性。 国际上用于信息电器的嵌入式操作系统有40种左右。现在,市场上非常流行的EOS产品,包括3Com公司下属子公司的Palm OS,全球占有份额达50%,Microsoft公司的Windows CE不过29%。在美国市场,Palm OS更以80%的占有率远超Windows CE。开放源代码的Linux很适于做信息家电的开发。比如:中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux 的嵌入式操作系统“夸克”。“夸克”是目前全世界最小的Linux,它有两具很突出的特点,就是体积小和使用GCS编码。 2 三种常用的嵌入式操作系统 2.1 Palm OS Palm是3Com公司的产品,其操作系统为Palm OS。Palm OS是一种32位的嵌入式操作系统。Palm提供了串行通信接口和红外线传输接口,利用它可以方便地与其它外部设备通信、传输数据;拥有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序。Palm OS是一套具有术强开放性的系统,现在有大约数千种专用为Palm OS编写的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,Palm OS无所不包。在丰富的软件支持下,基于Palm OS的掌上电脑功能得以不断扩展。 Palm OS是一套专门为掌上电脑开发的OS。在编写程序时,Palm OS充分考虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。由于基于Palm OS编写的应用程序占用的空间也非常小(通常只有几十KB),所以,基于Palm OS的掌上电脑(虽然只有几MB的RAM)可以运行众多应用程序。 由于Palm产品的最大特点是使用简便、机体轻巧,因此决定了Palm OS应具有以下特点。 ①操作系统的节能功能。由上掌上电脑要求使用电源尽可能小,因此在Palm OS的应用程序中,如果没有事件运行,则系统设备进入半休眠(doze)的状态;如果应用程序停止活动一段时间,则系统自动进入休眠(sleep)状态。 ②合理的内存管理。Palm的存储器全部是可读写的快速RAM,动态RAM(Dynamic RAM)类似于PC机上的RAM,它为全局变量和其它不需永久保存的数据提供临时的存储空间;存储RAM(Storage RAM)类似于PC机上的硬盘,可以永久保存应用程序和数据。 ③Palm OS的数据是以数据库(database)的格式来存储的。数据库是由一组记录(records)和一些数据库头信息组成的。为保证程序处理速度和存储器空间,在处理数据的时候,Palm OS不是把数据从存储堆(Storage Heap)拷贝到动态堆(Dynamic Heap)后再进行处理,而是在存储堆中直接处理。为避免错误地调用存储器地址,Palm OS规定,这一切都必须调用其内存管理器里的API来实现。 Palm OS与同步软件(HotSync)结合可以使掌上电脑与PC机上的信息实现同步,把台式同的功能扩展到了掌上电脑。Palm应用范围相当广泛,如:联络及工作表管理、电子邮件及互联网通信、销售人员及组别自动化等等。Palm外围硬件也十分丰富,有数码相机、GPS接收器、调制解调器、GSM无线电话、数码音频播放设备、便携键盘、语音记录器、条码扫描、无线寻呼接收器、探测仪。其中Palm与GPS结合的应用,不但可以作导航定位,还可以结合GPS作气候的监测、地名调查等。 2.2 Windows CE Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作。它是精简的Windows 95。Windows CE的图形用户界面相当出色。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于Win32 API重新开发的、新型的信息设备平台。Windows CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面网格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。 Windows CE的设计目标是:模块化及可伸缩性、实时性能好,通信能力强大,支持多种CPU。它的设计可以满足多种设备的需要,这些设备包括了工业控制器、通信集线器以及销售终端之类的企业设备,还有像照相机、电话和家用娱乐器材之类的消费产品。一个典型的基于Windows CE的嵌入系统通常为某个特定用途而设计,并在不联机的情况下工作。它要求所使用的操作系统体积较小,内建有对中断的响应功能。 Windows CE的特点有: ①具有灵活的电源管理功能,包括瞬眠/唤醒模式。 ②使用了对象存储(object store)技术,包括文件系统、注册表及数据库。它还具有很多高性能、高效率的操作系统特 性,包括按需换页、共享存储、交叉处理同步、支持大容量堆(heap)等。 ③拥有良好的通信能力。广泛支持各种通信硬件,亦支持直接的局域连接以及拨号连接,并提供与PC、内部网以及Internet的连接,还提供与 Windows 9x/NT的最佳集成和通信。 ④支持嵌套中断。允许更高优先级别的中断首先得到响应,而不是等待低级别的ISR完成。这使得该操作系统具有嵌入式操作系统所要求的实时性。 ⑤更好的线程响应能力。对高级别IST(中断服务线程)的响应时间上限的要求更加严格,在线程响应能力方面的改进,帮助开发人员掌握线程转换的具体时间,并通过增强的监控能力和对硬件的控制能力帮助他们创建新的嵌入式应用程序。 ⑥256个优先级别。可以使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性。 ⑦Windows CE的API是Win32 API的一个子集,支持近1500个Win32 API。有了这些API,足可以编写任何复杂的应用程序。当然,在Windows CE系统中,所提供的API也可以随具体应用的需求而定。 在掌上型电脑中,Windows CE包含如下一些重要组件:Pocket Outlook及其组件、语音录音机、移动频道、远程拨号访问、世界时钟、计算器、多种输入法、GBK字符集、中文TTF字库、英汉双向词典、袖珍浏览器、电子邮件、Pocket Office、系统设置、Windows CE Services软件。 2.3 Linux Linux是一个类似于Unix的操作系统。它起源于芬兰一个名为Linus Torvalds的业余爱好,但是现在已经是最为流行的一款开放源代码的操作系统。Linux从1991年问世到现在,短短10年的时间内已发展成为一个功能强大、设计完善的操作系统,伴随网络技术进步而发展起来的Linux OS已成为Microsoft公司的DOS和Windows 95/98的强劲对手。Linux系统不仅能够运行于PC平台,还在嵌入式系统方面大放光芒,在各种嵌入式Linux OS迅速发展的状况下,Linux OS逐渐形成了可与Windows CE等EOS进行抗衡的局面。目前正在开发的嵌入式系统中,49%的项目选择Linux作为嵌入式操作系统。Linux现已成为嵌入式操作的理想选择。 中科红旗软件技术有限公司开发的红旗嵌入式Linux正在成为许多嵌入式设备厂商的首选。在不到一年的时间内,红旗公司先后推出了PDA、机顶盒、瘦客户机、交换机用的嵌入式Linux系统,并且投入了实际应用。现以红旗嵌入式Linux为例来讲解嵌入式Linux OS的特点: ①精简的内核,性能高、稳定,多任务。 ②适用于不同的CPU,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等。 ③能够提供完善的嵌入式GUI以及嵌入式X-Windows。 ④提供嵌入式浏览器、邮件程序、MP3播放器、MPEG播放器、记事本等应用程序。 ⑤提供完整的开发工具和SDK,同时提供PC上的开发版本。 ⑥用户可定制,可提供图形化的定制和配置工具。 ⑦常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。 ⑧针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。 ⑨完善的中文支持,强大的技术支持,完整的文档。 ⑩开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。 3 三种嵌入式操作系统的比较 3.1 Linux OS与Windows Ce的比较 嵌入式Linux OS与Windows CE相比的优点:第一,Linux是开放源代码的,不在存黑箱技术,遍布全球的众多Linux爱好者都是Linux开发者的强大技术支持者;而 Windows CE是非开放性OS,使第三方很难实现产品定制。第二,Linux的源代码随处可得,注释丰富,文档齐全,易于解决各种问题。第三,Linux的内核小、效率高;而Windows CE在这方面是笨拙的,占用过多的RAM,应用程序庞大。第四,Linux是开放源代码的OS,在价格上极具竞争力,适合中国国情。Windows CE的版权费用是厂家不得不考虑的因素。第五,Linux不仅支持x86芯片,还是一个跨平台的系统。到目前为止,它可以支持20~30种CPU,很多 CPU(包括家电业的芯片)厂商都开始做Linux的平台移植工作,而且移植的速度远远超过Java的开发环境。如果今天采用Linux环境开发产品,那么将来更换CPU时就不会遇到更换平台的困扰。第六,Linux内核的结构在网络方面是非常完整的,它提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持。第七,Linux在内核结构的设计中考虑适应系统的可裁减性的要求,Windows CE在内核结构的设计中并未考虑适应系统的高度可裁减性的要求。 嵌入式Linux OS与Windows CE相比的弱点:第一,是开发难度较高,需要很高的技术实力;第二,是核心调试工具不全,调试不太方便,尚没有很好的用户图形界面;第三,与某些商业OS 一样,嵌入式Linux占用较大的内存,当然,人们可以去掉部分无用的功能来减小使用的内存,但是如果不仔细,将引起新的问题;第四,有些Linux的应用程序需要虚拟内存,而嵌入式系统中并没有或不需要虚拟内存,所以并非所有的Linux应用程序都可以在嵌入式系统中运行。 3.2 Palm OS与Windows CE的比较 3Com公司的Palm OS是掌上电脑市场中较为优秀的嵌入式操作系统,是针对这一市场专门设计的系统。它有开放的操作系统应用程序接口(API),支持开发商根据需要自行开发所需的应用程序,具有十分丰富的应用程序。在掌上电脑市场上独占其霸主地位已久。 从技术层面上讲,Palm OS是一套专门为掌上电脑开发的操作系统,具有许多Windows CE无法比拟的优势;Windows CE过于臃肿,不适合应用在廉价的掌上电脑中。 Palm OS是一套具有极强开放性的系统。开发者向用户免费提供Palm OS的开发工具,允许用户利用该工具在Palm OS基础上方便地编写、修改相关软件。与之相比,Windows CE的开发工具就显得复杂多了,这使得一般用户很难掌握。这也Palm OS与Windows CE的另一个主要区别。 我们从常用EOS的大小、可开发定制、互操作性、通用性、实时性及应用领域几个方面,通过表1来归纳如下: 表1 Palm OS Windows CE 3.0 嵌入Linu 大小核心几十KB,整个嵌入环境也不大核心占500KB的ROM和250KB的RAM。整个Windows CE操作系统,包括硬件抽象层(HAL和Hardware Abstraction Layer)、Windosw CE Kernel、User、GDI、文件系统和数据库,大约共1.5MB 核心从几十KB到500KB。整个嵌入式环境最小才100KB左右,并且以后还将越来越小 可开发定制可以方便地开发定制用户开发定制不方便,受Microsoft公司限制较多用户可以方便地开发定制,可以自由卸装用户模块,不受任何限制 互操作性互操作性强互操作性比较强,Windows C可通过OEM的许可协议使用于其它设备互操作性很强 通用性适用于多种CPU和多种硬件平台适用于多种CPU和多种硬件平台不仅适应于x86芯片,并且可以支持30多种CPU和多种硬件平台,开发和使用都很容易 实用性比较好比较好很好 适用的应用领域应用领域较广,特别适用于掌上电脑的开发应用领域较广。WindowsC是为新一代非传统的PC设备而设计的,这些设备包括掌上电脑、手持电脑以及用于车载电脑等由于Linu内核结构及功能等原因,嵌入式Linu 应用领域非常广泛,特别适于进行信息家电的开发结语 Palm OS、Windows CE、Linux这三种嵌入式操作系统各有不同的特点,不同的用途;但Linux比Palm OS和Windows CE更小、更稳定,而且Linux是开放的OS,在价格上极具竞争力。如今整个市场尚未成型,嵌入式操作系统也未形成统一的国际标准,而且Linux的一系列特征又为我们开发国产的嵌入式操作系统提供了方便,因此,我们有机会在这个未成熟的市场上占有一席之地。[!--empirenews.page--]

    时间:2015-03-22 关键词: 比较 驱动开发 嵌入式操作系统 分析

  • 对于物联网所要承担的责任分析

      物联网的定义 物联网是新一代信息技术的重要组成部分,其英文名称是:“The Internet of things”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信 也就是物物相息。物联网就是“物物相连的互联网”。物联网通过智能感知、识别技术与普适计算、广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。因此,应用创新是物联网发展的核心,以用户体验为核心的创新2.0是物联网发展的灵魂。 活点定义:利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。物联网是互联网的延伸,它包括互联网及互联网上所有的资源,兼容互联网所有的应用,但物联网中所有的元素(所有的设备、资源及通信等)都是个性化和私有化的。 地下管网作为城市重要组成部分,检查井盖作为地下管网入口点和节点,是地下管网融入物联网的重要环节。这就是新型的智能井盖出现的客观基础。那么我们将怎么实现这种接入呢。下面是对整体物联网技术的分析,井盖这是其中的一个环节。 关键技术 在物联网应用中有三项关键技术 1、传感器技术:这也是计算机应用中的关键技术。大家都知道,到目前为止绝大部分计算机处理的都是数字信号。自从有计算机以来就需要传感器把模拟信号转换成数字信号计算机才能处理。 2、RFID标签:也是一种传感器技术,RFID技术是融合了无线射频技术和嵌入式技术为一体的综合技术,RFID在自动识别、物品物流管理有着广阔的应用前景。 3、嵌入式系统技术:是综合了计算机软硬件、传感器技术、集成电路技术、电子应用技术为一体的复杂技术。经过几十年的演变,以嵌入式系统为特征的智能终端产品随处可见;小到人们身边的MP3,大到航天航空的卫星系统。嵌入式系统正在改变着人们的生活,推动着工业生产以及国防工业的发展。如果把物联网用人体做一个简单比喻,传感器相当于人的眼睛、鼻子、皮肤等感官,网络就是神经系统用来传递信息,嵌入式系统则是人的大脑,在接收到信息后要进行分类处理。这个例子很形象的描述了传感器、嵌入式系统在物联网中的位置与作用。 物联网4大关键领域 1. RFID; 2. 传感网; 3. M2M; 4. 两化融合。 应用模式 根据其实质用途可以归结为两种基本应用模式: 对象的智能标签。通过NFC、二维码、RFID等技术标识特定的对象,用于区分对象个体,例如在生活中我们使用的各种智能卡,条码标签的基本用途就是用来获得对象的识别信息;此外通过智能标签还可以用于获得对象物品所包含的扩展信息,例如智能卡上的金额余额,二维码中所包含的网址和名称等。 对象的智能控制。物联网基于云计算平台和智能网络,可以依据传感器网络用获取的数据进行决策,改变对象的行为进行控制和反馈。例如根据光线的强弱调整路灯的亮度,根据车辆的流量自动调整红绿灯间隔等。 建设情况 物联网在实际应用上的开展需要各行各业的参与,并且需要国家政府的主导以及相关法规政策上的扶助,物联网的开展具有规模性、广泛参与性、管理性、技术性、物的属性等等特征,其中,技术上的问题是物联网最为关键的问题; 物联网技术是一项综合性的技术,是一项系统,国内还没有哪家公司可以全面负责物联网的整个系统规划和建设,理论上的研究已经在各行各业展开,而实际应用还仅局限于行业内部。关于物联网的规划和设计以及研发关键在于RFID、传感器、嵌入式软件以及传输数据计算等领域的研究。 一般来讲,物联网的开展步骤主要如下: (1)对物体属性进行标识,属性包括静态和动态的属性,静态属性可以直接存储在标签中,动态属性需要先由传感器实时探测; (2)需要识别设备完成对物体属性的读取,并将信息转换为适合网络传输的数据格式; (3)将物体的信息通过网络传输到信息处理中心,由处理中心完成物体通信的相关计算。 发展趋势 物联网将是下一个推动世界高速发展的“重要生产力”,是继通信网之后的另一个万亿级市场 业内专家认为,物联网一方面可以提高经济效益,大大节约成本;另一方面可以为全球经济的复苏提供技术动力。美国、欧盟等都在投入巨资深入研究探索物联网。我国也正在高度关注、重视物联网的研究,工业和信息化部会同有关部门,在新一代信息技术方面正在开展研究,以形成支持新一代信息技术发展的政策措施。 那么作为智能地下管网的重要组成部分,检查井盖将越来越扮演重要的角色,盾牌将密切关注智能井盖的开发与应用,争取为未来城市、智慧城市、智能管网做出自己的一份贡献。

    时间:2014-12-30 关键词: 物联网 大数据 责任 分析

  • Gdb/Armulator 源代码分析

    作者Email: Anti_chen2000@sohu.com 摘要 Gdb/Armulator 是Gdb自带的arm7模拟器,是调试arm程序的一个好工具.而了解它的原码结构对扩展它的IO功能有重要意义.本文介绍了从Armulator的启动到其内部运作和IO扩展的大部分原代码功能. 说明 源代码用的是gdb-5.0.tar+ gdb-5.0-uclinux-armulator-20021127.patch A. 和GDB间的通迅 Armulator一般和Gdb通讯有两种方式,其一是在Gdb内部直接调用模拟器的相关函数,另一方法则是用pipe或socket传递RDP协议来连接Gdb和Amulator.而第一种方法是现在Gdb/Armulator所真正使用的(第二种是早期使用的方法),下面就分析了函数直接调用法. 函数直接调用 这个方法是由Steve (sac@cygnus.com) 修改原RDP方法而来的,Steve本人的描述如下: /****************************************************** This directory contains the standard release of the ARMulator from Advanced RISC Machines, and was ftp"d from. ftp.cl.cam.ac.uk:/arm/gnu It likes to use TCP/IP between the simulator and the host, which is nice, but is a pain to use under anything non-unix. I"ve added created a new Makefile.in (the original in Makefile.orig) to build a version of the simulator without the TCP/IP stuff, and a wrapper.c to link directly into gdb and the run command. It should be possible (barring major changes in the layout of the armulator) to upgrade the simulator by copying all the files out of a release into this directory and renaming the Makefile. (Except that I changed armos.c to work more simply with our simulator rigs) ********************************************************/ db/target.c,/gdb/remote_sim.c以及在/sim/arm/wrapper.c是在Armulator和Gdb的通信中起着至关重要做用的几个文件.所有的Gdb调试命令最后都是通过在target.h里定义的target_ops结构中的函数指针调用在/sim/arm /wrapper.c中型如sim_xxx的函数完成的.以前这些sim_xxx函数是位于/sim/common中的,是建立RDP通讯的关键,代码修改后此目录中的文件不再有用,被wrapper.c取而代之了. 以下是RDP 通讯和直接函数调用的图示: 要清楚Armulator的执行过程就要从它的启动说起,当你在Gdb中键入target sim 去激活Amulator后Gdb首先进行命令行解释,并将current_target指针指向sim变量,即将Armulator的调试函数集赋予 Gdb,随后的函数调用堆栈如下: --%26;#224;gdbsim_open (…) in remote-sim.c. --%26;#224;sim_open(…) in /sim/arm/wrapper.c /*这里Amulator对调用参数进行分析处理*/ --%26;#224;*current_target->to_fetch_registers(-1) /*此函数指针实指向sim_fetch_register(…) in /sim/arm/wrapper.c*/ --%26;#224;sim_fetch_register(-1) /*此函数指针是在将current_target指向sim时,通过注册target_ops 结构完成挂接的*/ sim_fetch_register (sd, rn, memory, length) { ARMword regval; init (); file://就在这,Amulator进行了初始化 … } 至此Armulator被装载完毕,其后Gdb就是通过target_ops(定义在target.h)结构中的各个函数指针来完成对它的调试工. B. Armulator 内部机制 a. 初始化 从上述可知整个模拟器的初始化入口是在wrapper.c中的init( )函数,那么它到底又做了些什么呢? (原始的Gdb5.0中的Armulator是模拟ARM7DTMI 的,而补丁代码修改了memory map 并添加了timer 和uart 的IO能力使其能够模拟AT91.因为后者是对前者的增强,所以我们的分析以后者为准) Once the armulator to reset ,the ARMul_NewState will be called.And its task is to malloc a ARMul_state stuct which saves the armulator’s states and initialize it .And the ARMul_MemoryInit() will malloc 4m ram for you. #1 static void #2 init () #3 #4 static int done; #5 if (!done) #6 { #7 ARMul_EmulateInit (); file://Call this routine once to set up the emulator"s tables. #8 state = ARMul_NewState (); #9 state->bigendSig = (big_endian ? HIGH : LOW); #10 RMul_MemoryInit (state, mem_size); file://原始代码中的内存初始,但现在无用 #11 ARMul_OSInit (state); file://预装系统初始化 #12 ARMul_CoProInit (state); file://协处理器初始 #13 state->verbose = verbosity; #14 done = 1; #15 file://the below is added for AT91 #16 ARMul_SelectProcessor(state, ARM600); #17 ARMul_SetCPSR(state, USER32MODE); #18 ARMul_Reset(state); #19 } #20 } 因为这是补丁代码,难免又冗余出现,实际10-11行的两处掉用是没有实际意义的,而12行是协处理器的初始化,因为并没又模拟协处理器所以此处只是以备扩展. 重点的初始化过程是在ARMul_NewState(…)中的.首先它给模拟器的核心状态结构ARMul_State分配了空间,这个结构里保存了 Armulator的所有方面的状态,包括arm寄存器,流水线状态等等. 并赋予初值,我们以后就用state表示之.然后调用ARMul_Reset(…)进行更近一步的设置.而后者又主要完成模拟器内存结构的分配和rom映象的加载--/sim/arm/armmem.c/mem_reset(…),IO设备的状态初始—/sim/arm/armio.c /io_reset(…),你也可在这添加你的初始代码.到这就完成了Armulator的装载. (大家注意到18行也调用了ARMul_Reset(…),这是一个BUG,使得模拟器进行了两次内存分配,而浪费了系统内存.此处可删去.) Memory map 是所有模拟器的关键.Armulator由AT91向其他MCU移植时Memory map又是首先要处理的.Armulator的各个内存区是由mem_bank_t结构来描述的: typedef struct mem_bank_t { ARMword (*read_word)(ARMul_State *state, ARMword addr); void (*write_word)(ARMul_State *state, ARMword addr, ARMword data); unsigned long addr, len; char *filename; } mem_bank_t; file://定义在armmem.h中 Armulator的整个内存则是又此结构的数组static mem_bank_t mem_banks[]管理的. AT91的memory map如下: static mem_bank_t mem_banks[] = { /* the yuk"s below are to work around a uClinux/mount options problem */ { real_read_word, real_write_word, 0x01000000, 0x00400000, }, /* 2.4 */ { real_read_word, _write_word, 0x01400000, 0x00400000, "boot.rom"}, { real_read_word, real_write_word, 0x02000000, 0x00400000, }, /* 2.0 */ { real_read_word, real_write_word, 0x02400000, 0x00001000, }, /* yuk!*/ { real_read_word, _write_word, 0x04000000, 0x00400000, "boot.rom"}, { real_read_word, real_write_word, 0x00000000, 0x00004000, }, { io_read_word, io_write_word, 0xf0000000, 0x10000000, }, { fail_read_word, fail_write_word, 0, 0 } }; 根据mem_banks,mem_reset( )将分配空间,加载boot.rom文件. (原来的内存是由ARMul_MemoryExit( )释放的,但补丁后的代码就没了释放功能,这也是需要纠正的地方) a. 指令流 Armulator 加载完成后,就开始等待Gdb的运行命令了.最终/sim/wrapper.c/sim_resume( )是启动arm指令执行的地方. Sim_resume( )根据Gdb的要求选择用/sim/arm/arminit.c/ARMul_DoInstr()还是用/sim/arm/arminit.c /ARMul_DoProg()来调用 流水线模拟函数/sim/arm/armemu.c/ARMul_Emulate32().ARMul_DoInstr()和 ARMul_DoProg()的区别就是一个单步执行,一个连续执行指令. ARMul_DoProg()又不停的判断state->Emulate是否为STOP,如果是,模拟器又将停下等待Gdb的调试. 而在arm/armemu.c, /arm/armvirt.c 和 /arm/armsupp.c中的函数则模拟指令预取,指令译码,指令执行以及数据回写的功能.这三个文件时可以说时Armulator的核心! b. 中断 Armulator 的中断机制主要靠以下两个例程实现: 1.IntPending(): 用来检测state中的各个中断标志是否置位,从而判断是否又需要中断. 2.ARMul_Abort():当需要中断时,用来改变处理器模式,并将pc指向相应的中断向量. 在流水线函数ARMul_Emulate32()执行当中,有多处调用IntPending() 去检测中断.而Ispending() 也十分简单,它仅仅判断state中的四个变量: State->Exception : 中断使能标志. State->NresetSig : reset 中断信号. State->NirqSig : irq 中断信号. State->NfiqSig : fiq 中断信号. 所以当你的虚拟外设产生中断时,你只要调用/sim/arm/armio.c/ update_int()即可: static void update_int(ARMul_State *state) { ARMword requests = state->io.intsr %26;amp; state->io.intmr; state->NfiqSig = (requests %26;amp; 0x000f) ? LOW : HIGH; state->NirqSig = (requests %26;amp; 0xfff0) ? LOW : HIGH; } b. 读写操作 无论是CPU指令还是Gdb调试时读写内存或IO空间,最后都将要落到/armvirt.c/getword(), /armvirt.c/putword()这两个函数身上. 在原始代码中这两个函数马上就进行内存数组的读写了.而补丁代码的流程如下: --%26;#224;getword()/putword() --%26;#224;mmu_read_data()/mmu_write_data() in armmmu.c /*进行mmu的地址转换和cache 查询*/ --%26;#224; real_read_data()/real_write_data() :读写ram,rom io_read_data()/io_write_data() :读写IO空间 _write_data()/fail_read_data()/fail_write_data() :非法读写,如地址错误,rom读操作等. 可以看出最后几个函数的选择是由读写地址在相应的mem_bank_t结构中的读写函数指针决定的. c. 设备同步 写这篇文章的初衷是让读者能很快进入Armulator的移植和IO扩展的实际工作中去.所以这里有必要讨论一下IO设备和CPU的同步问题.很显然我们模拟的设备不能太快,也不能太慢.快了CPU正常的指令流将被堵塞,慢了就无法反映操作系统的实时性.也就是说设备的速度和指令流要有个比例关系,即要有一定的同步. Armulator 中有个很好的接口: ARMul_ScheduleEvent (ARMul_State * state, unsigned long delay, unsigned (*what) ()) in armvirt.c 它的目的就是注册你的同步例程,并且每个时钟周期即ARMul_Emulate32()将调用ARMul_ScheduleEvent()查看是否需要同步你的设备. 也许你在ARMul_Emulate32()中还发现了/sim/arm/armio.c/io_do_cycle(),没错它是AT91的timer和 uart用来和指令流同步的函数,但我并不赞成你象这样把自己的同步例程直接放入指令执行过程中,破坏代码的结构性. a. [i]源文件描述[/i] The original files The modified codes File descriptions arminit.c arminit.c 初始代码 armemu.c armemu.c 指令流模拟 armvirt.c armvirt.c 内存读写 armsupp.c armsupp.c 辅助指令流模拟 armcopro.c armcopro.c 协处理器模拟(可忽略) armos.c armos.c 初始操作系统(可忽略) armmem.c 内存管理 armmmu.c Mmu模拟 armio.c IO设备模拟 wrapper.c wrapper.c 和Gdb通讯的例程。[!--empirenews.page--]

    时间:2014-12-29 关键词: 源代码 嵌入式开发 gdb/armulator 分析

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包