微控制器取代了更简单的IC吗?


37

例如,当您可以使用人类可读的编程语言为微控制器编写定时器程序时,仍然值得学习例如如何使用电阻器和电容器调谐555定时器吗?

或者换一种说法,是否存在IC对微控制器不利的问题?


4
@ jes5199-我不太确定这个问题应如何使用meta标签;您可以评论您的理由吗?
J. Polfer

3
我的想法是我不是在问某个特定问题,而是整个领域。对我来说,这似乎有点不可思议。
user955 2010年

与存储在芯片上的程序相比,带有分立组件和标有555计时器的芯片的电路板更具人类可读性。
卡兹(Kaz)2014年

Answers:


35

通常,微控制器已经取代了分立的IC。我发现,即使我可以设计一个带有555的电路,也可能需要在几周内对同一电路进行调整才能做其他事情,而微型保持这种灵活性。

但是也有一些例外。

离散逻辑仍然比大多数微控制器更快。离散逻辑的传播延迟和切换时间在1-10 ns的范围内。为了与微控制器相匹配,您必须能够在1条指令中实现所需的任何逻辑,并且时钟必须在100 MHz至1 GHz范围内。您可以这样做,但也许不能在车库的面包板上。

HCTL2020正交解码器就是一个很好的例子。它接收两个脉冲序列,并告诉您电动机的旋转方向。为了提高速度,将其实现为不可编程的芯片。

数字逻辑和微控制器都失败的另一个有趣领域是信号滤波。如果您有一个要进行数字滤波的模拟信号,则必须以一定速率对其进行采样。无论您以多快的速度采样,出现在采样频率一半以上的信号中的噪声都会混叠到较低的频率,这可能会干扰您的信号。您可以在采样之前使用由电容和电阻组成的低通滤波器来解决此问题。采样后,您就被搞砸了。(当然,通常情况下,噪声不会在频率上与您的信号重叠,因此数字滤波器会很好地工作。)


>离散逻辑仍然比大多数微控制器更快。除非您使用赛普拉斯PSoC3。
Rocketmagnet 2010年

3
@Rocketmagnet-PSoC像FPGA一样,仍然是原始逻辑。当然,它不是离散的,但速度一样快。
凯文·维米尔

29

奇怪的是,我只是在一家中国工厂里试图向一个完全过分杀伤的项目添加微型设备,然后我告诉他们使用555。555的成本可能为6美分,而便宜的微控制器为60美分。当您大量生产产品时,成本差异很重要,并且您肯定会想知道如何使用便宜的IC。是的,他们更擅长于降低成本。:)


12
您也可以增加可靠性。在删除最后一个软件之后,每个软件都剩下一个错误。
stevenvh 2010年

13

离散逻辑仍然胜过微米的一个方面是长期零件稳定性。

这款微型相机会在10年后上市吗?20吗 在那时,IDE和工具链是否仍将支持它?

您几乎可以保证离散逻辑将来仍将是离散逻辑。微米,不是很多。如果您要设计的产品的生产寿命,通用逻辑以及尽可能多的产品使用寿命较长,那么通用的零件将减少零件可用性发生变化时重新设计设备的需求。

此外,如果您的芯片制造商有缺货,那么您不是SOL。许多人都制定了兼容的通用逻辑,而基本上没有通用的微逻辑。


11

通常,使用分立电路执行简单任务会更便宜。例如,闪烁的LED。最便宜的PIC10F200在5ku中约为0.35美元,这是在扣除编程成本和小尺寸(以及制造相关的问题)之前的费用。另一方面,NE555定时器的价格大约为US。 5ku中来自TI的价格为0.10美元,而完整的解决方案的价格可能约为0.20美元。

要考虑的另一件事是,微控制器本质上是数字设备。当然,大多数都具有ADC,有些甚至具有DAC,但它们仍以离散时间单位工作,并且以单个位和字节工作。可以精确地调整模拟电路来满足设计人员的需求,因为从理论上讲,模拟具有无限的分辨率**。数字电路受其最慢组件的限制。

最后,还有供应问题。回到我的第一个例子,NE555。这已经存在了20多年了,此后可能还会再出现50年。它是豆形软糖的一部分,可能会永远制造(或至少在传统电子在电子产品中被淘汰之前)。而PIC10F可以随时制成NRND。对于像Microchip这样的单一供应商,存在很大的风险,这可能会破坏产品。

