基于PLD和串行总线扩展系统控制功能

发布者:pengbinyyy最新更新时间:2014-01-07 来源: elecfans关键字:PLD  串行总线  扩展系统 手机看文章 扫描二维码
随时随地手机看文章

  在进行复杂系统的架构开发时,架构师和设计师很少对设计的系统控制方面予以重视。最好的情况是,系统控制在整个系统的设计考虑中排第二位。而最坏的情况是直接被遗忘,直到设计后期,板上只有很小的空间能实现系统控制功能,也不可能再有时间来重新进行架构设计。

  过去,设计师常常会使用一些方法来解决这些问题:请软件设计师想办法在软件中实现某些控制功能;在电路板上四处增加小的PLD,因为受到电路板空间限制而不得不忍受布局布线的不便和拥挤;或者,以时间进度为由,牺牲某些功能。这些方法听起来都不怎么样。我们需要一种方法,最大限度地减少电路板的面积和布线,同时减少微处理器的使用并且实现所需的功能。

  CPLD和小型FPGA往往是这种情况下的首选解决方案。使用CPLD和FPGA,设计人员可以不再需要集中监测和控制,而更多的采用本地化控制和分配。创建一条通信路径,尽可能地减少中央处理器和分布的PLD之间的连接,将会是一个最接近理想的解决方案。幸运的是,串行外设接口(SPI)标准和内部集成电路(I2C)标准就是理想的低开销的通信路径,他们最初分别由Motorola公司和Phillips公司开发。这两个标准并非设计用于提供大多数数据路径所需的高吞吐量,但它们在监控和控制应用中表现良好,相比之下这些应用中的延迟问题不是那么重要。

  将FPGA和CPLD的灵活性和这些低开销总线相结合,为系统设计师提供了大量的系统控制功能,同时最大限度地减少所需的电路板面积。

  低速串行总线

  从物理学和电气学的角度来看,SPI和I2C都是低开销的总线标准,一般从电路板实现的角度来看就很容易理解。I2C只需要两个信号来实现:SDA(数据线)和SCK(时钟线)。这些线路都是漏极开路,并要求端接上拉电阻。这些连线可以跨越多个主器件和从器件,如图1所示。该电路还需要的唯一一个额外要求就是使用适当的端接上拉电阻来处理线路电容。两线总线上的多个主器件的问题需要使用总线仲裁来处理消息冲突。但是使用一个简单的专用总线结构和一个主器件,这些问题就可以全部解决。

  

  图1 典型的I2C连接

  SPI是一个4线串行总线,由于总线上仅允许有一个主器件因而无需总线仲裁。此外,还有两个数据引脚,都不是真正的双向引脚。MOSI(主器件输出,从器件输入)线负责将数据发送给外设;MISO(主器件输入,从器件输出)负责将数据发送给主器件。时钟(SCLK)和从器件选择(SS)信号提供总线控制,它们都是由主器件驱动。虽然这种安排避免了总线仲裁的需要,但是需要使用更多的信号。

  

  图2 典型的三个从器件的SPI总线

  今天使用哪种串行总线方面的限制相对较少。截至2006年,NXP(原Phillips)不再需要许可证即可使用I2C协议。应当指出的是,获取I2C从器件地址仍需收取费用。然而,对于外设无需与外界通信的应用,这是没有必要的。而SPI是一个没有正式规范文档而被广泛使用的标准。然而,该标准已经在许多不同的嵌入式处理器中实现,由此看出虽然它没有正式规范文档,但是并未阻碍其广泛使用。

  低开销的I2C和SPI两种标准被广泛采用并且集成到微控制器和外设中。

  系统监测和控制

  单块电路板上的应用监测和控制相对比较简单。复位、中断线路和选择线路可以直接由微控制器或本地PLD控制。然而,在多块电路板的系统中则需要进行集中控制,因而尽量减少连接的数量是很重要的。这可以通过使用低开销的串行总线与PLD进行通信来实现,如图3中所示。[page]

  

  图3 将PLD用作一个串行IO扩展器

  接下来就需要一个协议,定义从微控制器到外部PLD的数据流的指令和寻址机制。对于基于SPI的实现,无需太多担心。SPI不需要数据流中的任何信息进行寻址,因为SS和SCLK信号已经根据协议提供了控制寻址。因此,用户只需控制整个数据有效载荷的传输。

  外部PLD的I2C实现稍微复杂一些。首先,在将数据传输到总线上之前,要对器件寻址,必须识别出这个PLD。这种差异正是选择这两种串行总线架构时需要考虑权衡的地方:SPI架构不需要一个指令翻译器来寻找到特定的从器件,但比I2C结构需要更多引脚。

  远程故障记录

  考虑到外部的非易失性存储器成本低,以及便于通过串行总线如I2C或SPI接口进行连接,将外部非易失性存储器与PLD结合使用,可以为用户提供极具成本效益的方式来实现系统中的远程故障记录管理。图4显示了一个典型的系统应用,不仅使用了之前重点介绍的IO扩展功能,也说明了怎样将外部存储器纳入系统架构中使用。

  

  图4 远程故障记录

  在这个架构中,PLD主要负责监测、控制和与微控制器通信。然而,它也负责执行线路上额外的监测/控制分析和故障信息记录,通过串行总线写入非易失性存储器。电压监控、看门狗定时器和PCB上的其他故障条件可以通过PLD写入非易失性存储器。通常情况下,检测到故障后,系统中其他监控器的状态,如温度和电压以及时间信息将被保存。

  应当注意的是,这样一个系统在实现时有一个重要的考虑。如果PLD是外部非易失性存储器的主器件,那么它还需要决定串行总线的控制和寻址。这个决定对于使用SPI总线而言很容易;设计师必须实现一个从SPI器件,与微控制器进行通信,以及一个独立的主SPI器件,可以访问外部存储器。

  对于I2C总线,设计师有几个选择。第一种选择是设计类似SPI那样的设计,使用一个从器件与微控制器通信,以及一个主器件访问外部存储器。第二种选择是使用PLD,同时作为主器件和从器件。这种方法的好处是,系统中只有一条串行总线,因此微控制器可以直接访问非易失性存储器,而无需PLD翻译指令然后从存储器中读取信息。然而,由于不是在PLD中简单地使用一个从器件,现在设计必须处理寻址和总线控制。

  传感器和外设汇聚

  基于串行接口的标准产品的数量日益增长。你可以在温度传感器、压力传感器、A/D转换器、数字电位器、实时时钟和LCD控制器等等应用中找到串行接口,这里仅列举了几个来说明。要了解如何将这些集成到设计中的关键是要知道哪些外设需要“实时”使用以及“实时”意味着什么。举例来说,在系统中温度是一个相对缓慢变化的对象,并可以很容易地通过串行总线监控。用于电流或电压检测的A/D转换器可能是也可能不是一个“实时”需求,这要根据正在测量的内容,以及需要多快的检测速度而定。

  一旦你已经确定了外设的优先级,然后你可以将较低优先级的外设让PLD处理,减轻处理器的负担,如图5所示。

  

  图5 传感器汇聚示例

  在上面的例子中,微控制器只需与2个而非4个外设进行通信。

  这种安排还有另外一个好处。你可以使用一个功能强大的PLD来预处理数据,然后由微控制器读取。例如,请考虑一个应用,使用A/D采样测量一个三相电力系统的电压和电流,并进行故障检查。一个拥有强大DSP功能的PLD可以代替DSP或微控制器执行RMS计算、峰值电流分析、相位计算和FFT。现在采样速率受到PLD收集样本和处理数据所需时间的限制。然后,微控制器可以读取编译的数据,将更多的时间用于处理控制和报告工作。设计师们应该好好考虑微控制器处理能力、PLD处理能力、成本和空间之间的权衡。

  下一步:集成

  鉴于这些串行总线与小型可编程逻辑器件相结合使用的实用性,下一步将是将至少一种串行总线标准(如果不能兼顾)集成到PLD中。这种集成降低了PLD解决方案的成本和功耗。此外,串行总线接口的编码不再是设计师需要解决的问题。设计师只需要处理他们的应用和逻辑要求,而不是集成一个开放的核。

  莱迪思半导体公司提供的最新的CPLD就可以为设计师带来这些优点。MachXO2™系列中的嵌入式功能块(EFB),包含预先设计的解决方案,可以用来实现上面所述的任意系统控制功能。MachXO2器件包含一个SPI控制器以及2个I2C控制器。所有串行总线控制器都可以配置为主或从器件。此外,MachXO2还为设计师们提供了一个定时器/计数器块以及少量的用户可访问的闪存(UFM)。

  除了上面提到的解决方案,串行总线与PLD相结合可以为系统提供其他的好处,即使有时它们在架构设计过程后才显现出来。它们并不是所有弊病的灵丹妙药,但它们在设计中的实用性是有据可查的,有无数的开源核和设计方案可以给予不同的架构设计师们指引,实现最佳的解决方案。

