新聞中心

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

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

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

        2 軟件設計

        本文引用地址:http://www.104case.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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黄大仙区| 濉溪县| 柳州市| 灌南县| 沁水县| 北碚区| 巴彦县| 常山县| 含山县| 桃源县| 垫江县| 弋阳县| 固始县| 宁安市| 建阳市| 新竹县| 望谟县| 九龙县| 卢氏县| 呼伦贝尔市| 荔浦县| 枣阳市| 黄浦区| 安多县| 和龙市| 彩票| 合肥市| 灵丘县| 潍坊市| 普格县| 泰来县| 紫金县| 涞源县| 肇源县| 永泰县| 滕州市| 临安市| 咸宁市| 即墨市| 建平县| 博客|