- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现场答辩成绩:_ 实验报告成绩:■ 总成绩:_
重庆邮电大学自动化学院综合实验报告
题目:基于嵌入式系统的串口-以太网转换器
TOC \o 1-5 \h \z 单位(二级学院): 学生姓名: 专 业:
班 级:
学 号:
指导教师:
自动化学院
蒋松松
自动化
0810704王恒
设计时间: 年 月
重庆邮电大学自动化学院制
实验作品功能描述
实验作品展示
程序流程图
任务定义 实现及主要模块
实验中遇到的问题及解决方法
实验纟吉果
个人所负责模块和心得体会
进一步改进方案和作品应用建议
附录:个人所负责编写的部分主要代码
基于嵌入式的串行口网关设计
实验作品功能描述
本文设计了一个基于ARM7处理器s3c44b0的网关,该网关实现了串行口与 以太网之间的数据转换功能,实现了串行口与以太网之间的通信功能。
实验作品展示
V串行口该设计最终在实验室ARM3000开发板平台上验证成功,两个 UP-NetARM3000通过网线相连接,发送板的ARM
V
串行口
7
串行口
核心板 =以太网3
核心板 =
以太网3
A以太网 0核心板
数据转换示意图
数据转换过程为,左端开始,主机发送数据到串行口,核心板通过串口接收 到数据,然后通过网口发送数据;右端以太网接收到数据,核心板发送到串行口, 串行口发送给电脑,当然也能反向发送和接收。
主机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模块完成的主要任务:
初始化了网络InitNetWork(),配置网络,强行设置开发板的网络地址: IP4_ADDRESS32(ipaddr32,192,160,120); IP4_ADDRESS32(ipmaskaddr32,255,255,255,0); IP4_ADDRESS32(ipgateaddr32,192,168,0,1); Uart_Printf(Hcurrent IP is 192」68.0.120\nH);
initOSNet(ipaddr32, ipmaskaddr32, ipgateaddr32, Mac);〃配置网络。
设定计算机端套接口属性,定义了使用的IP协议、地址以及使用端口号:
servaddr.sin_family = AFJNET; //IPv4 协议
servaddr.sin_addr.s_addr = (67?24)|(0? 16)|( 168?8)| 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
绑定开護板发恳端套接字,可以进行較据通信:
bind(ClientSock_out, (struct sockaddr*)cliaddr_out, sizeof(cliaddr_out));
主要处理函数,串行口收到数据则发送到以太瓦h
if(Uart_Poll(0))
{〃串口收到数据,则发送到
Uart_Getch((char*)data,O,O);
count_send=sendto(ClientSock_out, (char*)data,8, 0, (struct sockaddr*)servaddr, sizeof(servaddr));
}
Receive_task模块完成的主要任务:
创建开发板接收端套接字ClientSock_in
文档评论(0)