資料介紹
模塊化思想
模塊化是一個很重要的思想,它的應用不僅僅局限在單片機等技術方面,還體現在我們的身體構造,體現在人類社會生產生活中的方方面面。何為模塊化思想呢?按照我的理解,模塊化思想有幾個特點,下面一一道來。
1、分工合作與專一
對生物學有基本認識的人都知道,包括人在內的很多動物是由多種器官構成的,例如大腦負責思考,心臟負責輸送血液等。每個器官或組織負責幾項功能,各個器官之間協調工作,共同構成一個復雜的整體。
在人類社會中,分工合作的現象也是很常見的。生活中需要吃飯穿衣,在比較落后的年代,可能有一些自給自足的經濟形式,自己勞動滿足最基本的生活需求。而在現代社會,人的需求越來越多,不可能全部靠自己生產。每個人都專注于自己的特長,例如農民負責種植糧食,服裝工人負責制造衣服,養殖戶負責養殖,程序員負責編寫程序等。各種人分工合作,最后互相交換勞動成果。當一個人長期專注于一件事,而不用擔心自己其他的需求時,這個人能把這件事做得更好,總體上來看,社會的生產力也就大大提高了。
2、模塊抽象
如果對電腦的基本組成有所了解,可以知道電腦由CPU、內存、硬盤、主板、顯示器等幾部分組成。如果想在電腦中存儲更多的電影,可以考慮更換更大的硬盤。我們只需要知道硬盤是電腦中負責存儲的部件,而不關注硬盤內部的構造。因為每個模塊都是高度抽象的,內部原理可能很復雜,但是對外部而言,它只是一個能完成特定功能的黑盒子。這樣抽象的好處,就是在更換硬盤時,只需要從外部對硬盤有一個抽象的認識,就能輕松解決問題,剩下的就只是花錢購買硬盤了。
3、分層
如果讓你管理一個龐大的公司,你會怎么管理?分層管理將會是一個很好的選擇。
你可以根據實際情況將公司分為幾個部門,研發部、營銷部、財務部、人事后勤部等。每個部門指派幾個負責人進行管理,每個部門負責指定的工作。而具體到研發部,管理人員為了便于管理,又可能將其分為軟件部、硬件部等;而到了軟件部,又會有不同的團隊,移動客戶端開發、服務器端開發等等。這樣一層一層進行分下來,每個人各司其職,也體現了分工合作的特點。
如果你是公司的老總,當發現這個月公司的軟件產品開發進度非常慢時,可能會直接叫來研發部的總管大發雷霆:“公司的XX軟件開發太慢了,你看人家公司的同類產品早就發布出去了。這件事你得盡快給我搞定,要不然就走人!”然后指令一層一層的下達到了最下層的員工,最底層的程序猿們就又要加班加點拼命的干活了。研發進度慢或許只是因為有幾個程序員最近有事請假了,但是在這個過程中,你不需要過多關注底層的細節,你也沒有太多精力去關注,而只是把整個研發部當做一個抽象的整體去對待,這也體現了模塊抽象的特點。
模塊化設計的方法原則
前面說了模塊化思想的特點,模塊化思想應用很廣泛,而根據這種思想設計系統,就是模塊化設計了。不只是單片機系統,計算機軟硬件系統也可以充分利用模塊化設計。這里先說一說模塊化設計的方法思路。
對于初學者,對此只需要先有個大概的認識,沒有實際設計過,對這些思想也不容易有所感觸;后來需要設計實際系統時,有需要回來再看看這篇就好了。
1、自頂向下,逐步求精;邏輯設計與物理實現分離;自底向上
當要設計一個比較復雜的系統時,常常會先畫框圖,每個框表示一個抽象的功能模塊。通過框圖可以設計這些模塊之間的邏輯關系,然后再細化去設計每個模塊。而這樣一個模塊可能也比較復雜,這時又會將其拆分為更小的模塊。這樣一步一步的拆分模塊,直到最后技術細節實現。這就是自頂向下的設計方法,將一個復雜問題進行分解,逐步求精。而框圖的設計則是模塊之間的邏輯設計,邏輯設計與每個模塊的具體物理實現可以完全分離。
和自頂向下的設計方法相比,還有一種恰恰相反的思路:自底向上。先設計出一些核心模塊,然后再逐步進行擴展和完善。完全的自底向上的方法只適合設計小型的系統。在實際應用中,往往是結合這兩種方法進行設計。
2、模塊獨立,減小耦合度
模塊化設計中很重要的一個思想是模塊獨立,減小模塊之間的耦合度。也就是說,每個模塊負責完成自己的功能,不同的模塊之間關聯要盡可能小,以免互相影響。
想給電腦換一個更大的硬盤時,一般不用考慮內存等其他模塊會不會受到影響,要不然實在是太麻煩了。因為電腦的模塊化設計非常規范,模塊之間的關聯很小。
減小耦合度這種看似簡單的問題,實際上在設計的時候卻相當麻煩,為了減小耦合度,需要使用很多技術來完成,后面會在實際操作中進行介紹。
3、模塊標準化,可代換
有同學覺得自己的電腦反應太慢,網上一查,原來電腦慢很大可能是因為機械硬盤的速度太慢。相比硬盤,CPU和內存要快很多,所以就如木桶效應,電腦被最慢的硬盤給拖慢了速度。于是就給電腦換上了固態硬盤,頓時速度快了很多。
固態硬盤和機械硬盤的內部結構是完全不一樣的。機械硬盤是依靠磁性盤片存儲數據的,讀寫時需要機械結構帶動盤片轉動,機械轉動速度不能太快(2.5寸機械硬盤以7200轉每分鐘的速度旋轉,盤片邊緣的速度能達到86km/h),太快了盤片可能會直接破裂,或者發熱量巨大,所以讀寫速度遠遠沒有電子器件快。而固態硬盤使用的就是電子芯片來實現數據存儲,所以速度非常快。
兩種硬盤雖然原理和性能差距都很大,但是卻能很輕松的安裝在同一臺電腦上,只要保證一些參數匹配,例如都是2.5寸的。這是因為現有的不同硬盤設計的都是標準化的,硬盤的尺寸、接口等都有標準規范,所以能很輕松的代換。
4、模塊通用性,適用于多種產品
幾年以前的手機等數碼產品,不同品牌、不同設備分別由不同的人和公司設計,充電的接口各不相同,充電器也都是每個數碼產品專門配備一套,出門旅行帶的數碼產品一多,僅僅是大大小小的各種充電器就夠讓人煩了。而且充電器壞了只能重新買配套的充電器。這樣的設計浪費了很多資源,也給人們的生活帶來了很大的不便。
而近幾年,MP3、MP4、手機等數碼產品的充電器接口慢慢被統一起來,很多設備都可以使用通用的USB充電頭和數據線進行充電。對于用戶來說方便多了;對于設備制造商來說,也不是很有必要單獨設計充電器,直接用標準充電器就可以了;還節約了資源,例如有些數碼設備充電器是可以選配的,有充電器就不用再進行購買了。通用的充電頭和手機充電接口設計,使得一個充電器可以用于多種產品。
通用性和前面一點標準化,兩者其實都可以理解成,設計一個模塊或系統,都要遵循一定的標準化規范。一個標準化的模塊,可以應用于不同的系統(通用充電器給多種設備充電);而符合統一標???的多個同類模塊,可以用于同一個系統(機械硬盤和固態硬盤都能裝進電腦)。
模塊化設計的優缺點
前面通過舉例,已經明確的體現了模塊化設計的很多優點,這里對其特點進行一個總結。
1、便于分工合作
對于一個實際產品,很多時候不是一個人開發的,而是很多人共同開發。這里的原因有很多,可能是因為時間比較緊,例如公司之間的競爭,誰最先開發并發布新的產品,就最有可能搶占市場;可能是因為系統太龐大,一個人一輩子也做不完,例如操作系統的代碼量往往能達到幾百萬行;分工合作還會提高整體效率,前面已經說過了。
多個人開發同一個系統,模塊化開發是最好的選擇。一些人專注于一個領域,例如安卓程序、平面設計、服務器等,每個人負責開發和他的專注領域匹配的小模塊,而另外一些知識面比較廣、經驗豐富的人,負責模塊之間的邏輯組合,最后將整個系統整合到一起。這個過程也可能會有分層,系統分成大的模塊,再拆分成小的模塊,逐層分解并實現。
2、提高開發效率
一方面,分工合作的方式能提高效率;另一方面,運用已經實現好的模塊,像積木一樣搭建新的系統,更是讓效率大大提高。
模塊的開發,可能是很多人分別完成的,也可能是同一個人在不同時期完成的,還有可能是從別人那免費獲得或購買的。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單片機系列講解--單片機是什么?
- 51單片機(1)單片機概述
- 51單片機原理以及接口技術(一)-單片機發展概述
- 小白學單片機(15) 單片機程序下載失敗總結資料下載
- 小白學單片機(17) 單片機/計算機系統概述:核心模塊資料下載
- 小白學單片機(18) 單片機/計算機系統概述:通信接口與協議資料下載
- 小白學單片機(19) 單片機/計算機系統概述:擴展模塊資料下載
- 單片機小白學寄存器資料下載
- 單片機入門匯編之單片機接收計算機串口發送的數據程序免費下載 14次下載
- 單片機入門匯編之單片機通過串口向計算機發送數據程序免費下載 8次下載
- 如何選擇合適的單片機常用單片機介紹 7次下載
- 什么是AVR單片機AVR單片機的優勢,特點,應用等資料概述 2次下載
- 基于單片機的計算機箱智能監控系統 2次下載
- 基于單片機的計算機箱智能監控系統 0次下載
- 單片微型計算機概述
- 單片機的特點及功能 3793次閱讀
- 計算機與單片機的串口通信的方案設計 5558次閱讀
- 什么是單片機_單片機的概念 3.6w次閱讀
- PIC單片機與PC機實現串行通信的設計 2954次閱讀
- PIC單片機虛擬串行通信設計 1421次閱讀
- 單片機各種復位電路大全 詳解單片機復位電路 4.7w次閱讀
- 51單片機如何進行模塊化編程 3.2w次閱讀
- 教你如何玩轉STM8單片機! 1w次閱讀
- 新手學習單片機的首選:51單片機 8836次閱讀
- 單片機學習入門_學單片機需要什么基礎 3.9w次閱讀
- 單片機和電腦pc計算機的區別 1.7w次閱讀
- 單片機有什么用_單片機的應用領域介紹 1w次閱讀
- 我對單片機的理解 654次閱讀
- 關于計算機組成原理與單片機原理 3805次閱讀
- 單片機看門狗電路的作用,看門狗系統設計技巧及其抗干擾措施 4334次閱讀
下載排行
本周
- 1GD100PIX120C6SNA規格書
- 0.98 MB | 3次下載 | 免費
- 2一款入耳式耳機的仿真與分析
- 0.44 MB | 2次下載 | 免費
- 3Eurotherm TKS Temperature 用戶手冊
- 1.46 MB | 2次下載 | 免費
- 4人形機器人電機驅動和傳感報告
- 4.27 MB | 2次下載 | 免費
- 5無線系統中天線和RF元件電磁建模
- 7.48 MB | 1次下載 | 4 積分
- 6Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 7DMP300C1型微機變壓器保護測控裝置技術說明書
- 4.11 MB | 次下載 | 10 積分
- 8用MT3540芯片設計BOOST電路 1(可下載)
- 445.66 KB | 次下載 | 免費
本月
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 32次下載 | 2 積分
- 2Python從入門到精通背記手冊
- 18.77 MB | 27次下載 | 1 積分
- 3雙極型三極管放大電路的三種基本組態的學習課件免費下載
- 4.03 MB | 25次下載 | 1 積分
- 4AIWA HS-J303 MKⅡ維修手冊
- 22.47 MB | 23次下載 | 10 積分
- 5多級放大電路的學習課件免費下載
- 1.81 MB | 21次下載 | 2 積分
- 6九陽豆漿機高清原理圖
- 2.47 MB | 20次下載 | 1 積分
- 7AIWA HS-J202/HS-J202M/HS-J800維修手冊
- 13.60 MB | 15次下載 | 10 積分
- 81875功放原理圖
- 0.04 MB | 11次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183337次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81585次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論