873單片機以太網通信的方法,分別闡述了硬件及軟件設計方法。" />
所屬欄目:計算機網絡論文 發布日期:2010-10-19 16:42 熱度:
摘要:本文介紹了一種采用ZNE-100T以太網串口數據轉換模塊實現PIC16F
873單片機以太網通信的方法,分別闡述了硬件及軟件設計方法。
關鍵詞:ZNE-100T,嵌入式以太網技術,以太網通信
0、引言
近幾年來,嵌入式系統正在向網絡化發展,各種嵌入式設備接入因特網進行信息發布、數據采集和遠程控制,給人們的生活和工作帶來了很多便利。嵌入式以太網技術就是將嵌入式系統接入因特網進行訪問的控制技術。
在工業控制領域,嵌入式系統的典型應用是:嵌入式系統作為下位機進行數據采集和控制,PC作為上位機完成各種管理功能。
目前常用的幾種網絡方案有:在單片機中實現網絡協議、采用嵌入式實時操作系統、采用網絡芯片或Inernet接入服務器等。筆者對以上三種常用方式進行了對比,見表1所示。
表1三種網絡方案的對比
實現方法 優點 缺點 典型芯片
在單片機中實現網絡協議 單片機中軟件固化TCP/IP協議棧,再加以太網控制器實現CSMA/CD 硬件成本低 對單片機資源、容量等要求高;軟件設計復雜;開發難度大,周期長 MCU有Ubicom公司的SX52BD,
NIC有Realtek公司的RTL8029
采用嵌入式RTOS 高性能的嵌入式RTOS支持TCP/IP協議棧,外加以太網控制器 系統功能強大,開發者不必自己實現TCP/IP協議 開發成本大,嵌入式RTOS價格昂貴;對MCU的性能要求高 RTOS有VxWork、spSOS和WindowsCE等
采用網絡芯片或Inernet接入服務器 硬件固化了網絡協議并提供網絡接口,獨立于MCU 開發者不必考慮網絡芯片的工作細節 并不支持所有的MCU;價格較貴 WIZnet的W3100A;廣東致遠的ZNE系列
1、ZNE-100T簡介
ZNE-100T是一款由廣東致遠公司生產的嵌入式以太網串口數據轉換模塊,內部集成TCP/IP協議棧,用戶利用它可以輕松實現嵌入式設備的網絡功能,節省人力物力和開發時間,使產品更快的投入市場,增強競爭力。
ZNE-100T的主要功能特點如下:
內部集成了TCP/IP協議棧,用戶利于它可以輕松完成嵌入式設備的網絡功能;
ZNE-100T實現的功能是Serial(TTL)to10MEthernet,Serial最大波特率為115200bps,支持RS232/485/422等規范;
可利用Webbrowser和Windowsutility輕松進行設定;
提供通用配置函數庫,方便用戶使用VC、VB、Delphi和C++Builder開發應用程序;
支持TCPServer,TCPClient,UDP,RealCOMdriver,GroupMode等作業模式;
提供RealCOMdriver模式下的管理軟件,真正實現虛擬串口;
提供5個可控制IO口,并提供相應的DEMO;
提供串口起始字節和結束字節分包功能;
支持動態(DHCP)或靜態獲取IP地址;
尺寸小,只有44.5×31.7mm。
2、硬件電路設計
筆者利用ZNE-100T模塊在應變測量中,使應變測量系統的現場測量功能節點具備以太網傳輸功能,充分利用以太網較長的傳輸距離和較高的傳輸速度的優點。
ZNE-100T的引腳如圖1所示。
圖1ZNE-100T模塊引腳圖
應變測量系統的現場測量功能節點的MCU采用微芯公司的PIC16F873單片機。由于是在一個系統內部短距離進行異步串行通信,MCU與ZNE之間可直接使用邏輯電平互聯。為保護ZNE-100T模塊內的CPU,在通信引腳之間串一個的限流電阻。同時為了匹配ZNE-100T模塊與PIC16F873的電平,在TXD和RXD引腳上分別掛一個上拉電阻。
圖2串行接口設計示意圖
以太網信號ETX+、ETX-、ERX+、ERX-與外界通訊的接口采用的是RJ45連接器。由于ZNE系列模塊內部都集成了網絡變壓器,因此可以直接將這幾個以太網引腳接到RJ45連接器上。
3、以太網通信的軟件設計
軟件部分的設計包括:ZNE-100T模塊的設置、PC機(遠端測控終端)上應用軟件的編寫、PIC16F873(現場測量功能節點)中軟件的編寫。
3.1、ZNE-100T的配置
配置軟件是在工作前,根據實際應用情況,在遠端測控終端中即PC機中通過以太網對ZNE模塊進行設置的軟件。利用VC++6.0結合MFC進行編程。配置軟件要對以下幾個內容進行設定:串口配置,包括串口的波特率、校驗位、數據位、停止位;工作模式配置,模塊具有TCPServer,TCPClient,UDP,RealCOM,Group組播,TCPAuto工作模式供選擇;目標IP地址、目標端口號的設置;幀起始字節和幀結束字節的設定。
3.2、PC機(遠端測控終端)上應用軟件的編寫
軟件可以在VC++6.0中開發的,并利用了Winsock進行網絡編程。用戶界面如圖3所示。
圖3上位機軟件運行界面
下面以發送控件對應的函數為例,列舉程序代碼:
voidCTesttransferDlg::OnButtonSend()
{
EnableSend(0);//設置對話框中的“發送”按鈕不可點
UpdateData(TRUE);//將對話框的控件中的數據交換到變量中。
LPTSTRpstr=m_strEditSend.GetBuffer(m_strEditSend.GetLength()+1);//把在對話框中輸入的數據放入緩沖中,并返回緩沖地址
intres=m_sock.Send(pstr,m_strEditSend.GetLength()+1);//發送數據,并返回布爾值表明是否成功
if((res==SOCKET_ERROR&&m_sock.GetLastError()==WSAEWOULDBLOCK)||(res>0&&res<m_strEditSend.GetLength()+1))//如果OutputBuffer已滿即處于忙狀態或未完全發完
{
m_sock.SetResend((BYTE*)(pstr+((res==-1)?0:res)),
(m_strEditSend.GetLength()+1)-((res==-1)?0:res));//重發或繼續發送
}
elseif(res==SOCKET_ERROR&&m_sock.GetLastError()!=
WSAEWOULDBLOCK)//如果出現其他錯誤
{
MessageBox("發送失敗");//出現提示框“發送失敗”
EnableSend(1);//設置對話框中的“發送”按鈕可點
}
else//其余情況,即已發送成功
EnableSend(1);//設置對話框中的“發送”按鈕可點
m_strEditSend.ReleaseBuffer();//釋放緩沖
UpdateData(FALSE);//將數據在對話框中對應控件中顯示出來
}
3.3、PIC16F873(現場測量功能節點)軟件的編寫
利用PIC16F873的USART模塊發送和接收數據。PIC16F873的USART是其兩個串行I/O模塊之一(另一個是SSP模塊)。USART可以配置為全雙工異步系統,也可配置為半雙工同步系統,本系統中將其配置為全雙工異步模式。
串口的發送和接收在函數usart_receive()和函數usart_send()中完成。
函數usart_receive()在主函數中被調用,等待并接受從串口送來的控制命令,把接收到的數據保存在全局變量unsignedcharReceive[9]中。
voidusart_receive(void)
{
CREN=1;//接收允許。
for(k=0;k<20;k++)
{
while(1)//等待接受數據。
{
if(RCIF==1)break;
}
Receive[k]=RCREG;//讀取數據,同時清RCIF。
if(Receive[k]='')break;//發現結束字符則停止接受。
}
CREN=0;//接收禁止。
}
函數usart_send()通過串口發送恢復命令、采樣結果等。它的函數帶有參數,為待發送的字符串數組。
voidusart_send(unsignedcharsend_string[20])
{
inti=0;
TXEN=1;//發送允許。
TXREG=0x01;//加幀起始字節0x01。
while(1)//等待幀起始字節發送完成。
{
if(TXIF==1)break;
}
while(1)//發送有效數據,為參數中帶的字符串。
{
TXREG=send_string[i];
while(1)
{
if(TXIF==1)break;//等待發送完成。
}
if(send_string[i]=='')break;//發現結束字符則停止發送。
i++;//指向下一個字符。
}
......;//求校驗和,并發送
......;//發送幀結束字節0x03。
TXEN=0;//發送禁止。
}
4、結論
利用ZNE-100T實現基于PIC16F873的以太網通信具有工作穩定可靠,使用方便簡單的優點,從而使應變測量系統具備以太網傳輸功能,充分利用以太網較長的傳輸距離和較高的傳輸速度的優點。
參考文獻:
1孫曉云,劉東輝,劉朝英.接口與通信技術[M].第1版.北京:中國電力出版社,2007
2羅軍舟,黎波濤,楊明,吳俊,黃俊.TCP/IP協議及網絡編程技術[M].第1版.北京:清華大學出版社,2004
3王憲,白一彤.基于單片機89S51的以太網通信[J].2009全國計算機網絡與通信學術會議論文集,2009
4鐘燕華.串行接口的Internet接入服務器的核心技術探討[J].寧波大紅鷹職業技術學院學報,2007,1(26):26~34
5廣州致遠電子有限公司.ZNE-100TDatasheet.wwwembedcontrol.com,2006
搜論文知識網致力于為需要刊登論文的人士提供相關服務,提供迅速快捷的論文發表、寫作指導等服務。具體發表流程為:客戶咨詢→確定合作,客戶支付定金→文章發送并發表→客戶接收錄用通知,支付余款→雜志出版并寄送客戶→客戶確認收到。鳴網系學術網站,對所投稿件無稿酬支付,謝絕非學術類稿件的投遞!
文章標題:PIC16F873基于ZNE-100T的以太網通信
轉載請注明來自:http://www.optiwork.cn/fblw/dianxin/wangluo/4639.html
攝影藝術領域AHCI期刊推薦《Phot...關注:106
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:121
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
電子信息論文范文
智能科學技術論文 廣播電視論文 光電技術論文 計算機信息管理論文 計算機網絡論文 計算機應用論文 通信論文 信息安全論文 微電子應用論文 電子技術論文 生物醫學工程論文 軟件開發論文
SCI期刊分析
copyright © www.optiwork.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3