以太網接口基本原理
IEEE802標準
局域網標準協議工作在物理層和數據鏈路層,其將數據鏈路層又劃分為兩層,從下到上分別為介質訪問控制子層(不同的MAC子層,與具體接入的傳輸介質相關),邏輯鏈路控制子層(統一的LLC子層,為上層提供統一的服務)。
IEEE802標準包含很多子標準,主要掌握三種:
(1)IEEE802.1A:局域網體系結構,并定義接口原語。
(2)IEEE802.3:描述CSMA/CD介質接入控制方法和物理層技術規范。
(3)IEEE802.11:描述無線局域網標準。
曼徹斯特編碼
曼徹斯特編碼:在數字信號的每一個bit位中,都會產生一次極性跳變,且數字信號0和1的極性跳變是相反的,即數字信號0會從負極跳變到正極(或從正極跳變到負極),數字信號1會從正極跳變到負極(或從負極跳變到正極),因此,僅有該編碼不能唯一確定一串數字信號。適用于早期的10M局域網。
差分曼徹斯特編碼:不是根據一個二進制位來判斷的,而是根據兩個二進制位之間的電平變化來判斷,數字信號0的前沿極性與之前的相反,1的前沿極性與之前的相同。適用于令牌網。
曼徹斯特編碼和常規編碼如下圖所示。
以太網幀格式
以太網幀格式如下圖所示。
其中,PR是前同步碼,用于收發雙方的時鐘同步;SD是幀開始定界符,表示接下來的是幀數據;DA和SA分別是目的MAC地址和源MAC地址;TYPE是類型,表示IP數據報的類型,如IP包、ARP包等;DATA是數據域,封裝的是上層的完整數據報,大小在46~1500B;PAD是填充位,保證最小幀長;FCS是32位的CRC校驗位。
注意,PR和SD字段是物理層封裝的頭,不屬于以太網幀,規定的以太網幀長范圍是60~1514B,這是因為沒有加上最后的FCS校驗位。
CAN總線接口基本原理
CAN總線特點
控制器局域網(ControllerAreaNetwork,CAN)總線是國際上應用最廣泛的現場總線之一。最初,CAN總線被汽車環境中的微控制器通信,在車載各電子控制裝置之間交換信息,形成汽車電子控制網絡。它是一種現場總線,能有效支持分布式控制和實時控制的串行通信網絡。
CAN總線是一種多主方式的串行通信總線。一個由CAN總線構成的單一網絡中,理想情況下可以掛接任意多個結點,實際應用中結點數目受網絡硬件的電氣特性所限制。例如:當使用PhilipsP82C250作為CAN收發器時,同一網絡中允許掛接110個結點。
CAN總線具有很高的實時性能,已經在汽車工業、航空工業、工業控制、安全防護等領域中得到了廣泛應用。CAN總線能夠使用多種物理介質進行傳輸,例如雙絞線、光纖等。最常用的就是雙絞線。
總線信號使用差分電壓傳送,兩條信號線被稱為CAN_H和CAN_L,靜態時均是2.5V左右,此時狀態表示為邏輯1,也可以叫做“隱性”。
用CAN_H比CAN_L高表示邏輯0,稱為“顯性”。此時,通常電壓值為CAN_H=3.5V和CAN_L=1.5V。
當“顯性”位和“隱性”位同時發送的時候,最后總線數值將為“顯性”。正是這種特性為CAN總線的仲裁奠定了基礎。
位時間
CAN總線的一個位時間可以分成四個部分:同步段,傳播時間段,相位緩沖段1和相位緩沖段2。
每段的時間份額的數目都是可以通過CAN總線控制器編程控制,而時間份額的大小t由系統時鐘tys和波特率預分頻值BRP決定:tq=BRP/tys。下圖說明了CAN總線的一個位時間的各個組成部分。
同步段:用于同步總線上的各個結點,在此段內期望有一個跳變沿出現(其長度固定)。如果跳變沿出現在同步段之外,那么沿與同步段之間的長度叫做沿相位誤差。采樣點位于相位緩沖段1的末尾和相位緩沖段2開始處。
傳播時間段:用于補償總線上信號傳播時間和電子控制設備內部的延遲時間。因此,要實現與位流發送結點的同步,接收結點必須移相。CAN總線非破壞性仲裁規定,發送位流的總線結點必須能夠收到同步于位流的CAN總線結點發送的顯性位。
相位緩沖段1:重同步時可以暫時延長。
相位緩沖段2:重同步時可以暫時縮短。
上述幾個部分的設定和CAN總線的同步、仲裁等信息有關。其主要思想是要求各個結點在一定誤差范圍內保持同步。必須考慮各個結點時鐘(振蕩器)的誤差和總線的長度帶來的延遲(通常每米延遲為5.5ns)。正確設置CAN總線各個時間段,是保證CAN總線良好工作的關鍵。
在嵌入式處理器上擴展CAN總線接口
一些面向工業控制的處理器,本身就集成了一個或者多個CAN總線控制器。CAN總線控制器主要是完成時序邏輯轉換等工作,要在電氣特性上滿足CAN總線標準,還需要一個CAN總線的物理層轉換芯片。用它來實現TTL電平到CAN總線電平特性的轉換,這就是CAN收發器。
實際上,多數嵌入式處理器都不帶CAN總線控制器。在嵌入式處理器的外部總線上擴展CAN總線接口芯片是通用的解決方案。常用的CAN總線接口芯片主要有:Phillips公司的SJA1000和Microchip公司的MCP251x系列(MCP2510和MCP2515)。
SJA1000的總線采用的是地址線和數據線復用的方式,多數嵌入式處理器采用SJA1000擴展CAN總線較為復雜。
MCP2510的CAN總線控制器特點有:支持標準格式和擴展格式的CAN數據幀結構(CAN2.0B);0~8字節的有效數據長度,支持遠程幀;最大1Mb/s的可編程波特率;兩個支持過濾器(Filter、Mask)的接收緩沖區,三個發送緩沖區;支持回環(LoopBack)模式,便于測試;SPI高速串行總線,最大5MHz;3V到5.5V供電。
大多數嵌入式處理器都有SPI總線控制器,可以直接和MCP251x連接,如下圖所示。
MCP2510可以3V到5.5V供電,因此能夠直接和3.3VI/O口的嵌入式處理器連接。這里,使用MCP2510在三星公司的S3C44BOX處理器上擴展CAN總線接口。其電路圖如下圖所示。
在這個電路中,MCP2510使用3.3V電壓供電。它可以直接和S3C44BOX通過SPI總線連接。
相關的資源如下:
(1)使用一個擴展的I/O口(EXIO2)作為片選信號,低電平有效。
(2)用S3C44B0X的外部中斷6(EXINT6)作為中斷管腳,低電平有效。
(3)16MHz晶體作為輸入時鐘,MCP2510內部有振蕩電路,用晶體可以直接起振。(4)使用TJA1050作為CAN總線收發器。
無線以太網基本原理
無線局域網標準
無物理傳輸介質相比較于有線局域網,其優點有:移動性、靈活性、成本低、容易擴充;其缺點有:速度和質量略低,安全性低。
WLAN標準見下表
兩種無線網絡拓撲結構
基礎設施網絡:即Infrastructure結構,通過接入點AP接入,AP是組建小型無線局域網時最常用的設備。AP相當于一個連接有線網和無線網的橋梁,工作在數據鏈路層。其主要作用是將各個無線網絡客戶端連接到一起,然后將無線網絡接入以太網。
特殊網絡(對等網絡):即Ad-hoc結構,是一種點對點的連接,不需要有線網絡和接入點的支持,終端設備之間通過無線網卡直接通信,結點之間對等,每個結點既是主機,又是路由器,形成網絡。所有無線終端必須使用相同的工作組名、ESSID和密碼。
三種WLAN通信技術
紅外線:定向光束紅外線、全方向廣播紅外線、漫反射紅外線。
擴展頻譜:將信號散布到更寬的帶寬上以減少發生阻塞和干擾的機會,包括頻率跳動擴頻FHSS、直接序列擴頻DSSS。
窄帶微波:申請許可證的窄帶RF、免許可證的窄帶RF。
藍牙接口基本原理
藍牙技術原理
藍牙技術是一種用于各種固定于移動數字化硬件設備之間的低成本、近距離無線通信連接技術。其目的是使特定的移動電話、便攜式電腦以及各種便攜通信設備的主機之間在近距離內實現無縫的資源共享。
藍牙技術的實質是要建立通用的無線電空中接口及其控制軟件的公開標準:工作頻段為全球通用的2.4GHzISM(即工業、科學、醫學)頻段;數據傳輸速率為1Mb/s,采用時分雙工方案來實現全雙工傳輸;理想的連接范圍為10cm~10m。
藍牙基帶協議是電路交換與分組交換的結合。可以進行異步數據通信,可以支持多達三個同時進行的同步話音信道,還可以用一個信道同時傳送異步數據和同步話音。每個話音信道支持64kb/s,同步話音鏈路。異步信道可以支持一端最大速率為721kb/s,而另一端速率為57.6kb/s的不對稱連接,也可以支持43.2kb/s的對稱連接。
藍牙技術的特點
傳輸距離短:工作距離在10m以內。
采用調頻擴頻技術FHSS:將2.4GHz~2.4835GHz之間劃分出79個頻點,調頻速率為每秒1600次,數據包短,更高的安全性和抗干擾能力。
采用時分復用多路訪問技術TDMA:有效地避免了碰撞和隱蔽終端的問題。
網絡技術:幾個微微網(Piconet)可以被連接在一起,并依靠跳頻順序識別每個Piconet。同一個Piconet的所有用戶都與這個跳頻順序同步。
語音支持:語音信道采用CVSD(連續可變斜率增量調制)語音編碼方案,且從不重發語音數據包。CVSD編碼擅長處理丟失和被損壞的語音采樣,即使錯誤率達到4%,經過CVSD編碼處理的語音同樣可以被識別。
糾錯技術:采用的是FEC(前向糾錯)方案,其目的是為了減少數據重發的次數,降低數據傳輸負載。
藍牙接口的組成
藍牙接口主要由三大單元組成。
(1)無線單元:主要完成基帶信號和射頻信號之間的上下轉換,實現數據流的過濾和傳輸。
(2)基帶單元:主要完成跳頻控制,數據和信息的打包與傳輸。
(3)鏈路管理與控制單元:是系統的核心部分,它負責連接的建立和拆除以及鏈路的安全和控制,還要為上層軟件提供訪問入口。
鏈路管理與控制
在Piconet內的連接被建立之前,所有的設備都處于旁觀(standby)狀態。此時,這些設備周期性地“監聽”其他設備發出的查詢(inquire)消息或尋呼(page)信息。
首先請求連接的單元是master單元,如果對方地址己經存在于master單元的地址簿中,master單元則通過發出尋呼(page)消息包請求建立連接;如果地址未知,則首先通過查詢(inqure)消息包查詢覆蓋范圍內其他單元的地址,然后再用尋呼(page)消息包建立連接。
如果Piconet中已經處于連接的設備在較長一段時間內沒有數據傳輸,master可以把slave置為hold(保持)模式,這時,hold模式只有一個內部計數器工作。一般用于連接好幾個微微網的情況或者耗能低的設備。
藍牙還支持sniff模式和park模式兩種節能工作模式:在sniff(呼吸)模式下,slave降低了從Piconet“收聽”消息的速率,“呼吸”間隔可以依應用要求做適當調整;在park(暫停)模式下,設備依然與Piconet同步但沒有數據傳送。
藍牙接口的主要應用
藍牙在移動電話中的應用:無線耳機、車載電話;可以實現與計算機、其他設備無線連接,組成一個方便靈活的WPAN。
藍牙在計算機中的應用:藍牙接口可以直接集成到計算機主板或通過PC卡、USB接口連接,實現計算機之間及計算機與外設之間的無線連接。
藍牙其他方面的應用:汽車行業對汽車各部件的實時控制;建筑行業實現智能化住宅。
IEEE1394接口基本原理
IEEE1394總線特點
IEEE1394是美國Apple公司率先提出的一種高品質、高傳輸速率的串行總線技術。1995年被IEEE認定為串行工業總線標準。1394作為一種標準總線,可以在不同的工業設備之間架起一座溝通的橋梁,在一條總線上可以接入63個設備。
(1)支持多種總線速度,適應不同的應用要求。
(2)即插即用,支持熱插拔:設備的資源均由總線控制器自動分配,總線控制器會自動重新配置好設備。
(3)支持同步和異步兩種傳輸方式:設備可以根據需要動態地選擇傳輸方式,總線自動完成帶寬分配;要求實時傳輸并對數據的完整性要求不嚴格的場合,可采用同步傳輸方式;對數據完整性要求較高的場合,采用異步傳輸方式更好。
(4)支持點到點通信模式:多主總線結構,每個設備均可以獲取總線的控制權,與其他設備進行通信。
(5)遵循ANSI/IEEE1212控制及狀態寄存器(CSR)標準,該標準定義了64位的地址空間;可尋址1024條總線的63個結點,每個結點可包含256TB的內存空間。
(6)支持較遠距離的傳輸:普通線纜2個設備之間的最大距離可達4.5m(高級線纜可達15m);玻璃光纜或5類雙絞線設備間距離可達100m以上。
(7)支持公平仲裁原則,為每一種傳輸方式保證足夠的傳輸帶寬,支持錯誤檢測和處理。
(8)六線電纜具有電源線,可傳輸8~40V的直流電壓,某些特定的結點可通過電源線向總線供電,其他結點可以從總線獲取能量。
IEEE1394的協議結構
IEEE1394的協議由三層組成:物理層、鏈路層及事務層。另外還有一個管理層。物理層和鏈路層由硬件構成,而事務層主要由軟件實現,如下圖所示。
物理層提供了IEEE1394的電氣和機械接口,它的功能是重組字節流并將它們發送到目的結點上去。同時,物理層為鏈路層提供服務,解析字節流并發送數據包給鏈路層。
鏈路層提供了給事務層確認的數據包服務,包括:尋址、數據組幀及數據校驗。提供直接面向應用的服務;支持同步和異步傳輸模式;鏈路層的底層提供了仲裁機制,以確保同一時間上只有一個結點在總線上傳輸數據。
事務層為應用提供服務。它定義了三種基于請求響應的服務,分別為read、write和lock。只支持異步傳輸。同步傳輸服務由鏈路層提供。
管理層定義了一個管理結點所使用的所有協議、服務以及進程。電纜環境下,IEEE1394定義了兩大類管理:總線管理(BM)和同步資源管理(IRM)。BM包含總線的電源管理信息、拓撲結構信息及不同結點的速度極限信息,以便協調不同速度設備之間的通信。IRM管理同步資源,如可用頻道信息以及帶寬的分配。
嵌入式系統電源
電源分類
所有嵌入式系統設計都必須包含電源,可以選擇AC電源插座或電池供電。
AC電源:對于便攜性沒有太高要求的嵌入式系統,可以采用交流電供電。但是交流電壓高,需轉換成電壓低得多的直流電。可以使用交流電適配器,提供+5VDC~+12VDC不等的輸出電壓,電流可高達500mA。
電池:使用方便,容易攜帶,但需要選擇合適的電壓和足夠的電流,且系統設計合理,才能保證嵌入式系統的正常工作。選擇電池時,要考慮它的平均電流、峰值電流,才能在負載恒定和峰值負載的時候給系統供電。
穩壓器
穩壓器是一個把輸入的DC電壓轉換為固定輸出DC電壓的半導體設備,它主要用來為系統提供恒定的電壓。恒定電壓作為參考電壓,如A/D轉換器。穩壓器有助于去除電源的噪聲,起到了保護和隔離的作用。
下面介紹DC-DC轉換器的穩壓器類型,它可以接收不穩定的DC電壓,而輸出一個恒定電壓值的穩定DC電壓。DC-DC轉換器有三種類型:
(1)線性穩壓器。產生較輸入電壓低的電壓。體積小、價格便宜、噪聲小,使用方便。
(2)開關穩壓器。能升高電壓、降低電壓或翻轉輸入電壓。功耗低、效率高,但需要較多的外部器件、噪聲大。
(3)充電泵。可以升壓、降壓或翻轉輸入電壓,但電流驅動能力有限。
任何變壓器的轉換過程都不具有100%的效率,穩壓器本身也使用電流(稱為靜態電流),這個電流來自輸入電流。靜態電流越大,穩壓器的功耗越大。在選擇穩壓器時,應盡量選擇既能滿足嵌入式系統電壓和電流的要求,又保證靜態電流低的變壓器。
電源管理技術
嵌入式系統中常用的電源管理技術如下。
(1)系統上電行為:微處理器及其片上外設一般均以最高時鐘頻率上電啟動,不必要的電源消耗器件應關閉或使之處于空閑狀態。
(2)空閑模式:關閉不需要的時鐘,可消除不必要的有效功耗,但靜態功耗仍然在。
(3)斷電:僅在系統需要時才給子系統上電。
(4)電壓與頻率縮放:有效功耗與切換頻率呈線性比例,但與電源電壓平方成正比。經較低的頻率運行應用與在全時鐘頻率上運行該應用并轉入閑置相比,并不能節約多少功率。但是,如果頻率與平臺上可用的更低操作電壓兼容,那么就可以通過降低電壓來大大節約功耗,這正是因為存在上述平方關系的緣故。
降低功耗的設計技術
降低功耗的設計技術如下。
(1)采用低功耗器件:例如選用CMOS電路芯片。
(2)采用高集成度專用器件,外部設備的選擇也要盡量支持低功耗設計。
(3)動態調整處理器的時鐘頻率和電壓,在允許的情況下盡量使用低頻率器件。
(4)利用節電工作方式。
(5)合理處理器件空余引腳:大多數數字電路的輸出端在輸出低電平時,其功耗遠大于輸出高電平時的功耗,設計時應注意控制低電平的輸出時間,閑置時使其處于高電平輸出狀態。因此,多余的非門、與非門的輸入端應接低電平,多余的與門、或門的輸入端應接高電平。對ROM或RAM及其他有片選信號的器件,不要將“片選”引腳直接接地,避免器件長期被接通,而應與“讀/寫”信號結合,只對其進行讀或寫操作時才選通器件。
(6)實行電源管理,設計外部器件電源控制電路,控制耗電大戶的供電情況。