原创 业余课题——基于MCU的TCP/IP通信模块

2009-4-2 09:03 4474 9 19 分类: MCU/ 嵌入式

前一段时间在EDN-China上经常可以看到有很多人在用单片机实现TCP/IP协议栈,而且还有一些开发板出售,感到非常亲切,在这里我有自己的一些体会。04年我就采用单片机实现过TCP/IP协议栈,当时主要想用单片机验证一下TCP/IP通信的可行性。用MCU设计TCP/IP协议栈是一次非常锻练个人能力的机会,实现一个精简的协议栈需要一定的代码量,可以大大提高自己的编程能力。除了提高编程能力之外,还可以对TCP/IP的通信机制进行较为深入的探索,起码这个项目做下来之后会将一本TCP/IP协议栈的书籍研读完毕。


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


f3395ffb-0898-47ba-a12e-e78e615ae6bf.JPG


上图是我当时做的TCP/IP模块。TCP/IP通信模块的硬件部分比较简单,就是一个单片机的最小系统,网络通信的MACPHY可以采用RTL8019芯片,该芯片非常容易购买,而且很便宜。单片机需要采用Flash存储空间大一些的产品,例如可以采用Winbond(华邦)的W78E58之类的型号,其具有32KBFlash程序存储空间,足够装载一个TCP/IP协议处理固件了。数据存储空间可以通过IS61S256之类的芯片进行扩展,32KB就足够了。另外,还需要<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />93C46之类的配置芯片,可以配置系统的物理地址、ISA接口地址、中断信息等,甚至可以存储IP之类的信息。整个系统的芯片成本很低,可以控制在50元上下。


 


PCB设计是电子设计的必备,所以在模块设计时可以自己设计PCB,这个PCB比较简单,为了节约成本可以将PCB尺寸做的小一些。第一次做板PCB贵一些,100多块钱也就搞定了。加上元器件这个系统能够控制在200元之内。对于电子DIY的爱好者,我觉得很有必要亲自将整个系统DIY一遍。这样才能将系统设计的思想融入到自己的血液之中,体会更加深刻。


 


协议栈软件可以采用C51进行开发,在协议栈开发过程中需要充分考虑内存资源的管理,从中可以体会到内存碎片对于一个系统稳定性带来的危害;由于协议栈在MCU上裸奔,所以需要考虑不同的任务该如何去调度?前后台程序架构是否满足应用需求?实时性能否得到保证?W78E58没有调试接口,该如何对协议栈进行调试?是否需要开发一套串口调试软件辅助协议栈的开发?诸如此类的问题和答案只有在系统DIY的过程中才能深深体会。


 


发扬电子DIY的精神,才能激发电子爱好的热情。所以,我认为在校学生应该充分利用业余时间进行研究式DIY,而不仅仅是购买开发板进行软硬件组装。其实,学习本来就是一个探索的过程。


 

文章评论10条评论)

登录后参与讨论

用户162481 2009-4-24 19:57

不错,我同学在买的板子上在做呢,diy的精神,博主体现的不错。

用户411565 2009-4-8 23:12

http://space.ednchina.com/upload/2009/4/6/1c8fb5f5-e535-4ca6-ae29-05b772a271a5.rar,就在blog.ednchina.com/tiloog网页右侧[下载中心]的第二项。

用户142676 2009-4-8 22:25

去网站找了下您的原理图。结果不知道文件名,没有找到。能否请您给出个链接?

用户746255 2009-4-7 18:11

深圳歐米格科技有限公司主要代理經銷:TYCO/AMP(泰科)、Molex(莫仕)、JST(日壓)、HRS(廣瀨)、JAE(航空電子)、KYOCERA(京瓷)、FOXCONN(富士康)、 FCI、SMK等世界知名品牌連接器,一般常用物料都有庫存。 TEL: 0755-33905060 FAX: 0755-33905059 NSN:micheal-omg@hotmail.com

用户411565 2009-4-6 15:52

我已经将mcu-tcpip的电路原理图放到了本站的下载中心,仅供参考。

用户412065 2009-4-6 08:59

呵呵 期待

用户142676 2009-4-4 22:52

呵呵, 能否请您把原理图共享下?

用户411565 2009-4-2 12:11

过一段时间我会上传一版整理过的mcu-tcp/ip源代码

用户412065 2009-4-2 11:16

呵呵 可以放点详细的资料啊

tengjingshu_112148725 2009-4-2 09:34

受益匪浅
相关推荐阅读
用户411565 2012-12-18 12:58
我的存储之道博客
大家好,最近一直在做存储方面的工作,所以我在51CTO上专门开辟了一个空间讨论存储相关的问题,喜欢存储的朋友可以可以访问我的存储博客: 存储之道 (http://alanwu.blog.51cto...
用户411565 2012-04-06 21:39
SAS Cable可以有多长?
SAS接口是高端硬盘的主流接口,是存储系统的理想选择。我们知道高速信号的传输距离和传输线相关的,那么SAS作为外部通信接口,其Cable线具体可以有多长呢? 我在网上找到上图所示的眼图测...
用户411565 2012-04-06 21:38
对TRIM SCSI命令的一些分析
前一段时间做了一些对SSD方面进行优化的工作,SSD最大的问题在于长时间使用之后,IO性能会急剧下降。其主要问题在于为了防止“写放大”问题的产生,SSD的firmware采用了类似于log方式的算...
用户411565 2012-04-06 21:35
惊叹!我们的跨洋网络
  每次地质自然灾害的时候,总会伴随着网络的问题,这是由于我们的越洋光纤网络出了故障,受到自然力的破坏而导致断裂。越洋光纤,听起来的确是件非常不可思议的事情,工程量非常的巨大,但正是如此伟大的...
用户411565 2012-04-06 21:33
科学仪器网络模型
科学仪器概述     科学仪器发展趋势 科学是从测量开始的,科学仪器是信息技术的源头,是信息产业的重要组成部分,是现代科学与工业的基石。科学仪器产业的发展关系到国家科学研究实力、生...
用户411565 2012-04-06 21:16
谈谈RAID产品与技术
说起RAID,学计算机的同学马上会说RAID技术简单啊,就是将数据条带化,然后计算一些冗余数据,一并写入磁盘。通过RAID技术一方面提高系统的IO性能;另一方面提高系统的可靠性。单纯从RAID的原...
我要评论
10
9
关闭 站长推荐上一条 /2 下一条