国产在线观看免费视频在线|成人网导航|另类 自拍 校园 小说区|不戴的邻居HD中文|国产精品国产三级国产专区53|黄瓜视频app无限看丝瓜视频丝瓜视在线观看|日本大B视频在线

單片機TCP/IP開發板

ZLMCU網

摘要: 本文根據作者在使用單片機TCP/IP開發板過程中的經驗介紹了單片機TCP/IP開發板的用途、如何選擇單片機TCP/IP開發板、如何使用TCP/IP開發板進行新項目的開發。對于需要實現單片機TCP/IP技術的初學者來說有一定的借鑒意義。

關鍵詞: 單片機;TCP/IP;開發板;學習板;單片機上網;

1 引 言

單片機TCP/IP開發板(或稱之為單片機TCP/IP學習板)是為提供用戶學習單片機TCP/IP協議棧技術,從而設計自己的基于單片機TCP/IP項目而提供的一種開發板。

在當今信息時代,計算機的聯網已經慢慢的過渡到了嵌入式設備的聯網,聯網技術就不得不提到TCP/IP協議棧,這就需要在嵌入式設備上實現嵌入式TCP/IP協議棧。對于高端的嵌入式CPU,可以運行Linux等操作系統實現嵌入式TCP/IP協議棧相對比較容易。但是像51單片機、AVR單片機、PIC單片機上實現TCP/IP協議棧就比較復雜,因為TCP/IP協議棧對CPU 的速度、內存消耗要求比較高。

于是在單片機上實現TCP/IP協議棧,如果完全從頭開始實現,則需要幾個月到幾年的實現,對于單片機上網項目的開發是一個重點和難點。于是就需要單片機TCP/IP開發板。本文主要以51單片機上的TCP/IP協議棧為例。

2 單片機TCP/IP開發板的用途

目前單片機上網技術是一個熱門技術,很多高校學生選擇與此相關的畢業設計,同時高校也有與此相關的項目。為了快速實現單片機TCP/IP,可以通過使用單片機TCP/IP開發板來實現。一般一個單片機TCP/IP開發板需要包含如下的內容:

1.              單片機TCP/IP協議棧:用戶可以根據協議棧提供的用戶接口來實現TCP的發起連接、接受連接、發送數據、接收數據、關閉連接等操作。最好是該協議棧能夠兼容BSD socket接口。

2.              硬件電路板及其相關連接線:用此硬件可以建立嵌入式TCP/IP實驗環境。

3.              硬件原理圖:這可以方便用戶將相關硬件集成到自己的電路板中。

4.              配套開發工具:在嵌入式TCP/IP實驗環境中必須要有PC機端的軟件,用以和開發板進行通信。

3 如何選擇單片機TCP/IP開發板

3. 1 各類開發板

目前單片機TCP/IP一般有面向16位和32位的單片機的LWIP、面向8位單片機的uIP、面向51單片機的ZLIP等。目前51單片機上的TCP/IP協議棧以uIP和ZLIP為主,目前uIP的最高版本為V1.0,ZLIP的最高版本為ZLIP增值版V1.0。

市面上的開發板有老古開發網單片機TCP/IP開發板套件、北京電子無憂網的51單片機TCP/IP上網開發板、上海卓嵐的51單片機TCP/IP開發板等。

3. 2 選擇注意事項

作為單片機上網技術學習者,選擇一款合適的開發板對于學習是事半功倍的,選擇開發板時應該注意以下問題:

1.             價格考慮。TCP/IP開發板的最主要的東西在于TCP/IP協議棧本身,硬件的成本可以做得很低,所以不要因為低價而忽略了核心軟件。對于TCP/IP協議?梢詮娜缦路矫婵紤]:

a)         穩定性:商家提供的TCP/IP協議棧是否有全面的測試,是否在連續PING的情況下不斷線,是否在發送接受大數據量(例如10M以上)時不丟失任何字節?對于使用者來說如果協議棧不穩定,那么對于項目的順利開發將帶來很大麻煩。

b)        易用性:使用單片機TCP/IP開發板的用戶一般都對于嵌入式TCP/IP的使用不太了解,這就需要開發板提供更加完善的資料和使用手冊。包括函數定義、更多的例子程序等。

c)        廠家的技術:某些廠家只是仿冒他人的開發板,用戶在使用中遇到的問題根本無法給于解答。這就需要用戶問清楚該協議棧是否是廠家自己設計的。

2.             外包裝和質量保證:外包裝不好可是使得用戶收到時,開發板已經在運輸過程中受損而無法使用。

4 使用TCP/IP開發板

下面介紹如何使用TCP/IP開發板來進行項目開發。

4. 1 開發板套件

為了建立單片機TCP/IP開發環境,需要一套開發套件,一般包含有:圖中:①開發板。②開發板光盤。③USB線。④對連網線。⑤普通網線。⑥串口線。

其中TCP/IP協議棧相關資料在②開發板光盤上,③USB線一般用于從PC機USB端口獲得電。網線用于和PC機通信,⑥串口線用于和PC機串口通信。

4. 2 開發板部件

單片機TCP/IP開發板

       一個開發板本身是一個單片機系統,包含有CPU、RAM、電源模塊、網絡模塊。網絡模塊有很多選擇,這里以RTL8019AS為例來說明。對于外部接口,最主要的是:⑨網線接口和⑩串口,它們是開發板和PC連接的接口。

4. 3 建立開發環境

      建立單片機TCP/IP開發環境的步驟有如下幾步:

1.  連線:連線是將開發板與PC機的串口連接,給開發板上電,然后將開發板連接到和PC在同一個網段中。

2.  安裝軟件:需要安裝開發板的編譯環境。對于51單片機,一般選用 KeilC51作為編譯器。設置IP地址,由于必須要求PC機和開發板處于同一個網段,所以需要將PC機的IP地址設置為開發板IP地址的同一個網段的IP地址(有時候也需要設置為特定的IP地址)。

3.  測試連接:一般可以通過PING命令,例如ping 192.168.0.2 –t來測試開發板和PC機的網絡是否處于連通狀態。

4. 3 開發基于開發板的新程序

       這里介紹如何在不修改開發板硬件的基礎上,開發自己的單片機TCP/IP程序。開發新程序就是在開發板提供的TCP/IP協議棧的基礎上開發應用層的協議。由于TCP層和IP層都已經提供,所以用戶不用考慮其中的運行機制。TCP/IP協議棧一般為用戶提供如下的接口:

1.  初始化協議棧和釋放協議棧的函數接口,類似Init(), Release()之類的函數。

2.  提供類似BSD socket的socket, sendto, recvfro, connect, bind, listen, accept, send, recv, closesocket, shutdown, getpeername, getsockname, htonl, htons, ntohl, ntohs, inet_addr,inet_ntoa,ioctlsocket,setsockopt, getsockopt,select等API函數,用戶調用此類函數進行發起連接、接受連接、發送數據、接收數據、關閉連接等操作。

3.  接受連接、接收數據、被動關閉的處理:由于此類操作是上位機發起的,所以TCP/IP協議棧必須提供一套機制來處理此類事件的發生。一般來說有兩種方法:

a)         主動等待:例如使用BSD的recv()函數等待數據的到來。

b)        回調機制:采用類似MFC的OnReceive()函數的回調機制,也即是說在接收到數據的時候會自動調用OnReceive()函數。

那么用戶如何使用以上的接口來實現遠程控制、遠程數據采集呢?方法很簡單。

例如現在需要實現一個對LED燈的亮和滅的遠程控制應用。首先PC機使用TCP/IP發送工具例如SocketDlgTest程序發送一個字節的“1”到開發板(根據開發板的IP地址發送)。開發板在OnReceive函數中發現收到的是“1”,那么就通過P1端口將燈打開;反之如果收到的是“0”則將燈熄滅。

如果是實現一個遠程數據采集的應用,例如定時進行溫度采集。首先PC機使用SocketDlgTest程序等待發來數據。開發板每隔一段時間采集一個數據,然后通過send()函數將數據發送給PC機(根據PC機的IP地址發送),這樣PC就接收到了當前的遠程溫度數據。

4. 3 開發基于新硬件的程序

通過“開發基于開發板的新程序”一節的介紹后,開發基于新硬件的程序就相對容易了。這只要根據單片機TCP/IP開發板相應的硬件調整通過單片機的控制端口例如P1進行控制或者數據采集即可。