例如,当您可以使用人类可读的编程语言为微控制器编写定时器程序时,仍然值得学习例如如何使用电阻器和电容器调谐555定时器吗?
或者换一种说法,是否存在IC对微控制器不利的问题?
例如,当您可以使用人类可读的编程语言为微控制器编写定时器程序时,仍然值得学习例如如何使用电阻器和电容器调谐555定时器吗?
或者换一种说法,是否存在IC对微控制器不利的问题?
Answers:
通常,微控制器已经取代了分立的IC。我发现,即使我可以设计一个带有555的电路,也可能需要在几周内对同一电路进行调整才能做其他事情,而微型保持这种灵活性。
但是也有一些例外。
离散逻辑仍然比大多数微控制器更快。离散逻辑的传播延迟和切换时间在1-10 ns的范围内。为了与微控制器相匹配,您必须能够在1条指令中实现所需的任何逻辑,并且时钟必须在100 MHz至1 GHz范围内。您可以这样做,但也许不能在车库的面包板上。
HCTL2020正交解码器就是一个很好的例子。它接收两个脉冲序列,并告诉您电动机的旋转方向。为了提高速度,将其实现为不可编程的芯片。
数字逻辑和微控制器都失败的另一个有趣领域是信号滤波。如果您有一个要进行数字滤波的模拟信号,则必须以一定速率对其进行采样。无论您以多快的速度采样,出现在采样频率一半以上的信号中的噪声都会混叠到较低的频率,这可能会干扰您的信号。您可以在采样之前使用由电容和电阻组成的低通滤波器来解决此问题。采样后,您就被搞砸了。(当然,通常情况下,噪声不会在频率上与您的信号重叠,因此数字滤波器会很好地工作。)
奇怪的是,我只是在一家中国工厂里试图向一个完全过分杀伤的项目添加微型设备,然后我告诉他们使用555。555的成本可能为6美分,而便宜的微控制器为60美分。当您大量生产产品时,成本差异很重要,并且您肯定会想知道如何使用便宜的IC。是的,他们更擅长于降低成本。:)
通常,使用分立电路执行简单任务会更便宜。例如,闪烁的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个电子。但是出于大多数实际目的,这是可以的。:)
在我当前的项目中,我们使用运行在500Mhz的Marvell ARM9芯片和FPGA来提供许多DIO端口。尽管如此,有些事情还是用离散逻辑处理的。例如,对于单独控制的4个步进电机,需要一个步进电机控制。有一个振荡器可产生一个带有计数器的频率,该计数器将允许许多脉冲通过。计数器是通过微控制器设置的,但随后在没有微控制器的任何进一步控制的情况下运行,这使其有时间进行其他任务。
我们本可以选择更多的微控制器。但是与传统的离散逻辑一起工作的中央控制器可以证明是一种功能强大且非常可靠的解决方案。
另外,如果您有明确定义的问题,则解决方案应始终尽可能简单,但不要简单(引号隐藏在;-)中)。如果555可以工作,为什么不使用它?正如其他人选择的那样,灵活性可能是一个争论,但事实并非如此。这完全取决于您的问题以及您对最简单解决方案的理解。
我有多年成为软件开发人员的机会,现在是一名电子工程师。
任何具有复杂性的系统都会带来错误和错误。基于它们的实用范围,微控制器和IC都有其优点和缺点。
对于小型项目,IC比微控制器更快,更便宜且更可靠。对于具有数百万个输入,分析和比较逻辑的大型项目,请确保微控制器具有优于IC的优势。
所有软件都会在某个时刻失败,即使无错误的代码也容易修改,因为它被保存在ROM中,从而导致难以检测的逻辑错误(例如内存泄漏),但有时会导致分类错误。
对于关键应用中发生故障的基于防弹软件的系统(例如军用等级或诸如火车控制系统的救生系统),实施并开发了“故障安全”概念。
万一发生异常错误,故障保护系统将恢复到安全状态。通常,两个处理器运行相同的代码,比较每条指令的结果,如果相等,则执行该指令。否则,系统将使用物理继电器恢复到安全状态。
基于故障安全软件的系统用于火车联锁和ATP(火车自动保护)系统。
对于任何工程师来说,使用Ics设计相同的复杂系统都是一件令人头疼的事情。这就是从第一天开始设计软件的原因!
IC可以针对特定领域。我正在考虑使用DTMF解码器。我可以对微控制器进行编程以解码这两个频率,但是使用现成的芯片更容易,更快,更便宜。
我认为重要的是要对所有工具有足够的了解,以知道要使用哪种工具。
仅使用分立组件进行设计与使用微控制器进行设计之间有一个很大的区别。软件有错误。如果可靠性是一个重要方面,则可以验证由分立组件制成的产品的设计。甚至Knuth都不敢声称自己的软件没有错误。
当然,您的设计也可能有错误,并且可能仅在极少数情况下出现,但它们将更易于理解和修复。软件可能会以极其晦涩难懂的方式失败,而这是您永远找不到的。
答案是肯定的!
您需要将其视为面向生产成本的硬件设计师。555是被认为是非常基础的旧IC。如果您是EE,那么您最有可能在数字电子课程中见过几次。设置它非常容易,因为您需要为大多数常见应用求解2或3个公式。这几乎不需要时间(因为您已经知道零件以及如何使用它,并且数学很容易)。甚至针对8位MCU进行开发设置并验证软件所需的时间,可能要花几天甚至几个月的时间,具体取决于您所处的环境。因此,这可能会使工程成本降低您无法想象的数量,并且还可能缩短上市时间。
真实的故事-我曾经在一家大型医疗公司工作。我设计了用于产品验证的测试夹具。夹具是基于硬件和嵌入式软件的。公司生产的产品会与人体的脆弱部位发生相互作用,因此我们所做的所有检查工作都是疯狂的。这一次,我不得不调整通信协议以反映产品本身的变化。更改可能是用C语言编写的10行代码,并且随着波特率的改变,晶体振荡器也被交换了,最初安装的不是11.0592MHz。我花了大约2个小时来完成此工作,包括文档。从Digikey订购新零件,公司的成本可能约为$ 300或更少。改进的测试夹具的验证花费了几个月的时间(!),并且每天至少有3或4个人忙于相关事务。这多少钱给公司?可能在$ 10,000到$ 15K之间。该成本反映了设计中微小更改的真实成本。很多时候,您可以保存它,并且知道一些几乎现成的解决方案可以节省一小笔财富。