基于嵌入式系统的串口--以太网转换器.docVIP

基于嵌入式系统的串口--以太网转换器.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式系统的串口--以太网转换器

现场答辩成绩: 实验报告成绩: 总成绩: 重 庆 邮 电 大 学 自 动 化 学 院 综合实验报告 题目:基于嵌入式系统的串口--以太网转换器 单位(二级学院): 自 动 化 学 院 学 生 姓 名: 蒋 松 松 专 业: 自 动 化 班 级: 0810704 学 号: 指 导 教 师: 王恒 设计时间: 年 月 重庆邮电大学自动化学院 制 目 录 实验作品功能描述 实验作品展示 程序流程图 任务定义、实现及主要模块 实验中遇到的问题及解决方法 实验结果 个人所负责模块和心得体会 进一步改进方案和作品应用建议 附录:个人所负责编写的部分主要代码 基于嵌入式的串行口网关设计 实验作品功能描述 本文设计了一个基于ARM7处理器s3c44b0的网关,该网关实现了串行口与以太网之间的数据转换功能,实现了串行口与以太网之间的通信功能。 实验作品展示 该设计最终在实验室ARM3000开发板平台上验证成功,两个UP-NetARM3000 通过网线相连接,发送板的ARM 监视以太网,将接收到的字符发送到串行口收发器发送给电脑,接收板的以太网收发器监视网口,将接收的字符发送到串行口,电脑通过串行口接受数据,数据传送示意图如下: 数据转换示意图 数据转换过程为,左端开始,主机发送数据到串行口,核心板通过串口接收到数据,然后通过网口发送数据;右端以太网接收到数据,核心板发送到串行口,串行口发送给电脑,当然也能反向发送和接收。 主机1与主机2实验结果如下图所示(实现了简单的聊天界面): 主机1和主机2实验结果图(手动发送) 程序流程图 本次设计运用到了U/cos-II操作系统,定义了两个主要任务:Main_task和Receive_task,其中二者的优先级分别是12和24。 其中,Main_task主要负责从串行口读取数据,发送到以太网。Receive_task负责从以太网接收数据,然后发送到串行口。二者循环调度就实现了串行口与以太网的通信功能。此外,设计中的主函数主要实现开发板初始化、操作系统初始化、串行口收发器初始化等初始化功能。Main_task及Receive_task的流程图如下: Main_task流程图: Receive_task流程图如下所示: 任务定义、实现及主要模块 本设计中定义了两个任务:Main_task及Receive_task; Main_task模块完成的主要任务: 1)初始化了网络InitNetWork(),配置网络,强行设置开发板的网络地址: IP4_ADDRESS32(ipaddr32,192,168,0,120); IP4_ADDRESS32(ipmaskaddr32,255,255,255,0); IP4_ADDRESS32(ipgateaddr32,192,168,0,1); Uart_Printf(current IP is 192.168.0.120\n); initOSNet(ipaddr32, ipmaskaddr32, ipgateaddr32, Mac); //配置网络。 设定计算机端套接口属性,定义了使用的IP协议、地址以及使用端口号: servaddr.sin_family = AF_INET; //IPv4协议 servaddr.sin_addr.s_addr = (6724)|(016)|(1688)|192; servaddr.sin_port = htons(5000); //端口 创建开发板发送端套接字ClientSock_out: ClientSock_out=socket(PF_INET,SOCK_DGRAM, 0); //创建套接字 设定了开发板发送端套接口属性,定义了发送板IP地址以及使用端口号: cliaddr_out.sin_family = AF_INET; //IPv4协议 cliaddr_out.sin_port=htons(4999); //板子发送数据的端口 cliaddr_out.sin_addr.s_addr=INADDR_ANY; //填入本机IP 5)绑定开发板发送端套接字,可以进行数据通信: bind(ClientSock_out, (struct sockaddr*)cliaddr_out, sizeof(cliaddr

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档