当前位置:首页 > EDA > 电子设计自动化
[导读]在进行复杂系统的架构开发时,架构师和设计师很少对设计的系统控制方面予以重视。最好的情况是,系统控制在整个系统的设计考虑中排第二位。而最坏的情况是直接被遗忘,直到设计后期,板上只有很小的空间能实现系统控

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

    过去,设计师常常会使用一些方法来解决这些问题:请软件设计师想办法在软件中实现某些控制功能;在电路板上四处增加小的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中所示。

图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相结合可以为系统提供其他的好处,即使有时它们在架构设计过程后才显现出来。它们并不是所有弊病的灵丹妙药,但它们在设计中的实用性是有据可查的,有无数的开源核和设计方案可以给予不同的架构设计师们指引,实现最佳的解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

USB(Universal Serial Bus)是一种通用的串行总线标准,它被广泛应用于连接计算机及其外部设备。USB通信系统具有以下特点:

关键字: USB 串行总线 计算机

USB:Universal Serial Bus,通用串行总线。USB最初由英特尔与微软倡导发起,最大的特点是尽可能的实现热插拔和即插即用。

关键字: USB接口 串行总线 即插即用

说到行车安全,数日前的一起特斯拉汽车致命车祸,引发了广泛的关注。据悉,事发时汽车的自动辅助驾驶功能处于使用状态,驾驶者双手并没有放在反向盘上。

关键字: 无人驾驶 特斯拉 系统控制

近日,通用串行总线(USB)标准组织USB-IF公开了USB-C(即USB Type-C)接口新规范USB Type-C 2.1,这是自2019年8月USB Type-C 2.0规范之后,USB标准组织对USB-C接口的...

关键字: 串行总线 供电 USB

I2C(IIC)属于两线式串行总线,由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线,属于一主多从(一个主设备(Master),多个从设备(Slave))的总线结构,总线上的每个设备都有一个特...

关键字: IIC 通信协议 串行总线

摘要:针对邯郸机场地源空调能耗过高的问题,提出了对地源热泵空调系统实施一体化低碳中央空调智能控制和管理的方案,通过安装传感器和控制器,利用系统控制服务器实现地源空调的远程实时监测和节能控制,重点介绍了机场机房、办公楼和候...

关键字: 地源空调 系统控制 节能

(全球TMT2022年2月16日讯)一架由霍尼韦尔IntuVue RDR-84K雷达系统控制的无人机成功通过高风险避让测试。无人机成功反复绕过入侵飞机,这对无人驾驶航空的未来发展具有重要意义。近日在美国凤凰城地区进行的...

关键字: 系统控制 霍尼韦尔 雷达系统

现场总线的特点现场总线的突出特点在于它把集中与分散相结合的DCS集散控制结构,变成新型的全分布式结构,把控制功能彻底下放到现场,依靠现场智能设备本身实现基本控制功能。

关键字: 现场总线 控制功能 数字信号

固定逻辑器件和PLD各有自己的优点。 例如,固定逻辑设计经常更适合大批量应用,因为它们可更为经济地大批量生产。 对有些需要极高性能的应用,固定逻辑也可能是最佳的选择。

关键字: 固定逻辑器件 PLD PROM

可编程逻辑器件 英文全称为:programmable logic device 即 PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的...

关键字: 可编程逻辑件 PLD 光刻技术
关闭
关闭