1.引言
近幾年來,智能家居發展特別迅速,各種信息家電產品層出不窮[1]。為家電產品提供網絡支持,通過互聯網在遠程實現對家電運行狀態的查詢、控制以及家電產品通過網絡實現遠程升級將成為家電產品發展的熱點。目前的信息家電產品大多應用嵌入式操作系統,可以支配的資源有限,為他們提供完整的網絡協議支持會耗費太多的資源;同時,這些電子產品也只需要基本的或者說某些特定的網絡應用。因而,把開源的輕量級IP協議——LwIP,移植到這些產品中是一個很好的選擇。
2.系統設計
3.硬件模塊設計
嵌入式片上操作系統SOPC作為FPGA的一個主要發展方向,具有良好的發展前景和優秀的性能,在11.0后的QuartusII版本中,SOPC Builder更新為Qsys,應用Qsys進行系統設計,能夠提高系統的性能、增強設計的重用功能、能更迅速的進行驗證[3]。在本設計中,FPGA選用Altera公司的EP2C35F484C6芯片,該芯片具有33216個邏輯單元,105個M4k,35個嵌入式18位乘18位乘法器。豐富的資源使得搭建嵌入式平臺更加容易,同時也為以后升級系統提供了發展的空間;SDRAM存儲器采用三星公司的k4s643232,這款芯片具有64Mbit的存儲容量,擁有32位的數據總線,與32位的NiosII處理器相匹配,該芯片的最大速度可以達到166MHz,具有非常大的數據吞吐量,遠遠超過系統性能的需求;以太網模塊采用RTL8212以太網收發器,該芯片可全雙工運行,支持10M/100M/1000M速度等級,具有自動極性修正的功能;采用非易失性Flash存儲芯片epcs16來存儲FPGA配置數據和NiosII軟件代碼,epcs16芯片在系統啟動時完成對FPGA的配置和NiosII的啟動,通過對epcs16芯片內容的更新,還可以實現遠程系統升級[5]。系統還包含對8位LED顯示燈的控制模塊和8個獨立的撥碼開關的狀態查詢模塊,可以遠程讀取撥碼開關的狀態和控制LED燈的亮滅。系統的整個硬件結構如圖2所示。
4.軟件模塊設計
4.2 LwIP協議的移植
LwIP是瑞典計算機科學院的一個開源的TCP/IP協議棧實現,LwIP英語單為light weight Internet protocol,即輕量級網絡協議。LwIP主要應用于嵌入式設計中進行網絡通信,它在提供必要的通信協議的基礎上,盡量減少代碼量和對內存的占用。目前LwIP的最新版本為1.4.1,同以前的版本相比,更正前面版本的BUG和對一部分函數進行了改寫,同時添加了幾個函數和宏定義,協議運行時占用的內存有部分減少。
LwIP協議棧并不依賴于某一個特殊的運行環境,它是獨立于操作系統之外的,LwIP協議棧與操作系統的聯系是通過操作系統模擬層來連接的。因此,對于LwIP的移植,本文就GCC編譯器,NiosII CPU和μC/OS-II 2.86版本以及以太網收發器RTL8212進行相關頭文件和C程序的編寫。
在移植過程中,GCC編譯器的結構體是4字節對齊的,LwIP在處理數據包時是按照位進行處理的,需要定義以下幾個宏來讓處理器放棄對齊。
4.3 網絡收發器IP核的編寫
5.系統工作方式及測試
對于FPGA的遠程更新,將會對存儲芯片epcs16里面的內容進行改寫;數據一旦損壞,將會對系統造成不可估量的損害,因此,通信過程將會采取更加復雜的驗證方式。其狀態轉移如下圖所示。當接收到的數據包是升級請求(FFFFFF101111)時,系統發送確認升級(FFFFFF101110)信息,然后把收到的升級數據存儲在SDRAM的一個連續的內存空間;當升級數據接收完畢后,系統把收到的數據全部發送回去,然后主機對收到的數據進行檢查,確認數據沒有出現錯誤,當系統收到主機發送過來的確認無誤信息之后,系統激活讀寫EPCS FLASH的任務,完成升級信息的存儲;這些工作進行完之后,系統重新啟動,加載新的配置數據和程序,完成系統升級。 文章來源:中國家具網www.lmnu.cn 順德家具網www.sdjjw.com 轉載請保留原文鏈接
6.結論
在Altera公司的EP2C35F484C8芯片上,運用QuartusII和NiosII Eclipse軟件進行程序設計,編寫通用的網卡芯片控制MAC IP核,移植了μC/OS-II實時操作系統和LwIP協議棧,實現了TCP/IP通信。經過遠程獲取撥碼開關的狀態和控制LED的亮滅以及實現系統遠程更新程序的實驗,來模擬智能家居的遠程監控、遠程操得和遠程升級,到了正確的結果。隨著智能家居的迅速發展,在具有嵌入式系統的家電產品上面實現網絡遠程控制,將會越來越普及,同時給我們的生活帶來全新的體驗。
近幾年來,智能家居發展特別迅速,各種信息家電產品層出不窮[1]。為家電產品提供網絡支持,通過互聯網在遠程實現對家電運行狀態的查詢、控制以及家電產品通過網絡實現遠程升級將成為家電產品發展的熱點。目前的信息家電產品大多應用嵌入式操作系統,可以支配的資源有限,為他們提供完整的網絡協議支持會耗費太多的資源;同時,這些電子產品也只需要基本的或者說某些特定的網絡應用。因而,把開源的輕量級IP協議——LwIP,移植到這些產品中是一個很好的選擇。
2.系統設計
3.硬件模塊設計
嵌入式片上操作系統SOPC作為FPGA的一個主要發展方向,具有良好的發展前景和優秀的性能,在11.0后的QuartusII版本中,SOPC Builder更新為Qsys,應用Qsys進行系統設計,能夠提高系統的性能、增強設計的重用功能、能更迅速的進行驗證[3]。在本設計中,FPGA選用Altera公司的EP2C35F484C6芯片,該芯片具有33216個邏輯單元,105個M4k,35個嵌入式18位乘18位乘法器。豐富的資源使得搭建嵌入式平臺更加容易,同時也為以后升級系統提供了發展的空間;SDRAM存儲器采用三星公司的k4s643232,這款芯片具有64Mbit的存儲容量,擁有32位的數據總線,與32位的NiosII處理器相匹配,該芯片的最大速度可以達到166MHz,具有非常大的數據吞吐量,遠遠超過系統性能的需求;以太網模塊采用RTL8212以太網收發器,該芯片可全雙工運行,支持10M/100M/1000M速度等級,具有自動極性修正的功能;采用非易失性Flash存儲芯片epcs16來存儲FPGA配置數據和NiosII軟件代碼,epcs16芯片在系統啟動時完成對FPGA的配置和NiosII的啟動,通過對epcs16芯片內容的更新,還可以實現遠程系統升級[5]。系統還包含對8位LED顯示燈的控制模塊和8個獨立的撥碼開關的狀態查詢模塊,可以遠程讀取撥碼開關的狀態和控制LED燈的亮滅。系統的整個硬件結構如圖2所示。
4.軟件模塊設計
4.2 LwIP協議的移植
LwIP是瑞典計算機科學院的一個開源的TCP/IP協議棧實現,LwIP英語單為light weight Internet protocol,即輕量級網絡協議。LwIP主要應用于嵌入式設計中進行網絡通信,它在提供必要的通信協議的基礎上,盡量減少代碼量和對內存的占用。目前LwIP的最新版本為1.4.1,同以前的版本相比,更正前面版本的BUG和對一部分函數進行了改寫,同時添加了幾個函數和宏定義,協議運行時占用的內存有部分減少。
LwIP協議棧并不依賴于某一個特殊的運行環境,它是獨立于操作系統之外的,LwIP協議棧與操作系統的聯系是通過操作系統模擬層來連接的。因此,對于LwIP的移植,本文就GCC編譯器,NiosII CPU和μC/OS-II 2.86版本以及以太網收發器RTL8212進行相關頭文件和C程序的編寫。
在移植過程中,GCC編譯器的結構體是4字節對齊的,LwIP在處理數據包時是按照位進行處理的,需要定義以下幾個宏來讓處理器放棄對齊。
4.3 網絡收發器IP核的編寫
5.系統工作方式及測試
對于FPGA的遠程更新,將會對存儲芯片epcs16里面的內容進行改寫;數據一旦損壞,將會對系統造成不可估量的損害,因此,通信過程將會采取更加復雜的驗證方式。其狀態轉移如下圖所示。當接收到的數據包是升級請求(FFFFFF101111)時,系統發送確認升級(FFFFFF101110)信息,然后把收到的升級數據存儲在SDRAM的一個連續的內存空間;當升級數據接收完畢后,系統把收到的數據全部發送回去,然后主機對收到的數據進行檢查,確認數據沒有出現錯誤,當系統收到主機發送過來的確認無誤信息之后,系統激活讀寫EPCS FLASH的任務,完成升級信息的存儲;這些工作進行完之后,系統重新啟動,加載新的配置數據和程序,完成系統升級。 文章來源:中國家具網www.lmnu.cn 順德家具網www.sdjjw.com 轉載請保留原文鏈接
6.結論
在Altera公司的EP2C35F484C8芯片上,運用QuartusII和NiosII Eclipse軟件進行程序設計,編寫通用的網卡芯片控制MAC IP核,移植了μC/OS-II實時操作系統和LwIP協議棧,實現了TCP/IP通信。經過遠程獲取撥碼開關的狀態和控制LED的亮滅以及實現系統遠程更新程序的實驗,來模擬智能家居的遠程監控、遠程操得和遠程升級,到了正確的結果。隨著智能家居的迅速發展,在具有嵌入式系統的家電產品上面實現網絡遠程控制,將會越來越普及,同時給我們的生活帶來全新的體驗。