久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 設計應用 > 基于KSZ8873的雙網口協議轉換模塊設計

基于KSZ8873的雙網口協議轉換模塊設計

作者:魯錦鋒 何照安 周洪偉 張磊 時間:2015-11-09 來源:電子產品世界 收藏
編者按:本文基于Micrel公司推出的3端口10/100M交換芯片KSZ8873,充分利用其價格低廉、配置方便、應用多樣等特點,結合PIC32系列單片機,提出并設計出一種RS485/RS232接口轉雙網口的模塊,并且軟件實現了將Modbus-RTU協議與Modbus-TCP、IEC104協議的轉換。該模塊成功應用于光伏并網逆變器中,雙網口設計在組網時采用菊花鏈方式,可節省了布線成本50%以上,同時還具有性能穩定、獨立性強、維護方便等優點。

2 軟件設計

本文引用地址:http://cqxgywz.com/article/281884.htm

2.1 軟件架構

  軟件按照分層思路設計,有驅動層、適配層和應用層。如圖2所示。

  驅動層主要完成與硬件相關的寄存器配置,從硬件寄存器接收數據,傳入適配層,或從適配層接收數據,傳給硬件寄存器。

  適配層隔離了應用層和驅動層的耦合,實現Modbus-RTU協議、Modbus-TCP[3]和IEC104協議的解析,根據不同協議從應用層獲取相關數據,進行格式組幀后,傳入驅動層發送,或者從驅動層獲取數據幀,按照不同協議解析出有效數據,傳入應用層。

  應用層主要完成數據存儲和映射功能,把來自于不同協議的數據進行綜合,按照一定格式進行存儲,并實時刷新。

2.2 軟件流程

  軟件流程如圖3所示。進入主函數后依次進行MCU、驅動層、適配層和應用層的初始化工作,再進入主循環,主循環共包括3個子任務,子任務、子任務和網口子任務。每個子任務主要完成從驅動層接收并解析數據幀,傳入應用層;或者從應用層獲取實時數據,按照協議進行組幀后,傳入驅動層發送。

  為了提高軟件執行效率和可靠性,采用時分方式進行子任務調度,調度時間間隔為10ms。系統使用1ms的時鐘節拍工作,進入主循環前時間計數器t清零,第10ms調用子任務,第20ms調用子任務,第30ms調用網口子任務,并清零時間計數器t。

3 組網模式

  菊花鏈式的組網模式可以替代原有總線。再增加一條網線,可以實現環網,起到冗余作用,提高網絡的可靠性[5]。 如圖4所示。虛線表示增加的網線。

4 結束語

  本文介紹了一種基于芯片的模塊,能夠實現RS485/總線與網口的物理層轉換,再通過軟件實現不同總線上不同協議的轉換。使用該模塊既可以替代現有RS485總線,也可以在新建系統時實現設備網絡化工作,并且能夠快速實現環網,使得網絡更加可靠,低成本和靈活配置也是其主要特點。

參考文獻:

  [1] Datesheet[M].Micrel,INC,2009

  [2]RMII Specification[M].National,INC,1998

  [3]Modicon Modbus Protocol [M],ABB,INC,2002

  [4]PIC32M5XX/6XX/7XX Datesheet[M].Microchip Technology INC,2009

  [5]王浩, 彭川虎, 王平, 等. 用于數字化變電站的嵌入式環網模塊設計[J].電測與儀表,2012,49(12):86-91


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