題:
微控制器取代了更簡單的IC嗎?
user955
2010-07-13 07:06:45 UTC
view on stackexchange narkive permalink

例如,當您可以使用人類可讀的編程語言為微控制器編寫計時器程序時,是否仍然值得學習例如如何使用電阻器和電容器來調節555計時器?

還是換句話說,是否存在IC對微控制器不利的問題?

@jes5199-我不太確定這個問題應如何使用meta標籤;您能否評論您的理由?
我的想法是,我不是在問某個特定問題,而是整個領域。對我來說,這似乎有點不可思議。
與存儲在芯片上的程序相比,帶有分立組件和標有555計時器的芯片的電路板更具人類可讀性。
十三 答案:
pingswept
2010-07-13 08:32:04 UTC
view on stackexchange narkive permalink

大多數情況下,微控制器已經取代了分立的IC。我發現即使我可以設計一個帶有555的電路,也可能需要在幾週內對同一電路進行調整才能做其他事情,而微型保持這種靈活性。

離散邏輯仍然比大多數微控制器快。離散邏輯的傳播延遲和切換時間在1-10 ns範圍內。為了與微控制器相匹配,您必須能夠在1條指令中實現所需的任何邏輯,並具有100 MHz至1 GHz範圍內的時鐘。您可以這樣做,但也許不能在車庫的麵包板上。

一個很好的例子是HCTL2020正交解碼器。它接收兩個脈衝序列,並告訴您電動機的旋轉方向。為了提高速度,它被實現為不可編程的芯片。

數字邏輯和微控制器都失敗的另一個有趣領域是信號濾波。如果您有一個要進行數字濾波的模擬信號,則必須以一定速率對其進行採樣。無論您以多快的速度採樣,出現在採樣頻率一半以上的信號中的噪聲都會被混疊到較低的頻率,這可能會干擾信號。您可以在採樣發生之前使用由電容和電阻組成的低通濾波器解決此問題。採樣後,您就被搞砸了。 (當然,通常情況下,噪聲不會在頻率上與您的信號重疊,因此數字濾波器會很好地工作。)

>離散邏輯仍比大多數微控制器快,除非您使用賽普拉斯PSoC3。
@Rocketmagnet-PSoC像FPGA一樣,仍然是原始邏輯。當然,它不是離散的,但速度一樣快。
endolith
2010-07-13 08:10:38 UTC
view on stackexchange narkive permalink

奇怪的是,我只是在一家中國工廠裡試圖向一個完全過大的項目添加一個微型設備,然後我告訴他們使用555。 555的成本可能為6美分,而便宜的微控制器為60美分。當您大量生產產品時,成本差異很重要,並且您肯定會想知道如何使用便宜的IC。是的,他們更擅長於降低成本。 :)

您也可以增加可靠性。在刪除最後一個軟件之後,每個軟件都剩下一個錯誤。
Connor Wolf
2010-07-14 05:55:17 UTC
view on stackexchange narkive permalink

長期使用的零件穩定性是離散邏輯仍然勝過微米的領域。

這種微米將在10年後上市嗎? 20嗎到那時,IDE和工具鏈還會支持它嗎?

您可以保證將來離散邏輯仍將是離散邏輯。微米,不是很多。如果您要設計的產品的生產壽命,通用邏輯以及盡可能多的產品使用壽命較長,那麼通用的零件將減少零件可用性發生變化時重新設計設備的需求。

如果您的芯片製造商缺貨,則您不是SOL。許多人都制定了兼容的通用邏輯,而基本上沒有通用的微邏輯。

Thomas O
2011-03-23 05:47:34 UTC
view on stackexchange narkive permalink

使用分立電路完成簡單任務通常會更便宜。例如,閃爍的LED。最便宜的PIC10F200在5ku中約為0.35美元,而這是在編程成本和小尺寸(以及製造相關的問題)之前的。另一方面,NE555定時器的價格大約為US。 TI在5ku時的價格為0.10美元,而一個完整的解決方案的價格可能約為0.20美元。

還要考慮的另一件事是,微控制器本質上是數字設備。當然,大多數都具有ADC,有些甚至具有DAC,但它們仍可在離散的時間單位上工作,並在單個位和字節上工作。可以精確地調整模擬電路來滿足設計人員的需求,因為從理論上講,模擬具有無限的分辨率**。數字電路受其最慢組件的限制。

最後,就是電源問題。回到我的第一個例子,NE555。已經存在了20多年了,此後可能還會再出現50年。它是一個豆形軟糖部件,可能會永遠製造(或至少在電子產品中常規電子器件被淘汰之前)。而PIC10F可以隨時製成NRND。對於像Microchip這樣的單一供應商來說,存在很大的風險,這可能會破壞產品。

