导航:首页 > 操作系统 > 带tcp协议的单片机方案

带tcp协议的单片机方案

发布时间:2022-11-12 21:09:12

A. 单片机TCP/IP的介绍

单片机TCP/IP就是在单片机上运行的TCP/IP协议栈。由于嵌入式联网设备越来越多,需要在嵌入式设备上实现TCP/IP协议栈,但是嵌入式设备不同于PC机,它们一般采用MCU也就是单片机而不是CPU作为核心处理器。这就需要在单片机上实现TCP/IP协议栈。对于高端的32位单片机,由于其性能已经接近于低端PC机CPU(例如奔腾II系列),所以和在PC上实现TCP/IP协议栈没有多大区别;这里主要讲述低端8位(例如51单片机)、16位单片机TCP/IP协议栈。

B. 实现tcp/ip协议用什么单片机好

stm32 网络芯片可以用dm9000或en28j60 ,协议栈可以用uip或lwip,具体怎么实现在网上搜搜资料

C. 能用tcp/ip通信的单片机有哪些

有spi接口的单片机就可以,不是单片机本身可以而是单片机外接网口芯片可以实现tcpip,我用的stm8 stm32就可以,也有串口转网口的模块,就是人家帮你做好了协议转换了,你用串口就可以了,所以不在于什么单片机

D. 单片机TCP/IP

为什么不用ARM,移植操作系统来做,会方便很多,可以实现更多功能。
51的话不是十分了解,我的理解:
1.选用有UART及Ethernet端口的开发版,应该都有附Ethernet Driver Demo code的。
2.TCP/IP的部份要自己去找原始码,一般开发版不会附这个;所以你至少要看看相关的RFC,然后找个小一点的TCP/IP source code来移植。
3.把TCP/IP stack跟Ethenet的送收接口连接起来。(配置IP会不会不易实现?)
4。在TCP/IP上再实现你要远端控制的功能。一般来说,UDP会比较简单,但是你要有重送的机制,就看你是要用TCP还是UDP了。
兄台估计硬件比较牛!

E. 单片机TCP/IP的如何使用单片机TCP/IP协议栈

用户在拿到一个单片机TCP/IP协议栈以后该如何处理呢。其中的处理分为两个部分:上层接口和下层接口。
4. 1 上层接口
用户使用单片机TCP/IP的目的实际非常明了,就是要实现数据的传送,即从PC机(或者另一个单片机)上传送过来的数据能够在本地单片机上接收,反之亦然。所以如果屏蔽底层的话,单片机TCP/IP协议栈就是一个传输数据的手段。所以最后归结到了使用send()、recv()函数即可。这就是使用单片机TCP/IP协议栈的核心所在。
但是事实上并没有这么简单,因为对于TCP需要有发起连接、接受连接、发送数据、接收数据、关闭连接等操作以配合数据的传输。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. 1 下层接口
下层接口是一个比较复杂的部分,实际上是TCP/IP协议栈和底层硬件的对接问题。如果用户将TCP/IP协议栈移植到自己的单片机系统上。由于硬件上存在一定的差异,就需要修改底层代码。这里需要包括:
1.网卡驱动:如果TCP/IP协议栈已经提供了网卡驱动,并且驱动和用户使用的网卡芯片一样,那么就相对容易一些。这里只需要修改网卡的基地址即可。否则需要自己动手写驱动程序。如果网卡采用RTL8019AS可以参考老古开发网的单片机与TCP/IP网络。如果网卡采用CS8900,可以参考《嵌入式 TCP/IP 协议单片机技术在网络通信中的应用》
2.TCP/IP底层接口。一般单片机TCP/IP需要底层为其提供定时中断、网卡中断处理的入口。底层需要做相应的处理。

F. 51单片机接入以太网的几种方案

1、MAC+PHY方案

所谓的TCP/IP协议栈是一系列网络协议的统称,不仅包括我们熟知的TCP协议和IP协议。

还有网络层的ICMP(Internet控制报文)协议、IGMP(Internet组管理)协议、ARP(地址解析)协议,传输层的UDP(用户数据包)协议,应用层的HTTP(超文本传输)协议、DNS(域名解析)协议、FTP(文件传送)协议、SMTP(简单邮件管理)协议等等。

传统的以太网接入方案由MCU+MAC+PHY再加入网络接口实现以太网的物理连接,通过在主控芯片中植入TCP/IP协议代码实现通信及上层应用。

应用这种软件TCP/IP协议栈方式实现的比较成熟方案有ENC28J60,CS8900A,DM9000,当然也有像STM32F107这类(内部自带MAC)+PHY等方案。

2、硬件协议栈芯片方案

由MCU+硬件协议栈芯片(内含MAC和PHY)直接加网络接口,便可方便的实现单片机联网,所有的处理TCP/IP协议的工作都是通过这位MCU的“小秘书”——硬件协议栈芯片来完成。

以太网芯片的内核由传输层的TCP、UDP、ICMP、IGMP等协议、网络层的IP、ARP、PPPoE等协议以及链路层的MAC构成,再加上物理层的PHY和外围的寄存器、内存、SPI接口组成了这一整套硬件化的以太网解决方案。

这套硬件TCP/IP协议栈代替了以往的MCU来处理这些中断请求,即MCU只需要处理面向用户的应用层数据即可,传输层、网络层、链路层及物理层全部由外围WIZnet的芯片完成。

这套方案从硬件开销和软件开发两个方面来简化前面所述的五层网络模型,简化产品开发方案。这样一来,工程师们就不必再面对繁琐的通信协议代码,只需要了解简单的寄存器功能以及Socket编程便能完成产品开发工作的的网络功能开发部分。

(6)带tcp协议的单片机方案扩展阅读

以太网协议:

一个标准的以太网物理传输帧由七部分组成。

PR SD DA SA TYPE DATA FCS

同步位 分隔位 目的地址 源地址 类型字段 数据段 帧校验序列 7 1 6 6 2 46~1500 4

除了数据段的长度不定外,其他部分的长度固定不变。数据段为46~1500字节。以太网规定整个传输包的最大长度不能超过1514字节(14字节为DA、SA、TYPE),最小不能小于60字节。

除去DA、SA、TYPE14字节,还必须传输46字节的数据,当数据段的数据不足46字节时需填充,填充字符的个数不包括在长度字段里;超过1500字节时,需拆成多个帧传送。

事实上,发送数据时,PR、SD、FCS及填充字段这几个数据段由以太网控制器自动产生;而接收数据时,PR、SD被跳过,控制器一旦检测到有效的前序字段(即PR、SD),就认为接收数据开始。

G. 单片机TCP/IP开发板的如何选择

2. 1 各类开发板
目前单片机TCP/IP一般有面向16位和32位的单片机的LWIP、面向8位单片机的uIP、面向51单片机的ZLIP等。目前51单片机上的TCP/IP协议栈以uIP和ZLIP为主,目前uIP的最高版本为V1.0,ZLIP的最高版本为ZLIP增值版V1.0。
2. 2 选择注意事项
作为单片机上网技术学习者,选择一款合适的开发板对于学习是事半功倍的,选择开发板时应该注意以下问题:
1. 价格考虑。TCP/IP开发板的最主要的东西在于TCP/IP协议栈本身,硬件的成本可以做得很低,所以不要因为低价而忽略了核心软件。对于TCP/IP协议栈可以从如下方面考虑:
a) 稳定性:商家提供的TCP/IP协议栈是否有全面的测试,是否在连续PING的情况下不断线,是否在发送接受大数据量(例如10M以上)时不丢失任何字节?对于使用者来说如果协议栈不稳定,那么对于项目的顺利开发将带来很大麻烦。
b) 易用性:使用单片机TCP/IP开发板的用户一般都对于嵌入式TCP/IP的使用不太了解,这就需要开发板提供更加完善的资料和使用手册。包括函数定义、更多的例子程序等。
c) 厂家的技术:某些厂家只是仿冒他人的开发板,用户在使用中遇到的问题根本无法给于解答。这就需要用户问清楚该协议栈是否是厂家自己设计的。
2. 外包装和质量保证:外包装不好可是使得用户收到时,开发板已经在运输过程中受损而无法使用。

H. 51单片机实现TCP/IP

51 + 嵌入式以太网芯片.OK 了

到这里有你想要的:
http://www.bocon.com.cn/index.php?option=com_content&task=view&id=317&Itemid=670&gclid=CP70rIKr2aECFQMXewodwVLpHA

但价格有点贵.

普通51做不了 TCP/IP, 在下面找一款大 RAM(1K以上) 的搞定
http://www.mcu-memory.com/

不用写 TCP/IP协议栈,只要会配置芯片就行了.主要工作集中到应用的开发.

如果你的时间多,或者资金不多的情况下,就用回你一开始说的方法.这时你只能还得要花一大半时间在移植协议栈方面(当然网上有移植好的,但还要时间消化).协议栈就用uIP 或 LwIP

I. 单片机的TCP协议连接问题

单片机响应无需要你来关心 由WIFI转串口芯片帮你解包完成
具体看你的设置 单片机是TCP的server还是PC(V)是TCPserver

J. 有谁把TCP IP协议应用于51单片机通信中吗,能不能给点经验

单片机80C51+以太网控制器RTL8019构成的以太网节点,其中微处理器是使用80C51内核的P89C60负责RTL8019AS初始化及通过控制RTL8019AS实现网络协议,进行数据的接收和发送等通信任务。RTL8019AS是台湾REALTEK公司生产的一种兼容NE2000的ISA总线以太网控制芯片。其主要特点如下:
该芯片符IEEE802.3 10BaseT标准。
网络传输速率为10Mbit/sec,支持CSMA/CD传输协议。
自动奇偶检测及纠错。
支持即插即用(PnP),非即插即用(Non-PnP),可通过软件进行设置,并能够设置中断,输入输出地址等网络参数。
支持两种接口类型,并能自动侦测介质类型,BNC口用于连接同轴电缆,RJ45口用于非屏蔽双绞线。
支持全双工模式。
选取用RTL8019AS的原因:它是一种NE2000类型的兼容网卡芯片,与其它网络芯片如DM9008,DP839011A等兼容,软件移植性好;与51单片机接口简单,不用转换芯片如PCI-ISA桥;价格低、货源好;相对51单片机而言RTL8019AS的带宽充裕。
其中,RTL8019AS的数据线SD0~SD7与80C51的AD0~AD7(P0口)相连,地址线A0~A4与80C51的A0~A4(P0口锁存后的信号)连接。读写信号经16V8产生,RTL8019AS的基地址为0x5000。按照上图电路连接后,当访问地址的范围为0x5000~0x501F时,80C51实现对RTL8019AS读写操作。
RTL8019AS支持3种工作方式:
1) 即插即用方式,I/O地址和中断都由操作系统管理,用户不必过多干预,当然这种方式要耗费系统资源多一些;
2) 跳线方式,网卡的I/O地址和中断都由跳线决定;
3) 免跳线方式,网卡的I/O和中断由外接的E2PROM 93C46中的内容决定。
在这三种方式里,我们的设计使用第二种跳线工作方式。第一种方式对于51系列单片机来说无法实现。未用第三种又可以省掉一片93C46芯片,不但减少了连线,而且降低了成本。
RTL8019AS的引脚悬空时输入状态为低电平,因为芯片引脚内部已经接了一个100K的下拉电阻。
 I/O地址:RTL8019AS的第65脚JP决定网卡的工作方式,本设计中JP脚接高电平(VCC),即使用跳线方式。此时,RTL8019AS的I/O地址由引脚85,84,82,81(IOS3..IOS0)决定,本设计中因为IOS3..IOS0都是悬空,选择的基地址为0300H。基地址的确定详见RTL8019AS的数据手册。
 中断:芯片的中断由引脚80,79,78(IRQS2..IRQS0)决定。全部悬空时,选择IRQ0。考虑到单片机的资源比较紧张,我们的单片机程序设计中没有使用中断方式而使用的查询方式。
 网络接口类型:由74,77(PL0,PL1)引脚决定,使用自动检测。设计中64脚AUI悬空,使用RJ45接口。
 BROM:设计中未用BROM,引脚72,71,69,68,67(BS4..BS0)悬空即可。
 总线模式:RTL8019AS的IOCS16B引脚通过一个27K的电阻拉低,使得RTL8019AS工作在8位数据总线的模式。
详细电路请参考网上资料。

阅读全文

与带tcp协议的单片机方案相关的资料

热点内容
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:383
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163