873單片機以太網通信的方法,分別闡述了硬件及軟件設計方法。" />

国产黄色毛片-国产黄色毛片视频-国产黄色片91-国产黄色片一级-一级坐爱片-一级免费

PIC16F873基于ZNE-100T的以太網通信

所屬欄目:計算機網絡論文 發布日期: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所示。
  表1.jpg
  圖1ZNE-100T模塊引腳圖
  應變測量系統的現場測量功能節點的MCU采用微芯公司的PIC16F873單片機。由于是在一個系統內部短距離進行異步串行通信,MCU與ZNE之間可直接使用邏輯電平互聯。為保護ZNE-100T模塊內的CPU,在通信引腳之間串一個的限流電阻。同時為了匹配ZNE-100T模塊與PIC16F873的電平,在TXD和RXD引腳上分別掛一個上拉電阻。
  表3.jpg
  圖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所示。
  表4.jpg
  圖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

相關問題解答

SCI服務

搜論文知識網 冀ICP備15021333號-3

主站蜘蛛池模板: hdxxx色视频 hd欧美xxx欧美极品hd | 成人黄色在线视频 | 久久精品中文字幕免费 | 97在线观看免费视频 | 欧美最刺激好看的一级毛片 | 在线不卡亚洲 | 国产高清精品在线 | 黄色一级片网址 | 亚洲国产欧美在线成人aaaa | 欧美老妇b| 国产孕妇孕交大片孕 | 国产成人在线小视频 | 鲁丝片一区二区三区免费 | 欧美最大成人毛片视频网站 | www.自拍| 日韩在线看片中文字幕不卡 | 日韩精品一区二区三区免费观看 | 久久久免费视频播放 | 一区二区高清在线 | 毛片免费高清免费 | 色视频一区二区三区 | 亚洲成aⅴ人在线观看 | 亚洲男人的天堂成人 | 欧美午夜成年片在线观看 | 国内精品小视频福利网址 | 中文精品视频一区二区在线观看 | 国产杨幂福利在线视频观看 | 欧美在线视频观看 | 国产精品_国产精品_国产精品 | 成人深夜福利在线播放不卡 | 欧美精品亚洲精品日韩一区 | 女黄人东京手机福利视频 | 99在线国产 | 分享一个无毒不卡免费国产 | 亚洲国产第一区二区香蕉 | 97超级碰碰碰久久久观看 | 午夜香蕉成视频人网站高清版 | 免费在线精品视频 | 国内精品免费一区二区观看 | 国内视频自拍 | 国产精品特级毛片一区二区三区 |