基于ARM和uC/OS的嵌入式SMI網(wǎng)絡轉換器設計與應用
引言
目前,隨著互聯(lián)網(wǎng)和嵌入式系統(tǒng)的高度發(fā)展,越來越多的工業(yè)測控設備已經(jīng)將網(wǎng)絡接入功能作為其默認配置,以實現(xiàn)設備的遠程監(jiān)控和信息分布式處理。然而,大量工業(yè)現(xiàn)場設備尚不具備網(wǎng)絡接口。在IP113F光纖收發(fā)器監(jiān)控系統(tǒng)的開發(fā)中,下位機通過單片機與光纖收發(fā)器的SMI進行通信以實現(xiàn)監(jiān)控,上下位機通過RS-232接口傳輸數(shù)據(jù)。南于串口傳輸距離短,工作人員每天都要到現(xiàn)場對數(shù)據(jù)進行檢查和診斷,不勝其煩。針對這種情況,有必要設計一個SMI到Internet的數(shù)據(jù)傳輸模塊,以便對光纖收發(fā)器的運行狀況作遠程監(jiān)測。
IP113F芯片簡介
IP113F芯片是一款具有網(wǎng)管功能、超低功耗的光纖收發(fā)器,支持3.3V I/O,主要通過SMI(MDC,MDIO)對兩組獨立寄存器進行操作,以實現(xiàn)監(jiān)控或重新設置本地或遠端光纖收發(fā)器的工作狀態(tài)。用戶可以通過串行管理接口來訪問寄存器,如圖1所示。由于IP113F的地址是5位二進制碼,所以一個管理單元最多可同時外掛32(25)個IP113F.數(shù)據(jù)在MDIO上是一位位傳輸?shù)?,是發(fā)生在MDC的上升沿跳變,MDIO上的數(shù)據(jù)通信協(xié)議如表1所示。當SMI處于空閑狀態(tài)時,MDIO則處于高阻態(tài),管理單元在MDIO上發(fā)送32位連續(xù)的"1"和"01"信號來初始化MDIO接口。
整體功能設計
系統(tǒng)的基本功能是32臺光纖收發(fā)器同時通過同一個SMI網(wǎng)絡轉換器與遠程的上位機進行通信,如圖2所示。轉換器完成的具休工作是接收本地或遠端光纖收發(fā)器發(fā)送過來的測試數(shù)據(jù),自動識別其長度和來源,將其轉化為網(wǎng)絡數(shù)據(jù)格式,通過以太網(wǎng)發(fā)送到上位機,同時接收上位機通過以太網(wǎng)發(fā)送過來的控制信息,并自動識別其發(fā)送的目標,再通過SMI口發(fā)送給相應的光纖收發(fā)器。根據(jù)實際需要,可以在上位機中通過以太網(wǎng)配置SMI網(wǎng)絡轉換器的IP地址。
硬件結構設計
轉換器的硬件電路中選用基于arm7內核的嵌入式處理器LPC2214芯片,用于進行整體控制。LPC2214芯片帶有256KB的高速FLASH,并帶有16K片內SRAM.為了滿足通信過程中的數(shù)據(jù)緩存和具備一定系統(tǒng)運行空間的要求,片外利用IS61LV25616AL擴展了512KB的SRAM.另外,通過IIC總線,片外擴展了256字節(jié)的EEPROM,用于保存已設置的IP地址。選用10M全雙工以太網(wǎng)控制器RTL8019AS芯片完成網(wǎng)絡通信功能,HR61101芯片充當網(wǎng)卡變壓器。采用通用I/O口,P0.5和P0.6模擬SIM的通信時序,對IP113F進行數(shù)據(jù)采集。電路整體硬件電路如圖3所示。
LPC2214具有外部存儲器接口,可以擴展4個Bank的存儲器組(Bank0~Bank3),且Bank0~Bank3的片選信號分別為CS0-CS3,本設計中,用Bank0擴展SRAM,Bank3擴展RTL8019AS模塊。由于LPC2210芯片是一個8/16/32位的微處理器,可以接受16位數(shù)據(jù)位寬的讀寫。設計中將RTL8019AS芯片的16位I/O腳IOCS16B連到高電平,實現(xiàn)以16位操作模式讀寫控制寄存器的內容,與用單片機作為處理器的設計相比,系統(tǒng)運行效率提高。通過將RTL8019AS的65腳JP接高電平以選擇跳線工作方式,即RTL8019AS的I/O和中斷由跳線決定,不需外擴EEPROM 93C46芯片存儲信息來控制RTL8019AS的I/O和中斷,減少了連線,提高了高頻電路的穩(wěn)定性。RTL8019AS工作在跳線模式時,其基地址為0X300.由于RTL8019AS工作電源是5V,而LPC2210的I/O電壓是3.3V,因此在總線連接上串接470Ω的保護電阻。
系統(tǒng)軟件設計與實現(xiàn)
引入RTOS
光纖收發(fā)器數(shù)據(jù)采集要求實時性比較高,若采用傳統(tǒng)的前后臺設計方法,會過于復雜,且實時性不能保證。采用實時操作系統(tǒng)RTOS可以解決這個問題。μC/OS-II操作系統(tǒng)是一種源代碼公升的RTOS,具有代碼短小精悍、簡單易學的特點,對本設計來說是一個理想的選擇。
評論