- PIC單片機常用模塊與綜合系統設計實例精講
- 夏彬彬 任明全 屈金學編著
- 2560字
- 2019-01-01 14:12:20
1.1 PIC單片機的特點
美國微芯公司是一家專門從事單片機開發、研制和生產的半導體廠商。其PIC單片機率先采用了精簡指令集(Reduced Instruction Set Computer,RISC)結構,突破了傳統單片機對PC機在結構上存在的自然依賴性,加上哈佛總線的存儲器結構、兩級流水線指令結構、單周期指令等技術,從而在單片機硬件結構上獨辟蹊徑,大大提高了系統運行的效率。除此之外,在功耗、驅動能力、外圍模塊設計等方面,PIC單片機也擁有一些獨到之處,從而使得PIC成為一款方便實用的高性價比的單片機。PIC單片機特點歸納起來有如下幾個方面。
1.精簡指令集技術
傳統的單片機生產廠商采用復雜指令集(Complex Instruction Set Computer,CISC)結構,在設計上多帶有PC機CPU結構的痕跡,采用CISC結構的單片機指令通常為50~110條,且多為多周期指令。而PIC的指令系統則專門根據小型機特點而設計,力求使每一條指令達到更高的效率,減少指令功能的重復。高中低檔的PIC單片機指令數分別為58條、35條和33條。這就帶來了兩方面的好處,一方面可以使代碼的利用率大大提高,有利于提高執行速度,另一方面為用戶學習、記憶和應用帶來了極大的好處,編程和調試相對就更加容易,而且同樣的功能所需的編碼減少,節約了開發時間。
2.哈佛(Harvard)總線結構
所謂哈佛總線結構是指程序存儲器和數據存儲器獨立編址,即兩者位于不同的物理空間的結構。與之對應的是馮·諾依曼結構(又稱普林斯頓結構),其程序存儲器和數據存儲器位于同一物理空間。馮·諾依曼結構的單片機指令和數據在同一存儲空間,限制了工作的帶寬,同時數據讀取的可靠性也得不到很好的保證。而哈佛結構將二者分開,從而避免了這種瓶頸效應。Intel公司的MCS-51系列單片機采用了哈佛結構,但是程序和數據共用一條總線,在總線上仍然類似有馮·諾依曼結構的瓶頸效應,不能充分體現哈佛結構的優越性;而PIC系列單片機不僅采用了哈佛體系結構,還采用了哈佛總線結構,從而充分發揮了哈佛結構的潛在優勢,大大提升了系統的運行效率和數據可靠性。上述兩種總線結構的對比示意圖分別如圖1-1(a)和圖1-1(b)所示。

圖1-1 兩種總線結構的對比示意圖
3.單字節指令
單字節指令對單片機系統是一個革新性的變化。從系統內部機理來講,采用普林斯頓結構的單片機數據存儲器和程序存儲器統一編址,共用總線,故8位機的指令總線(也即程序總線)必然也是8位。但是由于數據線和指令總線的分離,8位單片機的指令總線可以不是8位,即所謂的寬字位指令。高中低檔的PIC單片機的指令位數分別為16位、14位、12位。ROM和RAM的尋址相對獨立,所有的指令實現了單字節化,這樣不僅使數據的存取更加安全,其運行速度也得到了顯著的提高。從應用上來講,一方面尋址方式變得簡單,PIC單片機只有4種尋址方式,而51單片機為7種,68HC05為6種;另一方面節省了存儲器空間,提高了代碼壓縮率,與同類單片機相比,相同的存儲器空間可以儲存更多的指令。
4.兩級流水線指令結構
由于采用了哈佛總線結構,在芯片內部將數據總線和指令總線分離,并且采用了不同的總線寬度,因此在處理一條指令的同時可以對下一條要執行的指令進行預處理,而不必擔心與數據讀取產生沖突,這樣就可以避免瓶頸效應。所謂預處理就是取指令的過程,從而產生了PIC單片機的兩級流水線結構,如圖1-2所示,當一條指令被執行時,下一條指令同時被取出,使得在每個時鐘周期可以獲得更高的效率。

圖1-2 流水線結構工作示意圖
由于PIC單片機具有以上4點優勢,因此其運行速度相對于普通單片機有了顯著的提高。如圖1-3所示為幾種常用單片機運行速度的比較,從中可以看出PIC系列單片機的運行速度遠遠高于其他同檔次單片機。

圖1-3 幾種常用單片機運行速度的比較
5.寄存器組結構
PIC的所有寄存器,包括I/O端口、定時器和程序計數器等均采用RAM結構形式,并且只需要一個指令周期就可以完成訪問和操作,而對于許多其他單片機(如MCS-51),則需要兩個或兩個以上的周期才能改變寄存器的內容。
6.一次性可編程(OTP)技術
單片機按其存儲器類型可分為MASK(掩膜)ROM、OTP(一次性可編程)ROM、FLASH ROM等類型。MASK ROM的單片機價格便宜,但程序在出廠時已經固化,適合程序固定不變的應用場合。同時,掩膜需要大批量的定制,周期較長,對小批量的市場需求不能做出快速的反應。FLASH ROM的單片機程序可以反復擦寫,靈活性很強,但價格較高,適合對價格不敏感的應用場合或做開發用途。OTP ROM的單片機價格介于前兩者之間,同時又擁有一次性可編程能力,適合既要求有一定靈活性,又要求低成本的應用場合。隨著市場的競爭越來越激烈,產品的功能不斷翻新,顧客對產品的需求不斷增加,是否具有快速改變的響應能力對贏得競爭變得相當關鍵。OTP可以實現產品上市零等待(Zero time to market),并且可以根據用戶定制,滿足特定需要。產品定制可以顯著提高產品的生命周期,增強產品的市場競爭力。
7.其他特性
(1)功耗低。自20世紀80年代中期以來,隨著NMOSI工藝單片機逐漸被CMOSI工藝代替,功耗得以大幅度下降,同時允許使用的電源電壓范圍也越來越寬。以PIC16F87X系列為例,供電電壓為2.0~5.5V,當使用4MHz晶振,供電電壓為3V時,耗電電流典型值不超過6mA;當使用32kHz晶振,供電電壓為3V時,耗電電流典型值為20mA,睡眠模式耗電電流更是低于1μA。
(2)驅動能力強。I/O端口驅動負載能力強,灌電流和拉電流最大可達25mA,可直接驅動發光二極管、光耦等器件工作。在一些低功耗應用場合下,也可以充分發揮這一潛在的優勢。例如,在一些低功耗的設計中,希望一些周圍的器件在系統待命時不耗電或盡量少耗電,此時即可考慮將這些器件的電源供電由一條I/O引腳負責提供,在工作時,MCU在該引腳上輸出高電平(接近VDD),可帶幾毫安的負載;進入低功耗模式后,該引腳輸出就自動變為低電平(接近0V),被控器件沒有了電源,也就不會耗電,例如LCD顯示電路、信號調制電路等都非常適合采用此類控制。
(3)片內看門狗(WDT)。無須外接專用看門狗芯片,從而節約了硬件資源。
(4)片上ADC。片內帶10位精度的A/D轉換器。以PIC16F877為例,最多可以有8個A/D通道。
(5)中斷豐富。內置8級硬件堆棧,支持多種中斷源。例如,外部觸發中斷INT、TMR0溢出中斷、RB端口電平變化中斷、TMR1溢出中斷、TMR2中斷、CCP1中斷、CCP2中斷、SCI同步發送中斷、SCI同步接收中斷、SSP中斷、SSP和I2C總線沖突中斷、并行端口中斷、A/D轉換中斷以及E2PROM中斷等。
(6)品種齊全,方便選擇。PIC系列單片機目前已形成具有高、中、低3檔共50多種型號的龐大家族,功能靈活多樣,能適應多種應用場合的不同需要。