?? 21ic can總線與以太網互連系統設計.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0061)http://www.21ic.com/new_info/news/files/news/20043905058.html -->
<HTML><HEAD><TITLE>21IC: CAN總線與以太網互連系統設計</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TD {
FONT-SIZE: 12px
}
INPUT {
FONT-SIZE: 12px; font-fammily: verdana,宋體
}
A:link {
FONT-SIZE: 12px; COLOR: #0000ff; LINE-HEIGHT: 16px; TEXT-DECORATION: underline
}
A:visited {
FONT-SIZE: 12px; COLOR: #660066; LINE-HEIGHT: 16px; TEXT-DECORATION: underline
}
A:hover {
FONT-SIZE: 12px; COLOR: #ff0000; TEXT-DECORATION: underline
}
.unnamed1 {
FONT-SIZE: 12px; FONT-FAMILY: "Arial", "Helvetica", "sans-serif"
}
.white {
FONT-SIZE: 12px; COLOR: #ffffff; LINE-HEIGHT: 16px
}
.b:link {
FONT-SIZE: 12px; COLOR: #3366cc; LINE-HEIGHT: 18px; TEXT-DECORATION: underline
}
.b:visited {
FONT-SIZE: 12px; COLOR: #813f1b; LINE-HEIGHT: 18px; TEXT-DECORATION: none
}
.b:hover {
FONT-SIZE: 12px; COLOR: #ffa037; LINE-HEIGHT: 18px; TEXT-DECORATION: underline
}
.148xg {
FONT-SIZE: 14px; COLOR: #0000ff; LINE-HEIGHT: 14pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: underline
}
.128dt {
FONT-SIZE: 14px; COLOR: #9999cc; LINE-HEIGHT: 14pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.heigh150 {
LINE-HEIGHT: 150%
}
</STYLE>
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff leftMargin=0 topMargin=5>
<TABLE cellSpacing=0 cellPadding=0 width=768 align=center border=0>
<TBODY>
<TR>
<TD align=middle width=168 height=80><IMG
src="21IC CAN總線與以太網互連系統設計.files/21ic.gif"></TD>
<TD width=472>
<SCRIPT language=javascript
src="21IC CAN總線與以太網互連系統設計.files/ads.htm"></SCRIPT>
</TD>
<TD height=80>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=b12 align=middle height=30><FONT
face="Arial, Helvetica, sans-serif" color=#000000>
<SCRIPT language=JavaScript
src="21IC CAN總線與以太網互連系統設計.files/date.js"></SCRIPT>
</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=1 width=768 align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width=766 align=left border=0>
<TBODY>
<TR bgColor=#d8d6ba>
<TD width=3 height=20></TD>
<DIV id=Position></DIV>
<TD width=378>
<FORM name=email
action=http://www.21icsearch.com/buzi/mail2/chkemail.asp method=post
target=_blank><B>電子工程周刊:</B> <INPUT class=main
style="BORDER-RIGHT: #0097cf 1px solid; BORDER-TOP: #0097cf 1px solid; BORDER-LEFT: #0097cf 1px solid; BORDER-BOTTOM: #0097cf 1px solid; BACKGROUND-COLOR: #ffffff"
maxLength=255 size=30 value=輸入您的Email name=email> <INPUT class=jbutton type=submit value=訂閱> </TD></FORM>
<DIV></DIV>
<DIV id=Time></DIV>
<DIV id=Image></DIV>
<DIV id=Title></DIV>
<TD width=418>
<MARQUEE onmouseover=this.scrollDelay=99000
onmouseout=this.scrollDelay=80 scrollAmount=2 scrollDelay=80
width="80%"><FONT color=#cc0000><IMG height=12
src="21IC CAN總線與以太網互連系統設計.files/xilan_arrow.gif"
width=16>每周自動接收行業新聞,技術資料,設計文章</FONT></MARQUEE></TD>
<DIV></DIV>
<TD width=9></TD></TR></TBODY></TABLE>
<DIV></DIV>
<DIV id=Time></DIV>
<DIV id=Image></DIV>
<DIV id=Title><TD< td></DIV></TD></TR></TBODY></TABLE></TD></TR></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=0 width=768 align=center border=0>
<TBODY>
<TR>
<TD vAlign=top width=617 height=2>
<TABLE cellSpacing=0 cellPadding=0 width=583 align=center border=0>
<TBODY>
<TR>
<TD align=middle height=31><FONT size=4><B>CAN總線與以太網互連系統設計
</B></FONT></TD></TR>
<TR>
<TD align=middle height=15>文章作者:袁學文 黃天戍 龐 輝 肖文華 周 琦<BR>文章類型:設計應用
文章加入時間:2004年3月9日0:50</TD></TR>
<TR>
<TD align=right><FONT color=#cc0000>文章出處:電子技術應用</FONT> </TD></TR>
<TR>
<TD height=15>
<HR width="100%" noShade SIZE=1>
</TD></TR>
<TR>
<TD height=15>
<TABLE cellSpacing=0 cellPadding=0 align=center border=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE><BR></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=530 align=center border=0>
<TBODY>
<TR>
<TD class=heigh150 height=15>
<DIV id=Content>
<P class=MsoNormal><SPAN
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<B>摘要:</B></SPAN>介紹了一種基于單片機SX52的CAN與以太網互連方案,闡述了以太網和CAN總線網絡協議轉換的軟硬件設計,實現了以太網與現有CAN總線網的直接連接。保證管理監控層(以太網)與生產測控層(CAN總線網)之間的連接,使得上下層數據能方便地通信。</P>
<P class=MsoNormal><SPAN
style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<B>關鍵詞:</B></SPAN>現場總線 CAN總線 以太網</P>
<P
style="TEXT-INDENT: 30px">在大型企業自動化系統中,上層企業管理層和生產監控層一般都采用以太網和PC機,而下層車間現場則采用現場總線和單片機測控設備。上下兩層的溝通,通常采用工業控制機加以太網卡,再加上PC機插槽上的接口卡或并行打印口的EPP接口卡實現。這種連接方式成本高,開發周期長。針對這種情況,筆者設計一種單獨的CAN以太網網關互連系統,成功地實現以太網與現有CAN總線網的直接數據互聯。</P>
<P style="TEXT-INDENT: 0px"><B>1 系統結構</B></P>
<P
style="TEXT-INDENT: 30px">系統總體結構分為三部分:現場測控網絡(CAN網絡)、嵌入式透明SX52網關、以太網信息管理終端(如監控平臺和網絡數據庫等),如圖1所示。<BR><IMG
height=573 hspace=10 src="21IC CAN總線與以太網互連系統設計.files/8a.gif"
width=549 vspace=10 border=0><BR> <SPAN
class=main1>CAN總線是一個設備互連總線型控制網絡。在CAN總線上可以掛接多達110個設備節點,各設備間可以自主相互通信,實現復雜網絡控制系統。但設備信息層無法直接到達信息管理層,要想設備信息進入信息管理層需通過數據網關。嵌入式透明SX52網關就是為此而設計的。</P>
<P
style="TEXT-INDENT: 30px">透明式網關在以太網應用層構建和解析完整的CAN協議數據包。CAN協議數據包作為TCP/IP網絡應用層的數據進行傳輸,它對通信數據的具體實際意義不做任何解釋。透明式網關由通信處理器、CAN總線控制器和以太網控制器三部分組成。其中SX52單片機為核心處理器,它實現了CAN控制網絡與以太網之間的協議轉換。以太網信息管理層的控制指令發送到嵌入式透明SX52網關,將TCP/IP協議包數據轉換為CAN協議形式發送至CAN控制網絡中的指定設備節點,完成信息管理層對現場設備層的控制。同樣地,當CAN網絡上的設備數據(如定時采樣數據或報警信息)要傳輸到信息管理層時,可將數據發送到嵌入式透明SX52網關,再通過網關協議轉換程序將CAN協議數據封裝成TCP/IP協議的以太網數據幀發送至以太網上的監控計算機。</P>
<P
style="TEXT-INDENT: 30px">以太網信息管理終端是一個根據用戶的具體要求而設計的用戶層應用軟件。它可以是一個WIN32監控程序或網絡數據庫(記錄CAN節點設備數據)軟件等;甚至可能是CAN節點設備的服務器軟件,為設備提供較復雜的數據處理工作。<B><BR><BR>2
硬件設計</B></P>
<P
style="TEXT-INDENT: 30px">系統硬件分為兩大部分:CAN總線網絡設備接口設計和嵌入式透明SX52網關設計。</P>
<P style="TEXT-INDENT: 30px">2.1 CAN總線網絡設備接口設計</P>
<P
style="TEXT-INDENT: 30px">CAN總線網絡設備接口設計較網關設計簡單。它是在完成設備功能的基礎上加入一個CAN通信控制器接口芯片,實現與CAN總線網絡的連接。考慮到開發成本和靈活性,筆者在設計中選用PHILIPHS公司的獨立CAN通信控制器SJA1000芯片和CAN總線收發器82C250芯片。其結構如圖2所示。</P>
<P style="TEXT-INDENT: 30px">2.2 嵌入式透明SX52網關設計</P>
<P
style="TEXT-INDENT: 30px">嵌入式透明網關設計是整個系統設計的核心。其結構如圖3所示。它由CAN控制器協議轉換模塊和以太網控制器協議轉換模塊兩部分組成。網關硬件中SX52微處理器起核心作用。它是由美國Ubicom公司研制的高速可配置通信控制器,其處理速度相當高。在外接100MHz時鐘時,指令執行速度可達100
MIPS。它可實現TCP/IP協議棧中的ARP、IP、UDP、TCP、HTTP、SMTP、ICMP等網絡協議。</P>
<P
style="TEXT-INDENT: 30px">CAN控制器協議轉換模塊硬件電路原理如圖3左框圖。它由三部分組成:微控制器SX52、獨立CAN通信控制器SJA1000、CAN總線收發器82C250。其中SX52為唯一的CPU核心,負責SJA1000的初始化,通過讀寫SJA1000內部寄存器實現數據的接收、發送和錯誤處理等。PCA82C250則提供對總線的差動發送能力和對CAN控制器的差動接收能力。<BR><B><IMG
height=455 hspace=10 src="21IC CAN總線與以太網互連系統設計.files/8b.gif"
width=549 vspace=10 border=0></B><BR></SPAN> <SPAN
class=main1>以太網控制器協議轉換模塊主要由微控制器SX52、以太網通信控制器RTL8019AS和隔離濾波器FB2002組成。RTL8019AS是臺灣Realtek公司制造的一種高集成度的全雙工10Mbps以太網控制芯片,實現了基于Ethernet協議的MAC層的全部功能,內置16KB的SRAM、雙DMA通道和FIFO完成數據包的接收和發送功能。在網關設計中,使用跳線模式(JP置為高)硬配置RTL8019AS為8位模式。使用RTL8019的低5位地址線A0~A4以及低8位數據線D0~D7。SX52的B口的B0~B4腳作為地址線連接RTL8019AS的低5位地址線,B5~B7作為控制線分別連接讀寫時序控制腳IORB、IOWB、IOCHRDY;C口作為數據線連接RTL8019AS的低8位數據線;A口保留,用作日后擴展。圖3中AT24C64為8KB
EEPROM,主要用來保存嵌入式透明SX-52網關的配置信息,如網關IP地址、MAC地址和SJA1000的ID網絡標示符、網絡掩碼AMR和總線定時(BTR0、BTR1)等。這樣,可以靈活方便地修改網關參數,適應不同環境,同時也考慮到以后的擴展。</P>
<P
style="TEXT-INDENT: 30px">RTL8019AS除與SX52連接外,還將其網絡收發器的4根引腳TPOUT+、TPOUT-、TPIN+、TPIN-通過外接的隔離濾波器FB2002與以太網相連。采用隔離濾波器FB2002是為了提高網絡通信的抗干擾能力。</P>
<P style="TEXT-INDENT: 0px"><B>3 軟件設計</B></P>
<P
style="TEXT-INDENT: 30px">整個互聯系統的軟件設計可以分為三部分:CAN總線設備接口通信程序、透明網關協議轉換程序和以太網層應用程序設計。其中,CAN總線設備接口通信程序和透明網關協議轉換程序的CAN控制器協議模塊在結構上有較大的相似性,但有可能因采用微控制器不同而導致實現的程序語言相異。因而,在此不作論述,而主要討論后兩個方面的程序設計。</P>
<P style="TEXT-INDENT: 30px">3.1 透明網關協議轉換程序</P>
<P
style="TEXT-INDENT: 30px">透明網關協議轉換程序的整體設計思路為:當以太網應用層有數據要發送到CAN節點時,首先,數據發送到透明網關由以太網控制器協議轉換模塊從傳輸層數據報文中解析出完整的CAN協議數據包,存放在數據緩沖區A
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -