基于IP2022的嵌入式設備與以太網互連系統的設計
IP2022提供有完善的軟件開發工具,主要包括Ubicom集成IDE和Ubicom配置工具。Ubicom集成IDE提供了直觀的用戶界面,包括編輯器、項目管理器、器件編程和調試的工具,可以方便用戶進行軟件工程的項目管理與最終的實現。Ubicom配置工具可以方便的添加軟件包,設置軟件包所用的IP2022硬件資源,確定各軟件包之間的關系,自動鏈接到目標代碼。
系統主要是用來完成RS-485串口和以太網之間的數據轉換和傳輸,在硬件上擁有了RS-485接口和以太網RJ45接口之后,軟件上還必須利用IP2022的配置工具加載ipOS、ipStack、ipEthernet和ipUART四個軟件模塊。
ipOS操作系統模塊是Ubicom設計的可配置的嵌入式實時操作系統,它是專為網絡應用而優化的。ipStack協議棧模塊是符合工業標準的TCP/IP網絡連接協議棧,它提供直接Internet尋址功能,設計者不需要使用外部物理接口芯片或PC網關就能設計嵌入式網絡設備。ipUART串口模塊提供了異步串口通信功能,系統加載ipUART軟件模塊后,芯片具備了異步收發(UART)能力,能夠支持串口通信。ipEthernet 以太網模塊完全實現了10Base-T以太網物理層接口(包括MAC和PHY功能),只需使用一個IP2022和少量的外部電路就能實現嵌入式設備接入以太網。圖5為系統主程序的流程圖。
因為我們配置的IP2022芯片的操作系統是以單任務方式運行的,每一個物理接口和一些操作系統功能都需要被輪詢,因此,輪詢必須盡可能的返回以防阻礙了其它系統程序的執行。IP2022的運行速度很快,在RAM中可以達到120MIPS,在Flash中可以達到30MIPS,所以輪詢速度是可以滿足實際要求的。
初始化主要是初始化操作系統和初始化協議棧。在操作系統主要是初始化主要的寄存器、系統調試支持代碼、系統定時器;在協議棧主要是初始化IP2022的netbuf/netpage存儲機制、TCP協議。
利用IP2022的配置工具增加ipEthernet以太網軟件模塊,設置以太網接口所用的IP2022硬件端口資源,調用軟件包ipEthernet中的函數ip2k_eth_instance_alloc( )創建虛擬外設以太網驅動器。
調用軟件包ipStack中的函數eth_ip_arp_instance_alloc( )創建以太網鏈路層到IP層的實例,調用函數dhcp_client_instance_alloc( )創建DHCP實例。
利用IP2022配置工具增加ipUART軟件模塊,設置所用的IP2022硬件資源、串口波特率等參數,調用軟件包ipUART中的函數 uart_vp_instance_alloc( )創建一個虛擬外設UART,調用函數uart_listen( )對串口進行偵聽。
從圖5中可以看出進入主循環后,首先對以太網口進行輪詢,然后再對串口輪詢,這樣保證從以太網口來的指令能夠優先及時地得到處理。如果輪詢到端口有數據發送或接收,就對數據進行協議的轉換和傳輸,其具體的流程如圖6所示。
4 結束語
本互聯系統實現了帶有RS-485串口的嵌入式設備與以太網的連接,進而可以通過以太網接入Internet,從而實現從Internet上監控嵌入式設備,可廣泛應用在工業控制、智能儀器、信息家電等領域,具有較高的實用價值。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)tcp/ip相關文章:tcp/ip是什么
評論