**好吧,事實並非如此。實際上,我們僅限於電子的分辨率。 1安培= 6.24×10 18 sup>電子/秒。因此,您可以獲得的最好的電流分辨率是atto安培,即10 ^ -18 sup>安培,每秒約6個電子。但是出於大多數實際目的,這是可以的。 :)

您將分辨率與精度混淆,這是一個經常犯的錯誤。如果漂移導致有效精度僅為兩位數,那麼分辨率就不會超過10位。儘管具有離散的數字解決方案,但數字解決方案仍可能具有更高的精度,因此分辨率受到更大的限制。
Leon Heller
2010-07-14 18:26:06 UTC
view on stackexchange narkive permalink

不要忘記可編程邏輯-CPLD和FPGA。通過用CPLD替換離散邏輯,您將不會受到零件停產的影響,並且可以獲得更高的性能,更小的尺寸和更低的成本。如果您的系統中有FPGA,則可以在其中實現一個軟核,如果需求發生變化,可以很容易地對其進行升級,並且可以輕鬆地使整個產品“面向未來”。

jeremy
2010-07-13 07:25:45 UTC
view on stackexchange narkive permalink

我將學習如何將555計時器調整為“以防萬一”的知識。就像人們說“我的一生都很好,沒有代數一樣,我們為什麼要教給孩子們呢?”如果您不知道如何使用該工具,那麼您將永遠不會看到它可以應用的問題。在微控制器/處理器上會太慢(除非它是像DSP這樣專門設計的處理器)。

Wouter Simons
2010-07-13 16:26:43 UTC
view on stackexchange narkive permalink

在我當前的項目中,我們使用運行在500Mhz的Marvell ARM9芯片和FPGA,以提供許多DIO端口。儘管如此,有些事情還是用離散邏輯處理的。例如,對於單獨控制的4個步進電機,需要一個步進電機控制。有一個振盪器可產生一個帶有計數器的頻率,該計數器將允許許多脈衝通過。計數器是從微控制器設置的,但隨後在沒有微控制器的任何進一步控制的情況下運行,這使其有時間進行其他任務。

我們本可以選擇更多的微控制器。但是,使用傳統離散邏輯的中央控制器可以證明是一種功能強大且非常可靠的解決方案。

此外,如果您有明確定義的問題,則解決方案應始終盡可能簡單,但沒有更簡單的(引號隱藏在;-)中)。如果555可以工作,為什麼不使用它?正如其他人選擇的那樣,靈活性可能是一個爭論,但事實並非如此。這完全取決於您的問題以及您對最簡單的解決方案的理解。

我認為您的I / O擴展器FPGA是步進控制的“邏輯”部分的好地方。
JustJeff
2010-07-13 07:15:33 UTC
view on stackexchange narkive permalink

想到高頻通信應用。即使我們現在有了“軟件定義的無線電”,但如果100MHz +信號處理仍至少沒有某些模擬級,那將是非常令人驚訝的。

tcrosley
2010-07-13 22:33:20 UTC
view on stackexchange narkive permalink

我最近的微控制器設計中很少有需要任何離散邏輯的。一個例外是實現了Ctrl-Alt-Del類型的重置,其中按下自定義鍵盤上的兩個特定鍵兩秒鐘將對Micro進行硬重置。我使用了NOR門(用作具有2個反向輸入的AND門),AND門和74HC123。能夠方便地以SMT封裝的單個閘門獲得我需要的特定閘門,而不是DIP時代的4個閘門/封裝。

hmdz
2014-06-11 23:55:37 UTC
view on stackexchange narkive permalink

我有多年成為軟件開發人員的機會,現在擔任電子工程師。

任何復雜的系統都帶有錯誤和錯誤。基於它們的實用範圍,微控制器和IC都有其優點和缺點。

對於小型項目,IC比微控制器更快,更便宜且更可靠。對於具有數百萬個輸入,分析和比較邏輯的大型項目,請確保微控制器具有超越IC的優勢。 ROM,導致邏輯錯誤(例如,內存洩漏),這些錯誤很難檢測,但有時會消失於大骨症。

對於關鍵應用中發生故障的基於防彈軟件的系統(例如軍用等級或諸如火車控制系統的救生系統),實施並開發了“故障安全”概念。

萬一發生異常錯誤,故障保護系統將恢復到安全狀態。通常,兩個處理器運行相同的代碼,比較每個指令的結果,如果相等,則執行該指令。否則,系統將使用物理繼電器恢復到安全狀態。

基於故障安全軟件的系統用於火車聯鎖和ATP(火車自動保護)系統。

使用Ics設計相同的複雜系統對於任何工程師來說都是一個頭疼的問題。這就是從第一天開始設計軟件的原因!

Robert
2010-07-14 00:00:15 UTC
view on stackexchange narkive permalink

IC可能是特定於域的。我正在考慮使用DTMF解碼器。我可以對微控制器進行編程以解碼這兩個頻率,但是使用現成的芯片會更容易,更快和更便宜。

我認為,對所有工具有足夠的了解對知道使用什麼工具。

當然取決於電路中是否需要微控制器。我最近有一個需要DMTF解碼器的項目。芯片的成本約為一美元。 PIC24F或等效dsPIC33F(也具有DSP)之間的價格差異也約為1美元。 DTMF解碼器DSP例程與Microchip無關。另外,我現在還有用於其他功能的DSP。
僅供參考,幾年前,我僅使用比較器作為輸入,為PIC 16C622寫了一個相當不錯的DTMF解碼器。
hlovdal
2011-08-21 03:53:33 UTC
view on stackexchange narkive permalink

僅使用分立組件進行設計與使用微控制器進行設計之間有一個很大的區別;軟件有錯誤。如果可靠性是一個重要方面,則可以驗證由分立組件製成的產品的設計。甚至 Knuth都不敢聲稱自己的軟件沒有錯誤。

當然,您的設計也可能有錯誤,並且可能僅在極少數情況下出現,但它們將更易於理解和修復。軟件可能會以極其晦澀和非顯而易見的方式失敗,而您將永遠找不到。

由於在這種情況下分立元件可能意味著IC,而不是晶體管,那麼您為什麼認為IC沒有錯誤呢?寫得好的軟件最終會帶來錯誤,並不是因為它是軟件,而是因為它可以解決複雜的需求-硬連線的版本也可能有錯誤。找到錯誤後,將補丁程序部署到軟件上的成本要比修改PCB的成本低,除非您已經有人為您刻錄了大量的OTP微型存儲器。您可以訓練某人插入編程器電纜並遵守ESD規則,其速度要比訓練他們擅長返工SMT PCB的規則要快得多。
IC存在各種複雜程度,包括微控制器。 IC中錯誤的可能性與IC的複雜度成正比。問題是關於諸如555定時器之類的更簡單的IC,我認為此類IC和其他組件出現錯誤的累積概率大大低於微控制器替換它們時出現錯誤的概率。當然,如果用一個微控制器替換1000個組件,則賠率可能會改變,因此圖像不是完全黑白的。但是對於任何我正在使用的LED閃爍設備或類似設備...
...認為這個問題是關於的,我仍然相信分立組件有可能變得更加可靠。對於軟件錯誤,它們是不確定的。當然,沒有任何東西可以100%保證,但是如果您實現帶有組件的交通信號燈控制器,則可以知道並部署它,知道它會一直工作X年,直到物理磨損導致該單元可能發生故障並更換為止。在此之前有一個新單位。您無法估計軟件在任何時間段內都能可靠運行。
在適當的cpu上,可以對複雜度與幾個離散量相當的軟件進行數學驗證。複雜性與更通用的軟件相當的離散邏輯實際上也無法完全防範未曾想到的-儘管在兩種情況下,通常情況下,您都可以使用附加的複雜性來提供一些備份安全性,以防主要機制確實失效。
user34920
2014-06-12 02:18:53 UTC
view on stackexchange narkive permalink

答案是肯定的!

您需要將其視為面向生產成本的硬件設計師。 555是被認為是非常基礎的舊IC。如果您是EE,那麼您最有可能在數字電子課程中見過幾次。設置起來非常容易,因為您需要為大多數常見應用求解2或3個公式。這幾乎不需要時間(因為您已經知道該零件以及如何使用它,並且數學很容易)。甚至針對8位MCU進行開發並驗證軟件所需的時間,可能要花幾天甚至幾個月的時間,具體取決於您所處的環境。因此,這可能會使工程成本降低您無法想像的數量,並且

真實的故事-我曾經在一家大型醫療公司工作。我設計了用於產品驗證的測試夾具。夾具是基於硬件和嵌入式軟件的。該公司生產的產品與人體的脆弱部位相互作用,因此我們所做的一切檢查工作都是瘋狂的。這一次,我不得不調整通信協議以反映產品本身的變化。更改可能是用C語言編寫的10行代碼,並且隨著波特率的改變,晶體振盪器也被交換了,最初安裝的不是11.0592MHz。我花了大約2個小時來完成此工作,包括文檔。從Digikey訂購新零件,公司的成本可能約為$ 300或更少。改進後的測試夾具的驗證花了幾個月(!)的時間,每天至少有3到4個人忙於相關事務。這多少錢給公司?可能在$ 10,000到$ 15K之間。該成本反映了設計中微小更改的真實成本。很多時候您都可以保存它,並且知道一些幾乎可以立即使用的解決方案可以節省一小筆財富。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...