硬件模塊設計思想
硬件模塊設計,顧名思義就是將各個(gè)不同的功能做成獨立的模塊。然后將各個(gè)模塊組合成不同的產(chǎn)品。
對于一個(gè)公司硬件模塊化設計,從設計之初,調試,到樣機及產(chǎn)品生產(chǎn)的過(guò)程應該是這樣:
1. 了解產(chǎn)品需求
2. 根據需求,選擇合適的處理器
3. 根據處理器構架系統結構
4. 設計處理器的最小系統圖,包括電源,晶振,不使用需要簡(jiǎn)單處理的引腳處理,將需要使用的引腳引出。
5. 選擇和合適的成熟模塊連接。
6. 與各個(gè)模塊共同搭建一個(gè)開(kāi)發(fā)平臺。
7. 開(kāi)發(fā)程序,調試。
8. 軟件調試完畢,硬件功能完好。開(kāi)始針對產(chǎn)品要求的體積,外形等進(jìn)行修改,重新構建繪制原理圖,pcb
9. 將程序下載到新的pcb中,進(jìn)行必要的修改后,可以進(jìn)行試驗
10. 試驗后根據情況再次進(jìn)行修改。
11. 再次試驗。
12. 沒(méi)有問(wèn)題后進(jìn)行生產(chǎn)。
如果是單純的生產(chǎn)一款產(chǎn)品,那么對于上述的4,5,6來(lái)講沒(méi)有必要這樣做,這里的硬件模塊化是針對公司的一個(gè)系列產(chǎn)品的設計進(jìn)行構思的。
對于一個(gè)系列的產(chǎn)品,產(chǎn)品的功能有很多相似之處,往往高級的產(chǎn)品會(huì )比低級的產(chǎn)品多些功能,這樣的話(huà),這一系列的產(chǎn)品的有很多模塊就是這一系列產(chǎn)品的特征,必須具有的,就像電話(huà),一般都會(huì )具有接聽(tīng),打出電話(huà),發(fā)送,接收短消息這兩個(gè)基本特征。但是這并不是說(shuō)低級的產(chǎn)品是高級產(chǎn)品的子集,低級的產(chǎn)品功能有些也是高級產(chǎn)品所沒(méi)有的。
為什么機械產(chǎn)品和電子器件的生產(chǎn)和使用及更換,在現在看來(lái)都很方便呢?很重要的一個(gè)問(wèn)題就是大家在制作的時(shí)候都會(huì )遵循一個(gè)共同的標準。汽車(chē)出現了問(wèn)題,我們不會(huì )重新將汽車(chē)生產(chǎn)一次,而是更換零件;汽車(chē)的升級換代,不是重新研發(fā),而是現有基礎上的改進(jìn)和提高;即使是革命性的變化也不會(huì )將現有和以前的東西完全拋棄。
同樣的道理一個(gè)板子上的芯片壞了,不是要換掉整個(gè)板子,而是將芯片換掉。
那么對于系列產(chǎn)品的開(kāi)發(fā),怎樣才能方便的進(jìn)行新產(chǎn)品初期的設計,調試,老產(chǎn)品的功能升級設計和調設呢?
待續。大家可以留言補充
我們接著(zhù)上篇提出的問(wèn)題繼續討論.
現在大家對軟件的模塊設計很熟悉 ,就是將軟件的功能細分,然后做成一個(gè)獨立的模塊,不管用在哪里,只要告訴使用者接口和功能,就能很方便的使用.如果需要對函數進(jìn)行變動(dòng)的話(huà)也很簡(jiǎn)單,直接對函數本身做改動(dòng)就可以了,只要接口和功能沒(méi)有變化,而不會(huì )對函數的調用者有任何影響.即使對函數的接口有小的變化,如果能在開(kāi)始設計的時(shí)候能預留的設計,那么也對整個(gè)函數的使用都不會(huì )產(chǎn)生很大的影響.
對于同系列產(chǎn)品的硬件設計而言,變化的莫過(guò)于兩個(gè)方面,功能模塊 主cpu.
1 功能模塊的變化包括:功能模塊的增加或者減少,功能模塊自身的修改
2 由于不同的考慮在實(shí)現同樣功能的前提下進(jìn)行主cpu的更替.
對于各種功能集成在一起的硬件設計來(lái)說(shuō),這兩種情況都會(huì )導致板子的原理圖和pcb的重新繪制,對于沒(méi)有改變的模塊部分都要重新繪制pcb,對于修改的部分也不能依靠原來(lái)的硬件進(jìn)行驗證,這樣導致了資源和時(shí)間的浪費,為什么這樣說(shuō)?
對于同樣功能的模塊,沒(méi)有重復利用,浪費了資源;對于同樣功能的模塊還需要花費重復繪制pcb是時(shí)間的浪費;更嚴重的時(shí)間浪費是不能利用現有的模塊和資源對改變的部分進(jìn)行較快的前期驗證.舉個(gè)例子,假設一個(gè)板子的功能由A+B+C+D+E組成,如果需要改變A,將A改成F,對于模塊集成的設計方法來(lái)說(shuō),就要將重新繪制將原來(lái)的板子改成B+C+D+E+F,然后做成試驗板,然后進(jìn)行功能驗證和調試,;如果我們能只是將A換成F,然后F在B+C+D+E資源的基礎上進(jìn)行調試的話(huà)就會(huì )減少設計的工作量,節省設計的時(shí)間,充分的利用了現有的資源,同時(shí)這種做法非常有利于調試,因為對于成熟模塊來(lái)說(shuō),設計成熟,經(jīng)過(guò)驗證,在調試的時(shí)候可以盡快的排除,找到真正的問(wèn)題.
對了,我說(shuō)清楚一點(diǎn),就是功能集成的意思我是指,將一個(gè)系統各種功能的實(shí)現在一塊或者兩塊pcb板上的那種做法,至少一塊板上存在3,4中模塊的那種.
當然,對于硬件設計來(lái)講,如果每一個(gè)模塊都要獨立設計,然后再連成一起,這樣也未免太過(guò),系統連接的插頭越多,系統的可靠性就會(huì )越降低.就像電腦中的一級緩存和速度的關(guān)系,加大的一級緩存的確可以增加電腦的運行速度,但是一級緩存和速度的關(guān)系并非成正比,到某一個(gè)點(diǎn)上,加多一級緩存對速度的提高已經(jīng)沒(méi)有什么作用了,反而增加了系統的成本,只有達到緩存和速度的最佳比例時(shí),才能將性?xún)r(jià)比調到最高.
對于硬件模塊設計,我想也是這樣,不一定要把每個(gè)模塊都要獨立設計,適當的進(jìn)行功能模塊的劃分,將相似的部分劃在一起,這樣減少模塊之間連接,也提高了系統的可靠性,同時(shí)提高的系統的模塊化程度,為重復利用資源和節約設計周期提供了方便.
盡管模塊化的設計有很多好處,我的觀(guān)點(diǎn)是,硬件模塊化設計的方法,我覺(jué)得非常適合產(chǎn)品的研發(fā)階段和模塊很多的產(chǎn)品也適合生產(chǎn)階段.
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
晶振相關(guān)文章:晶振原理
評論