**好吧,事实并非如此。实际上,我们仅限于电子的分辨率。1安培= 6.24×10 18电子/秒。因此,您可以获得的最佳电流分辨率是atto 安培,即10 ^ -18安培,即每秒约6个电子。但是出于大多数实际目的,这是可以的。:)


4
您将分辨率与精度混淆,这是一个经常犯的错误。如果漂移导致有效精度仅为两位数,那么分辨率就不会超过10位。尽管具有离散的分辨率,数字解决方案仍可以具有更高的精度,因此分辨率更有限
stevenvh 2011年

8

不要忘记可编程逻辑-CPLD和FPGA。通过用CPLD替换离散逻辑,您将不会受到零件停产的影响,并可以获得更高的性能,更小的尺寸和更低的成本。如果您的系统中有FPGA,则可以在其中实现一个软核,如果需求发生变化,可以轻松升级该软核,并且可以轻松地使整个产品“面向未来”。


6

我将学习如何将555计时器调整为“以防万一”的知识。就像人们说“我的一生都很好,没有代数一样,我们为什么要教给孩子们呢?” 如果您不知道如何使用工具,则永远不会遇到可以应用的问题。

关于一个具体的答案:如今,在FPGA / ASIC中实现了非常快速的数字逻辑,因为在微控制器/处理器上它会太慢(除非它是像DSP这样专门设计的处理器)。


6

在我当前的项目中,我们使用运行在500Mhz的Marvell ARM9芯片和FPGA来提供许多DIO端口。尽管如此,有些事情还是用离散逻辑处理的。例如,对于单独控制的4个步进电机,需要一个步进电机控制。有一个振荡器可产生一个带有计数器的频率,该计数器将允许许多脉冲通过。计数器是通过微控制器设置的,但随后在没有微控制器的任何进一步控制的情况下运行,这使其有时间进行其他任务。

我们本可以选择更多的微控制器。但是与传统的离散逻辑一起工作的中央控制器可以证明是一种功能强大且非常可靠的解决方案。

另外,如果您有明确定义的问题,则解决方案应始终尽可能简单,但不要简单(引号隐藏在;-)中)。如果555可以工作,为什么不使用它?正如其他人选择的那样,灵活性可能是一个争论,但事实并非如此。这完全取决于您的问题以及您对最简单解决方案的理解。


1
我认为您的I / O扩展器FPGA是步进控制的“逻辑”部分的好地方。
克里斯·斯特拉顿

5

想到高频通信应用。即使我们现在有了“软件定义的无线电”,但如果100MHz +信号处理至少还没有某些模拟级,那将是非常令人惊讶的。


4

我最近的微控制器设计中很少有需要任何离散逻辑的。一个例外是实现了Ctrl-Alt-Del类型的重置,其中在自定义键盘上按下两个特定的键两秒钟将对Micro进行硬重置。我使用了NOR门(用作具有2个反向输入的AND门),AND门和74HC123。能够以SMT封装的单个闸门获得所需的特定闸门非常方便,而不是DIP时代的4个闸门/封装。


4

我有多年成为软件开发人员的机会,现在是一名电子工程师。

任何具有复杂性的系统都会带来错误和错误。基于它们的实用范围,微控制器和IC都有其优点和缺点。

对于小型项目,IC比微控制器更快,更便宜且更可靠。对于具有数百万个输入,分析和比较逻辑的大型项目,请确保微控制器具有优于IC的优势。

所有软件都会在某个时刻失败,即使无错误的代码也容易修改,因为它被保存在ROM中,从而导致难以检测的逻辑错误(例如内存泄漏),但有时会导致分类错误。

对于关键应用中发生故障的基于防弹软件的系统(例如军用等级或诸如火车控制系统的救生系统),实施并开发了“故障安全”概念。

万一发生异常错误,故障保护系统将恢复到安全状态。通常,两个处理器运行相同的代码,比较每条指令的结果,如果相等,则执行该指令。否则,系统将使用物理继电器恢复到安全状态。

基于故障安全软件的系统用于火车联锁和ATP(火车自动保护)系统。

对于任何工程师来说,使用Ics设计相同的复杂系统都是一件令人头疼的事情。这就是从第一天开始设计软件的原因!


3

IC可以针对特定领域。我正在考虑使用DTMF解码器。我可以对微控制器进行编程以解码这两个频率,但是使用现成的芯片更容易,更快,更便宜。

我认为重要的是要对所有工具有足够的了解,以知道要使用哪种工具。


当然取决于电路中是否需要微控制器。我最近有一个需要DMTF解码器的项目。芯片的成本约为一美元。PIC24F或等效dsPIC33F(也具有DSP)之间的价格差异也约为1美元。DTMF解码器DSP例程不受Microchip的支持。另外,我现在还有用于其他功能的DSP。
tcrosley 2010年

仅供参考,几年前,我仅使用比较器作为输入,为PIC 16C622写了一个相当不错的DTMF解码器。
supercat

3

仅使用分立组件进行设计与使用微控制器进行设计之间有一个很大的区别。软件有错误。如果可靠性是一个重要方面,则可以验证由分立组件制成的产品的设计。甚至Knuth都不敢声称自己的软件没有错误。

当然,您的设计也可能有错误,并且可能仅在极少数情况下出现,但它们将更易于理解和修复。软件可能会以极其晦涩难懂的方式失败,而这是您永远找不到的。


2
由于在这种情况下分立元件可能意味着集成电路,而不是晶体管,那么您为什么认为集成电路没有错误?写得好的软件最终会带来错误,并不是因为它是软件,而是因为它可以解决复杂的需求-硬连线版本也可能有错误。一旦发现错误,向软件部署修补程序的成本要比修改PCB的成本低,除非您已经有人为您刻录了大量的OTP微型存储器。您可以训练某人插入编程器电缆并遵守ESD规则,其速度要比训练他们精通SMT PCB的训练更快。
克里斯·斯特拉顿

IC存在各种复杂程度,包括微控制器。IC中发生错误的概率与IC的复杂度成正比。问题是关于诸如555定时器之类的更简单的IC,我认为此类IC和其他组件出现错误的累积概率大大低于微控制器替换它们时出现错误的概率。当然,如果用一个微控制器替换1000个组件,则赔率可能会改变,因此图像不是完全黑白的。但是,对于任何LED闪烁设备或类似的设备,我...
hlovdal

...认为这个问题是关于的,我仍然相信分立组件有可能变得更加可靠。对于软件错误,它们是不确定的。当然,没有任何东西可以100%保证,但是如果您实现带有组件的交通信号灯控制器,则可以知道并部署它,知道它会一直工作X年,直到物理磨损导致该单元可能发生故障并更换为止。在此之前有一个新单位。您无法估计软件在任何时间段内都能可靠运行。
hlovdal

在适当的cpu上,可以对复杂度与几个离散量相当的软件进行数学证明。复杂度与更通用软件相当的离散逻辑实际上也无法完全防范未曾想像的安全-尽管在两种情况下,通常情况下,您都可以使用附加的复杂度来提供一些备份安全性,以防主要机制确实失效。
克里斯·斯特拉顿

3

答案是肯定的!

您需要将其视为面向生产成本的硬件设计师。555是被认为是非常基础的旧IC。如果您是EE,那么您最有可能在数字电子课程中见过几次。设置它非常容易,因为您需要为大多数常见应用求解2或3个公式。这几乎不需要时间(因为您已经知道零件以及如何使用它,并且数学很容易)。甚至针对8位MCU进行开发设置并验证软件所需的时间,可能要花几天甚至几个月的时间,具体取决于您所处的环境。因此,这可能会使工程成本降低您无法想象的数量,并且还可能缩短上市时间。

真实的故事-我曾经在一家大型医疗公司工作。我设计了用于产品验证的测试夹具。夹具是基于硬件和嵌入式软件的。公司生产的产品会与人体的脆弱部位发生相互作用,因此我们所做的所有检查工作都是疯狂的。这一次,我不得不调整通信协议以反映产品本身的变化。更改可能是用C语言编写的10行代码,并且随着波特率的改变,晶体振荡器也被交换了,最初安装的不是11.0592MHz。我花了大约2个小时来完成此工作,包括文档。从Digikey订购新零件,公司的成本可能约为$ 300或更少。改进的测试夹具的验证花费了几个月的时间(!),并且每天至少有3或4个人忙于相关事务。这多少钱给公司?可能在$ 10,000到$ 15K之间。该成本反映了设计中微小更改的真实成本。很多时候,您可以保存它,并且知道一些几乎现成的解决方案可以节省一小笔财富。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.