【摘 要】綜述了單片機應用技術的進展和動向。給出了4,8,16,32,64位單片機的特點和功能,以及專用總線、軟件和應用程序開發工具等內容。
?? 關鍵詞:單片機 綜述 應用技術
?
?? 單片機在集成度、功能、性能、體系結構方面都有了飛速發展,已能集成一個完整的功能強大、性能優良的計算機應用系統。但目前國內許多單片機應用單位仍停留在采用片內無ROM等低檔單片機的狀態,無論在系統設計上、使用維護上、經濟效益上這都是不合算的。這種狀況必須改變。本文就單片機的發展現狀進行綜述,希望能對提高國內單片機技術的應用水平有所促進。
1 單片機的硬件
單片微型計算機,簡稱單片機,是微型計算機的一個分支。它是在一塊芯片上集成(嵌入)了CPU、RAM和ROM存儲器、I/O接口等而構成的微型計算機。因主要用于工業測控領域,故又稱為微控制器或嵌入式控制器。單片機的核心是中央處理器CPU。用超大規模集成技術把CPU集成在一塊芯片上,稱為微處理器。微處理器、微控制器和微型計算機三者的關系十分密切。目前,單片機在工業測控領域中已占重要地位。各電氣廠商、機電行業和測控企業都把單片機作為本部門產品更新換代、產品智能化的重要工具。全世界單片機的生產廠家有30多家,能生產60多個系列,1000多個型號的產品。產量大,僅1996年的產量就達18億片。
1.1 單片機的特點
?? 單片機問世以來所走的路與微處理器是不同的。微處理器向著高速運算、數據分析與處理能力、大規模容量存儲等方向發展,以提高通用計算機的性能。其接口界面也是為了滿足外設和網絡接口而設計的 。單片機則是從工業測控對象、環境、接口特點出發,向著增強控制功能、提高工業環境下的可靠性、靈活方便的構成應用計算機系統的界面接口的方向發展。因此,單片機有著自已的特點,主要是:〔1〕〔2 〕
·品種多樣,型號繁多。品種型號逐年擴充以適應各種需要。使系統開發者有很大的選擇自由。CPU從4、8、16、32到64位,有些還采用RISC技術;
·提高性能,擴大容量。集成度已達200萬個晶體管以上??偩€工作速度已達數十微秒。工作頻率達到30MHz甚至40MHz。指令執行周期減到數十微秒。存儲器容量RAM發展到1K、2K,RO M發展到32K、64K;
·增加控制功能,向外部接口延伸。把原屬外圍芯片的功能集成到本芯片內。現今的單片機已發展到在一塊含有CPU的芯片上,除嵌入RAM、ROM存儲器和I/O接口外,還有A/D、PWM、U ART、Timer/Counter、DMA、Watchdog、Serial Port、Sensor、driver、還有顯示驅動、鍵盤控制、函數發生器、比較器等,構成一個完整的功能強的計算機應用系統;
·低功耗。供電電壓從5V降到3V、2V甚至1V左右。工作電流從mA級降到μA級。在生產工藝上以CMOS代替NMOS,并向HCMOS過渡;
·應用軟件配套。提供了軟件庫,包括標準應用軟件,示范設計方法。使用戶開發單片機應用系統時更快速、方便。使有可能做到用一周時間開發一個新的應用產品;
·系統擴展與配置。有供擴展外部電路用的三總線結構DB、AB、CB,以方便構成各種應用系統。根據單片機網絡系統、多機系統的特點專門開發出單片機串行總線。此外,還特別配置有傳感器,人機對話 、網絡多通道等接口,以便構成網絡和多機系統。
1.2 單片機的性能〔3〕
單片機通常按其微處理器字長的位數來分類,如4、8、16、32、64位單片機。
1.2.1 4位機
1971年Intel首先推出了4位微處理器芯片4004。此后各廠家相繼推出4位機產品。因4位機每次只能處理一位BCD碼數據,故只適于簡單控制場合。但因其價廉,在家電等消費類產品中仍有廣泛應用。近年來 ,為了抵御8位機的侵蝕,4位機在結構和性能上有了很大發展。主要有:
·采用<1μm CMOS工藝,使指令執行速度達到1μs.ROM為32~64kB,RAM為4k×4位。這些增強性能已與8位機相當;
·將LED、LCD、VFD等顯示驅動集成在單片中。這種增強的I/O功能甚至比一般的8位機還強;
? ·降低功耗。低于2.2V電壓和μA級電流也能運行。這比一般8位機還低一些;
·采用類似于RISC的結構。使4位機的性能大幅度提高;
·針對特定的應用加入特定的功能。如A/D、D/A、過零檢測、比較器、計數器、定時器、圖形顯示、遙控等。
但即使如此,4位機的市場占有率仍然較小。性能如表1(篇幅所限,僅舉數種說明)所列。
???
1.2.2 8位機
由于8位機可以一次處理一個ASCII字符,因而用途十分廣泛。如顯示、終端鍵盤、打印、字處理、工業控制等。市場占有率70%以上。功能豐富,品種齊全,通用性強。1972年Intel首先推出了8位微處理器8008,隨后于1976年率先推出8位機MCS-48系列。1980年又推出MCS-51系列產品,其性能大大超過48系列產品。如計算速度為48系列的10倍,時鐘12MHz時指令周期可為1μs等。Motorola到78年才推出第一個單片機MC6801系列,不過,功能已相當豐富,如嵌入有EEPROM、A/D、LED驅動、PWM輸出等,成為功能很強的工業控制器。Zilog也在78年推出Z8系列單片機,它一開始就以一種新面貌出現,不單可用作單片機,還可作為微處理器用于微計算機系統中。值得特別提出的是,Atmel公司推出的89C系列單片機〔4〕,其內核與工業標準的80C51同,即指令集與管腳分布與MCS51產品兼容。它的特點是時鐘頻率更高 ,可達33MHz,最高可達40MHz,因而運算速度更快。我國單片機主要應用領域之一為工業測控 ,用于此領域的單片機多為8位機,而以MCS-51系列和AT89C5系列用得最多。不少高校的微機原理或單片機原理課程都以這種機型為背景機。
生產8位機的廠家相當多,品種型號很多。在我國,主流則是上述幾家公司的派系產品。而每一派系又有多個廠家及其多種型號產品。如屬于Intel派系的有Philips/Signetics,Siemens,AMD,OKI,MARTRA-MHS等公司型號的產品。屬于Motorola派系的有Hitachi,Mitsubish,Rockwell,WDC等公司型號產品。屬于Zilog派系的有NEC,Hitachi,SGS-Thomson等公司型號的產品。在這幾個派系中以Intel的市場占有率最高,Motorola居中,Zilog最低。為了占領市場,Motorola還研制了6804/68HC04芯片,它是介于4位機與8位機之間的系列,CPU處理8位數據,運行8位指令,但數據則是每次串行輸出一位,設計目標是4位機的價格,很適于質高價廉的場合。
?????????
1.2.3 16位機
1978年Intel最先推出16位微處理器868系列,與隨后Motorola的M68000,Zilog的Z8000成為當時的三大系列16位微處理器。由于8位機應用廣泛而且能解決問題,使16位單片機進入市場較晚,到1988年Inte l才推出MCS-96系列機。此機具有高速運算及高速處理和控制能力,具有16位的CPU,8位的外部總線( 因此又稱準16位機),豐富高效的指令系統,性能價格比優異,其售價只比8位機稍微高一些。片內有A /D、PWM、Watchdog及靈活的中斷系統。在工作頻率12MHz時指令執行時間為1~2μs。由于性能功能均良好,一出現便引起工業界廣泛注意 。在我國,早年以MCS-96應用最多,近年來,Intel80C196、80C25 1、80C51XA等有廣泛的應用 。生產16位機的廠家還有Motorola,MATRA-MHS,Mostek(Thomson),NEC ,OKI,Phil ips/Signetic,Sieme ns等。但到目前總產量仍不大,遠低于8位機。不過由于采取了增強功能、提高性能、品種多樣化和不斷降低價格等措施,近年來發展迅速,估計90年代末期可望趕上8位機。所采取的措施主要有:
·增強運算能力,加大容量。片內有健全的乘除指令,RAM容量加大到2k,ROM到64k,可直接支持C和Forth語言;
·提高數據處理與傳輸能力。一般都增加了DMA傳輸和快速I/O功能;
·提高速度。如80C51XA工作頻率達30MHz,HPC系列達40MHz。指令周期降至數μs。
·采用RISC結構。如Waterscale的PSC1000,Harris的RTX2000等均采用RISC結構。
????????
?? 現今16位機以Intel的8096系列的產量最大,準16位機8098已停產。CMOS工藝的單片機以國家半導體的HPC系列的性能價格比最高,Hitachi的H8/500則是目前綜合性能最好的單片機。
1.2.4 32位機
隨著高技術在智能機器人、光盤、激光打印機、圖像與數據實時處理、復雜實時控制、網絡服務器等領域的應用發展,16位機已顯得無能為力,需要32位機才能滿足要求。80年代末推出了多種32位機產品 。如Motorola推出的產品68300、Intel的80960都是1989年出品。其共同特點是:
·尋址能力在GB級以上(存儲、處理彩色圖像需要特大存儲器);
·高指令執行速度。每秒M級條指令。如Intel的i960A速度為66MIPS;
·快速運算能力。有的嵌入浮點運算部件,運算能力大為增強;
·直接支持高級語言和實時多任務執行。如支持C、Forth語言。嵌入實時多任務操作系統。大多數采用RISC結構。除Motorola的MC68332、國家半導體的NS32CG160等仍用CISC外,均用RISC。?
????????????
1.2.5 64位機
? 64位機在引擎控制、智能機器人控制、磁盤控制、語音/圖像通信、算法密集的實時控制等場合使用。但國內仍未見有應用。下面給出一個產品例子。
??? 英國Inmos公司的Transputer T800是64位高性能機。它集成有處理器、高速緩存、64位浮點運算器、存儲控制器、串行接口,適用于超高速并行處理。
??? 中央處理器為32位,其浮點運算速度達12億次/秒。RAM 4k,I/O鏈接通道4組20Mbit/s,時鐘頻率25MHz,數據傳輸率100MB/s,可尋址外部存儲空間4GB。外存儲器傳輸率33MB/s。
2 單片機的總線
? 一直以來,單片機沒有自己的專門的總線標準,通常是由著名廠家推出自己產品時配套設計的。如MC S-51系列單片機就設計有完善的三總線結構(地址總線AB,數據總線DB,控制總線CB),要構成不同的單片機應用系統是方便的。雖然,單片機可以歸結為工控機的一種,而工控機的成熟主流總線是STD總線,但單片機卻沒有完全執行STD總線標(IEEE961),而以控制總線差別較大。
這里只論及完全根據單片機的特點,按照控制系統網絡及多機系統的需要而設計的串行接口總線。有了此總線,多個單片機就能以一定的拓樸結構組成多種系統,彌補了在網絡控制方面的不足。
單片機應用系統涉及多種多樣的外部設備或系統的互連和通信,有必要在單片機與外部芯片間插入有通信功能的接口。這樣做的好處是:1)串行總線連線少,結構簡單,安裝調整方便。在傳送速度不太高的場合,串行總線是可取的;2)總線接口部分已集成到芯片中,系統可以按功能模塊直接聯接;3)故障診斷排除十分簡單;4)可利用軟件庫進行安裝,減少軟件開發時間;5)取消外部接口電路,外部接線少,體積小,可靠,價廉。目前已生產出多種產品,但仍未有正式批準的國際標準。常見的有以下幾種總線〔5〕〔6〕:
·IIC總線(Inter-Integrated Circuit)。這是Philips開發的一種內部雙向二線串行總線。一為串行數據總線。另一為串行時鐘總線。線上設備可用軟件尋址,且可自動沖突仲裁 。標準傳送速率100kbit/s,最大400kbit/s.適于非高速系統。
·BIT總線。這是Intel開發的一種分布式機間通信的串行總線。通過RUPI-44系列的串行接口單元,可實現點對點、多點主從、環形網三種鏈路結構的通信。外同步速率2.4MB/s(點對點,多點),1.0MB/s(環形網)。
·MicroWire總線。這是國家半導體開發的一種三線串行接口總線。一為數據輸出線,二為數據輸入線,三為時鐘線。線上只有一臺機為主機,其余為從機。MicroWire/plus是增強型。各型號功能各異。
·SPI/SCI總線(串行輸入接口/串行通信口)。由Motorola開發。SPI為并行同步總線(兩條串行數據線,一條串行時鐘線)通過SPI的互連可構成各種應用系統。SCI為異步通信接口。
·VESA總線(Video Electronics StandardAssociation)。由視頻電子標準協會等多家公司聯合推出的全開放模塊式的局部總線。又稱VESALocal總線,簡稱VL。此總線支持高速視頻處理,總線寬32位,數據線可擴至64位。數據傳輸率132MB/s。適于多媒體場合。
·CAN總線(Controller Area Network)。這是一種單片機外部串行總線。采用多元競爭式結構。按設定仲裁字的方式進行總線仲裁。是網絡系統的一種重要總線型式。
此外,還有Signetics公司的芯片內部的DDB總線等。
1995年末,世界上最新開發的Intel公司的總線產品compact PCI被介紹給我國的工控〔7〕 〔8〕,而該類產品在我國目前仍處于初創研發階段。作為歸結為工控機類的單片機,如何徹底解決設備共享問題 ,從而加入現場控制系統(FCS)中,一直是工控界關注的問題。
3 單片機的軟件
通常單片機開發中用的程序設計語言是匯編語言。編寫程序后用PE、EDLIN等軟件在計算機上編輯,然后編譯成機器碼文件,再由通信軟件將機器碼文件送入單片機聯機調試。隨著單片機系統規模的擴大和功能的復雜,用匯編語言編制程序的方法有明顯的缺點。主要是效率低,程序不易維護,不能移植,很不適應要求。有必要尋求一種高效率的結構化的高級程序設計語言。這些語言現在有C、PL/M、Forth 、Pascal、Modula-2等〔9〕。
C語言是一種介于高級語言和匯編語言之間的適于單片機開發用的語言。它既有高級語言的特點,又易與匯編語言接口。原來用匯編語言寫的程序現在可以用C語言編寫。只是在體現速度的場合如信息的實時處理、實時控制,以及和硬件打交道的場合如接口驅動程序,才會插入匯編語言程序。一些開發系統都配有C語言調試程序、編譯器等。
PL/M是Intel開發的一種結構化高級語言。如PL/M-96是其中一種。其編譯生成的機器碼就是MCS-96系列單片機的機器碼。其編譯、連接、定位程序可以在80386及其兼容機上運行。
?? Forth語言原來是60年代美國人CharlesMoore發明的一種中級計算機語言,用于控制天文望遠鏡,1986年移植到單片機中。它具有速度快、程序簡單、結構精巧、擴充方便、空間節省等特點。適宜向工控、設備管理、數據處理、智能機器人、儀表等領域推廣應用。Forth語言別具一格,與其它高級語言不同,它以詞典為核心,以堆棧為運算場所,把解釋、編譯、調度、設備管理等集于一體,能同時使用For th高級語言、編語言、機器語言。因Forth的內核只占2k~8k,很容易裝入儀表內部。
因Modula-2是基于Pascal開發系統移植來的,具有Pascal的特點,它們都比C差些。在此不再敘述。
4 單片機的開發工具
因單片機本身不具備開發功能,因此,在開發單片機時必須借助某些開發工具。這些開發工具通常稱為仿真器或開發系統??晒┎捎玫挠小?0〕:
·在線仿真器。簡稱仿真器。仿真器通過RS-232接口(或并行口)與宿主機相連。又用電纜線把仿真器與目標系統相接。用仿真器中的“仿真單片機”取代目標系統的同類型的“目標單片機”。然后在宿主機上進行各種操作,從而獲得對仿真單片機也即對目標單片機的仿真和控制功能。這是我國用得最多的一種,其操作平臺由DOS系統發展到WINDOWS。
·在位仿真式的在線仿真器。與在線仿真器不同的是,把仿真器與目標系統間的連接電纜歸并到仿真器的負載之中,從而不會影響目標系統的性能(如噪聲干擾、穩定性等)。北京東方計算機技術研究所開發的UD-96/C196仿真器采用了這種技術。
·綜合開發系統。把在線仿真器、邏輯分析儀、信息發生器、EPROM寫入器等原來分開的功能部分有機地結合在一起。使開發工作更有效、方便,但價格昂貴。
·自開發系統。與在線仿真器不同的是取消用電纜連接另外的目標系統。開發完畢后就將自身作為目標系統使用。開發價格較低。
下面介紹一下國內外的幾種Forth語言開發系統。
·英國Triangle DigitalServices公司的TDS-9090跟蹤數據仿真器(Track Data Simulato r)。通過RS-232與計算機相連,即可用Forth語言編程。然后將程序代碼存入PROM中,生成一個獨立的系統。在非易失性RAM支持下獨立運行。TDS的硬件是CMOSHatchi的HD63A03Y 8位單片機,指令與Motorola的680 0兼容。RAM 30K,ROM16K,EPROM 16K,EEPROM 256B。包含有一個寫機器語言的符號匯編器,可同時使用Forth及匯編語言。具有全屏幕編輯、多任務、時鐘、看門狗、低電源運行功能。
·加拿大SDS電子技術公司的SDSForth-51開發系統。其硬件為Intel的8051系列8位單片機。包括For th-51軟件和SL-51Kit開發工具兩部分。將Kit與PC機連接,即可用Forth或匯編語言編程??捎肞C聯機調試。最后生成二進制文件裝入仿真器。
·MCS96-Forth 1.0開發系統。1996年,國內有人在MCS-96系列單片機上開發出一種Fort h系統,命名為MCS96-Forth 1.0,提供一個實用的Forth開發工具,已經通過鑒定。已具備正式投入運行條件 。Forth語言已經漢化。
2 何立民.單片機技術的現狀與未來.中國計算機報.1995.No.30
3 陳章龍.單片機的市場分析與產品特點.中國計算機報.1995.No.30
4 ATMEL系列器件資料匯編.廣州單片機應用技術實驗室.1998
5 滿慶豐.單片機的總線技術.中國計算機報.1995
6? 謝清榮.總線技術概覽.中國計算機報.2000.No.34
7 魏慶福.全新的工控機標準化平臺——Compact PCI.計算機世界.1999.No.7
8 劉鐵椎.現場總線及其作用和地位.計算機世界.1999.No.7
9 王新賢.實用計算機控制技術手冊.濟南:山東科學技術出版社,1994:691-752
10 韓飛鵬.單片機的開發方式.中國計算機報.1995.No.30
?? 關鍵詞:單片機 綜述 應用技術
?
?? 單片機在集成度、功能、性能、體系結構方面都有了飛速發展,已能集成一個完整的功能強大、性能優良的計算機應用系統。但目前國內許多單片機應用單位仍停留在采用片內無ROM等低檔單片機的狀態,無論在系統設計上、使用維護上、經濟效益上這都是不合算的。這種狀況必須改變。本文就單片機的發展現狀進行綜述,希望能對提高國內單片機技術的應用水平有所促進。
1 單片機的硬件
單片微型計算機,簡稱單片機,是微型計算機的一個分支。它是在一塊芯片上集成(嵌入)了CPU、RAM和ROM存儲器、I/O接口等而構成的微型計算機。因主要用于工業測控領域,故又稱為微控制器或嵌入式控制器。單片機的核心是中央處理器CPU。用超大規模集成技術把CPU集成在一塊芯片上,稱為微處理器。微處理器、微控制器和微型計算機三者的關系十分密切。目前,單片機在工業測控領域中已占重要地位。各電氣廠商、機電行業和測控企業都把單片機作為本部門產品更新換代、產品智能化的重要工具。全世界單片機的生產廠家有30多家,能生產60多個系列,1000多個型號的產品。產量大,僅1996年的產量就達18億片。
1.1 單片機的特點
?? 單片機問世以來所走的路與微處理器是不同的。微處理器向著高速運算、數據分析與處理能力、大規模容量存儲等方向發展,以提高通用計算機的性能。其接口界面也是為了滿足外設和網絡接口而設計的 。單片機則是從工業測控對象、環境、接口特點出發,向著增強控制功能、提高工業環境下的可靠性、靈活方便的構成應用計算機系統的界面接口的方向發展。因此,單片機有著自已的特點,主要是:〔1〕〔2 〕
·品種多樣,型號繁多。品種型號逐年擴充以適應各種需要。使系統開發者有很大的選擇自由。CPU從4、8、16、32到64位,有些還采用RISC技術;
·提高性能,擴大容量。集成度已達200萬個晶體管以上??偩€工作速度已達數十微秒。工作頻率達到30MHz甚至40MHz。指令執行周期減到數十微秒。存儲器容量RAM發展到1K、2K,RO M發展到32K、64K;
·增加控制功能,向外部接口延伸。把原屬外圍芯片的功能集成到本芯片內。現今的單片機已發展到在一塊含有CPU的芯片上,除嵌入RAM、ROM存儲器和I/O接口外,還有A/D、PWM、U ART、Timer/Counter、DMA、Watchdog、Serial Port、Sensor、driver、還有顯示驅動、鍵盤控制、函數發生器、比較器等,構成一個完整的功能強的計算機應用系統;
·低功耗。供電電壓從5V降到3V、2V甚至1V左右。工作電流從mA級降到μA級。在生產工藝上以CMOS代替NMOS,并向HCMOS過渡;
·應用軟件配套。提供了軟件庫,包括標準應用軟件,示范設計方法。使用戶開發單片機應用系統時更快速、方便。使有可能做到用一周時間開發一個新的應用產品;
·系統擴展與配置。有供擴展外部電路用的三總線結構DB、AB、CB,以方便構成各種應用系統。根據單片機網絡系統、多機系統的特點專門開發出單片機串行總線。此外,還特別配置有傳感器,人機對話 、網絡多通道等接口,以便構成網絡和多機系統。
1.2 單片機的性能〔3〕
單片機通常按其微處理器字長的位數來分類,如4、8、16、32、64位單片機。
1.2.1 4位機
1971年Intel首先推出了4位微處理器芯片4004。此后各廠家相繼推出4位機產品。因4位機每次只能處理一位BCD碼數據,故只適于簡單控制場合。但因其價廉,在家電等消費類產品中仍有廣泛應用。近年來 ,為了抵御8位機的侵蝕,4位機在結構和性能上有了很大發展。主要有:
·采用<1μm CMOS工藝,使指令執行速度達到1μs.ROM為32~64kB,RAM為4k×4位。這些增強性能已與8位機相當;
·將LED、LCD、VFD等顯示驅動集成在單片中。這種增強的I/O功能甚至比一般的8位機還強;
? ·降低功耗。低于2.2V電壓和μA級電流也能運行。這比一般8位機還低一些;
·采用類似于RISC的結構。使4位機的性能大幅度提高;
·針對特定的應用加入特定的功能。如A/D、D/A、過零檢測、比較器、計數器、定時器、圖形顯示、遙控等。
但即使如此,4位機的市場占有率仍然較小。性能如表1(篇幅所限,僅舉數種說明)所列。
???

1.2.2 8位機
由于8位機可以一次處理一個ASCII字符,因而用途十分廣泛。如顯示、終端鍵盤、打印、字處理、工業控制等。市場占有率70%以上。功能豐富,品種齊全,通用性強。1972年Intel首先推出了8位微處理器8008,隨后于1976年率先推出8位機MCS-48系列。1980年又推出MCS-51系列產品,其性能大大超過48系列產品。如計算速度為48系列的10倍,時鐘12MHz時指令周期可為1μs等。Motorola到78年才推出第一個單片機MC6801系列,不過,功能已相當豐富,如嵌入有EEPROM、A/D、LED驅動、PWM輸出等,成為功能很強的工業控制器。Zilog也在78年推出Z8系列單片機,它一開始就以一種新面貌出現,不單可用作單片機,還可作為微處理器用于微計算機系統中。值得特別提出的是,Atmel公司推出的89C系列單片機〔4〕,其內核與工業標準的80C51同,即指令集與管腳分布與MCS51產品兼容。它的特點是時鐘頻率更高 ,可達33MHz,最高可達40MHz,因而運算速度更快。我國單片機主要應用領域之一為工業測控 ,用于此領域的單片機多為8位機,而以MCS-51系列和AT89C5系列用得最多。不少高校的微機原理或單片機原理課程都以這種機型為背景機。
生產8位機的廠家相當多,品種型號很多。在我國,主流則是上述幾家公司的派系產品。而每一派系又有多個廠家及其多種型號產品。如屬于Intel派系的有Philips/Signetics,Siemens,AMD,OKI,MARTRA-MHS等公司型號的產品。屬于Motorola派系的有Hitachi,Mitsubish,Rockwell,WDC等公司型號產品。屬于Zilog派系的有NEC,Hitachi,SGS-Thomson等公司型號的產品。在這幾個派系中以Intel的市場占有率最高,Motorola居中,Zilog最低。為了占領市場,Motorola還研制了6804/68HC04芯片,它是介于4位機與8位機之間的系列,CPU處理8位數據,運行8位指令,但數據則是每次串行輸出一位,設計目標是4位機的價格,很適于質高價廉的場合。
?????????

1.2.3 16位機
1978年Intel最先推出16位微處理器868系列,與隨后Motorola的M68000,Zilog的Z8000成為當時的三大系列16位微處理器。由于8位機應用廣泛而且能解決問題,使16位單片機進入市場較晚,到1988年Inte l才推出MCS-96系列機。此機具有高速運算及高速處理和控制能力,具有16位的CPU,8位的外部總線( 因此又稱準16位機),豐富高效的指令系統,性能價格比優異,其售價只比8位機稍微高一些。片內有A /D、PWM、Watchdog及靈活的中斷系統。在工作頻率12MHz時指令執行時間為1~2μs。由于性能功能均良好,一出現便引起工業界廣泛注意 。在我國,早年以MCS-96應用最多,近年來,Intel80C196、80C25 1、80C51XA等有廣泛的應用 。生產16位機的廠家還有Motorola,MATRA-MHS,Mostek(Thomson),NEC ,OKI,Phil ips/Signetic,Sieme ns等。但到目前總產量仍不大,遠低于8位機。不過由于采取了增強功能、提高性能、品種多樣化和不斷降低價格等措施,近年來發展迅速,估計90年代末期可望趕上8位機。所采取的措施主要有:
·增強運算能力,加大容量。片內有健全的乘除指令,RAM容量加大到2k,ROM到64k,可直接支持C和Forth語言;
·提高數據處理與傳輸能力。一般都增加了DMA傳輸和快速I/O功能;
·提高速度。如80C51XA工作頻率達30MHz,HPC系列達40MHz。指令周期降至數μs。
·采用RISC結構。如Waterscale的PSC1000,Harris的RTX2000等均采用RISC結構。
????????

?? 現今16位機以Intel的8096系列的產量最大,準16位機8098已停產。CMOS工藝的單片機以國家半導體的HPC系列的性能價格比最高,Hitachi的H8/500則是目前綜合性能最好的單片機。
1.2.4 32位機
隨著高技術在智能機器人、光盤、激光打印機、圖像與數據實時處理、復雜實時控制、網絡服務器等領域的應用發展,16位機已顯得無能為力,需要32位機才能滿足要求。80年代末推出了多種32位機產品 。如Motorola推出的產品68300、Intel的80960都是1989年出品。其共同特點是:
·尋址能力在GB級以上(存儲、處理彩色圖像需要特大存儲器);
·高指令執行速度。每秒M級條指令。如Intel的i960A速度為66MIPS;
·快速運算能力。有的嵌入浮點運算部件,運算能力大為增強;
·直接支持高級語言和實時多任務執行。如支持C、Forth語言。嵌入實時多任務操作系統。大多數采用RISC結構。除Motorola的MC68332、國家半導體的NS32CG160等仍用CISC外,均用RISC。?
????????????

1.2.5 64位機
? 64位機在引擎控制、智能機器人控制、磁盤控制、語音/圖像通信、算法密集的實時控制等場合使用。但國內仍未見有應用。下面給出一個產品例子。
??? 英國Inmos公司的Transputer T800是64位高性能機。它集成有處理器、高速緩存、64位浮點運算器、存儲控制器、串行接口,適用于超高速并行處理。
??? 中央處理器為32位,其浮點運算速度達12億次/秒。RAM 4k,I/O鏈接通道4組20Mbit/s,時鐘頻率25MHz,數據傳輸率100MB/s,可尋址外部存儲空間4GB。外存儲器傳輸率33MB/s。
2 單片機的總線
? 一直以來,單片機沒有自己的專門的總線標準,通常是由著名廠家推出自己產品時配套設計的。如MC S-51系列單片機就設計有完善的三總線結構(地址總線AB,數據總線DB,控制總線CB),要構成不同的單片機應用系統是方便的。雖然,單片機可以歸結為工控機的一種,而工控機的成熟主流總線是STD總線,但單片機卻沒有完全執行STD總線標(IEEE961),而以控制總線差別較大。
這里只論及完全根據單片機的特點,按照控制系統網絡及多機系統的需要而設計的串行接口總線。有了此總線,多個單片機就能以一定的拓樸結構組成多種系統,彌補了在網絡控制方面的不足。
單片機應用系統涉及多種多樣的外部設備或系統的互連和通信,有必要在單片機與外部芯片間插入有通信功能的接口。這樣做的好處是:1)串行總線連線少,結構簡單,安裝調整方便。在傳送速度不太高的場合,串行總線是可取的;2)總線接口部分已集成到芯片中,系統可以按功能模塊直接聯接;3)故障診斷排除十分簡單;4)可利用軟件庫進行安裝,減少軟件開發時間;5)取消外部接口電路,外部接線少,體積小,可靠,價廉。目前已生產出多種產品,但仍未有正式批準的國際標準。常見的有以下幾種總線〔5〕〔6〕:
·IIC總線(Inter-Integrated Circuit)。這是Philips開發的一種內部雙向二線串行總線。一為串行數據總線。另一為串行時鐘總線。線上設備可用軟件尋址,且可自動沖突仲裁 。標準傳送速率100kbit/s,最大400kbit/s.適于非高速系統。
·BIT總線。這是Intel開發的一種分布式機間通信的串行總線。通過RUPI-44系列的串行接口單元,可實現點對點、多點主從、環形網三種鏈路結構的通信。外同步速率2.4MB/s(點對點,多點),1.0MB/s(環形網)。
·MicroWire總線。這是國家半導體開發的一種三線串行接口總線。一為數據輸出線,二為數據輸入線,三為時鐘線。線上只有一臺機為主機,其余為從機。MicroWire/plus是增強型。各型號功能各異。
·SPI/SCI總線(串行輸入接口/串行通信口)。由Motorola開發。SPI為并行同步總線(兩條串行數據線,一條串行時鐘線)通過SPI的互連可構成各種應用系統。SCI為異步通信接口。
·VESA總線(Video Electronics StandardAssociation)。由視頻電子標準協會等多家公司聯合推出的全開放模塊式的局部總線。又稱VESALocal總線,簡稱VL。此總線支持高速視頻處理,總線寬32位,數據線可擴至64位。數據傳輸率132MB/s。適于多媒體場合。
·CAN總線(Controller Area Network)。這是一種單片機外部串行總線。采用多元競爭式結構。按設定仲裁字的方式進行總線仲裁。是網絡系統的一種重要總線型式。
此外,還有Signetics公司的芯片內部的DDB總線等。
1995年末,世界上最新開發的Intel公司的總線產品compact PCI被介紹給我國的工控〔7〕 〔8〕,而該類產品在我國目前仍處于初創研發階段。作為歸結為工控機類的單片機,如何徹底解決設備共享問題 ,從而加入現場控制系統(FCS)中,一直是工控界關注的問題。
3 單片機的軟件
通常單片機開發中用的程序設計語言是匯編語言。編寫程序后用PE、EDLIN等軟件在計算機上編輯,然后編譯成機器碼文件,再由通信軟件將機器碼文件送入單片機聯機調試。隨著單片機系統規模的擴大和功能的復雜,用匯編語言編制程序的方法有明顯的缺點。主要是效率低,程序不易維護,不能移植,很不適應要求。有必要尋求一種高效率的結構化的高級程序設計語言。這些語言現在有C、PL/M、Forth 、Pascal、Modula-2等〔9〕。
C語言是一種介于高級語言和匯編語言之間的適于單片機開發用的語言。它既有高級語言的特點,又易與匯編語言接口。原來用匯編語言寫的程序現在可以用C語言編寫。只是在體現速度的場合如信息的實時處理、實時控制,以及和硬件打交道的場合如接口驅動程序,才會插入匯編語言程序。一些開發系統都配有C語言調試程序、編譯器等。
PL/M是Intel開發的一種結構化高級語言。如PL/M-96是其中一種。其編譯生成的機器碼就是MCS-96系列單片機的機器碼。其編譯、連接、定位程序可以在80386及其兼容機上運行。
?? Forth語言原來是60年代美國人CharlesMoore發明的一種中級計算機語言,用于控制天文望遠鏡,1986年移植到單片機中。它具有速度快、程序簡單、結構精巧、擴充方便、空間節省等特點。適宜向工控、設備管理、數據處理、智能機器人、儀表等領域推廣應用。Forth語言別具一格,與其它高級語言不同,它以詞典為核心,以堆棧為運算場所,把解釋、編譯、調度、設備管理等集于一體,能同時使用For th高級語言、編語言、機器語言。因Forth的內核只占2k~8k,很容易裝入儀表內部。
因Modula-2是基于Pascal開發系統移植來的,具有Pascal的特點,它們都比C差些。在此不再敘述。
4 單片機的開發工具
因單片機本身不具備開發功能,因此,在開發單片機時必須借助某些開發工具。這些開發工具通常稱為仿真器或開發系統??晒┎捎玫挠小?0〕:
·在線仿真器。簡稱仿真器。仿真器通過RS-232接口(或并行口)與宿主機相連。又用電纜線把仿真器與目標系統相接。用仿真器中的“仿真單片機”取代目標系統的同類型的“目標單片機”。然后在宿主機上進行各種操作,從而獲得對仿真單片機也即對目標單片機的仿真和控制功能。這是我國用得最多的一種,其操作平臺由DOS系統發展到WINDOWS。
·在位仿真式的在線仿真器。與在線仿真器不同的是,把仿真器與目標系統間的連接電纜歸并到仿真器的負載之中,從而不會影響目標系統的性能(如噪聲干擾、穩定性等)。北京東方計算機技術研究所開發的UD-96/C196仿真器采用了這種技術。
·綜合開發系統。把在線仿真器、邏輯分析儀、信息發生器、EPROM寫入器等原來分開的功能部分有機地結合在一起。使開發工作更有效、方便,但價格昂貴。
·自開發系統。與在線仿真器不同的是取消用電纜連接另外的目標系統。開發完畢后就將自身作為目標系統使用。開發價格較低。
下面介紹一下國內外的幾種Forth語言開發系統。
·英國Triangle DigitalServices公司的TDS-9090跟蹤數據仿真器(Track Data Simulato r)。通過RS-232與計算機相連,即可用Forth語言編程。然后將程序代碼存入PROM中,生成一個獨立的系統。在非易失性RAM支持下獨立運行。TDS的硬件是CMOSHatchi的HD63A03Y 8位單片機,指令與Motorola的680 0兼容。RAM 30K,ROM16K,EPROM 16K,EEPROM 256B。包含有一個寫機器語言的符號匯編器,可同時使用Forth及匯編語言。具有全屏幕編輯、多任務、時鐘、看門狗、低電源運行功能。
·加拿大SDS電子技術公司的SDSForth-51開發系統。其硬件為Intel的8051系列8位單片機。包括For th-51軟件和SL-51Kit開發工具兩部分。將Kit與PC機連接,即可用Forth或匯編語言編程??捎肞C聯機調試。最后生成二進制文件裝入仿真器。
·MCS96-Forth 1.0開發系統。1996年,國內有人在MCS-96系列單片機上開發出一種Fort h系統,命名為MCS96-Forth 1.0,提供一個實用的Forth開發工具,已經通過鑒定。已具備正式投入運行條件 。Forth語言已經漢化。
參考文獻
1 曹明揚.單片機發展動向及市場預測.計算機世界,1996.No.12 何立民.單片機技術的現狀與未來.中國計算機報.1995.No.30
3 陳章龍.單片機的市場分析與產品特點.中國計算機報.1995.No.30
4 ATMEL系列器件資料匯編.廣州單片機應用技術實驗室.1998
5 滿慶豐.單片機的總線技術.中國計算機報.1995
6? 謝清榮.總線技術概覽.中國計算機報.2000.No.34
7 魏慶福.全新的工控機標準化平臺——Compact PCI.計算機世界.1999.No.7
8 劉鐵椎.現場總線及其作用和地位.計算機世界.1999.No.7
9 王新賢.實用計算機控制技術手冊.濟南:山東科學技術出版社,1994:691-752
10 韓飛鵬.單片機的開發方式.中國計算機報.1995.No.30
評論