通信接口與通信協(xié)議_第1頁(yè)
通信接口與通信協(xié)議_第2頁(yè)
通信接口與通信協(xié)議_第3頁(yè)
通信接口與通信協(xié)議_第4頁(yè)
通信接口與通信協(xié)議_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、All content in this presentation is protected 2008 American Power Conversion Corporation通信接口與通信協(xié)議Bob BiAPC by Schneider Electric Name Date OSI: Open System InterconnectionAPC by Schneider Electric Name Date 通信接口與通信協(xié)議APC by Schneider Electric Name Date 并行通信與串行通信Parallel bus, ISA,PCI,AXISPIIICRS232RS4

2、85/RS422CANUSBNetworkMODBUSJTAGAPC by Schneider Electric Name Date 常用名詞通信介質(zhì)雙絞線,同軸電纜,光纖等。總線兩個(gè)或多個(gè)通信主體共享的一組通信線路。通信協(xié)議描述了各通信主體在總線上的通信規(guī)則。時(shí)序圖是描述硬件協(xié)議的常用方法。通信主體指參與通信的操作設(shè)備,如處理器,存儲(chǔ)器等。一般分為主操作設(shè)備(master)和從操作設(shè)備(slave)。帶寬,數(shù)據(jù)傳輸速率,波特率APC by Schneider Electric Name Date Communication terms數(shù)據(jù)方向表示待傳輸?shù)臄?shù)據(jù)在通信主體間的移動(dòng)方向??梢杂媒邮?/p>

3、/發(fā)送來(lái)表示。單工,全雙工,半雙工數(shù)據(jù)只能單向傳送為單工;信息能雙向傳送但不能同時(shí)雙向傳送稱為半雙工;信息能夠同時(shí)雙向傳送則稱為全雙工。地址表示待傳輸數(shù)據(jù)的來(lái)源或目的地。也可理解為通信主體在總線上的ID。同步通信,異步通信同步通信要求接收端時(shí)鐘頻率和發(fā)送端時(shí)鐘頻率一致,發(fā)送端發(fā)送連續(xù)的比特流。異步通信時(shí)不要求接收端時(shí)鐘和發(fā)送端時(shí)鐘同步。發(fā)送端發(fā)送完一個(gè)字節(jié)后,可經(jīng)過(guò)任意長(zhǎng)的時(shí)間間隔再發(fā)送下一個(gè)字節(jié)。APC by Schneider Electric Name Date 并行通信并行通信 處理器 存儲(chǔ)器(從設(shè)備) dataaddrenabler/wenableaddrdatafsetupfrea

4、dfsetupfwriter/wintAPC by Schneider Electric Name Date ISA 總線APC by Schneider Electric Name Date SPI 總線概述Serial Peripheral Interface 串行外圍設(shè)備接口,是Motorola公司推出的一種同步串行接口技術(shù)。SPI 主要應(yīng)用在 EEPROM, Flash, 實(shí)時(shí)時(shí)鐘(RTC), 數(shù)模轉(zhuǎn)換器(ADC), 數(shù)字信號(hào)處理器(DSP) 以及數(shù)字信號(hào)解碼器之間. 它在芯片中只占用四根管腳 (Pin) 用來(lái)控制以及數(shù)據(jù)傳輸, 節(jié)約了芯片的 pin 數(shù)目, 同時(shí)為 PCB 在布局上節(jié)

5、省了空間. 正是出于這種簡(jiǎn)單易用的特性, 現(xiàn)在越來(lái)越多的芯片上都集成了 SPI技術(shù).采用主-從模式(Master-Slave) 控制方式,SS信號(hào)進(jìn)行對(duì)從設(shè)備的片選。采用同步方式(Synchronous)傳輸數(shù)據(jù),主設(shè)備提供SCLK信號(hào)給從設(shè)備。APC by Schneider Electric Name Date SPI總線連接SPI連接方式SPI有4種工作方式,由CPOL和CPHL兩位來(lái)決定。當(dāng)CPOL為0時(shí),CLK的空閑狀態(tài)為低電平。當(dāng)CPOL為1時(shí),CLK的空閑狀態(tài)為高電平。當(dāng)CPHL為0時(shí),在CLK的第1個(gè)跳變沿?cái)?shù)據(jù)被采樣。當(dāng)CPHL為1時(shí),在CLK的第2個(gè)跳變沿?cái)?shù)據(jù)被采樣。APC

6、by Schneider Electric Name Date SPI時(shí)序圖:CPHL=1APC by Schneider Electric Name Date SPI時(shí)序圖:CPHL=0APC by Schneider Electric Name Date SPI時(shí)鐘配置在主設(shè)備這邊配置SPI接口時(shí)鐘的時(shí)候一定要弄清楚從設(shè)備的時(shí)鐘要求。因?yàn)橹髟O(shè)備這邊的時(shí)鐘極性和相位都是以從設(shè)備為基準(zhǔn)的。因此在時(shí)鐘極性的配置上一定要搞清楚從設(shè)備是在時(shí)鐘的上升沿還是下降沿接收數(shù)據(jù)是在時(shí)鐘的下降沿還是上升沿輸出數(shù)據(jù)。但要注意的是由于主設(shè)備的SDO連接從設(shè)備的SDI從設(shè)備的SDO連接主設(shè)備的SDI從設(shè)備SDI接收的

7、數(shù)據(jù)是主設(shè)備的SDO發(fā)送過(guò)來(lái)的主設(shè)備SDI接收的數(shù)據(jù)是從設(shè)備SDO發(fā)送過(guò)來(lái)的所以主設(shè)備這邊SPI時(shí)鐘極性的配置即SDO的配置跟從設(shè)備的SDI接收數(shù)據(jù)的極性是相反的跟從設(shè)備SDO發(fā)送數(shù)據(jù)的極性是相同的。APC by Schneider Electric Name Date IIC總線概述I2C總線是Philips公司開發(fā)的一種二線串行總線,可以使嵌入式系統(tǒng)中的外部設(shè)備和CPU 以及外設(shè)之間進(jìn)行進(jìn)行通信。SDA:串行數(shù)據(jù)總線 (Serial DAta)SCL:串行時(shí)鐘信號(hào)(Serial CLock) 支持多主通信,是多主機(jī)總線。技術(shù)指標(biāo):傳輸速率:100kbps 3.4Mbps尋址位數(shù):7位 10

8、位APC by Schneider Electric Name Date IIC總線連接方式APC by Schneider Electric Name Date IIC總線接口電平SDA和SCL在空閑狀態(tài)都是高電平。所有設(shè)備的SDA和SCL線與連接。SCL 線是高電平時(shí),SDA 線從高電平向低電平切換表示起始條件。當(dāng)SCL 是高電平時(shí),SDA 線由低電平向高電平切換表示停止條件。正常通信時(shí),SDA在SCL為高時(shí)保持穩(wěn)定,當(dāng)SCL為低時(shí)數(shù)據(jù)變化。APC by Schneider Electric Name Date IIC總線時(shí)序圖IIC總線有很多工作模式,下面是最簡(jiǎn)單的一個(gè)模式的數(shù)據(jù)傳輸時(shí)序

9、。APC by Schneider Electric Name Date 串行同步通信協(xié)議面向比特的同步協(xié)議。APC by Schneider Electric Name Date 串行異步通信協(xié)議起止式異步協(xié)議的特點(diǎn)是一個(gè)字符一個(gè)字符傳輸,并且傳送一個(gè)字符總是以起始位開始,以停止位結(jié)束,字符之間沒(méi)有固定的時(shí)間間隔要求。每一個(gè)字符的前面都有一位起始位,為低電平,字符本身有5-7位數(shù)據(jù)位組成,接著字符后面是一位校驗(yàn)位,也可以沒(méi)有校驗(yàn)位。最后是一位,或二位停止位,停止位后面是不定長(zhǎng)度的空閑位。停止位和空閑位都規(guī)定為高電平,這樣就保證起始位開始處一定有一個(gè)下跳沿。APC by Schneider E

10、lectric Name Date RS-232概述RS-232C 標(biāo)準(zhǔn)(協(xié)議)的全稱是 EIA-RS-232C 標(biāo)準(zhǔn),其中EIA (Electronic Industry Association)代表美國(guó)電子工業(yè)協(xié)會(huì),RS(recommended standard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識(shí)號(hào),C代表RS232的最新一次修改(1969),在這之前,有RS232B、RS232A。它規(guī)定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送過(guò)程。常用物理標(biāo)準(zhǔn)還有有EIA RS-422A、EIA RS-423A、EIA RS-485。它適合于數(shù)據(jù)傳輸速率在020kb/s范圍內(nèi)的通信。在通信速率低于20kb/s時(shí)

11、,RS-232C 所直接連接的最大物理距離為15m(50英尺)。EIA-RS-232C 的電氣特性(在TxD和RxD上)邏輯1(MARK)=-3V-15V邏輯0(SPACE)=+3+15VAPC by Schneider Electric Name Date RS-232C連接RS-232C規(guī)標(biāo)準(zhǔn)接口有25條線,4條數(shù)據(jù)線、11條控制線、3條定時(shí)線、7條備用和未定義線,常用的只有9根。一般用3根。APC by Schneider Electric Name Date RS-422在RS-232的基礎(chǔ)上,為了增強(qiáng)驅(qū)動(dòng)能力和抗干擾能力,產(chǎn)生了RS-422。RS-422有兩對(duì)差分信號(hào)傳輸線,一對(duì)發(fā)送

12、,一對(duì)接收。 RS-422的電氣特性:邏輯“1”以兩線間的電壓差為+(26)V表示;邏輯“0”以兩線間的電壓差為-(26)V表示。RS-422最大的通信距離約為1219m,最大傳輸速率為10Mb/S,傳輸速率與傳輸距離成反比,在100Kb/S的傳輸速率下,才可以達(dá)到最大的通信距離。APC by Schneider Electric Name Date RS-422由于接收器采用高輸入阻抗和發(fā)送驅(qū)動(dòng)器比RS232更強(qiáng)的驅(qū)動(dòng)能力,故允許在相同傳輸線上連接多個(gè)接收節(jié)點(diǎn),最多可接10個(gè)節(jié)點(diǎn)。即一個(gè)主設(shè)備(Master),其余為從設(shè)備(Salve),從設(shè)備之間不能通信,所以RS-422支持點(diǎn)對(duì)多的全雙工

13、通信。APC by Schneider Electric Name Date RS-485 RS-485的電氣特性和RS-422一樣。RS-485,在RS-422后推出,絕大部分繼承了422,主要的差別是RS-485可以是半雙工的,而且一個(gè)驅(qū)動(dòng)器的驅(qū)動(dòng)能力至少可以驅(qū)動(dòng)32個(gè)接收器(即接收器為1/32單位負(fù)載),當(dāng)使用阻抗更高的接收器時(shí)可以驅(qū)動(dòng)更多的接收器。所以現(xiàn)在大多數(shù)全雙工485驅(qū)動(dòng)/接收器對(duì)都是標(biāo):RS422/485的,因?yàn)槿p工RS485的驅(qū)動(dòng)/接收器對(duì)一定可以用在RS422網(wǎng)絡(luò)。RS-485總線一般最大支持32個(gè)節(jié)點(diǎn),如果使用特制的485芯片,可以達(dá)到128個(gè)或者256個(gè)節(jié)點(diǎn),最大的可

14、以支持到400個(gè)節(jié)點(diǎn)。RS-485組成半雙工網(wǎng)絡(luò),一般是兩線制,多采用屏蔽雙絞線傳輸。RS-485網(wǎng)絡(luò)中只能有一個(gè)主設(shè)備,其余為從設(shè)備。APC by Schneider Electric Name Date RS-485 總線網(wǎng)絡(luò)RS485網(wǎng)絡(luò)拓?fù)洳捎媒K端匹配的總線結(jié)構(gòu)。構(gòu)建時(shí)需注意:1.采用一條雙絞線電纜作總線,將各個(gè)節(jié)點(diǎn)串接起來(lái),從總線到每個(gè)節(jié)點(diǎn)的引出線長(zhǎng)度應(yīng)盡量短,以便使引出線中的反射信號(hào)對(duì)總線信號(hào)的影響最低。2.應(yīng)注意總線特性阻抗的連續(xù)性,在阻抗不連續(xù)點(diǎn)就會(huì)發(fā)生信號(hào)的反射。3.終端負(fù)載電阻問(wèn)題,需在總線電纜的開始和末端都并接終端電阻,阻值一般為120,因?yàn)橐话汶p絞線的特性阻抗為1001

15、20 .APC by Schneider Electric Name Date CAN bus控制器局域網(wǎng)CAN(Controller Area Network),最初是由德國(guó)Bosch公司設(shè)計(jì)的,應(yīng)用于汽車的監(jiān)測(cè)和控制。1991年9月,Philips制定并發(fā)布CAN技術(shù)規(guī)范:CAN 2.0 A/B。1993年11月,ISO組織正式頒布CAN國(guó)際標(biāo)準(zhǔn) ISO11898。CAN-bus是唯一成為國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線,也是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。CAN總線協(xié)議包括對(duì)CAN控制器和收發(fā)器的規(guī)定。即包括物理層和數(shù)據(jù)鏈路層。APC by Schneider Electric Name Date C

16、AN bus通訊距離與波特率有關(guān),最大通訊距離可達(dá)10km,最大通訊波持率可達(dá)1Mbps。CAN總線采用了多主競(jìng)爭(zhēng)式總線結(jié)構(gòu),具有多主站運(yùn)行和分散仲裁的串行總線以及廣播通信的特點(diǎn)。CAN總線上最大地址數(shù)可達(dá)256,實(shí)際收發(fā)器一般支持120個(gè)。顯性(邏輯0):CAN_H對(duì)地為3.5V(3V),CAN_L為1.5V(1V)隱性(邏輯1):CAN_H對(duì)地為2.5V(2.3V),CAN_L為2.5V(2.3V)CAN2.0A :CAN標(biāo)準(zhǔn)報(bào)文格式CAN2.0B :CAN標(biāo)準(zhǔn)報(bào)文格式和擴(kuò)展報(bào)文格式具有11位標(biāo)識(shí)符的CAN幀稱為:標(biāo)準(zhǔn)幀具有29位標(biāo)識(shí)符的CAN幀稱為:擴(kuò)展幀APC by Schneider

17、 Electric Name Date CAN busCAN總線收發(fā)器CAN總線網(wǎng)絡(luò)連接和匹配電阻的設(shè)計(jì)可參考RS-485總線匹配電阻設(shè)計(jì)。原理相同。APC by Schneider Electric Name Date CAN bus 幀格式數(shù)據(jù)楨:從發(fā)送節(jié)點(diǎn)向其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)遠(yuǎn)程幀:向其它節(jié)點(diǎn)請(qǐng)求發(fā)送具有同一識(shí)別符的數(shù)據(jù)楨錯(cuò)誤幀:指明已檢測(cè)到總線錯(cuò)誤過(guò)載幀:用以在數(shù)據(jù)楨(或遠(yuǎn)程幀)之間提供一份附加的延時(shí)APC by Schneider Electric Name Date CAN bus 標(biāo)準(zhǔn)數(shù)據(jù)楨結(jié)構(gòu)APC by Schneider Electric Name Date CAN bus

18、擴(kuò)展數(shù)據(jù)楨結(jié)構(gòu)APC by Schneider Electric Name Date CAN bus 總線仲裁總線上顯性電平支配隱性電平。邏輯0為顯性電平,邏輯1為隱性電平??偩€空閑時(shí),任何節(jié)點(diǎn)可以發(fā)送報(bào)文??偩€上每條報(bào)文都具有惟一的11位或者29位標(biāo)識(shí)符。報(bào)文標(biāo)識(shí)符的值越小,具有越高的優(yōu)先權(quán)。多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送時(shí),總線在”仲裁場(chǎng)”逐位仲裁,高優(yōu)先權(quán)的報(bào)文贏得仲裁,繼續(xù)發(fā)送報(bào)文。失去仲裁權(quán)的報(bào)文在總線空閑時(shí)重新發(fā)送。APC by Schneider Electric Name Date CAN bus 仲裁ControlFieldData FieldNODE1NODE2NODE3SOF10987

19、6543210IdentifierControlFieldData FieldAPC by Schneider Electric Name Date USB概述USB(Universal Serial BUS,通用串行總線)是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯(lián)合提出的。USB的顯著特點(diǎn)就是支持即插即用和熱插拔功能。目前主要使用的協(xié)議版本為USB1.1,USB2.0和USB3.0,各協(xié)議向下兼容。USB1.1支持12Mbps和1.5Mbps的數(shù)據(jù)傳輸率。USB2.0支持高達(dá)480Mbps的數(shù)據(jù)傳輸率。USB3.0支持5Gbps。USB標(biāo)準(zhǔn)接口為4針插頭(USB3

20、.0為9針)。USB控制控制邏輯邏輯收收 發(fā)發(fā) 器器USB寄存器寄存器D+D-USB接口接口CPU總線總線USB功能模塊圖功能模塊圖APC by Schneider Electric Name Date USB網(wǎng)絡(luò)USB網(wǎng)絡(luò)采用階梯式星形拓?fù)浣Y(jié)構(gòu)。一個(gè)USB網(wǎng)絡(luò)中只能有一個(gè)主機(jī)。主機(jī)內(nèi)設(shè)置了一個(gè)根集線器,提供了主機(jī)上的初始附屬點(diǎn)。USB協(xié)議規(guī)定最多允許5級(jí)集線器進(jìn)行級(jí)聯(lián)。集線器集線器(復(fù)合設(shè)備)(復(fù)合設(shè)備)游戲桿游戲桿USB設(shè)備設(shè)備(根階梯根階梯)階梯階梯0掃描儀掃描儀鼠標(biāo)鼠標(biāo)集線器集線器USB設(shè)備設(shè)備階梯階梯1階梯階梯2主機(jī)主機(jī)(根集線器)(根集線器)APC by Schneider Ele

21、ctric Name Date USB主設(shè)備和從設(shè)備USB系統(tǒng)中包括主機(jī),集線器和從設(shè)備。主機(jī)中還集成了一個(gè)根集線器。主機(jī)定時(shí)對(duì)集線器的狀態(tài)進(jìn)行查詢,當(dāng)一個(gè)新設(shè)備接入集線器時(shí),主機(jī)會(huì)檢測(cè)到集線器狀態(tài)改變,主機(jī)發(fā)出一個(gè)命令使該端口有效并對(duì)其進(jìn)行設(shè)置。位于這個(gè)端口上的設(shè)備進(jìn)行響應(yīng),主機(jī)收到關(guān)于設(shè)備的信息,主機(jī)的操作系統(tǒng)確定對(duì)這個(gè)設(shè)備使用那種驅(qū)動(dòng)程序,接著設(shè)備被分配一個(gè)唯一標(biāo)識(shí)的地址,范圍從0127,其中0為所有的設(shè)備在沒(méi)有分配惟一地址時(shí)使用的默認(rèn)地址。主機(jī)向它發(fā)出內(nèi)部設(shè)置請(qǐng)求。當(dāng)一個(gè)設(shè)備從總線上移走時(shí),主機(jī)就從其可用資源列表中將這個(gè)設(shè)備刪除。 APC by Schneider Electric N

22、ame Date USB主機(jī)USB的所有數(shù)據(jù)通信(不論是上行通信還是下行通信)都由USB主機(jī)啟動(dòng),所以USB主機(jī)在整個(gè)數(shù)據(jù)傳輸過(guò)程中占據(jù)著主導(dǎo)地位。在USB系統(tǒng)中只允許有一個(gè)主機(jī)。從開發(fā)人員的角度看,USB主機(jī)可分為三個(gè)不同的功能模塊:客戶軟件、USB系統(tǒng)軟件和USB總線接口。 客戶軟件一般包括USB設(shè)備驅(qū)動(dòng)程序和界面應(yīng)用程序兩部分。USB系統(tǒng)軟件一般包括USB總線驅(qū)動(dòng)程序和USB主控制器驅(qū)動(dòng)程序這兩部分。這些軟件通常由操作系統(tǒng)提供,開發(fā)人員不必掌握。USB總線接口包括主控制器和根集線器兩部分。該部分與USB系統(tǒng)軟件的接口依賴于主控制器的硬件實(shí)現(xiàn),開發(fā)人員不必掌握。 APC by Schnei

23、der Electric Name Date USB從設(shè)備設(shè)備代表一個(gè)USB設(shè)備,它由一個(gè)或多個(gè)配置組成。設(shè)備描述符用于說(shuō)明設(shè)備的總體信息,并指明其所含的配置的個(gè)數(shù)。一個(gè)USB設(shè)備只能有一個(gè)設(shè)備描述符。 一個(gè)USB設(shè)備可以包含一個(gè)或多個(gè)配置,如USB設(shè)備的低功耗模式和高功耗模式可分別對(duì)應(yīng)一個(gè)配置。在使用USB設(shè)備前,必須為其選擇一個(gè)合適的配置。配置描述符用于說(shuō)明USB設(shè)備中各個(gè)配置的特性,如配置所含接口的個(gè)數(shù)等。USB設(shè)備的每一個(gè)配置都必須有一個(gè)配置描述符。一個(gè)配置可以包含一個(gè)或多個(gè)接口,如對(duì)一個(gè)光驅(qū)來(lái)說(shuō),當(dāng)用于文件傳輸時(shí)使用其大容量存儲(chǔ)接口;而當(dāng)用于播放CD時(shí),使用其音頻接口。接口是端點(diǎn)的集

24、合,可以包含一個(gè)或多個(gè)可替換設(shè)置,用戶能夠在USB處于配置狀態(tài)時(shí),改變當(dāng)前接口所含的個(gè)數(shù)和特性。接口描述符用于說(shuō)明USB設(shè)備中各個(gè)接口的特性,如接口所屬的設(shè)備類及其子類等。USB設(shè)備的每個(gè)接口都必須有一個(gè)接口描述符。APC by Schneider Electric Name Date USB從設(shè)備端點(diǎn)是USB設(shè)備中的實(shí)際物理單元,USB數(shù)據(jù)傳輸就是在主機(jī)和USB設(shè)備各個(gè)端點(diǎn)之間進(jìn)行的。端點(diǎn)一般由USB接口芯片提供,例如Freescale的MC68HC908JB8。USB設(shè)備中的每一個(gè)端點(diǎn)都有唯一的端點(diǎn)號(hào),每個(gè)端點(diǎn)所支持的數(shù)據(jù)傳輸方向一般而言也是確定的:或是輸入(IN)或是輸出(OUT),也有

25、些芯片提供的端點(diǎn)的數(shù)據(jù)方向是可以配置的,例如MC68HC908JB8包含有兩個(gè)用于數(shù)據(jù)收發(fā)的端點(diǎn):端點(diǎn)1和端點(diǎn)2。其中端點(diǎn)1只能用于數(shù)據(jù)發(fā)送,即支持輸入(IN),端點(diǎn)2既能用于數(shù)據(jù)發(fā)送也可用于數(shù)據(jù)接收,即支持輸入(IN)和輸出(OUT)操作。需要注意的是,在這里數(shù)據(jù)的傳輸方向是站在主機(jī)的立場(chǎng)上來(lái)看得。比如端點(diǎn)1只能發(fā)送數(shù)據(jù),在主機(jī)看來(lái)是端點(diǎn)1向主機(jī)輸入數(shù)據(jù),即IN操作;當(dāng)端點(diǎn)2配置為接收數(shù)據(jù)時(shí),主機(jī)向端點(diǎn)2輸出數(shù)據(jù),即OUT操作。這一點(diǎn)是初學(xué)者比較容易產(chǎn)生混淆的地方。利用設(shè)備地址、端點(diǎn)號(hào)和傳輸方向就可以指定一個(gè)端點(diǎn),并和它進(jìn)行通信。0號(hào)端點(diǎn)比較特殊,它有數(shù)據(jù)輸入IN和數(shù)據(jù)輸出OUT兩個(gè)物理單元

26、,且只能支持控制傳輸。APC by Schneider Electric Name Date USB從設(shè)備在USB設(shè)備中通常還含有字符串描述符,以說(shuō)明一些專用信息,如制造商的名稱、設(shè)備的序列號(hào)等。它的內(nèi)容以UNICODE的形式給出,且可以被客戶軟件所讀取。對(duì)USB設(shè)備來(lái)說(shuō),字符串描述符是可選的。在USB系統(tǒng)結(jié)構(gòu)中,可以認(rèn)為數(shù)據(jù)傳輸是在主機(jī)軟件(USB系統(tǒng)軟件或客戶軟件)和USB設(shè)備的各個(gè)端點(diǎn)之間直接進(jìn)行的,它們之間的連接稱為管道。管道是在USB設(shè)備的配置過(guò)程中建立的。管道和USB設(shè)備中的端點(diǎn)一一對(duì)應(yīng)。一個(gè)USB設(shè)備含有多少個(gè)端點(diǎn),其和主機(jī)進(jìn)行通信時(shí)就可以使用多少條管道APC by Schnei

27、der Electric Name Date USB接口 USB使用一根屏蔽的4線電纜與網(wǎng)絡(luò)上的設(shè)備進(jìn)行互聯(lián)。數(shù)據(jù)傳輸通過(guò)一個(gè)差分雙絞線進(jìn)行,這兩根線分別標(biāo)為D+和D-,另外兩根線是Vcc和Ground,其中Vcc向USB設(shè)備供電。使用USB電源的設(shè)備稱為總線供電設(shè)備,而使用自己外部電源的設(shè)備叫做自供電設(shè)備。為了避免混淆,USB電纜中的線都用不同的顏色標(biāo)記。通常VCC為5V,可以提供500mA的電流。D+和D-為差分信號(hào),在+400mV和-400mV之間變化。APC by Schneider Electric Name Date USB接口從一個(gè)設(shè)備連回到主機(jī),稱為上行連接;從主機(jī)到設(shè)備的連接

28、,稱為下行連接。為了防止回環(huán)情況的發(fā)生,上行和下行端口使用不同的連接器。 A型連接頭,用于上行連接。而B型插頭在從主機(jī)或集線器接出的下行電纜的一端。12341243A型連接頭型連接頭B型連接頭型連接頭APC by Schneider Electric Name Date USB通信格式USB的數(shù)據(jù)包使用反向不歸零編碼(NRZI)。USB控制器發(fā)送/接收信號(hào)會(huì)進(jìn)行編/解碼。在反向不歸零編碼時(shí),遇到“0”轉(zhuǎn)換,遇到“1”保持。在在USB電纜上使用反向不歸零編碼和差動(dòng)信號(hào)的傳輸電纜上使用反向不歸零編碼和差動(dòng)信號(hào)的傳輸00011111111011數(shù)據(jù)數(shù)據(jù)空閑空閑反向不歸零碼反向不歸零碼填充后數(shù)填充后數(shù)

29、據(jù)據(jù)填充位填充位APC by Schneider Electric Name Date USB檢測(cè)設(shè)備連接和速度USB主主機(jī)機(jī)USB低低速設(shè)備速設(shè)備USB數(shù)據(jù)線數(shù)據(jù)線+5VD+D-15千歐千歐1.5千歐千歐VccD+D-地地15千歐千歐USB主機(jī)主機(jī)USB全速全速設(shè)備設(shè)備USB數(shù)據(jù)線數(shù)據(jù)線+5VD+D-15千歐千歐1.5千歐千歐VccD+D-地地15千歐千歐APC by Schneider Electric Name Date USB通信協(xié)議包(Packet)是USB系統(tǒng)中信息傳輸?shù)幕締卧袛?shù)據(jù)都是經(jīng)過(guò)打包后在總線上傳輸?shù)?。USB包由五部分組成,即同步字段(SYNC)、包標(biāo)識(shí)符字段(PI

30、D)、數(shù)據(jù)字段、循環(huán)冗余校驗(yàn)字段(CRC)和包結(jié)尾字段(EOP),包的基本格式如下圖:SYNC字段:由8位組成,作為每個(gè)數(shù)據(jù)封包的前導(dǎo),用來(lái)產(chǎn)生同步作用,使USB設(shè)備與總線的包傳輸率同步,它的數(shù)值固定為00000001。PID字段:用來(lái)表示數(shù)據(jù)封包的類型。包標(biāo)識(shí)符中的校驗(yàn)字段是通過(guò)對(duì)類型字段的每個(gè)位求反碼產(chǎn)生的, PID字段如下圖所示:同步字段(同步字段(SYNC)PID字段字段數(shù)據(jù)字段數(shù)據(jù)字段CRC字段字段包結(jié)尾字段(包結(jié)尾字段(EOP)PID0PID1PID2PID3PID0PID1PID2PID3APC by Schneider Electric Name Date USB通信協(xié)議信息包

31、的類型,包括令牌、數(shù)據(jù)、握手或特殊四種信息包類型。封包類型封包類型PID名稱名稱PID編碼編碼意義意義令牌令牌OUT0001B從主機(jī)到設(shè)備的數(shù)據(jù)傳輸從主機(jī)到設(shè)備的數(shù)據(jù)傳輸IN1001B從設(shè)備到主機(jī)的數(shù)據(jù)傳輸從設(shè)備到主機(jī)的數(shù)據(jù)傳輸SOF0101B幀的起始標(biāo)記與幀碼幀的起始標(biāo)記與幀碼SETUP1101B從主機(jī)到設(shè)備。表示要進(jìn)行控制傳輸從主機(jī)到設(shè)備。表示要進(jìn)行控制傳輸數(shù)據(jù)數(shù)據(jù)DATA00011B偶數(shù)數(shù)據(jù)封包偶數(shù)數(shù)據(jù)封包DATA11011B奇數(shù)數(shù)據(jù)封包奇數(shù)數(shù)據(jù)封包握手握手ACK0010B接收器收到無(wú)錯(cuò)誤的數(shù)據(jù)封包接收器收到無(wú)錯(cuò)誤的數(shù)據(jù)封包NAK1010B接收器無(wú)法接收數(shù)據(jù)或發(fā)射器無(wú)法送出數(shù)接收器無(wú)法接

32、收數(shù)據(jù)或發(fā)射器無(wú)法送出數(shù)據(jù)據(jù)STALL1110B端點(diǎn)產(chǎn)生停滯的狀況端點(diǎn)產(chǎn)生停滯的狀況特殊特殊PRE1100B使能下游端口的使能下游端口的USB總線的數(shù)據(jù)傳輸切換總線的數(shù)據(jù)傳輸切換到低速的設(shè)備到低速的設(shè)備APC by Schneider Electric Name Date USB數(shù)據(jù)傳輸在在USB的傳輸中,制定了的傳輸中,制定了4種傳輸類型:控制傳輸、中斷傳輸、批量傳輸種傳輸類型:控制傳輸、中斷傳輸、批量傳輸以及等時(shí)傳輸。以及等時(shí)傳輸??刂苽鬏旑愋头譃榭刂苽鬏旑愋头譃?3個(gè)階段:設(shè)置階段、數(shù)據(jù)階段(無(wú)數(shù)據(jù)控制沒(méi)有個(gè)階段:設(shè)置階段、數(shù)據(jù)階段(無(wú)數(shù)據(jù)控制沒(méi)有此階段)以及狀態(tài)階段。此階段)以及狀態(tài)階

33、段。根據(jù)數(shù)據(jù)階段的數(shù)據(jù)傳輸?shù)姆较颍刂苽鬏斢挚煞譃楦鶕?jù)數(shù)據(jù)階段的數(shù)據(jù)傳輸?shù)姆较?,控制傳輸又可分?種類型:控制讀取種類型:控制讀取(讀?。ㄗx取USB描述符)、控制寫入(配置描述符)、控制寫入(配置USB設(shè)備)以及無(wú)數(shù)據(jù)控制。設(shè)備)以及無(wú)數(shù)據(jù)控制。設(shè)備列舉過(guò)程設(shè)備列舉過(guò)程第一步,使用預(yù)設(shè)的地址第一步,使用預(yù)設(shè)的地址0取得設(shè)備描述符。取得設(shè)備描述符。第二步,設(shè)置設(shè)備的新地址。第二步,設(shè)置設(shè)備的新地址。第三步,使用新地址取得設(shè)備描述符。第三步,使用新地址取得設(shè)備描述符。第四步,取得配置描述符。第四步,取得配置描述符。第五步,設(shè)置配置描述符。第五步,設(shè)置配置描述符。APC by Schneider E

34、lectric Name Date 工業(yè)以太網(wǎng)概述嵌入式系統(tǒng)常用的以太網(wǎng)協(xié)議是IEEE802.3(Ethernet)/IEEE802.3u.工業(yè)以太網(wǎng)數(shù)據(jù)傳輸特點(diǎn):1.所有數(shù)據(jù)位的傳輸由低位開始,傳輸?shù)奈涣魇怯寐鼜厮固鼐幋a。2.以太網(wǎng)是基于沖突檢測(cè)的總線復(fù)用方法,沖突退避算法是由硬件自動(dòng)執(zhí)行的。3.以太網(wǎng)傳輸?shù)臄?shù)據(jù)段的長(zhǎng)度,DA+SA+TYPE+DATA+PAD最小為60B,最大為1514B。4.通常的以太網(wǎng)卡可以接收3種地址的數(shù)據(jù),一個(gè)是廣播地址,一個(gè)是多播地址(或者叫組播地址,在嵌入式系統(tǒng)中很少用到),一個(gè)是它自己的地址。但有時(shí),用于網(wǎng)絡(luò)分析和監(jiān)控,網(wǎng)卡也可以設(shè)置為接收任何數(shù)據(jù)包。5.任何

35、兩個(gè)網(wǎng)卡的物理地址都是不一樣的,是世界上唯一的,網(wǎng)卡地址由專門機(jī)構(gòu)分配。不同廠家使用不同地址段,同一廠家的任何兩個(gè)網(wǎng)卡的地址也是唯一的。根據(jù)網(wǎng)卡的地址段(網(wǎng)卡地址的前3個(gè)字節(jié))可以知道網(wǎng)卡的生產(chǎn)廠家。APC by Schneider Electric Name Date 工業(yè)以太網(wǎng)協(xié)議分層APC by Schneider Electric Name Date 物理傳輸幀MAC層的物理傳輸幀格式:同步位,用于收發(fā)雙方的時(shí)鐘同步,同時(shí)也指明了傳輸?shù)乃俾?,?6位的的二進(jìn)制數(shù)101010101010,最后2位是10。SD:分隔位,表示下面跟著的是真正的數(shù)據(jù)而不是同步時(shí)鐘,為8位的10101011。D

36、A:目的地址,以太網(wǎng)的地址為48位(6個(gè)字節(jié))二進(jìn)制地址,表明該幀傳輸給哪個(gè)網(wǎng)卡。如果為FFFFFFFFFFFF,則是廣播地址。廣播地址的數(shù)據(jù)可以被任何網(wǎng)卡接收到。SA:源地址,48位,表明該幀的數(shù)據(jù)是哪個(gè)網(wǎng)卡發(fā)的,即發(fā)送端的網(wǎng)卡地址,同樣是6個(gè)字節(jié)。APC by Schneider Electric Name Date 物理傳輸幀TYPE:類型字段,表明該幀的數(shù)據(jù)是什么類型的數(shù)據(jù),不同協(xié)議的類型字段不同。如:0800H表示數(shù)據(jù)為IP包,0806H表示數(shù)據(jù)為ARP包,814CH是SNMP包,8137H為IPX/SPX包。小于0600H的值是用于IEEE802的,表示數(shù)據(jù)包的長(zhǎng)度。DATA:數(shù)據(jù)

37、段,該段數(shù)據(jù)不能超過(guò)1500B。因?yàn)橐蕴W(wǎng)規(guī)定整個(gè)傳輸包的最大長(zhǎng)度不能超過(guò)1514E(14B為DA,SA,TYPE)。PAD:填充位。由于以太網(wǎng)幀傳輸?shù)臄?shù)據(jù)包最小不能小于60B,除去(DA、SA、TYPE的14B),還必須傳輸46B的數(shù)據(jù),當(dāng)數(shù)據(jù)段的數(shù)據(jù)不足46B時(shí),后面通常是補(bǔ)0(也可以補(bǔ)其他值)。FCS:32位數(shù)據(jù)校驗(yàn)位。32位的CRC校驗(yàn),該校驗(yàn)由網(wǎng)卡自動(dòng)計(jì)算,自動(dòng)生成,自動(dòng)校驗(yàn),自動(dòng)在數(shù)據(jù)段后面填入。不需要軟件管理。通常,PR、SD、PAD、FCS這幾個(gè)數(shù)據(jù)段都是網(wǎng)卡(包括物理層和Mac層的處理)自動(dòng)產(chǎn)生的,剩下的DA、SA、TYPE、DATA這4個(gè)段的內(nèi)容是由上層的軟件控制的。APC

38、 by Schneider Electric Name Date 工業(yè)以太網(wǎng)接口在嵌入式系統(tǒng)中增加以太網(wǎng)接口,通常有如下兩種方法實(shí)現(xiàn):嵌入式處理器網(wǎng)卡芯片帶有以太網(wǎng)接口的嵌入式處理器APC by Schneider Electric Name Date 工業(yè)以太網(wǎng)接口DTE接口定義數(shù)據(jù)終端設(shè)備包括網(wǎng)卡路由器,以太網(wǎng)接口DCE接口定義數(shù)據(jù)通信設(shè)備包括交換機(jī)APC by Schneider Electric Name Date MODBUS協(xié)議概述Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個(gè)品牌)在1979年發(fā)明的,是全球第一個(gè)真正用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議。為更好地普及和推動(dòng)Modbus

39、在基于以太網(wǎng)上的分布式應(yīng)用,目前施耐德公司已將Modbus協(xié)議的所有權(quán)移交給IDA(Interface for Distributed Automation,分布式自動(dòng)化接口)組織,并成立了Modbus-IDA組織,為Modbus今后的發(fā)展奠定了基礎(chǔ)。MODBUS協(xié)議為應(yīng)用層協(xié)議。控制器通信使用主從技術(shù),即僅一設(shè)備(主設(shè)備)能初始化傳輸(查詢)。其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。典型的主設(shè)備:主機(jī)和可編程儀表。典型的從設(shè)備:可編程控制器。主設(shè)備可單獨(dú)和從設(shè)備通信,也能以廣播方式和所有從設(shè)備通信。如果單獨(dú)通信,從設(shè)備返回一消息作為回應(yīng),如果是以廣播方式查詢的,則不作任何回應(yīng)

40、。Modbus建立了主設(shè)備查詢的格式:設(shè)備(或廣播)地址、功能代碼、所有要發(fā)送的數(shù)據(jù)、錯(cuò)誤檢測(cè)域。APC by Schneider Electric Name Date MODBUS協(xié)議概述APC by Schneider Electric Name Date MODBUS通用幀MODBUS 協(xié)議定義了一個(gè)與基礎(chǔ)通信層無(wú)關(guān)的簡(jiǎn)單協(xié)議數(shù)據(jù)單元(PDU)。特定總線或網(wǎng)絡(luò)上的MODBUS 協(xié)議映射能夠在應(yīng)用數(shù)據(jù)單元(ADU)上引入一些附加域。通用MODBUS幀地址域有256個(gè)不同地址APC by Schneider Electric Name Date MODBUS功能碼分類APC by Schneider Electric Name Date MODBUS傳輸模式MODBUS使用RTU模式或者ASCII模式。RTU模式為默認(rèn)模式。一個(gè)MODBUS網(wǎng)絡(luò)必須使用相同的模式。RTU (Remote Terminal Unit) 模式:報(bào)文中每個(gè)8位字節(jié)含有兩個(gè)4 位十六進(jìn)制字符。RTU模式位序列RTU報(bào)文幀RTU報(bào)文幀必須以連續(xù)字符流發(fā)送,如果兩個(gè)字符之間的空閑間隔大于1.5 個(gè)字符時(shí)間,則報(bào)文幀被認(rèn)為不完整應(yīng)該被接收節(jié)點(diǎn)丟棄。APC by Schneider Electric Name Dat

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論