关键字:PLD  串行总线  扩展系统 引用地址:基于PLD和串行总线扩展系统控制功能

上一篇:MAX3051低电源电流CAN收发器
下一篇:PCI9052在多功能CAN适配卡中的应用研究

推荐阅读最新更新时间:2024-05-02 22:55

串行总线那些坑,你留意了吗?
串行通讯总线在嵌入式系统中是必不可少的一部分,处理器通过UART、I2C等这些总线来访问各种外设。如果您是一位嵌入式工程师,相信您一定和这些串行总线打过交道。那么串行总线协议的这些坑,您有没有遇到过呢?   比如,I2C总线忘了接上拉电阻,串口波特率不匹配,RS485忘了进行方向切换或者没有接终端匹配电阻,USB全速和低速模式该在哪根线加上拉、下拉电阻傻傻分不清(现在上下拉电阻都集成到处理器内部,以后不会再被坑了)等等。我们的一位客户最近就被SWD总线坑了一把,来看看他是怎么入的坑,又是怎么跳出的坑吧。   这位客户用编程器通过SWD总线对一款Cortex-M0芯片进行编程时,由于无法进入测试模式而无法对芯片编程。束手无
[嵌入式]
STM32之I2C 学习笔记
一、基本概念 (1)I2C是两线式串行总线,由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。 (2)IIC是半双工通信方式,也就是说它既可以接收也可以发送,但是由于它只有一根数据线,所以接收和发送不能同时进行。 二、I2C协议 (1)空闲状态:数据线SDA和时钟SCL线都处于高电平。 (2)开始信号:SCL线持续处于高电平,数据线SDA由高变为低。 (3)停止信号:SCL线持续处于高电平,数据线SDA由低变为低。 (4)应答信号:位发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号
[单片机]
STM32之I2C 学习笔记
恩智浦扩展汽车门禁产品系列 推出无钥匙系统完整解决方案
中国深圳, 2016 年 9 月 27 日讯 ( 2016 恩智浦 FTF 未来科技峰会 ) 恩智浦半导体(NASDAQ:NXPI)今天宣布推出NJJ29C0低频收发器,将其在汽车安全门禁技术上的领先优势扩大到车端系统。作为先进钥匙端设计的长期领导者,恩智浦现已实现完整系统解决方案,不仅具备工作距离更长和为最终用户提供更强的便利性,且成本更低、产品上市时间更快,为车厂及其一级供应商提供了更大的设计自由度。 恩智浦新型低频收发器NJJ29C0是业界首款集成了6通道Class D类低频驱动器、DC/DC升压转换器、微控制器和引擎防盗读写器的产品。NJJ29C0针对安全无钥匙门禁应用而设计,易于导入车辆电子控制系统中,支持迎宾灯、
[焦点新闻]
应用PLD实现科氏质量流量计的数字部分设计
引言   科里奥利质量流量计(Corioils Mass Flowmeter,简称CMF)是一种利用流体在振动管内产生与质量流量成正比的科氏力为原理所制成的一种直接式质量流量仪表。当前,基于此原理已开发研制了多种科氏流量计并得到广泛应用。但是,它们普遍存在精度低、体积大、功耗大等问题。我们利用PLD器件开发研制了新一代U形双管式科氏质量流量计。它可以侦测流体的流速、密度、流量、温度等指标,与现在普遍使用的科氏流量计相比具有体积小、功耗低、功能强、精度高、适应性强等特点,具有较大的推广价值。   本文主要这种新型科氏质量流量计的系统工作原理,数字系统的设计、实现及关键技术,并给出了实际应用结果。 系统原理   图1 为U形检测
[应用]
2011:永不满足的带宽需求驱动PLD产业成长
在2011年及未来,全球各地对频宽永不满足的渴望,将成为电子产业的关键成长动力。其中,拥有近 30亿人,约占全球60%人口的亚洲地区,在全球宽带需求成长中扮演着愈来愈重要的角色。 2009年,在短短12个月内,中国增加了超过1.1亿的网络用户。同期间,中国的第三代行动服务部署也已达1,600万用户。这个数字在2010年底成长了惊人的10倍,达到了1.7亿多的用户数量。 拥有全球最大用户群的中国和印度,目前已拥有了超过 6.71亿的连接用户,以及高达6.35亿行动网络用户数。值得注意的是,在印度,有8,000个城镇和约600万个村庄采用无线技术。事实上,无线接入已变得相当普遍,在接近圣母峰附近的营区装设了3G发射塔后,现在
[嵌入式]
核心硅片强者愈强 厂商份额水涨船高
  全球核心硅片市场2007年强劲增长。但据iSuppli公司,只有市场中的领先厂商受益最多,它们的市场份额继续上升,挤占规模较小厂商的份额。该市场由ASIC、可编程逻辑器件(PLD)和专用标准产品(ASSP)构成。   2007年全球核心硅片市场从2006年的929.7亿美元增长至991亿美元,增长率为6.6%。   谈到半导体,一般人可能会想到内存或微处理器。实际上,核心硅片是半导体市场中最大的单一领域,占总体营业收入的36%以上。   按总体核心硅片营业收入排名,第一位仍然是德州仪器,2007年销售额为74亿美元,不过比2006年下降了4.1%。英特尔继续位居第二,高通和索尼分别跃升至第三和第四位。只有IBM微电子
