1、行總線接口簡介
眾所周知,單片機與外圍設備的通信方式可分為并行通信和串行通信,相應的通信總線被稱為并行總線和串行總線。并行通信速度快,實時性好,但由于占用單片機的口線多(即使地址和數據線可部分復用),不適合作為小型化產品和分布式、遠程測控系統的數據通信方式。串行通信只需一根和幾根數據傳輸線(兼作地址、控制線),不僅大大降低硬件成本,也有利于系統的擴展設計,所以串行總線廣泛應用于單片機測控中。目前串行總線除了使用通用異步串行接口(UART,如:RS-232C/449/423/422/485)以外,應用越來越多的是同步串行擴展總線接口,主要有單總線、I2C、SPI、USB、MPS、Microwire/PLUS等。越來越多的外圍器件如A/D、E2PROM、集成智能傳感器等,都配置了同步串行擴展總線接口I2C、SPI等,而擯棄了以往的并行總線接口。從20世紀90年代開始,眾多的單片機廠商都陸續推出了
帶有同步串行接口的單片機(一般保留了異步口UART),如:Philips公司的8XC552和LPC76X系列,帶I2C接口;Motorola公司的M68HC05和M68HC11,ATMEL公司的AT89S8252以及新一代的基于RISC的AVR系列單片機都集成有SPI接口。可以說串行總線是當今單片機測控系統開發的首選,只有在沒必要或不能使用串行總線的場合才用并行總線。文中將逐一介紹上述幾種同步串行擴展總線及其接口方式,以便給大家選擇外圍器件及進行系統設計提供一點借鑒。
2、幾種常見的同步串行總線接口的基本原理和使用方法
2.1I2C總線
I2C(Inter-IC)總線是英文INTERICBUS或ICTOICBUS的簡稱,它是由Philips公司推出的一種基于兩線制的同步串行總線,被廣泛應用于消費類電子產品、通信產品、儀器儀表及工業測控系統中。在標準模式下,I2C總線的數據傳輸速率可達100間進行雙向傳送。各種器件均并聯在這條總線上,而且每個器件都有惟一的地址。MCU發出的控制信號分為地址碼和數據碼兩部分:地址碼用來標識器件地址,即確定和哪個器件進行通信;數據碼就是通信的內容。這樣,各器件雖然掛在同一條總線上,卻彼此獨立,互不干擾。圖2—1以AT89C51(本身不帶I2C接口,用I/O口模擬)接兩片E2PROMAT24C16為例簡要說明I2C接口的使用方法。
圖2—1中,由A0、A1、A2確定器件的地址,故U1的地址為000,U2的地址為001;R1、R2為上拉電阻;用AT89C51的P1.0、P1.1腳模擬出I2C的SCL和SDA信號,對于有I2C的MCU直接接到對應的SCL和SDA腳即可。
2.2SPI總線
SPI(SerialPeripheralInterface串行外設接口)是由Motorola公司提出的一種基于四線制的同步串行總線,它在速度要求不高、低功耗、需保存少量參數的智能化儀表及測控系統中得到廣泛應用。使用SPI總線接口不僅能簡化電路設計,還可以提高設計的可靠性。SPI總線使用4條線:1)SCK(SerialClock),串行時鐘線,主機啟動發送并產生SCK,從機被動接收時鐘;2)MISO(MasterInSlaveOut),主機輸入從機輸出;3)MOSI(MasterOutSlaveIn),主機輸出從機輸入;4)(SlaveSelect),從機選擇信號,低電平有效。典型的由SPI總線構成的分布式測控系統如圖2—2所示。
圖2—2中,各器件的片選端或使能端由MCU的其它I/O端口來控制。同I2C一樣,SPI總線也可以用軟件來模擬。
2.3單總線(1-WIRE)
單總線是DALLAS公司的一項專利技術,它將地址線、數據線、控制線、電源線合為一根信號線,允許在這根信號線上掛數百個測控對象,這些測控對象使用的芯片每個都有一個64位的ROM,也稱之為身份證號,確保掛在單總線上后,可以被惟一地區分識別出來。ROM中含有CRC檢驗碼,能確保數據交換可靠。芯片內還有收、發控制和電源存儲電路,一般不用另附電源。這些芯片在檢測地點就把模擬信號數字化,單總線上傳送的是數字信號,使系統的抗干擾性能好、可靠性高。單總線系統按單總線協議規定的時序和信號波形進行初始化、識別器件和交換數據,單片機I/O口P1、P2、P3中的任一位端口都可以與總線進行雙向數據傳輸。通過單總線可以方便、便宜地構建分布式單片機測控系統。圖2—3所示的環境監控系統,只需要一條雙絞線(一根為信號線,一根為地線)從單片機拉向監控系統,然后將各種監控對象掛在其上就可以了。
2.4USB總線
USB(UniversalSerialBus)是1995年Microsoft、Compaq、IBM等公司聯合制定的一種新的串行通信協議。USB支持熱插拔和即插即用,USB接口可對外提供電源,USB2.0規范提供高達480Mbit/s的數據傳輸速率,最多支持127個設備。數據傳輸除了支持同步方式外,還可以采用控制、中斷和批量傳輸等方式。在單片機應用系統中,常用的USB接口方法有兩種:一種是系統外部擴展USB接口器件(如NS公司的USBN9602);另一種是選用內部帶USB接口的單片機(如ATMEL公司的AT43USB351M等)。
2.5MPS總線
MPS是MicroPortSaver(節省微處理器接口的器件)的縮寫,代表產品是Xicor公司的串行E2PROM存儲器X84XXX系列。MPS接口器件可直接連到處理器總線上,并通過標準總線讀寫時序進行數據傳輸(可看作同步方式),在微控制器的控制線如、等的配合下,可以最大限度地節省I/O口,并簡化邏輯編程。圖2—4以AT89C51接兩片E2PROMX84041為例簡要說明MPS接口的使用方法(X84041的片選接74LS138輸出即可,圖中省略)。
2.6Microwire和Microwire/PLUS總線
Microwire總線是美國國家半導體(NS)公司推出的三線同步串行總線。這種總線由一根數據輸出線(SO)、一根數據輸入線(SI)和一根時鐘線(SK)組成(但每個器件還要接一根片選線)。原始的Microwire總線上只能連接一片單片機作為主機,總線上的其它設備都是從機。此后,NS公司推出了8位的COP800單片機系列,仍采用原來的Microwire總線,但單片機上的總線接口改成既可由自身發出時鐘,也可由外部輸入時鐘信號,也就是說,連接到總線上的單片機既可以是主機,也可以是從機。為了區別于原有的Microwire總線,稱這種新產品為增強型的Microwire/PLUS總線。增強型的Microwire/PLUS總線上允許連接多片單片機和外圍器件,因此,總線具有更大的靈活性和可變性,非常適用于分布式、多處理器的單片機測控系統。要改變一個系統,只需改變連接到總線上的單片機及外圍器件的數量和型號。Microwire總線系統的典型結構如圖2—5所示。
2.7其它的串行接口
除了以上介紹的5種串行擴展總線接口,還有一些器件具有類似的總線接口,如DS1302,它是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進行記時,具有閏年補償功能。它采用三線制與MCU進行通信:(1)I/O,串行數據輸入/輸出;(2)SCLK,串行時鐘輸入端,是串行數據的同步信號;(3),復位兼片選端。
3、結論
以上簡要論述了當前單片機測控領域常見的幾種同步串行擴展總線的接口方式,大家可以根據需要選擇適當的接口方式來組成自己的單片機測控系統。一般來說,外圍器件或被控器(從機)具有上述的一種或幾種串行接口;主控機可以有兩種選擇:(1)選擇有對應接口的單片機。它們的內部已經具有了相應的時序硬件控制邏輯,并提供了相應的控制寄存器和中斷向量,只要按資料進行編程控制即可;(2)用常用的單片機,但是沒有相應的同步串行接口,此時,大部分情況下可以通過I/O口的模擬來實現接口的功能(就是用軟件模擬出通信過程中的時序變化),這樣做必然會增加編程的代碼量和降低系統的可靠性。
責任編輯:gt
-
傳感器
+關注
關注
2552文章
51225瀏覽量
754642 -
單片機
+關注
關注
6039文章
44580瀏覽量
636428 -
總線
+關注
關注
10文章
2891瀏覽量
88168
發布評論請先 登錄
相關推薦
評論