0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

同步串行總線接口的原理、接口方式和使用方法

電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-03-20 08:07 ? 次閱讀

1、行總線接口簡介

眾所周知,單片機(jī)與外圍設(shè)備的通信方式可分為并行通信和串行通信,相應(yīng)的通信總線被稱為并行總線和串行總線。并行通信速度快,實時性好,但由于占用單片機(jī)的口線多(即使地址和數(shù)據(jù)線可部分復(fù)用),不適合作為小型化產(chǎn)品和分布式、遠(yuǎn)程測控系統(tǒng)的數(shù)據(jù)通信方式。串行通信只需一根和幾根數(shù)據(jù)傳輸線(兼作地址、控制線),不僅大大降低硬件成本,也有利于系統(tǒng)的擴(kuò)展設(shè)計,所以串行總線廣泛應(yīng)用于單片機(jī)測控中。目前串行總線除了使用通用異步串行接口UART,如:RS-232C/449/423/422/485)以外,應(yīng)用越來越多的是同步串行擴(kuò)展總線接口,主要有單總線、I2C、SPI、USB、MPS、Microwire/PLUS等。越來越多的外圍器件如A/D、E2PROM、集成智能傳感器等,都配置了同步串行擴(kuò)展總線接口I2C、SPI等,而擯棄了以往的并行總線接口。從20世紀(jì)90年代開始,眾多的單片機(jī)廠商都陸續(xù)推出了

帶有同步串行接口的單片機(jī)(一般保留了異步口UART),如:Philips公司的8XC552和LPC76X系列,帶I2C接口;Motorola公司的M68HC05和M68HC11,ATMEL公司的AT89S8252以及新一代的基于RISC的AVR系列單片機(jī)都集成有SPI接口。可以說串行總線是當(dāng)今單片機(jī)測控系統(tǒng)開發(fā)的首選,只有在沒必要或不能使用串行總線的場合才用并行總線。文中將逐一介紹上述幾種同步串行擴(kuò)展總線及其接口方式,以便給大家選擇外圍器件及進(jìn)行系統(tǒng)設(shè)計提供一點借鑒。

2、幾種常見的同步串行總線接口的基本原理和使用方法

2.1I2C總線

I2C(Inter-IC)總線是英文INTERICBUS或ICTOICBUS的簡稱,它是由Philips公司推出的一種基于兩線制的同步串行總線,被廣泛應(yīng)用于消費類電子產(chǎn)品、通信產(chǎn)品、儀器儀表工業(yè)測控系統(tǒng)中。在標(biāo)準(zhǔn)模式下,I2C總線的數(shù)據(jù)傳輸速率可達(dá)100間進(jìn)行雙向傳送。各種器件均并聯(lián)在這條總線上,而且每個器件都有惟一的地址。MCU發(fā)出的控制信號分為地址碼和數(shù)據(jù)碼兩部分:地址碼用來標(biāo)識器件地址,即確定和哪個器件進(jìn)行通信;數(shù)據(jù)碼就是通信的內(nèi)容。這樣,各器件雖然掛在同一條總線上,卻彼此獨立,互不干擾。圖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直接接到對應(yīng)的SCL和SDA腳即可。

2.2SPI總線

SPI(SerialPeripheralInterface串行外設(shè)接口)是由Motorola公司提出的一種基于四線制的同步串行總線,它在速度要求不高、低功耗、需保存少量參數(shù)的智能化儀表及測控系統(tǒng)中得到廣泛應(yīng)用。使用SPI總線接口不僅能簡化電路設(shè)計,還可以提高設(shè)計的可靠性。SPI總線使用4條線:1)SCK(SerialClock),串行時鐘線,主機(jī)啟動發(fā)送并產(chǎn)生SCK,從機(jī)被動接收時鐘;2)MISO(MasterInSlaveOut),主機(jī)輸入從機(jī)輸出;3)MOSI(MasterOutSlaveIn),主機(jī)輸出從機(jī)輸入;4)(SlaveSelect),從機(jī)選擇信號,低電平有效。典型的由SPI總線構(gòu)成的分布式測控系統(tǒng)如圖2—2所示。

同步串行總線接口的原理、接口方式和使用方法

圖2—2中,各器件的片選端或使能端由MCU的其它I/O端口來控制。同I2C一樣,SPI總線也可以用軟件來模擬。

2.3單總線(1-WIRE)

單總線是DALLAS公司的一項專利技術(shù),它將地址線、數(shù)據(jù)線、控制線、電源線合為一根信號線,允許在這根信號線上掛數(shù)百個測控對象,這些測控對象使用的芯片每個都有一個64位的ROM,也稱之為身份證號,確保掛在單總線上后,可以被惟一地區(qū)分識別出來。ROM中含有CRC檢驗碼,能確保數(shù)據(jù)交換可靠。芯片內(nèi)還有收、發(fā)控制和電源存儲電路,一般不用另附電源。這些芯片在檢測地點就把模擬信號數(shù)字化,單總線上傳送的是數(shù)字信號,使系統(tǒng)的抗干擾性能好、可靠性高。單總線系統(tǒng)按單總線協(xié)議規(guī)定的時序和信號波形進(jìn)行初始化、識別器件和交換數(shù)據(jù),單片機(jī)I/O口P1、P2、P3中的任一位端口都可以與總線進(jìn)行雙向數(shù)據(jù)傳輸。通過單總線可以方便、便宜地構(gòu)建分布式單片機(jī)測控系統(tǒng)。圖2—3所示的環(huán)境監(jiān)控系統(tǒng),只需要一條雙絞線(一根為信號線,一根為地線)從單片機(jī)拉向監(jiān)控系統(tǒng),然后將各種監(jiān)控對象掛在其上就可以了。

同步串行總線接口的原理、接口方式和使用方法

2.4USB總線

USB(UniversalSerialBus)是1995年Microsoft、Compaq、IBM等公司聯(lián)合制定的一種新的串行通信協(xié)議。USB支持熱插拔和即插即用,USB接口可對外提供電源,USB2.0規(guī)范提供高達(dá)480Mbit/s的數(shù)據(jù)傳輸速率,最多支持127個設(shè)備。數(shù)據(jù)傳輸除了支持同步方式外,還可以采用控制、中斷和批量傳輸?shù)确绞?。在單片機(jī)應(yīng)用系統(tǒng)中,常用的USB接口方法有兩種:一種是系統(tǒng)外部擴(kuò)展USB接口器件(如NS公司的USBN9602);另一種是選用內(nèi)部帶USB接口的單片機(jī)(如ATMEL公司的AT43USB351M等)。

2.5MPS總線

MPS是MicroPortSaver(節(jié)省微處理器接口的器件)的縮寫,代表產(chǎn)品是Xicor公司的串行E2PROM存儲器X84XXX系列。MPS接口器件可直接連到處理器總線上,并通過標(biāo)準(zhǔn)總線讀寫時序進(jìn)行數(shù)據(jù)傳輸(可看作同步方式),在微控制器的控制線如、等的配合下,可以最大限度地節(jié)省I/O口,并簡化邏輯編程。圖2—4以AT89C51接兩片E2PROMX84041為例簡要說明MPS接口的使用方法(X84041的片選接74LS138輸出即可,圖中省略)。

同步串行總線接口的原理、接口方式和使用方法

2.6Microwire和Microwire/PLUS總線

Microwire總線是美國國家半導(dǎo)體(NS)公司推出的三線同步串行總線。這種總線由一根數(shù)據(jù)輸出線(SO)、一根數(shù)據(jù)輸入線(SI)和一根時鐘線(SK)組成(但每個器件還要接一根片選線)。原始的Microwire總線上只能連接一片單片機(jī)作為主機(jī),總線上的其它設(shè)備都是從機(jī)。此后,NS公司推出了8位的COP800單片機(jī)系列,仍采用原來的Microwire總線,但單片機(jī)上的總線接口改成既可由自身發(fā)出時鐘,也可由外部輸入時鐘信號,也就是說,連接到總線上的單片機(jī)既可以是主機(jī),也可以是從機(jī)。為了區(qū)別于原有的Microwire總線,稱這種新產(chǎn)品為增強(qiáng)型的Microwire/PLUS總線。增強(qiáng)型的Microwire/PLUS總線上允許連接多片單片機(jī)和外圍器件,因此,總線具有更大的靈活性和可變性,非常適用于分布式、多處理器的單片機(jī)測控系統(tǒng)。要改變一個系統(tǒng),只需改變連接到總線上的單片機(jī)及外圍器件的數(shù)量和型號。Microwire總線系統(tǒng)的典型結(jié)構(gòu)如圖2—5所示。

同步串行總線接口的原理、接口方式和使用方法


2.7其它的串行接口

除了以上介紹的5種串行擴(kuò)展總線接口,還有一些器件具有類似的總線接口,如DS1302,它是美國DALLAS公司推出的一種高性能、低功耗、帶RAM實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進(jìn)行記時,具有閏年補(bǔ)償功能。它采用三線制與MCU進(jìn)行通信:(1)I/O,串行數(shù)據(jù)輸入/輸出;(2)SCLK,串行時鐘輸入端,是串行數(shù)據(jù)的同步信號;(3),復(fù)位兼片選端。

3、結(jié)論

以上簡要論述了當(dāng)前單片機(jī)測控領(lǐng)域常見的幾種同步串行擴(kuò)展總線的接口方式,大家可以根據(jù)需要選擇適當(dāng)?shù)慕涌诜绞絹斫M成自己的單片機(jī)測控系統(tǒng)。一般來說,外圍器件或被控器(從機(jī))具有上述的一種或幾種串行接口;主控機(jī)可以有兩種選擇:(1)選擇有對應(yīng)接口的單片機(jī)。它們的內(nèi)部已經(jīng)具有了相應(yīng)的時序硬件控制邏輯,并提供了相應(yīng)的控制寄存器和中斷向量,只要按資料進(jìn)行編程控制即可;(2)用常用的單片機(jī),但是沒有相應(yīng)的同步串行接口,此時,大部分情況下可以通過I/O口的模擬來實現(xiàn)接口的功能(就是用軟件模擬出通信過程中的時序變化),這樣做必然會增加編程的代碼量和降低系統(tǒng)的可靠性。

責(zé)任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2545

    文章

    50448

    瀏覽量

    751095
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631998
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2859

    瀏覽量

    87912
收藏 人收藏

    評論

    相關(guān)推薦

    串行接口的優(yōu)缺點

    時,這些元件決定了總線的選擇,除非單線器件可提供更好的解決方案。同步接口? SPI? MICROWIRE? I2C?? 通用串行異步收發(fā)器(universal serial async
    發(fā)表于 06-06 05:00

    什么是串行通信接口IIC?

    初設(shè)計出來的一種簡單、雙向、二線制、同步串行總線,主要是用來連接整體電路(ICS) ,IIC是一種多向控制總線,也就是說多個芯片可以連接到同一總線
    發(fā)表于 10-18 07:32

    SPI總線串行外圍設(shè)備接口是什么

    SPI總線串行外圍設(shè)備接口,是一種高速的、全雙工、同步的通信總線。只占用四根線,(省線)
    發(fā)表于 07-19 08:51

    基于PC/104 總線與CPLD 的SPI 接口設(shè)計

    本文根據(jù)SPI 同步串行接口的通信協(xié)議,介紹了在CPLD 中利用VHDL 語言實現(xiàn)PC/104 總線擴(kuò)展SPI 接口的設(shè)計原理和編程思想。
    發(fā)表于 05-30 09:28 ?41次下載

    SPI接口讀寫串行EEPROM

    SPI接口讀寫串行EEPROM:93C46為采用3線串行同步總線SPI接口方式的EEPROM,其芯片引腳名稱和功能描述如圖1-1:
    發(fā)表于 09-19 11:39 ?89次下載

    通用串行總線(USB)原理及接口設(shè)計

    通用串行總線(USB)原理及接口設(shè)計 通用串行總線USB (Universal SerialBus)是Intel、Microsoft等大廠商為解決計算機(jī)外設(shè)種類的日
    發(fā)表于 04-11 18:41 ?2679次閱讀
    通用<b class='flag-5'>串行總線</b>(USB)原理及<b class='flag-5'>接口</b>設(shè)計

    同步串行接口SPI的C語言編程

    同步串行接口SPI的C語言編程,快來下載學(xué)習(xí)啊
    發(fā)表于 07-04 14:01 ?9次下載

    一文讀懂SPI串行外設(shè)接口

    SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。
    發(fā)表于 04-27 15:19 ?1w次閱讀

    lm3s同步串行接口

    lm3s同步串行接口
    發(fā)表于 10-11 14:51 ?5次下載
    lm3s<b class='flag-5'>同步</b><b class='flag-5'>串行</b><b class='flag-5'>接口</b>

    詳解雙向/串行/同步(BiSS)位置編碼器的接口

    在本文對雙向/串行/同步(BiSS)位置編碼器的接口進(jìn)行講解。 BiSS是來自iC-Haus公司的開源協(xié)議。它定義了適用于致動器和傳感器(如旋轉(zhuǎn)編碼器或位置編碼器)的數(shù)字雙向串行
    發(fā)表于 11-17 01:55 ?1.9w次閱讀
    詳解雙向/<b class='flag-5'>串行</b>/<b class='flag-5'>同步</b>(BiSS)位置編碼器的<b class='flag-5'>接口</b>

    使用Verilog實現(xiàn)SPI串行總線接口的資料和源代碼免費下載

    集成電路設(shè)計越來越向系統(tǒng)級的方向發(fā)展,并且越來越強(qiáng)調(diào)模塊化的設(shè)計。SPI(Serial Peripheral Bus)總線是Motorola公司提出的一個同步串行外設(shè)接口,容許CPU
    發(fā)表于 08-19 08:00 ?9次下載
    使用Verilog實現(xiàn)SPI<b class='flag-5'>串行</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>的資料和源代碼免費下載

    基于SPI串行總線接口的Verilog實現(xiàn)

    簡 介: 集成電路設(shè)計越來越向系統(tǒng)級的方向發(fā)展,并且越來越強(qiáng)調(diào)模塊化的設(shè)計。SPI(Serial Peripheral Bus)總線是Motorola公司提出的一個同步串行外設(shè)接口,容
    的頭像 發(fā)表于 05-29 10:16 ?5026次閱讀
    基于SPI<b class='flag-5'>串行</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>的Verilog實現(xiàn)

    串行總線、驅(qū)動器和物理接口的特性及性能比較

    微處理器中常用的集成串行總線是通用異步接收器傳輸總線(UART)、串行通信接口(SCI)和通用串行總線
    的頭像 發(fā)表于 05-31 09:06 ?3053次閱讀
    <b class='flag-5'>串行</b><b class='flag-5'>總線</b>、驅(qū)動器和物理<b class='flag-5'>接口</b>的特性及性能比較

    SPI串行外設(shè)接口設(shè)計實現(xiàn)

    SPI 全稱為 Serial Peripheral Interface,譯為串行外設(shè)接口。它是 Motorola 公司推出的一種相對高速的同步、全雙工的通信總線協(xié)議。
    發(fā)表于 05-29 15:40 ?1427次閱讀
    SPI<b class='flag-5'>串行</b>外設(shè)<b class='flag-5'>接口</b>設(shè)計實現(xiàn)

    如何對SPI總線接口進(jìn)行ESD靜電放電保護(hù)?

    串行外設(shè)接口(Serial Peripheral Interface),簡稱SPI接口,是一種高速、全雙工、同步的通信總線
    的頭像 發(fā)表于 06-05 09:50 ?1324次閱讀
    如何對SPI<b class='flag-5'>總線</b><b class='flag-5'>接口</b>進(jìn)行ESD靜電放電保護(hù)?