基于嵌入式系统的串口-以太网转换器附源程序
EBT3001串口转以太网芯片基础功能介绍
EBT3001串口转以太网芯片模块的Modbus网关功能配置详解
4.4.1 Modbus RTU与Modbus TCP协议转换
启用:将Modbus RTU协议与Modbus TCP 协议进行互转。
禁用:不进行协议转换但对Modbus数据进行校验,非Modbus数据(RTU/TCP)抛弃不进行传输。
4.4.2 简单协议转化模式
将Modbus RTU数据转换为Modbus TCP数据,或将Modbus TCP 数据转换为Modbus RTU 数据,实现以太网Modbus 数据与串口Modbus 数据的互转。
简单协议转换可以工作在任意模式(TCP 客户端、TCP 服务器、UDP 客户端、UDP 服务器、MQTT 客户端、HTTP 客户端),无论是工作在什么模式都只能存在一个Modbus 主站。
上位机/网页配置:
Modbus Poll 与Modbus Slave 软件调试:
软件连接设置:
软件寄存器读取与仿真配置:
Poll 菜单选择Setup Read/Write Definition
Slave 菜单选择Setup Slave Definition
通讯演示:
4.4.3 多主机模式
相对简单协议转换只能存在一个Modbus 主站,而多主机模式则可以最多处理 6 台ModbusTCP 主机,当多台Modbus 主机同时访问时Modbus 网关时会进行总线的占用调度(RS-485 总线只能一次处理一个请求,而多主机模式则会根据TCP 请求先后进行排序处理,其他链路进行等待),从而解决总线冲突问题(目前仅支持6 主机连接),只支持工作在TCP 服务器模式,从机只能在串口,否则无法正常工作。
基于FPGA Verilog RS232串口回环测试例程,附源程序仿真源码及测试图片
FPGA Verilog RS232串口回环测试
基于FPGA Verilog RS232串口回环测试例程,支持多byte数据传输,附源程序仿真源码及测试图片。
测试基于SSCOM/友善之臂上位机软件测试,测试结果如下图一图二所示。
图一SSCOM
图二
图三连续发送仿真截图
图四连续接收仿真截图
后附verilog源程序代码及testbech仿真例程,注释欠。
重点:多byte回环测试要点,上位机串口多位数据连续发送停止位和起始位之间无间隔,回环程序在接收和发送都需要具备在停止位后能立马跳转到下一个起始位的能力。重点关注cnt_bit的处理方式。
附录1 顶层例化
uart_txd uart_txd(
.clk_50m(sys_clk_50m),
.reset_n(sys_rst_n),
.tx_data(rx_data),
.baud_set(3'd4),
.send_en(rx_done),
.send_done(),
.send_busy(send_busy),
.uart_tx(uart_tx)
);
uart_rxd uart_rxd(
.clk_50m(sys_clk_50m),
.reset_n(sys_rst_n),
.rx_data(rx_data),
.baud_set(3'd4),
.rx_done(rx_done),
.rx_busy(rx_busy),
.uart_rx(uart_rx)
);
附录2 串口发送源程序
`timescale1ns/1ps
///////////////////////////////////////////////////////////////////// /////////////
IPort-3嵌入式以太网转串口模块用户手册说明书
IPort-3
嵌入式以太网转串口模块
User Manual
UM01010101 V1.08
Date: 2020/12/01
类别 内容
关键词 IPort-3,以太网,串口
摘 要
IPort-3以太网转串口模块使用说明
修订历史
目录
1. 功能简介 (1)
1.1概述 (1)
1.1.1IPort-3模块功能特点 (1)
1.1.2产品特性 (2)
1.2产品规范 (3)
1.2.1电气参数 (3)
1.2.2机械尺寸 (3)
1.2.3温度特性 (4)
2. 硬件部分说明 (5)
2.1硬件电路说明 (5)
2.2硬件连接使用说明 (11)
2.3IPort-3的常用应用参考 (11)
2.3.1TTL电平的应用 (11)
2.3.2232电平的应用 (12)
3. 工作模式 (13)
3.1TCP Server模式 (13)
3.2TCP Client模式 (13)
3.3Real COM模式 (14)
3.4UDP模式 (14)
4. IPort-3模块IP地址 (16)
4.1设备IP出厂设置 (16)
4.2用户获取设备IP (16)
4.3PC机与模块网段检测 (17)
5. ZNetCom软件配置 (18)
5.1安装配置软件 (18)
5.2获取设备配置信息 (19)
5.3修改设备配置信息 (21)
5.4保存恢复设置 (22)
5.4.1保存设置 (22)
5.4.2恢复设置 (23)
5.5恢复出厂设置 (23)
5.5.1通过配置软件来恢复出厂设置 (23)
5.5.2通过硬件来恢复出厂设置 (24)
5.6升级固件 (24)
6. 使用AT命令配置 (25)
FANUC技术文档-使用内嵌以太网口进行程序传输
如何使用内嵌以太网口进行程序传输
玄子
为了应对客户对于使用机床进行加工的需要,Fanuc系统提供了多种方式,方便客户将NC 程序、参数等传输到CNC中。
FANUC 0i-D 系列中的0i-MD/0i-TD 系统都标准装配有支持100Mbps 的内嵌式以太网。将CNC 与电脑连接起来,即可进NC 程序的传输、机械的控制和运行状态的监视、机械的调整和维护。其基本功能包括:
基于FTP 传输功能的NC 程序的传输可通过CNC 画面的操作来传输NC 程序。电脑侧使用FTP 服务器·软件,所以,可以与Windows 环境以外的主机一起传输NC 程序。
基于FOCAS2/Ethernet 的机械的控制和监视可利用i CELL 和CIMPLICITY,创建进行机械的控制和监视的系统。此外,也可以直接使用FOCAS2/Ethernet 功能,创建独特的应用软件。此外,也可通过CNC 主导信息通知功能,利用NC 程序、或者梯图程序发出的指令,从CNC 自发地向电脑的应用程序通知信息(CNC/PMC数据)。
可以在线进行基于FANUC LADDER-Ⅲ以及SERVO GUIDE 的机械的调整和维护、梯图程序的维护和伺服电机的调整。
本篇主要介绍如何利用第三方FTP软件,实现CNC和个人电脑的连接和参数、NC程序等的传输。
NC侧参数设定
选择I/O通道
20=9
9:嵌入式以太网口
[SYSTEM]→[+]若干次→[内藏口]→[公共]
IP地址:192.168.1.2
子网掩码:255.255.255.0
路由器地址:不设置
如果错误输入路由器内容,请在MDI键盘上找到[SP],输入即可清除数据。
嵌入式系统实验内容(全)
实验一熟悉Linux开发环境
一、实验目的
1.熟悉Linux开发环境,学习Linux开发环境的配置和使用,掌握Minicom
串口终端的使用。
2.学习使用Vi编辑器设计C程序,学习Makefile文件的编写和
armv4l-unkonown-linux-gcc编译器的使用,以及NFS方式的下载调试方法。
3.了解UP-NETARM2410-S嵌入式实验平台的资源布局与使用方法。
4.初步掌握嵌入式Linux开发的基本过程。
二、实验内容
本次实验使用Redhat Linux 9.0操作系统环境,安装ARM-Linux的开发库及编译器。创建一个新目录,并在其中编写hello.c和Makefile文件。学习在Linux 下的编程和编译过程,以及ARM开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。
三、预备知识
C语言的基础知识、程序调试的基础知识和方法,Linux的基本操作。
四、实验设备及工具(包括软件调试工具)
硬件:UP-NETARM2410-S嵌入式实验平台、PC机Pentium 500以上, 硬盘10G
以上。
软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境
五、实验步骤
1、建立工作目录
[root@zxt smile]# mkdir hello
[root@zxt smile]# cd hello
2、编写程序源代码
在Linux下的文本编辑器有许多,常用的是vim和Xwindow界面下的gedit等,我们在开发过程中推荐使用vim,用户需要学习vim的操作方法,请参考相关书籍中的关于vim的操作指南。 Kdevelope、anjuta软件的界面与vc6.0 类似,使用它们对于熟悉windows环境下开发的用户更容易上手。
第4讲 嵌入式系统引导程序(Bootloader)PPT课件
Boot Loader 的操作模式(cont’d)
一些功能强大的 Boot Loader 通常
1. 同时支持这两种工作模式
如BlobBiblioteka BaiduU-Boot
2. 允许用户在这两种工作模式之间进行切换
比如,Blob 在启动时处于正常的启动加载模式,但是它 会延时 10 秒等待终端用户按下任意键而将 blob 切换到 下载模式。如果在 10 秒内没有用户按键,则 blob 继续 启动 Linux 内核。
Bootloader
第4讲 嵌入式系统引导程序 [ 20 ]
Boot Loader的主要任务
系统假设:内核映像与根文件系统映像都被加载 到 RAM 中运行。
尽管在嵌入式系统中它们也可直接运行在 ROM 或 Flash这样的固态存储设备中。但这种做法无疑是以运 行速度的牺牲为代价的。
从操作系统的角度看,Boot Loader 的总目标就 是正确地调用内核来执行。
系统加电或复位后,所有的 CPU 通常都从某个 由 CPU 制造商预先安排的地址上取指令。
比如,基于 ARM7TDMI core 的 CPU 在复位时通常都 从地址 0x00000000 取它的第一条指令。
基于 CPU 构建的嵌入式系统通常都有某种类型 的固态存储设备被映射到这个预先安排的地址上。
这种区别仅对于开发人员才有意义
嵌入式以太网串口服务器
嵌入式以太网串口服务器
摘要:本文提出了一种以高性能微处理器Cortex-M3芯片STM32F103C8T6和以太网控制芯片ENC28J60为核心的转换系统,实现串口(RS232)和网口(RJ45)的数据通过以太网互发,提高了传输数据的抗干扰性,节省了更新换代的成本,达到了远程控制、远程通信的目的。
1、引言
随着Internet快速发展与普及,将一些设备联入网络已经成为越来越多人的共识。利用基于TCP/IP的串口数据流传输的实现来控制管理的设备硬件,无需投资大量的人力、物力来进行管理、更换或者升级,而串口服务器是为RS-232/485/422到TCP/IP 之间完成数据转换的通讯接口转换器。
2、嵌入式以太网串口服务器的硬件设计
本系统主要有三大模块组成,分别是由微处理器芯片STM32F103C8T6构成的MCU模块,由网络控制芯片ENC28J60与含RJ45和网络变压器的HR91105A构成的网口模块,由串口控制芯片MAX-232与RS232接口构成的串口模块。设备发送过来的信息通过串口模块之后,送入MCU进行处理,然后通过网络模块发送至以太网进行显示。如图一所示为服务器的系统设计框图。
图1 系统设计框图
2.1、MCU模块
本系统设计引用了嵌入式应用方面性价比高的Cortex—M3 STM32F103C8T6作为处理器,Cortex—M3类型的STM32F103C8T6处理器采用表面贴片的48管脚LQFP封装,最高工作频率为72MHZ,工作温度为-40℃~ +85℃。其具有提供丰富的外围接口,包括(CAN、I2C、SPI、UART、USB等)低功耗、门数少、中断延迟小、调试容易,支持TCP/IP 协议栈中的IP/ICMP/TCP/UDP/DHCP 等协议,动态获取IP,,支持标准socket 编程等优点。
嵌入式系统软件开发工具——串口XModem数据传输
如果没有重新设置超级终端的波特率为9600bps,系统会提示“Your baudrate should be set to 9600 bit/s again! Press enter key when ready”。
嵌入式系统软件开发工具 ——串口XModem数据传输
嵌入式系统软件开发工具——串口XModem数据传输 2
1
XModem简介
2Βιβλιοθήκη Baidu
XModem使用实例
XModem简介 3
XModem协议是一种文件传输协议,因其简单性和较高的稳定性而被广泛应用。XModem协 议通过Console口传输文件,支持128字节和1K字节两种类型的数据包,并且支持一般校验和、 CRC两种校验方式,在出现数据包错误的情况下支持多次重传(一般为10次)。
如果下载Bootrom时的速率已经选择为9600bps,用户不用进行调整速率和断开重连接的操作, 系统将自动进行Bootrom的升级工作,提示“Bootrom updating.....................................done!”
嵌入式系统课后习题及答案
第1章嵌入式系统基础
1.什么是嵌入式系统?它由哪几部分组成?有何特点?写出你所想到的嵌入
式系统。
答:(1)定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠
性、成本、体积、功耗等严格要求的专用计算机系统。
(2)组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几部分组成。
(3)特点:a.软硬件一体化,集计算机技术、微电子技术、行业技术于一体;
b.需要操作系统支持,代码小,执行速度快;
c.专用紧凑,用途固定,成本敏感;
d.可靠性要求高;
e.多样性,应用广泛,种类繁多。
(4)嵌入式系统:个人数字助理(PDA)、机顶盒(STB)、IP电话。
2.嵌入式处理器分为哪几类?
答:(1)低端的微控制器(MicroController Unit,MCU);
(2)中高端的嵌入式微处理器(Embeded MicroProcessor Unit,EMPU);
(3)通信领域的DSP处理器(Digital Signal Processor,DSP);
(4)高度集成的片上系统(System on Chip,SoC)。
3.ARM英文原意是什么?它是一个怎样的公司?其处理器有何特点?
答:(1)英文原意:Advanced RISC Machines。高级精简指令集机器。
(2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和
系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。ARM公司已
串口转以太网单芯片
串口转以太网单芯片
∙单芯片方案。可将TTL/UART 串口单片机连接至以太网
∙支持TCP服务器、TCP客户端、UDP模式、UDP组播
∙支持DHCP、DNS、Modbus TCP等串口服务器所有功能
∙PQFP 80PIN封装形式
∙焊上即可使用,无需任何驱动。网口搜索后可以配置IP
概述
ZLAN1003是一款功能强大的单芯片串口转TCP/IP芯片,内部集成了10/100M快速以太网MAC和PHY接口、UART串口以及串口转TCP/IP 所需的软件功能。不同于普通的方案,ZLAN1003具有:易于使用、稳定可靠、系统成本低等3大优点。ZLAN1003可用于最大限度地方便实现TCP/IP、Internet互联产品的设计。
ZLAN1003的方便性体现在,它是一个拿来就用的真正的单芯片串口转TCP/IP芯片,无需任何驱动即可实现UART转TCP/IP数据传输。芯片上电之后用户无需通过参数配置,因为所有的参数配置可以用ZLVircom软件通过网口配置,用户通过ZLVircom可以一键式配置ZLAN1003的内部所有参数。作为TCP 客户端时,ZLAN1003会自动去建立TCP连接;作为TCP服务器时,自动接受连接,无需任何用户MCU的干预。用户MCU只需要做的就是等待ZLAN1003初始化完毕后进行串口(UART)数据的收发即可。
ZLAN1003的稳定性体现在,ZLAN1003的内部的TCP/IP协议栈是经过多年商业应用实践证明的。内部包括:TCP、UDP、IPv4、ICMP、ARP、HTTP等。
嵌入式系统——实验3_已做
实验一:基于ADS的C语言程序实验
一、实验环境
PC机一台
ADS 1.2集成开发环境一套
二、实验目的
通过实验了解使用ADS 1.2编写C语言程序,并进行调试。
三、实验内容
编写一个汇编程序文件Startup.S和一个C程序文件Test.c。汇编程序的功能是初始化堆栈指针和初始化C程序的运行环境,然后调跳转到C程序运行,这就是一个简单的启动程序。C程序使用加法运算来计算1+2+3+...+(N-1)+N的值(N>0)。
四、实验预习要求
(1)仔细阅读《ARM嵌入式系统》中第3和4章ARM指令系统的内容。
(2)仔细阅读产品配套光盘附带文档《ADS集成开发环境及仿真器应用》或其他相关资料,了解ADS工程编辑和AXD调试的内容。(本实验使用软件仿真)
五、实验步骤
(1)启动ADS 1.2,使用ARM Executable Image工程模板建立一个工程ProgramC。
(2)建立源文件Startup.S和Test.c,编写实验程序,然后添加到工程中。
(3)设置工程链接地址RO Base为0x40000000,RW Base为0x40003000。设置调试入口地址Image entry point为Ox40000000。
(4)设置位于开始位置的起始代码段,如图1-1,1-2所示。
图1-1设置位于开始位置的起始代码段(1)
图1-2 设置位于开始位置的起始代码段(2)
(5)编译链接工程,选择Project—Debug,启动AXD进行软件仿真调试。
(6)在Startup.s的“B Main”处设置断点,然后全速动行程序。
嵌入式系统课后习题及答案
嵌⼊式系统课后习题及答案
第1章嵌⼊式系统基础
1.什么就是嵌⼊式系统?它由哪⼏部分组成?有何特点?写出您所想到的嵌
⼊式系统。
答:(1)定义:国内对嵌⼊式系统的⼀般定义就是:以应⽤为中⼼,以计算机技术为基础,软硬件可裁剪,从⽽能够适应实际应⽤中对功能、可靠性、
成本、体积、功耗等严格要求的专⽤计算机系统。
(2)组成:嵌⼊式处理器、外围设备、嵌⼊式操作系统与应⽤软件等⼏部分组
成。
(3)特点:a、软硬件⼀体化,集计算机技术、微电⼦技术、⾏业技术于⼀体;
b、需要操作系统⽀持,代码⼩,执⾏速度快;
c、专⽤紧凑,⽤途固定,成本敏感;
d、可靠性要求⾼;
e、多样性,应⽤⼴泛,种类繁多。
(4)嵌⼊式系统:个⼈数字助理(PDA)、机顶盒(STB)、IP电话。
2.嵌⼊式处理器分为哪⼏类?
答:(1)低端的微控制器(MicroController Unit,MCU);
(2)中⾼端的嵌⼊式微处理器(Embeded MicroProcessor Unit,EMPU);
(3)通信领域的DSP处理器(Digital Signal Processor,DSP);
(4)⾼度集成的⽚上系统(System on Chip,SoC)。
3.ARM英⽂原意就是什么?它就是⼀个怎样的公司?其处理器有何特点?
答:(1)英⽂原意:Advanced RISC Machines。⾼级精简指令集机器。
(2)公司简介:该公司就是全球领先的16/32位RISC微处理器知识产权设计供
应商,通过将其⾼性能、低成本、低功耗的RISC微处理器、外围与系统
芯⽚设计技术转让给合作伙伴来⽣产各具特⾊的芯⽚。ARM公司已成为
基于STM32_的EtherCAT_转UDP_通信转换系统设计与实现
10
I
nternet Communication
互联网+
通信
以太网控制自动化技术EtherCAT 在工业自动化领域应用广泛。在工业以太网总线技术EtherCAT 中,从站之间的通信采用分布式时钟同步机制,保证了通信的高速、低延迟、同步和确定性。然而,EtherCAT 与工控机端的通信网络一般采用TCP/IP 协议,由于其需要建立连接和确认数据的传输,无法与EtherCAT 直接进行数据交互,导致了通信的非实时性,因此,需借用硬件介质进行通信协议转换。伺服电机、步进电机和输入/输出口的控制过程非常复杂,任何一个控制环节出错都会造成控制系统运行不稳。
在实际产品开发中,考虑成本因素无法直接在控制系统中运行实时分析软件,而是要将相应数据实时地传输到PC 机上,通过PC 机上的数据采集、分析软件中查找、定位问题根源。为了实现EtherCAT 与工控机端的TCP/IP 协议的互通,本文提出了一种基于UDP 协议的通信转换方案,利用UDP 协议的无连接和高带宽特点,提高通信的效率和速度,同时利用FPGA 开发的高性能TCP/IP 通信模块,保证通信的实时性和可靠性。
一、系统硬件设计
系统的控制部分包括STM32F103、FPGA。STM32F103程序负责控制LAN9252和FPGA 的通信,以及配置88E1111 PHY 芯片的寄存器。FPGA 程序负责实现可变静态存储控制器通信模块、UDP 通信模块和88E1111 PHY 芯片配置模块。可变静态存储控制器通信模块用于与STM32F103进行数据交换,UDP 通信模块用于封装和解析UDP 数据包,88E1111 PHY 芯片配置模块用于
串口转以太网原理
串口转以太网原理
串口转以太网是指将串口信号转换成以太网信号,实现串口和以太网之间的通信。其原理主要涉及物理层和数据链路层的转换。
在物理层方面,串口通信使用RS232或RS485等接口标准,而以太网通信使用著名的Ethernet标准。由于两者的信号格式和电气特性不同,需要通过转换器进行转换。
物理层的转换主要包括电平转换和线路连接。串口通常使用3.3V或5V的电平表示逻辑0和逻辑1,而以太网使用差分信号表示逻辑0和逻辑1。转换器可以将串口信号的电平转换成以太网信号的差分电平,以确保信号的有效传输。此外,转换器还需要正确连接串口的发送线和接收线与以太网的发送线和接收线。
在数据链路层方面,串口通常采用同步或异步传输方式,而以太网使用帧的方式进行数据传输。转换器需要将串口数据转换成以太网帧,包括帧头、数据部分和校验部分。同时,转换器还需要解决速率不匹配的问题,将串口数据的速率调整为以太网的标准速率。
除了物理层和数据链路层的转换,串口转以太网还需要进行协议转换。串口通常使用自定义的通信协议,而以太网通常使用TCP/IP协议栈。转换器需要将串口通信协议转换成以太网的TCP/IP协议栈,以实现与以太网设备的互联互通。
综上所述,串口转以太网主要通过物理层和数据链路层的转换,以及协议的转换,实现串口和以太网之间的通信。这种转换能够扩展串口设备的网络连接能力,增加设备的灵活性和可扩展性。
串口转以太网方案
串口转以太网方案
介绍
串口(Serial Port)和以太网(Ethernet)是计算机领域中常见的通信接口,它们在不同的应用场景中具有重要的作用。然而,在某些情况下,我们可能需要将串口数据通过以太网进行传输和处理。为了实现这种串口转以太网的方案,我们可以借助硬件转换器或使用软件实现此功能。
硬件串口转以太网方案
硬件串口转以太网方案通常基于串口转以太网模块来实现。这些模块内置有串口和以太网接口,并且具备串口和以太网之间的数据转换功能。下面介绍几种常见的硬件串口转以太网方案。
RS232转以太网模块是一种简单而常见的串口转以太网模块。它通常具有一个RS232串口和一个以太网接口,能够将串口数据转换为以太网数据进行传输。需要注意的是,使用RS232转以太网模块时,我们需要确保串口和以太网之间的通信协议一致。
2. RS485转以太网模块
与RS232转以太网模块类似,RS485转以太网模块也是一种常见的硬件串口转以太网方案。RS485是一种串行通信标准,可以实现多个设备之间的串行通信。RS485转以太网模块通常具有一个RS485串口和一个以太网接口,能够将RS485串口数据转换为以太网数据进行传输。
串口转以太网网关是一种功能更加强大的硬件转换设备。它通常具有多个串口和一个以太网接口,可以同时处理多个串口数据并将其转换为以太网数据进行传输。串口转以太网网关可以广泛应用于工业自动化、物联网等领域,提供稳定可靠的串口转以太网通信方案。
软件串口转以太网方案
除了使用硬件转换器,我们还可以使用软件来实现串口转以太网的功能。下面介绍几种常见的软件串口转以太网方案。
如何使用W7100A实现串口转以太网
如何用W7100A实现串口转以太网
版本1.0
© 2011 WIZnet Co., Inc. All Rights Reserved.
更多信息,请登录我们的官方网站http://www.wiznet.co.kr
©Copyright 2011 WIZnet Co., Inc. All rights reserved. Ver. 1.0 1
to implement Serial to Ethernet communication using
目录
1 简介 .................................................................................................. 3
2 串口转以太网的基本结构 .........................................................................
3 3 串口转以太网演示 ................................................................................. 3 4
串口转以太网代码 ................................................................................. 6 4.1
TCP 服务器模式 ......................................................................... 7 4.1.1 打开(OPEN) ........................................................................ 7 4.1.2 监听(LISTEN) ....................................................................... 7 4.1.3 RS232 参数初始化 ................................................................ 8 4.1.4 串行中断处理 ...................................................................... 8 4.1.5 TCP 转串口 ......................................................................... 9 4.1.6 串口转TCP ......................................................................... 9 4.1.7 断开连接(DISCONNECT) ........................................................ 10 4.1.8 关闭(CLOSE) ..................................................................... 10 4.2 TCP 客户端模式 ....................................................................... 11 4.2.1 连接(CONNECT) ................................................................. 11 4.3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现场答辩成绩:
实验报告成绩:
总成绩:重庆邮电大学
综合实验报告
题目:基于嵌入式系统的串口-以太网转换器
单位(二级学院):
学生姓名:
专业:
班级:
学号:
指导教师:
设计时间:2010 年11 月
重庆邮电大学制
目录
一、实验作品功能描述
二、实验作品界面或使用说明
三、小组分工与个人所负责的模块说明
四、程序流程图
五、任务的定义、实现及主要模块
六、实验中遇到的问题及解决方法
七、实验结果
八、实验体会
九、进一步改进方案和作品应用建议附录:个人所负责编写的部分主要代码
一、 实验作品功能描述
该作品是实现一个基于嵌入式系统的串口-以太网转换器。该网关能够实现
RS-232与以太网TCP/IP 之间的协议转换,从而能为各种串口设备提供以太网接入功能。该转换器实现的是串口数据的透明化传输,即转换器并不对通信的数据内容作任何修改,只是对通信数据进行打包和解包工作,以实现串口数据的网络传输。
二、实验作品使用说明
该设计最终在实验室ARM3000开发板平台上验证成功,一个UP-NetARM3000 通过网线与pc 机相连接,发送板的ARM 监视以太网,将接收到的字符发送到串口收发器发送,pc 机收发器监视串口,将接收的字符发送到以太网,数据传送
数据转换图
数据转换过程为,pc 开始,主机发送数据到以太网口,以太网接收到数据,发送到串口;串口轮询总线,接收到数据以后,发送到以太网口,最后将数据返回给
pc 机。
三、小组分工及个人所负责模块
这次设计,我主要负责总函数的设计及调用。主要用到了实验手册中的串口实验,UDP 通信实验,系统消息循环实验这几个实验。程序见附录。
四、程序设计流程图 本次设计的主程序流程图如下
通过编写串口驱动程序模块,为应用程序的设计建立了一个很好的平台,应用程序的编写只需调用系统服务或者是调用各种API函数,大大简化了应用程序的设计的复杂度。在应用程序中,初始化各个全局变量后,调用SOCKET API函数建立了服务器通讯方式,
UDP 建立过程在具体通讯时,本系统作为服务器,监听客户端(一般是PC机)的连接。建立连接后,该任务把客户端通过以太网发送来的数据保存到串口发送缓冲池,串口驱动程序就会自动地把数据发送给串口设备。然后,程序判断串口接收缓冲池是否有数据,若有,就调用SOCKET API函数中的sendto()函数把串口接收缓冲池的数据转发给以太网,送到客户端。该任务一直处于这样一个循环中,从而
实现了串口数据的网络传输。
本次设计运用到了U/cos-II操作系统,定义了两个主要任务: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); //配置网络。
2)设定计算机端套接口属性,定义了使用的IP协议、地址以及使用端口号:servaddr.sin_family = AF_INET; //IPv4协议
servaddr.sin_addr.s_addr = (110<<24)|(0<<16)|(168<<8)|192;
servaddr.sin_port = htons(5000); //端口
3)创建开发板发送端套接字ClientSock_out:
ClientSock_out=socket(PF_INET,SOCK_DGRAM, 0); //创建套接字4)设定了开发板发送端套接口属性,定义了发送板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_out));
6)主要处理函数,串口查询函数,如果收到数据,返回非零,否则,返回0。
int Uart_Poll(int Uartnum)
{
if(Uartnum==0){
return (rUTRSTAT0 & 0x1);
}
else{
return (rUTRSTAT1 & 0x1);
}
Receive_task模块完成的主要任务:
1)创建开发板接收端套接字ClientSock_in:
ClientSock_in=socket(PF_INET,SOCK_DGRAM, 0);
2)设定了开发板接收端套接口属性,定义了接收板IP地址以及使用端口号:cliaddr_in.sin_family= AF_INET; //使用IPV4协议族
cliaddr_in.sin_port=htons(4998); //板子接受数据的端口
cliaddr_in.sin_addr.s_addr=INADDR_ANY; //填入本机IP地址
3)绑定接收端套接字:
bind(ClientSock_in, (struct sockaddr*)&cliaddr_in, sizeof(cliaddr_in));
六、实验中遇到的问题及解决方法
1、在调试的时候,把pc的IP地址与板子的IP地址设置为相同,这样数据不能正常发送。改为不同的IP之后就可以正常通信了。还有就是调试的时候波特率的设置问题,我是通过网上查资料的方法才知道要设为9600。
2、在串口通信与UDP通信汇总时,他们出现了头文件重复定义的情况,必须慢慢查找出来。
七、实验结果