簡化嵌入式裝置的物聯網連接
根據ABI Research公司的統計,目前市場上有超過100億部無線連接裝置,預計在2020年,市場上將出現超過300億部以無線網路連接至物聯網(萬物連網)的裝置。
物聯網(Internet of Things;IoT)由於備受重視,很多OEM廠商發現正承受越來越大的壓力,亟需為多種裝置提供連網功能,以便能在與其它裝置進行通訊的過程中受益。
然而,許多開發人員並不熟悉如何建置穩健可靠的TCP/IP協議堆疊。本文將探究在嵌入式系統中建置網際網路連接的主要問題,並探討新工具如何幫助開發人員在無需處理底層建置細節的情況下輕鬆為系統導入TCP/IP。
TCP/IP協議
TCP/IP(傳輸控制協議/網際網路協議)是一種專用於為連接網際網路的硬體裝置之間實現資料交換的常用語言。這些規則負責管理終端作業系統(Windows、iOS、Linux等)與一組特定協議(包括SMTP、FTP、HTTP等)之間的交換機制。
TCP/IP被分為多個‘層’(如下圖)。網際網路資料以資料段的格式從應用層發送到傳輸層。在實體層中,資料按照IEEE 802.3規格定義的乙太網路協議以實體方式穿過「網際網路」。乙太網路有很多種,可提供不同的最大位元速率、傳輸模式和傳輸介質(光纖、同軸纜線等)。媒體存取控制(MAC)是實體層的一個重要部份,而且MAC位址代表節點在乙太網路上的實體位址。每個乙太網路架構都包含一個來源位址和一個目標位址。
網際網路上的資料傳輸
應用層提供使用者介面。以下是常用的應用層協議:
•超文字傳輸協議(HTTP):傳輸與瀏覽全球資訊網(World Wide Web)有關的資料
•簡單郵件傳輸協議(SMTP):透過網際網路傳送電子郵件
•檔案傳輸通訊協議(FTP):透過網際網路傳送檔案
•網域名稱系統(DNS):轉換網域名稱
•動態主機設定通訊協議(DHCP):針對特定節點動態分配IP位址
•Telnet:為節點建立互動式TCP互連
•簡單網路時間協議(SNTP):允許節點依照參考時脈進行時脈同步
•簡單網路管理協議(SNMP):針對故障等需要加入干預的情況監控網路連接裝置。
TCP/IP和物聯網
嵌入式TCP/IP協議堆疊中兩項最普遍的用途是訊息傳送以及Web頁面顯示。例如,簡單的SMTP訊息傳送系統可讓微控制器(MCU)獲取感測器讀數,並以預先設定的間隔將這些讀數透過電子郵件或訊息的方式傳送至中央資源庫,以便進行記錄和分析。
這一類系統在家中的應用方式包括將房間溫度每隔一小時透過電子郵件發送給住戶。當然,這個實例可進一步延伸。例如,嵌入式微控制器可以監控門窗是否上鎖以及電燈是否熄滅。
嵌入式系統可全天監控此類資訊。如果住戶因加班晚回家,他或她可以利用HTTP要求微控制器發送一個包含所有相關資訊的Web頁面。然後,住戶透過改變Web頁面中的幾個欄位選項即可打開某些房間的燈、升高溫度以及執行其它任務。
有多種方法可用來建置能夠滿足各個系統要求的乙太網路子系統。
乙太網路控制器模組 一種包含TCP/IP硬線晶片、變壓器和RJ45的控制器模組,可顯著簡化連接功能。有多種現成的模組可供選擇,其價格低廉且能加速產品的上市時程。對於想要快速開發出網際網路系統的工程師來說,這種方案是理想選擇。
例如,開發人員可以選擇Wiznet的WIZ550io、W5100 shield,以及Rabbit Semiconductor的乙太網模組RCM6760 MiniCore。隨著Arduino平台越來越受歡迎,市場上也開始出現很多相容於正式 Arduino開發板的模組。
TCP/IP IC + MCU 設計人員也可以將TCP/IP控制器連接到嵌入式微控制器上。例如,微芯科技(Microchip)的ENC28J60乙太網模組就能直接以SPI介面連接到大多數的微控制器。這些模組通常有獨立的乙太網路控制器IC,均擁有多種可處理大部份網路通訊協議要求的功能。這一類基礎架構讓設計人員能夠建構且共用其乙太網路專案。
例如,在Github的一項計畫能在可編程系統單晶片(PSoC)控制器與基於ENC28J60的元件之間實現網際網路連接。基於PSoC 3的相同計畫也可以移植到PSoC 5。這種建置方案的優勢在於能釋放微控制器核心與其它晶片上資源,從而用於處理其它系統功能。在硬體層面,我們只需要一個RJ45連接器、磁性元件、一個25MHz 晶體或振盪器以及一些被動元件。
帶lwIP的單晶片微控制器 輕量級IP (lwIP)是一種廣泛使用的開放來源TCP/IP協議堆疊,專門針對嵌入式系統而設計,主要由全球開發人員進行維護。對於很多應用而言,lwIP能提供乙太網路功能,同時顯著減少MCU的資源使用量。在MCU中必須同時提供MAC和PHY以實現該協議堆疊。
對於需要低成本連接方案的設計人員來說,lwIP是一個理想的選擇。然而,在建置過程中有更多工作需要進行DIY,因此開發人員必須願意花精力弄清楚這種協議堆疊。建置這種方案的挑戰在於利用系統資源以及能夠動態分配MAC位址。PSoC的動態可重配置特性使其得以實現這些目標。
PSoC的數位部份由通用數位模組(UDB)組成,這類模組能在精確配置與實現效率之間取得平衡。這種方案的基礎在於透過自訂元件的數位作業來滿足應用要求。例如,可利用晶片上的DMA設計可配置RX & TX FIFO。PSoC設計環境允許開發人員建構自己的乙太網路元件,並將其作為虛擬晶片用於系統級設計中。
結語
連網即是未來,世界正由網際網路推動著,促使通訊變得更加便捷。隨著晶片廠商提供更多具有更豐富建置選項與靈活度的成熟產品,使設計者可以根據自身需要購買不同性能的產品──從現成的一站式(turnkey)模組到DIY嵌入式方案。
(參考原文: Simplify the Internet of Things connectivity of embedded devices ,by Meng He)
社區今日頭條 |
---|