【討論】如何使自己具備開發軟件硬件的能力
想讓自己收入增長和能力成長,是一個不斷努力的過程。先苦后甜,本人剛畢業出來也是個什么都不懂的毛頭小孩,靠著那么丁點的運氣,找了個好師傅領自己入門。師傅領進門,修行看個人。開始就多看書,多逛逛電源網論壇,看到好的帖子就收藏起來,有空的時候多看幾遍,有一點理論基礎了,多動手做做,解決實際開發中遇到的問題,你的成長就比別人快很多。大家發表下,怎么學習做硬件和軟件,這個過程中遇到什么問題,什么困擾著你。每個人都是從入門到懂到精通這個過程走過來的,也許大家會有相同的經歷。
全部回復(48)
正序查看
倒序查看
這個問題很不錯,也談談自己的一些觀點和看法: 硬件:
1.多做維修--最好是一邊參照著電路原理圖,一邊維修,不能頭痛醫頭,腳疼醫腳, 很多問題可能是并發癥,得從CPU這些電路去思考。 2.多抄板,學習學習別人的電路設計思路,看到一個電路就能想到此電路的用途、 優缺點等。 3.三極管電路和場效應管電路是基礎,如果你能把三極管電路(放大,飽和,截止,震蕩等)都搞清楚 說明你模擬電路算入門了。 4.預算放大器,很多精密設備的放大是必須要依靠運算放大器的,再者運放會容易 控制一些。 5.開關電源,研究研究開關電源也有助于學習MCU. 6.數字電路,單片機這些基本電路都必須要去學習。
軟件: 1.數字電路是基礎:程序實際上就是把數字電路用軟件的形式搬進了一個集成電路里。 2.如果想學好軟件最好看看匯編語言,C語言,數據結構等,沒有這幾樣的支撐程序的邏輯性 以及以后的大型程序是有瓶頸的。 3.多看程序,多看人家的算法或是優秀的編寫方式。 4.1萬行成才定律,如果你寫的代碼都不超過1萬行就不要說你是軟件工程師,1萬行是門檻,有了這1萬行 你基本就入行了。 5.上位機,有硬件和下位機是不夠的,必須要會一門上位機,只要你要能把上位機的DEMO程序寫出來,有助于 軟件工程師編寫上位機。 最后就是耐心,要能坐得住10個小時以上,沒有這樣的功夫就很難了!
0
回復
@yueyunno1
這個問題很不錯,也談談自己的一些觀點和看法:硬件:1.多做維修--最好是一邊參照著電路原理圖,一邊維修,不能頭痛醫頭,腳疼醫腳,很多問題可能是并發癥,得從CPU這些電路去思考。2.多抄板,學習學習別人的電路設計思路,看到一個電路就能想到此電路的用途、優缺點等。3.三極管電路和場效應管電路是基礎,如果你能把三極管電路(放大,飽和,截止,震蕩等)都搞清楚說明你模擬電路算入門了。4.預算放大器,很多精密設備的放大是必須要依靠運算放大器的,再者運放會容易控制一些。5.開關電源,研究研究開關電源也有助于學習MCU.6.數字電路,單片機這些基本電路都必須要去學習。軟件:1.數字電路是基礎:程序實際上就是把數字電路用軟件的形式搬進了一個集成電路里。2.如果想學好軟件最好看看匯編語言,C語言,數據結構等,沒有這幾樣的支撐程序的邏輯性以及以后的大型程序是有瓶頸的。3.多看程序,多看人家的算法或是優秀的編寫方式。4.1萬行成才定律,如果你寫的代碼都不超過1萬行就不要說你是軟件工程師,1萬行是門檻,有了這1萬行你基本就入行了。5.上位機,有硬件和下位機是不夠的,必須要會一門上位機,只要你要能把上位機的DEMO程序寫出來,有助于軟件工程師編寫上位機。最后就是耐心,要能坐得住10個小時以上,沒有這樣的功夫就很難了!
yueyunno1說的很對,不管是做單片機硬件或者是電源別的硬件,模電數電基礎必須過關,知道如何使用元器件,比如MOS,三極管的使用方法。還有多看看別人走線,了解工作原理,理解別人設計的理念,這樣抄板或者是自己設計,都會事半功倍。到后期,了解一些認證標準,安規標準,使自己開發的產品能符合這些認證,這是個很漫長的過程
0
回復
@xiang1980
1、對于從事單片機或者嵌入式軟件開發的人來講,一般需要掌握以下基本技能:(1)懂得C語言和一些簡單的匯編語言編程。(2)能夠閱讀一般嵌入式系統的原理圖。(3)至少熟悉一種嵌入式系統的軟件開發環境。(4)熟悉一種嵌入式系統軟件的開發過程,如:單片機系統、DSP系統、ARM系統或其它的一些潛入式系統。(5)理解常見的嵌入式操作系統的工作原理,理解線程、進程、信號量、消息機制、同步與互拆、并發控制等軟件編程時用到的概念。(6)必要硬件基礎知識。
2、對于從事嵌入式硬件開發的人來講,一般需要懂得以下基本技能: (1)會使用一種繪制原理圖的軟件繪制原理圖。 (2)能夠設計嵌入式系統的印制板。 (3)能夠進行一般嵌入式系統的關鍵器件選型。 (4)掌握一般元器件的手工焊接技術。 (5)能對設計的板卡進行必要的調試。 (6)能夠熟練使用萬用表、示波器和一些常用儀器的使用。 總之,單片機嵌入式系統的開發,是個復雜的工作,需要一個實踐的過程才能正真地掌握它。
0
回復
說下我這老油條的看法吧
我認為最重要的是有沒興趣而已
開始我們大多人都一樣,什么都不知道。在接觸開關電源時,我們知道PWM這個概念,有興趣的人呢可能就會去了解更多,當我們知道MCU有PWM功能時,很多人就開始對比這個PWM與電源管理芯片PWM有什么差異?對比得到一個答案:MCU的PWM精度太低,不能滿足大多電源的應用。但我們會想如果提高時鐘頻率,或者增加模擬關閉功能就好了。
約在06年吧,我有一個非常興奮的發現,在查看pic16f785數據表時這片子PWM具有自動關閉功能,也就是說我們可以通過配合MCU片內比較器實現PWM無級調節。當時第一想像就是這片子完全可以模擬3842等類似功能電源管理芯片。
在后來的幾年里,MCU集成越來越多的功能,如CLC,NCO,DAC,CWG等等。我們可以完全用單片機模擬一些類似于L6562或SY5810等芯片。
有興趣呢就自己多研究些,沒興趣呢最多就跟下項目。
0
回復
@madboy21
說下我這老油條的看法吧我認為最重要的是有沒興趣而已開始我們大多人都一樣,什么都不知道。在接觸開關電源時,我們知道PWM這個概念,有興趣的人呢可能就會去了解更多,當我們知道MCU有PWM功能時,很多人就開始對比這個PWM與電源管理芯片PWM有什么差異?對比得到一個答案:MCU的PWM精度太低,不能滿足大多電源的應用。但我們會想如果提高時鐘頻率,或者增加模擬關閉功能就好了。約在06年吧,我有一個非常興奮的發現,在查看pic16f785數據表時這片子PWM具有自動關閉功能,也就是說我們可以通過配合MCU片內比較器實現PWM無級調節。當時第一想像就是這片子完全可以模擬3842等類似功能電源管理芯片。在后來的幾年里,MCU集成越來越多的功能,如CLC,NCO,DAC,CWG等等。我們可以完全用單片機模擬一些類似于L6562或SY5810等芯片。有興趣呢就自己多研究些,沒興趣呢最多就跟下項目。
好帖子,得頂
0
回復
@yueyunno1
這個問題很不錯,也談談自己的一些觀點和看法:硬件:1.多做維修--最好是一邊參照著電路原理圖,一邊維修,不能頭痛醫頭,腳疼醫腳,很多問題可能是并發癥,得從CPU這些電路去思考。2.多抄板,學習學習別人的電路設計思路,看到一個電路就能想到此電路的用途、優缺點等。3.三極管電路和場效應管電路是基礎,如果你能把三極管電路(放大,飽和,截止,震蕩等)都搞清楚說明你模擬電路算入門了。4.預算放大器,很多精密設備的放大是必須要依靠運算放大器的,再者運放會容易控制一些。5.開關電源,研究研究開關電源也有助于學習MCU.6.數字電路,單片機這些基本電路都必須要去學習。軟件:1.數字電路是基礎:程序實際上就是把數字電路用軟件的形式搬進了一個集成電路里。2.如果想學好軟件最好看看匯編語言,C語言,數據結構等,沒有這幾樣的支撐程序的邏輯性以及以后的大型程序是有瓶頸的。3.多看程序,多看人家的算法或是優秀的編寫方式。4.1萬行成才定律,如果你寫的代碼都不超過1萬行就不要說你是軟件工程師,1萬行是門檻,有了這1萬行你基本就入行了。5.上位機,有硬件和下位機是不夠的,必須要會一門上位機,只要你要能把上位機的DEMO程序寫出來,有助于軟件工程師編寫上位機。最后就是耐心,要能坐得住10個小時以上,沒有這樣的功夫就很難了!
樓上總結很到位
0
回復
@yueyunno1
這個問題很不錯,也談談自己的一些觀點和看法:硬件:1.多做維修--最好是一邊參照著電路原理圖,一邊維修,不能頭痛醫頭,腳疼醫腳,很多問題可能是并發癥,得從CPU這些電路去思考。2.多抄板,學習學習別人的電路設計思路,看到一個電路就能想到此電路的用途、優缺點等。3.三極管電路和場效應管電路是基礎,如果你能把三極管電路(放大,飽和,截止,震蕩等)都搞清楚說明你模擬電路算入門了。4.預算放大器,很多精密設備的放大是必須要依靠運算放大器的,再者運放會容易控制一些。5.開關電源,研究研究開關電源也有助于學習MCU.6.數字電路,單片機這些基本電路都必須要去學習。軟件:1.數字電路是基礎:程序實際上就是把數字電路用軟件的形式搬進了一個集成電路里。2.如果想學好軟件最好看看匯編語言,C語言,數據結構等,沒有這幾樣的支撐程序的邏輯性以及以后的大型程序是有瓶頸的。3.多看程序,多看人家的算法或是優秀的編寫方式。4.1萬行成才定律,如果你寫的代碼都不超過1萬行就不要說你是軟件工程師,1萬行是門檻,有了這1萬行你基本就入行了。5.上位機,有硬件和下位機是不夠的,必須要會一門上位機,只要你要能把上位機的DEMO程序寫出來,有助于軟件工程師編寫上位機。最后就是耐心,要能坐得住10個小時以上,沒有這樣的功夫就很難了!
這么多的東西啊,,,這叫我這個本來有點迷茫的人有了方向,但是似乎不管從難度上還是工資上,都不太符合自己的期望,難道電子工程師,就是這樣辛苦嗎????
0
回復
@madboy21
說下我這老油條的看法吧我認為最重要的是有沒興趣而已開始我們大多人都一樣,什么都不知道。在接觸開關電源時,我們知道PWM這個概念,有興趣的人呢可能就會去了解更多,當我們知道MCU有PWM功能時,很多人就開始對比這個PWM與電源管理芯片PWM有什么差異?對比得到一個答案:MCU的PWM精度太低,不能滿足大多電源的應用。但我們會想如果提高時鐘頻率,或者增加模擬關閉功能就好了。約在06年吧,我有一個非常興奮的發現,在查看pic16f785數據表時這片子PWM具有自動關閉功能,也就是說我們可以通過配合MCU片內比較器實現PWM無級調節。當時第一想像就是這片子完全可以模擬3842等類似功能電源管理芯片。在后來的幾年里,MCU集成越來越多的功能,如CLC,NCO,DAC,CWG等等。我們可以完全用單片機模擬一些類似于L6562或SY5810等芯片。有興趣呢就自己多研究些,沒興趣呢最多就跟下項目。
興趣是最好的老師啊~
0
回復
@madboy21
有了興趣,要去實踐,才能更好的提升自己。在電源領域來說,軟件基本沒什么特別的要求,重點還是在硬件上。通信方面可以用現有成熟模塊就可以了,對于一款數字電源來說我認為如果控制芯片操作PWM,功率管電流控制保護等工作,這部份控制程序應由硬件工程師完成。
我想做一款簡單數字電源來賣
基本功能構想如下:
隔離原邊恒流LED驅動電源
選用芯片:PIC12F1501 理由:采用1501內部比較器作為MOS電流控制,16M的內部時鐘可以輸出較高的精度。
優點:對于學習者來說比較簡單,對于現在比較火的LED電源來說防抄性強。
通過一個引腳檢測輸入電壓,用于開關調光控制。
工作原理:工作原理跟普通PSR芯片一樣,就不再重復,不同的是可以調整基準電流,用于開關調光。
非常簡單,可能做出來可以賺點錢呀,呵呵!!!
0
回復
@madboy21
要是老板不加軟件工程師,那就只能硬件工程師自己搞啦無線控制調光,如果設計上硬件是接收一個模擬信號來操作的,那么其它完全可以丟給別人做。如果控制芯片參與了硬件控制,那這部份就應硬件工程師完成,主要是為了分清軟硬件工程師的職責,如果一個搞那就沒得說了。
嗯
,madboy21,QQ多少啊,發站內信給我,我加你,有時間互相交流下

0
回復