王朝百科
分享
 
 
 

单片机TCP/IP开发板

王朝百科·作者佚名  2010-05-13  
宽屏版  字体: |||超大  

单片机TCP/IP开发板
单片机TCP/IP开发板

1 概述单片机TCP/IP开发板(或称之为单片机TCP/IP学习板)是为提供用户学习单片机TCP/IP协议栈技术,从而设计自己的基于单片机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。

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 开发板部件

一个开发板本身是一个单片机系统,包含有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 开发基于新硬件的程序

通过“开发基于开发板的新程序”一节的介绍后,开发基于新硬件的程序就相对容易了。这只要根据相应的硬件调整通过单片机的控制端口例如P1进行控制或者数据采集即可。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
中国古代四大美女:背后隐藏惊人秘密
 女性   2025-06-20
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有