一種實用的微控制器
王新社(西安微電機研究所)
【摘 要】 單片機(微控制器)經歷了四個階段的發展過程,廣泛用于電機控制、工業機器人、數字控制、航天導航等領域。文中介紹近年來出現的8098單片機的性能,并與其它系列單片機、微處理器進行全面的比較,指出8098單片機是一種實用的實時控制微控制器。
【敘 詞】 微型控制器,性能,微處理機,評價,實時控制
引 言
單片微型計算機(簡稱單片機),又稱微控制器。它在一塊芯片內集成了CPU、RAM、ROM和多功能I/O口,具有體積小、功能多、使用方便和抗干擾能力強等優點,特別適合用自動控制、智能儀器等。
單片機的發展與微處理器大體同步,已經歷了四代。第一代(1971—1974年),四位單片機,主要用于家用電器;第二代(1974—1978年),低檔八位機,代表產品MCS-48系列,不帶串行I/O口與A/D轉換口,尋址范圍較小,一般小于4KB,主要用于工業控制,儀器儀表、家用電器;第三代(1978~1983年),高性能八位單片杌,這類單片機不但有并行I/O功能,還有串行I/O口,多個16位定時器/計數器與多級中斷功能,RAM和ROM都比較大,典型代表產品美國Intel公司MCS-51系列,應用廣泛。第四代(1983—1989年),16位單片機,功能最強,典型代表產品Intel公司MCS-96系列,它的產量占16位單片機的百分之90。目前發展很快,到1990年16位單片機將達到8位單片機同樣數量。Intel公司1984年推出8096單片機,1987年推出80C196單片機,其性能是8096單片機的兩倍,如16x 16位乘法僅為2.3μs。為了更好的推廣16位單片機,Intel公司1988年又推出了8位機的價格、16位機性能的8098單片機,它類似于8088微處理器,內部CPU寄存器都為16位,對外數據總線為8位,可以充分利用現有的8位機外圍芯片資源。
1 8098單片機性能
8098單片機屬MCS-96系列,其主要特點為
·232字節片內寄存器
·20個中斷源
·寄存器到寄存器直接操作
·兩個16位計數/計時器
·具有采樣保持的4路I/010位A/D通道
·4個16位軟件定時
·2x8位和2x4位I/O接口
·16位程序監視討時器
·一路脈寬調制輸出(可用作8位D/A轉換)
·具有字、字節、位操作的指令系統
·高速輸入輸出子系統
·全雙I串行口
·6.25μs完成16x 16位乘法操作或一種實用的微控制器32/16位除法操作
1.1 8098芯片封裝
8098芯片為48腳封裝,片內無ROM,48腳封裝的引腳排列所示,它是一種雙列封裝。
VcC——+5V主電源
VSS——數字電路地,有兩個V Ss,兩者必須接地。VPD——RAM備用電壓5V,在正常工作期間這個電壓必須存在。
Vret——A/D轉換器的參考電壓為5V,該電壓同時向A/D轉換的模擬接口和接口的邏輯供電,因此,該引腳必須連接好。
ANGND---A/D轉換器的參考地,必須與Vss保持相同電位
VPP-帶EPROM芯片的編程電壓
XTALl-振蕩反向器和內部時鐘發生器的輸入端
XTAL2-振蕩反向器的輸出端
RESET--芯片的復位輸入端
NMI-非屏蔽中斷
EA-存儲器外部訪問選擇出入端,EA接高電平則直接訪問片內ROM,EA接TTL低電平則訪問片外存儲器單元
ALE/ADV-地址鎖存允許或地址有效輸出,由CCR寄存器選擇
RD-一向外部存儲輸出讀信號,僅在讀外部存儲器間有效
WR-向外部存儲器輸出寫信號,僅在寫外部存儲器期間有效
READY---就緒輸入端用以延長外部存儲器周期,降低接口速度,使用在動態存儲或總線分時等場合
HSI-高速輸入單元的輸入端。HSI有4個引腳,HSI0-3,其中HS04和HS05與HSI單元共用
接口0-4位高阻輸入口,它們可用作數字量輸入或片內A/D轉換器的模擬輸入口
接口2-4位多功能口,在8098中這些引腳與其它功能共用
接口3和接口4-漏極開路輸出的8位雙向l/O口,這些引腳用作塏址/數據復用總線
1.2 CPU的結構
8098的程序存儲器和數據存儲器使用相同的地址空間,但是從OOH到FFH的地址除外, 在這個地址范圍內數據存取總是在寄存器文件中進行,取指令是直接采自外部存儲器的。
在寄存器文件中,地址從OOH到17H為I/o控制寄存器,也叫做專用寄 存器其余的寄存器文件(從18H到FFH)含有232個字節RAM。這232個寄存器都具有累加器的特殊功能,使CPU可對運算前后數據進行迅速變換,同時提供高速的數據處理能力和頻繁的輸入/輸 出訪問能力,而不存在象其它CPU那樣使用累加器出現“瓶頸現象”,可作為字節、宇、雙字使用。這部分寄存器空間允許用戶把頻繁使用的變量保持在片內RAM中。片內RAM的存取速度比外部存儲器快。
在存儲器文伴以外,程序存儲器、數據存儲器和外設的地址可混編放置。
寄存器l運算邏輯單元由17位運算邏輯單元,程序狀態字,程序指針和寄存器組成,是8098 -個重要特點。有一寄存器文件都能進行累加器操作,省去了數據向累加器移進移出的過程,這個特點顯著改善了運行速度。
有關8098單片機高速輸入輸出單元、串行口、PWM輸出口、中斷源、指令系統請參考文獻。
2幾種常見的單片機微處理器的比較
Inte18086系列微處理器適用于大型計算機,砷斷源多,直接尋址內存大,計算速度快。主要用于管理科學、計算科學、數據處理等領域。而單片機的推出主要是滿足實時性強、計算速度快、體積小,智能化一類控制系統。280微處理器的設計主要是滿足一般系統要求,它介于單片機與16位微處理器之間。在單片機沒有推廣之前,廣泛使用。單片機的推出顯然它用于實時性系統是不太適合的。目前國內市場上流行的單片機有MCS-51系列的8031,MCS-96系列的8096、8098,其它類型的單片機由于性能價格不理想而較少見。MCS-48系列單片機已進入淘汰期針對上述情況僅對流行的幾種型號進行比較(見附表),就可知道8098是一種理想的控制器。
在乘除法運算方面,8086CPU進行32÷16位無符號數計算115個脈沖數,按5MHz時鐘計算需32ps。16x 16位無符號乘法144個時鐘脈沖需29ps,目前市場上 多數單片機采用6MHz時鐘,8031單片機一個機器周期12個時鐘脈沖,執行一條邏輯指令需要一個機器周期,即2μs時間。8098、8096每個狀態需要3個時鐘脈沖執行一條邏輯指令需要4個狀態,即12 個時鐘脈沖折合2μs時間,可是在多數邏輯指令運算方面MCSH51與MCS-96系列速度相同。但8098寄存器多,在邏輯運算復雜的前提下,8098比8031速度快。對于32- 16位計算,6MHz8098單片機需12,5ps時間,8086需要31ps,由此看來它比8096CPU還要快約3倍,若8098單片機采用12 MHz晶振則快5~6倍。8031單片機****字節乘、除計算指令,更是無法和它相比。再加上它不需要從累加器移人移出準備操作,在實際中還會更快。
8098單片機有4路10位A/D轉換,8096有8路10位A/D轉換,在許多應用場合4路A/D轉換已夠用,而8031無A/D轉換,但在許多過程如電機調速等方面確需要A/D轉換,這就給8098提供了市場。
8098有一路PWM信號(可用作D/A轉換),而8031無PWM信號,8098又比8031多兩路16位計數器多了3個中斷矢量。總之,8098性能明顯優于8031,問題就在于價格,8098略貴于8031,8096性能基本與8098相同,但價格太高,推廣應用有一定困難。顯然,8098梅會得到廣泛的應用,正如專家們所說,它具有16位機的性能,8位機的價格。隨著推廣應用,8098單片機的價格還會更加便宜。
3結論
8098單片機可取代MCS-51系列單片機,它適用于電機控制、工業機器人、離散與連續過程控制、數字控制、智能傳感器、儀器儀表、消費類商品、導彈制導、魚雷制導控制、航天導航系統、數據處理等領域,特別是電機調速控制,實時性強。國外一些公司,已把它用于電機的速度、位置控制系統,取得了滿意的效果。目前國內不少廠家提供性能優良的8098開發系統。如啟東電子儀器廠,北京金鐘電子有限公司。英特爾計算機技術公司上海分公司可提供8098芯片。無疑8098單片機是一種理想實用的微型控制器,將會廣泛應用于各個領域。
|