<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 基于KSZ8873的雙網(wǎng)口協(xié)議轉換模塊設計

基于KSZ8873的雙網(wǎng)口協(xié)議轉換模塊設計

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

2 軟件設計

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

2.1 軟件架構

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

  驅動(dòng)層主要完成與硬件相關(guān)的寄存器配置,從硬件寄存器接收數據,傳入適配層,或從適配層接收數據,傳給硬件寄存器。

  適配層隔離了應用層和驅動(dòng)層的耦合,實(shí)現Modbus-RTU協(xié)議、Modbus-TCP[3]和IEC104協(xié)議的解析,根據不同協(xié)議從應用層獲取相關(guān)數據,進(jìn)行格式組幀后,傳入驅動(dòng)層發(fā)送,或者從驅動(dòng)層獲取數據幀,按照不同協(xié)議解析出有效數據,傳入應用層。

  應用層主要完成數據存儲和映射功能,把來(lái)自于不同協(xié)議的數據進(jìn)行綜合,按照一定格式進(jìn)行存儲,并實(shí)時(shí)刷新。

2.2 軟件流程

  軟件流程如圖3所示。進(jìn)入主函數后依次進(jìn)行MCU、驅動(dòng)層、適配層和應用層的初始化工作,再進(jìn)入主循環(huán),主循環(huán)共包括3個(gè)子任務(wù),子任務(wù)、子任務(wù)和網(wǎng)口子任務(wù)。每個(gè)子任務(wù)主要完成從驅動(dòng)層接收并解析數據幀,傳入應用層;或者從應用層獲取實(shí)時(shí)數據,按照協(xié)議進(jìn)行組幀后,傳入驅動(dòng)層發(fā)送。

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

3 組網(wǎng)模式

  菊花鏈式的組網(wǎng)模式可以替代原有總線(xiàn)。再增加一條網(wǎng)線(xiàn),可以實(shí)現環(huán)網(wǎng),起到冗余作用,提高網(wǎng)絡(luò )的可靠性[5]。 如圖4所示。虛線(xiàn)表示增加的網(wǎng)線(xiàn)。

4 結束語(yǔ)

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

參考文獻:

  [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]王浩, 彭川虎, 王平, 等. 用于數字化變電站的嵌入式環(huán)網(wǎng)模塊設計[J].電測與儀表,2012,49(12):86-91


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>