[焦点新闻]
高速串行总线——一致性测试方案
如何将测试系统对信号的影响降低到最小,并且无失真的采集待测信号,对新的设计方案的评估、测量是非常重要的。可以分为五个重要的部分: ●连接性 ●测试码型产生 ●接收端测试 ●信号采集 ●信号分析    连接性 测量路径中,包括 DUT 到示波器通道的信号路径,同样也存在着传输线效应,可以导致信号的损伤以致测试失败。用正确的探头进行正确的连接是非常重要的。高速串行总线标准的机械结构部分,有时称为物理媒介相关(PMD)规范,决定了如何连接DUT。对于不同的标准,有着不同的连接方式,每一种都有独特的特性。 有下列五种方式满足各种信号探测的需求: ●最新的三模(TriMode)差分探头能够通过一次连接,实现差分、单端和共
[测试测量]
高速<font color='red'>串行总线</font>——一致性测试方案
简单PLD有哪些
想必,大家都听过可编程逻辑器件(PLD),但大家对简单PLD是否还有印象呢?正所谓“温故而知新”,那电子发烧友网小编就跟大家一起来了解一下简单PLD到底有哪些吧。   PLD,按集成度划分的话,可以分为简单PLD和复杂PLD。复杂PLD的话,就是我们现在常听到的FPGA和CPLD,我们这里就只给大家介绍简单PLD。   简单PLD是早年出现的低集成度芯片,如:PROM、PAL、PLA和GAL等。其主要特点是可重构使用的逻辑门数大约在500门以下。   PROM (Programmable Read-Only Memory):可编程只读存储器,也叫One-Time Programmable (OTP)ROM:一次可编程只读存储
[模拟电子]
简单<font color='red'>PLD</font>有哪些
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved