嵌入式系統(tǒng)基礎(chǔ)及知識(shí)及接口技術(shù)總結(jié)
16、IIC接口
(1)IIC總線是具備總線仲裁和高低速設(shè)備同步等功能的高性能多主機(jī)總線。
(2)IIC總線上需要兩條線:串行數(shù)據(jù)線SDA和串行時(shí)鐘線SCL。
(3)總線上的每個(gè)器件都有唯一的地址以供識(shí)別,而且各器件都可以作為一個(gè)發(fā)送器或者接收器(由器件的功能決定)。
(4)IIC總線有4種操作模式:主發(fā)送、主接收、從發(fā)送、從接收。
(5)IIC在傳送數(shù)據(jù)過程******有3種類型信號(hào):
A、開始信號(hào):SCL為低電平時(shí),SDA由高向低跳變。
B、結(jié)束信號(hào):SCL為低電平時(shí),SDA由低向高跳變。
C、應(yīng)答信號(hào):接收方在收到8位數(shù)據(jù)后,在第9個(gè)脈沖向發(fā)送方發(fā)出特點(diǎn)的低電平。
(6)主器件發(fā)送一個(gè)開始信號(hào)后,它還會(huì)立即送出一個(gè)從地址,來通知將與它進(jìn)行數(shù)據(jù)通信的從器件。1個(gè)字節(jié)的地址包括7位地址信息和1位傳輸方向指示位,如果第7位為0,表示要進(jìn)行一個(gè)寫操作,如果為1,表示要進(jìn)行一個(gè)讀操作。
(7)SDA線上傳輸?shù)拿總€(gè)字節(jié)長度都是8位,每次傳輸種字節(jié)的數(shù)量沒有限制的。在開始信號(hào)后面的第一個(gè)字節(jié)是地址域,之后每個(gè)傳輸字節(jié)后面都有一個(gè)應(yīng)答位(ACK),傳輸中串行數(shù)據(jù)的MSB(字節(jié)高位)首先發(fā)送。
(8)如果數(shù)據(jù)接收方無法再接收更多的數(shù)據(jù),它可以通過將SCL保持低電平來中斷傳輸,這樣可以迫使數(shù)據(jù)發(fā)送方等待,直到SCL被重新釋放。這樣可以達(dá)到高低速設(shè)備同步。
(9)IIC總線的工作過程:SDA和SCL都是雙向的??臻e的時(shí)候,SDA和SCL都是高電平,只有SDA變?yōu)榈碗娖?,接著SCL再變?yōu)榈碗娖?,IIC總線的數(shù)據(jù)傳輸才開始。SDA線上被傳輸?shù)拿恳晃辉赟CL的上升沿被采樣,該位必須一直保持有效到SCL再次變?yōu)榈碗娖?,然后SDA就在SCL 再次變?yōu)楦唠娖街皞鬏斚乱粋€(gè)位。最后,SCL變回高電平,接著SDA也變?yōu)楦唠娖?,表示?shù)據(jù)傳輸結(jié)束。
17、以太網(wǎng)接口
(1)最常用的以太網(wǎng)協(xié)議是IEEE802.3標(biāo)準(zhǔn)。
(2)傳輸編碼(06和07年都有******):曼徹斯特編碼和差分曼徹斯特編碼。
A、曼徹斯特編碼:每位中間有一個(gè)電平跳變,從高到底的跳變表示“0”,從低到高的跳變表示為“1”。
B、差分曼徹斯特編碼:每位中間有一個(gè)電平跳變,利用每個(gè)碼元開始時(shí)有無跳變來表示“0”或“1”,有跳變?yōu)?ldquo;0”,無跳變?yōu)?ldquo;1”。
(3)相比之下,曼徹斯特編碼編碼簡單,差分曼徹斯特編碼提供更好的噪聲抑制性能。
(4)以太網(wǎng)數(shù)據(jù)傳輸特點(diǎn):
A、所有數(shù)據(jù)位的傳輸由低位開始,傳輸?shù)奈涣鲿r(shí)用曼徹斯特編碼。
B、以太網(wǎng)是基于沖突檢測的總線復(fù)用方法,由硬件自動(dòng)執(zhí)行。
C、傳輸?shù)臄?shù)據(jù)長度,目的地址DA+源地址SA+類型字段TYPE+數(shù)據(jù)段DATA+填充位PAD,最小為60B,最大為1514B。
D、通常以太網(wǎng)卡可以接收3種地址的數(shù)據(jù):廣播地址、多播地址、自己的地址。
E、任何兩個(gè)網(wǎng)卡的物理地址都不一樣,是世界上唯一的,網(wǎng)卡地址由專門機(jī)構(gòu)分配。
(5)嵌入式以太網(wǎng)接口有兩種實(shí)現(xiàn)方法:
A、嵌入式處理器+網(wǎng)卡芯片(例如:RTL8019AS、CS8900等)
B、帶有以太網(wǎng)接口的處理器。
(6)TCP/IP是一個(gè)分層協(xié)議,分為:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。每層實(shí)現(xiàn)一個(gè)明確的功能,對(duì)應(yīng)一個(gè)或幾個(gè)傳輸協(xié)議,每層相對(duì)于它的下層都作為一個(gè)獨(dú)立的數(shù)據(jù)包來實(shí)現(xiàn)。每層上的協(xié)議如下:
A、應(yīng)用層:BSD套接字。
B、傳輸層:TCP、UDP。
C、網(wǎng)絡(luò)層:IP、ARP、ICMP、IGMP
D、數(shù)據(jù)鏈路層:IEEE802.3 Ethernet MAC
E、物理層:二進(jìn)制比特流。
(7)ARP(地址解析協(xié)議)
A、網(wǎng)絡(luò)層用32位的地址來標(biāo)識(shí)不同的主機(jī)(即IP地址),而鏈路層使用48位的物理地址(MAC)來標(biāo)識(shí)不同的以太網(wǎng)或令牌網(wǎng)接口。
B、ARP功能:實(shí)現(xiàn)從IP地址到對(duì)應(yīng)物理地址的轉(zhuǎn)換。
(8)ICMP(網(wǎng)絡(luò)控制報(bào)文協(xié)議)
A、IP層用它來與其他主機(jī)或路由器交換錯(cuò)誤報(bào)文和其他重要控制信息。
B、ICMP報(bào)文是在IP數(shù)據(jù)包內(nèi)被傳輸?shù)摹?p>C、網(wǎng)絡(luò)診斷工具ping和traceroute其實(shí)就是ICMP協(xié)議。
(9)IP(網(wǎng)際協(xié)議)
A、IP工作在網(wǎng)絡(luò)層,是TCP/IP協(xié)議族中最為核心的協(xié)議。
B、所有的TCP、UDP、ICMP及IGMP數(shù)據(jù)都以IP數(shù)據(jù)包格式傳輸。
C、TTL(生存時(shí)間字段):指定了IP數(shù)據(jù)包的生存時(shí)間(數(shù)據(jù)包可以經(jīng)過的路由器數(shù))。
D、IP提供不可靠、無連接的數(shù)據(jù)包傳送服務(wù),高效、靈活。
a、不可靠:它不能保證數(shù)據(jù)包能成功到達(dá)目的地,任何要求的可靠性必須由上層來提供(如TCP)。如果發(fā)生某種錯(cuò)誤,IP有一個(gè)簡單的錯(cuò)誤處理算法--丟棄該數(shù)據(jù)包,然后發(fā)送ICMP消息報(bào)給信源端。
b、無連接:IP不維護(hù)任何關(guān)于后續(xù)數(shù)據(jù)包的狀態(tài)信息。每個(gè)數(shù)據(jù)包的處理都是相互獨(dú)立的。IP數(shù)據(jù)包可以不按順序接收,
(10)TCP(傳輸控制協(xié)議)
TCP協(xié)議是一個(gè)面向連接的可靠的傳輸層協(xié)議,它為兩臺(tái)主機(jī)提供高可靠性的端到端數(shù)據(jù)通信。
(11)UDP(用戶數(shù)據(jù)包協(xié)議)
UDP協(xié)議是一種無連接不可靠的傳輸層協(xié)議,它不保證數(shù)據(jù)包能到達(dá)目的地,可靠性有應(yīng)用層來提供。UDP協(xié)議開銷少,和TCP相比更適合于應(yīng)用在低端的嵌入式領(lǐng)域中。
(12)端口:TCP和UDP采用16位端口號(hào)來識(shí)別上層的用戶,即應(yīng)用層協(xié)議,例如FTP服務(wù)的TCP端口號(hào)都是21,Telnet服務(wù)的TCP端口號(hào)都是23,TFTP服務(wù)的UDP端口號(hào)都是69。
18、CAN總線接口
(1)CAN(Control Area Network,控制器局域網(wǎng))總線是一種多主方式的串行通信總線,是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,最初被用于汽車環(huán)境中的電子控制網(wǎng)絡(luò)。一個(gè)CAN 總線構(gòu)成的單一網(wǎng)絡(luò)中,理想情況下可以掛接任意多個(gè)節(jié)點(diǎn),實(shí)際應(yīng)用中節(jié)點(diǎn)數(shù)據(jù)受網(wǎng)絡(luò)硬件的電氣特性所限制。
(2)總線信號(hào)使用差分電壓傳送。兩條信號(hào)線被稱為CAN_H和CAN_L,靜態(tài)是均為2.5V左右,此時(shí)狀態(tài)表示邏輯1,也可以叫做“隱性”。用CAN_H比CAN_L高表示邏輯0,稱為“顯性”,此時(shí),通常電壓值為CAN_H=3.5V和CAN_L=1.5V。
(3)當(dāng)“顯性”和“隱性”位同時(shí)發(fā)送的時(shí)候,最后總線數(shù)值將為“顯性”這種特性為CAN總線的仲裁奠定了基礎(chǔ)。
評(píng)論