当前位置:文档之家› 基于嵌入式系统的串口--以太网转换器

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

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

现场答辩成绩:

实验报告成绩:

总成绩:

重庆邮电大学

自动化学院

综合实验报告

题目:基于嵌入式系统的串口--以太网转换器

单位(二级学院):自动化学院

学生姓名:蒋松松

专业:自动化

班级:0810704

学号:07200420

指导教师:王恒

设计时间:年月

重庆邮电大学自动化学院制

目录

一.实验作品功能描述

二.实验作品展示

三.程序流程图

四.任务定义、实现及主要模块五.实验中遇到的问题及解决方法六.实验结果

七.个人所负责模块和心得体会八.进一步改进方案和作品应用建议附录:个人所负责编写的部分主要代码

基于嵌入式的串行口网关设计

三.实验作品功能描述

本文设计了一个基于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);//配置网络。

2)设定计算机端套接口属性,定义了使用的IP协议、地址以及使用端口号:servaddr.sin_family = AF_INET; //IPv4协议

servaddr.sin_addr.s_addr = (67<<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)主要处理函数,串行口收到数据则发送到以太网:

if(Uart_Poll(0))

{//串口收到数据,则发送到

Uart_Getch((char*)data,0,0);

count_send=sendto(ClientSock_out, (char*)&data,8, 0, (struct

sockaddr*)&servaddr, sizeof(servaddr));

}

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));

4)主要处理函数,从以太网接收数据,然后发送到串行口:

for(;;)

{

count_receive=recvfrom(ClientSock_in, (char*)&str,80, 0, (struct

sockaddr*)&cliaddr_in, (int*)&fromlen); //返回接受数据字节长度,char是1

for(i=0;i

Uart_Printf("%c",str[i]);

Uart_Printf("\n");

}

六.实验中遇到的问题及解决方法

开始在调试那个实验20的时候,对核心板的IP地址设置不是很懂,也不晓得它是从哪里就设置好了,后来反正都不晓得于是就索性不要,自己就强制设置IP,这样有个好处就是你不用去找它板子到底IP地址是多少(当然后来晓得了),最后把电脑的IP也强制设置了,嘿嘿,这下程序就好写了,没必要去搜索什么哪个哪个IP什么的,只需要从哪个IP接收,发送到那个IP就行了,那么这个问题就到这里;接下来就遇到了另一个问题就是不能发送字符串,只能发送单个的字符,这让人感觉很不爽,于是我思考,我想,我踌躇,后来用count_receive 把网口接收到得数据大小记下来,一个字符大小就是一个字节了(这个都晓得),然后再一个一个发送,这样不就ok了。

七.实验结果

本文设计了一个基于ARM7处理器s3c44b0的网关,该网关实现了串行口与以太网之间的数据转换功能,实现了串行口与以太网之间的通信功能。

可以在发送端发送一个字节的数据,通过串行口,再通过以太网总线,传送到另一端以太网收发器最后在另一端通过串行口发送显示出发送的数据。而且通信也是双向的,反过来同样可实现,两端的发送与接收互不影响。

九.个人所负责模块和心得体会

实验过程中,一开始是不了解以太网的工作机制,之后是看了很多关于以太网的书和资料,还有配套的实验20的程序,最后发现,原来不是很困难,只要按照它的实验步骤一步一步的来就行了,当然最开始你得把实验20做成功,这里不得不说,原来老师给我的那个程序本身就存在问题,如果你没把整个过程搞懂,那么你是发现不了的,后来这个问题被我解决了,再后来才有了我们几个组的成功调试出结果,呵呵,感觉我好像是盘古开天一样,还是挺有意思的。

十.进一步改进方案和作品应用建议

1、可以做一个基于串口的聊天工具,就是假设我们终端不是电脑这么高级的东西的话,假设它处理能力很差只能用串口接收数据和发送数据,然后我们在这两个终端分别加一个串行口以太网转换器就行了。

2、当然能把这个聊天工具开发出来就好了,可以实用于不同的显示终端,即使用盛群或者51这么低端的单片机也可以是吧。

附录:

#include"..\ucos-ii\includes.h" /* uC/OS interface */

#include "..\ucos-ii\add\osaddition.h"

#include "..\inc\TCPIP\internet.h"

#include "..\inc\drv.h"

#include "..\inc\drv\tchscr.h"

#include

#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting

///////////////ZLG7289的信号线/////////////////////

struct sockaddr_in servaddr;//计算机端套接口

int nNode;

///******************任务定义***************///

OS_STK Main_Stack[STACKSIZE*8]={0, }; //Main_Test_Task堆栈

void Main_Task(void *Id); //Main_Test_Task

#define Main_Task_Prio 12

OS_STK Receive_Stack[STACKSIZE*8]={0, }; //Main_Test_Task堆栈

void Receive_Task(void *Id); //Main_Test_Task

#define Receive_Task_Prio 40

/**************已经定义的OS任务*************

tcp监控任务11

以太网物理层监控任务8

触摸屏任务9

键盘任务10

lcd刷新任务59

系统任务 1

*****************************************************/

///*****************事件定义*****************///

OS_EVENT *Nand_Rw_Sem; //Nand_Flash读写控制权旗语

//and you can use it as folloeing:

// Nand_Rw_Sem=OSSemCreate(1); //创建Nand-Flash读写控制权旗语,初值为1满足互斥条件//

// OSSemPend(Nand_Rw_Sem,0,&err);

// OSSemPost(Nand_Rw_Sem);

OS_EVENT *Uart_Rw_Sem; //Uart读写控制权旗语

//and you can use it as folloeing:

// Uart_Rw_Sem=OSSemCreate(1); //创建Uart读写控制权旗语,初值为1满足互斥

条件//

// OSSemPend(Uart_Rw_Sem,0,&err);

// OSSemPost(Uart_Rw_Sem);

//////////////////////////////////////////////////////////

extern U8 isConfigsysLoad;

extern U8 sysCONFIG[];

extern U32 ConfigSysdata[];

void InitNetWork()//初始化网络

{

U32 ipaddr32,ipmaskaddr32,ipgateaddr32;

U8 Mac[6];

Uart_Printf("begin init Ethernet and UDP...\n");

//强设IP

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);//配置网络OSTimeDly(1000);

Uart_Printf("init Ethernet and UDP is ok!\n");

}

/*******************************************************\ 串口查询函数

如果收到数据,返回非零,否则,返回0

\*******************************************************/ int Uart_Poll(int Uartnum)

{

if(Uartnum==0){

return (rUTRSTA T0 & 0x1);

}

else{

return (rUTRSTA T1 & 0x1);

}

}

/////////////////////////////////////////////////////

// Main function. //

////////////////////////////////////////////////////

int main(void)

{

ARMTargetInit(); //开发板初始化

OSInit(); //操作系统初始化

uHALr_ResetMMU();//复位MMU

OSTaskCreate(Main_Task, (void *)0, (OS_STK *)&Main_Stack[STACKSIZE*8-1], Main_Task_Prio);// 创建系统任务一个收一个发

OSTaskCreate(Receive_Task, (void *)0, (OS_STK *)&Receive_Stack[STACKSIZE*8-1], Receive_Task_Prio);

OSAddTask_Init();//创建系统附加任务

InitRtc();//初始化系统时钟

Nand_Rw_Sem=OSSemCreate(1); //创建Nand-Flash读写控制权旗语,初值为1满足互斥条件//

OSStart();//操作系统任务调度开始

//不会执行到这里

return 0;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void Main_Task(void *Id) //板子发

{

// POSMSG PSG_uart;//定义消息结构

char data[8]={0,};

//char str_data[80]="sdfsdfdsfd";

// char sign_getit;

int count_send;

// int j=0;

// int s;

int ClientSock_out;

struct sockaddr_in cliaddr_out;//IPv4套接口地址定义

InitNetWork();

ClientSock_out=socket(PF_INET,SOCK_DGRAM, 0);//创建套接字

//给电脑的全局量,里面包含协议族IP地址端口

memset(&servaddr, 0, sizeof(servaddr)); //地址结构清零

memset(&cliaddr_out, 0, sizeof(cliaddr_out)); //地址结构清零

//计算机终端套接字属性

servaddr.sin_family = AF_INET; //IPv4协议

servaddr.sin_addr.s_addr = (67<<24)|(0<<16)|(168<<8)|192;

servaddr.sin_port = htons(5000); //端口

//发送端套接字属性

cliaddr_out.sin_family = AF_INET; //IPv4协议

cliaddr_out.sin_port=htons(4999); //板子发送数据的端口

cliaddr_out.sin_addr.s_addr=INADDR_ANY;

bind(ClientSock_out, (struct sockaddr*)&cliaddr_out, sizeof(cliaddr_out));//绑定套接字

for(;;)

{

/*

if(Uart_Getch(data,0,0)) //从串口采集数据0xd回车

str_data[j++]=data[0];

if(Uart_Getch(data,0,0)) //从串口采集数据0xd回车

str_data[j++]=data[0];*/

/* //用于对比说明这个串口不能收字符串,只能接受单个字符

while(1)

{

sign_getit=Uart_Getch(data,0,0);

Uart_SendByte(0,data[0]); //显示采集的数据

if(data[0]=='#')

Uart_SendByte(0,0xa);//换行

count_send=sendto(ClientSock_out, (char*)&data[0],1, 0, (struct sockaddr*)&servaddr, sizeof(servaddr));

}*/

////// sign_getit=Uart_Getch(data,0,0);

// Uart_SendByte(0,data[0]); //显示采集的数据

// if(data[0]=='#')

// Uart_SendByte(0,0xa);//换行

////// count_send=sendto(ClientSock_out, (char*)&data[0],1, 0, (struct sockaddr*)&servaddr, sizeof(servaddr));

// OSTimeDly(10);

// j++;

// if(data[0]=='#')

// break;

// }

// for(j=0;j<5;j++)

// if(j!=0)

// {

// Uart_Printf("%d",j);

// for(s=0;s

// Uart_Printf("%c",str_data[s]);

// sign_getit=Uart_Getch(data,0,0); //从串口采集数据0xd回车

// count_send=sendto(ClientSock_out, (char*)&str_data,80, 0, (struct sockaddr*)&servaddr, sizeof(servaddr));

// }

if(Uart_Poll(0))

{ //串口收到数据,则发送到

Uart_Getch((char*)data,0,0);

count_send=sendto(ClientSock_out, (char*)&data,8, 0, (struct sockaddr*)&servaddr, sizeof(servaddr));

}

OSTimeDly(200);

}

close(ClientSock_out);//关闭套接字

}

void Receive_Task(void *Id) //板子收

{

int ClientSock_in;

struct sockaddr_in cliaddr_in;

int count_receive;

char str[80];

int i;

int fromlen;

fromlen=sizeof(cliaddr_in);

//接收端套接口属性

cliaddr_in.sin_family= AF_INET;

cliaddr_in.sin_port=htons(4998); //板子接受数据的端口

cliaddr_in.sin_addr.s_addr=INADDR_ANY;

ClientSock_in=socket(PF_INET,SOCK_DGRAM, 0);

bind(ClientSock_in, (struct sockaddr*)&cliaddr_in, sizeof(cliaddr_in));

for(;;)

{

count_receive=recvfrom(ClientSock_in, (char*)&str,80, 0, (struct sockaddr*)&cliaddr_in, (int*)&fromlen); //返回接受数据字节长度,char是1

for(i=0;i

Uart_Printf("%c",str[i]);

Uart_Printf("\n");

// Uart_Printf("%d\n",count_receive);

OSTimeDly(300);

}

close(ClientSock_in);

}

USB转串口芯片介绍

pl2303原理应用 PL2303符合USB1.1标准,价格3RMB.

2 CP2102/CP2103简介 SiliconLaboratories公司推出的USB接口与RS232接口转换器CP2102/CP2103是一款高度集成的USB-UART桥接器,提供一个使用最小化元件和PCB空间来实现RS232转换USB的简便解决方案。如图1所示,CP2102/CP2103包含了一个USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的异步串行数据总线(UA RT), 采用5 mm×5 mm MLP-28的封装。 CP2102/CP2103作为USB/RS232双向转换器,一方面可以从丰机接收USB数据并将其转换为RS232信息流格式发送给外设;另一方面可从RS232外设接收数据转换为USB数据格式传送至主机,其中包括控制和握手信号。

2.1 USB功能控制器和收发器 2.2异步串行数据总线(UART)接口 CP2102/CP2103UART接口包括TX (发送)和RX(接收)数据信号以及RTS、CTS、DSR、DTR、DCD和RI控制信号。UART支持RTS/CTS、DSR/DTR和X-On /X-Off握手。 通过编程设置UART,支持各种数据格式和波特率。在PC机的COM端口编程设置UART的数据格式和波特率。表1 为其数据格式和波特率。 2.3 内部EEPROM CP2102/CP2103内部集成有1个EEPROM,用于存储由设备制造商定义的USB 供应商ID、产品ID、产品说明、电源参数、器件版本号和器件序列号等信息。USB配置数据的定义是可选的。如果EEPROM没有被OEM的数据占用,则采用表1所示的默认配置数据。注意,对于可能使用多个基于CP2102/CP2103连接到同一PC机的OEM应用来说,则需要专用的序列号。 内部EEPROM是通过USB编程设置的,允许OEM的USB配置数据和序列号可以在出厂和测试时直接写入系统板上的CP2102/CP2103。Cygnal提供了一个专门为C P2102/CP2103的内部EEP-ROM编程设置工具,同时还提供免费的驱动WindowsDLL格式的程序库。这个程序库可将。EEP-ROM编程步骤集成到OEM在制造中进行流水线式测试和序列号的管理的自定义软件中。EEP-ROM的写寿命的典型值为100000次,数据保持时间为100年。为了防止更改USB描述符,应将其锁定。 2.4其他功能 CP2103除上述功能外也可实现RS485接口与USB接口转换功能,CP2103支持4个可按照控制信息定义的GPIO引脚。 3 典型应用电路 3.1 硬件电路设计

串口转以太网核心模块.

串口联网服务器
卓岚串口服务器提供虚拟串口 ZLVirom 和 Socket 通信方式,支持跨 internet 和断网恢复。 包含有 RS232、RS485/422 的单口到 32 口串口服务器。性能稳定、价格公道,是串口设备 联网的最佳选择。
串口转以太网核心模块
卓岚的 ZLSN 模块是嵌入式设备联网的首选。卓岚具有自主的 TCP/IP 协议栈技术,是国家 版权注册软件,且具有超过 8 年的嵌入式联网经验。ZLSN 联网模块提供 TTL、RS232、 RS485/RS422 等多种接口。具备 DDNS、DNS、DHCP、UDP 组播、9 位数据自适应、串口类 AT 命令、100 个同时的 TCP 连接、网页下载和卓岚 HTML 控件、ModbusTCP 支持等高级功能。
串口转以太网模块
提供多种 RS232/RS485/RS422 串口转以太网模块,性能稳定可靠,使用便捷。
串口转 WIFI 模块
提供 TTL 电平、RS232、RS485 串口转 WIFI 串口服务器,WIFI 可以为 AP 或者 Station 模式, 可以连接到无线路由器,也可以让 wifi 手机连接。支持虚拟串口。

串口转 WIFI 模块
支持 4 个继电器 DO 输出、4 个 DI 输入、2 个 AI 输入。可支持 Modbus TCP 协议、Modbus RTU(RS485) 协议和网页控制 IO 方式。工业级温度范围,9~24V 宽电压输入。是进行远程设备控制、远程模拟量、 温度、数字量采集的理想选择。
Modbus 网关
实现 RS232/RS485 串口的 Modbus RTU 协议转化为 Modbus TCP 协议,实现老的 RTU 设备和 新的 Modbus TCP 软件的对接。
网页下载模块
可下载用户自定义的网页,通过卓岚 HTML 控件实现对设备的控制。立即实现用一种嵌入式 的 Web 服务器来进行数据监控和采集。
串口服务器
串口服务器能够使得您的串口设备立即联网。上海卓岚串口服务器可支持虚拟串口协议,使得您无需改变原有的 PC 软件, 提供串口和以太网口之间的透明数据转化功能,支持 DHCP 和 DNS。是全双工、不丢包串口服务器。
上海卓岚生产 RS232/485/422 三合一串口、RS232、RS485、RS485/422、RS232/485 等各种串口组合的全系列产品。另外 还有多串口、可二次开发的串口服务器。可满足全方位的应用。卓岚串口服务器广泛应用于门禁/考勤、医疗应用、远程监控、计 算机机房管理以及变电所管理。
RS232/RS485/RS422 转 TCP/IP 型串口服务器

RS232串口转以太网

可将 RS232 串口设备连接至以太网 支持网口升级固件程序、功能全面 支持TCP服务器、TCP客户端、UDP模式 支持虚拟串口、Web登录或使用VirCom 进行配置 ZLSN2103 概述 ZLSN2103嵌入式联网模块是卓岚一款RS232和TCP/IP之间协议转化内嵌模块。ZLSN2103基于ZLSN2003模块开发,功能强大,具有网络在线升级程序功能。该联网模块可以方便地使得串口设备连接到以太网和Internet,实现串口设备的网络化升级。 ZLSN2103是一款高性价比的联网模块,RS232接口支持全双工、不间断通信,支持DHCP、DNS,可轻松实现异地远程设备监控。支持虚拟串口,原有串口PC端软件无需修改。 特点 支持在线网络升级固件程序,用户可以从卓岚公司获得软件升级工具和升级firmware,可自行升级到最高版本。 使用配置的ZLVircom工具可以搜索、管理局域网内(支持跨网段搜索)、Internet上的ZLSN2003模块。可一键式配置模块的所有参数。设备配置、管理非常方便。 支持DHCP功能,可以动态获得局域网内的DHCP服务器分配的IP。 支持DNS,自动解析目的域名为IP,目的IP可以为动态域名。 作为TCP Server(TCP服务器端)时,支持独有的100个连接的强大连接能力。 作为TCP Client(TCP客户端)的,支持连接8个目标服务器。作为TCP客户端时,可以在断线后自动进行重连。支持隐含心跳技术,保证网线断线后的恢复。 支持UDP、UDP组播等功能。 支持虚拟串口。 规格 网络界面 串口界面

软件特性 电器特性 机械特性 工作环境 可将 RS-232 串口设备连接至以太网

以太网转232模块-以太网转RS232模块

详细信息 可将以太网转 232 模块串口设备连接至以太网 业界首款全双工、不间断、低成本232转TCP转换器 支持TCP服务器、TCP客户端、UDP模式 支持虚拟串口、Web登录或使用VirCom进行配置 ZLSN2100 概述 ZLSN2100以太网转232模块是卓岚开发的一款RS232和TCP/IP之间协议转化器。该串口转以太网模块可以方便地使得串口设备连接到以太网和Internet,实现串口设备的网络化管理。和同类产品相比,其显著特点是稳定性(可以全双工、不间断发送大批量数据而不丢失一字节)和适中的价格。 特点 通过ZLSN2100内嵌Web服务器可配置其网络参数、串口参数、登录口令等。 Web服务器支持密码登录,以防止随意修改。 支持跨网关:能够将串口服务器和任何Internet上有公网IP的主机连接。 支持1200~115200波特率。 支持9位数据发送功能:第9位可以为无、奇校验、偶校验、1、0,五种方式方便在485通信中区分数据帧和地址帧。 ZLVirCom配置工具可在网络上自动寻找NETCOM设备联网服务器。 支持虚拟串口。 支持数据写保护,防止随意篡改。 支持默认配置启动。 LINK灯连接指示。 硬件流控CTS/RTS。 1KV网络浪涌保护。 规格 网络界面

串口界面 软件特性 电器特性 机械特性 工作环境 订购信息 以太网转232的流控功能介绍

1.以太网转232的流控 RS232转网口转换器ZLAN2100是支持RS232流控和网口流控的高性能转换器。所谓流控即对数据流的速度进行控制,防止接收方缓冲区满的时候发送方继续发送数据引起数据的丢失。RS232转网口中流控对于防止数据包丢失是相当重要的。 RS232和网口采用了不同的流控机制。RS232的流控分为无流控、软件流控、硬件流控。网口的流控一般采用TCP的窗口流控机制。由于两种流控方式的不同,ZLAN2100在将RS232协议数据转换为网口协议数据的时候,也要进行流控方式的转换。 图1. RS232转网口转换器——ZLAN2100 RS232的流控方式介绍如下: 1.无流控:没有流控功能。 2.软件流控:软件流控也称之为XON/XOFF流控,使用控制字符XON、XOFF来实现。在RS232数据通信过程中,如果发送方 收到XOFF字符则停止发送数据,反之如果收到XON字符则重新开始发送数据。XON一般定义为十六进制0x11,XOFF为十六进制0x13。 3.硬件流控:硬件流控又分为DSR/DTR流控和CTS/RTS流控。硬件流控是通过硬件的高低电平来通知发送方,接收方的缓冲 区是否快满了。CTS/RTS流控时,RS232(DB9)的8引脚为RTS,7引脚为CTS。DSR/DTR流控时,RS232(DB9)的6引脚为DSR,4引脚为DTR。 网口流控方式:网口一般采用两种协议TCP协议和UDP协议。其中UDP协议是没有流控的,TCP协议采用窗口流控,即发送方知道接收方的接收缓冲区大小,发送方从而不会发送超过接收方接收能力的数据量,接收方也会定期告诉发送方窗口大小的变化。 ZLAN2100和ZLVircom相互配合实现RS232转网口的流控转化,例如当RS232给出硬件流控引脚高电平时(高电平表示开始流控),ZLAN2100的内嵌TCP/IP协议栈自动通知TCP窗口减少;反之当TCP窗口减少时ZLAN2100自动设置硬件流控引脚高为高电平。 2. RS232串口线与硬件流控 RS232串口线的接头分为公头和木头。另外有些RS232串口线是9芯的,有些只有GND、RXD、TXD这3芯。有些RS232串口线是2、3交叉的(即RXD、TXD交叉),有些是不交叉的。要实现RS232的硬件流控必须采用9线的RS232串口线,否则硬件流控信号无法传递过去。

DS_YSUMA00-341A 优胜USB串口转换器说明书

优胜 USB 串口转换器使用说明
USB 串 口 转 换 器 使 用 说 明 书
档案号:YSDOC201201 版本号:YSUMA00-341A
由于串口在 PC 机上的日渐稀少,特别是在笔记本上,几乎难觅踪影。为方便广大 电子工程师在笔记本上做调试,USB 串口转换器就应用而生了:她采用南京沁恒公司生 产的 USB 总线转接芯片 CH341A,功能全,用法简单,性能稳定,对于广泛使用的宏晶科 技的 MCU(STC MCU)支持稳定良好。 关键字:USB 转 UART、USB 转 I2C、USB 转 SPI、USB 转 ISP、USB 转串口。
*************************************************************************** 感谢您购买本产品,如果在使用过程中有什么意见和建议欢迎您随时联系我们;如 果您感觉不错,请给我们店铺 5 分评价,再次感谢您的支持! *************************************************************************** 1
优胜电子科技有限公司 Usen Electronic Technology Co., Ltd.

优胜 USB 串口转换器使用说明
转换器特色简介
? ? ? ? ? ? 使用通用 USB-A 公头设计,直接与电脑 USB 接驳,无需另外配线,方便使用; 电脑 USB 直接供电,无需外部供电; 支持 3.3V 和 5V 目标系统; 多种工作模式:支持 UART、I2C、ISP、SPI 等; 完美支持全系列 STC MCU 程序下载与调试; 提供 3.3V 或则 5V 电源输出,方便对目标板进行初步调试; (可对输出电压,是否输出做选择) 状态指示灯,工作模式一目了然; 支持常用通讯波特率:50、75、100、110、134.5、150、300、600、900、1 200、 1 800、2 400、3 600、4 800、9 600、14 400、19 200、28 800、33 600、38 400、 56 000、57 600、76 800、115 200、128 000、153 600、230 400、460 800、921 600、1 500 000、2 000 000 等; 主控芯片功能脚引出,可供用户后期开发更多功能. 支持 WINDOWS 98/ME/2000/XP/server 2003/VISTA/server 2008/WIN 7/64/32-bit。
? ?
? ?
优胜电子科技有限公司 Usen Electronic Technology Co., Ltd.
2

串口并口转USB以太网透传模块

USBÐ 是专用于高速数据采集而设计并口(8080时序)转USB 或以太网透传模块,无需二次开发,同进还支持串口转USB 或以太网透传。USB 支持标准USB2.0 480Mbps 的传输速度;以太网为了提高吞吐率只支持UDP 传输且模块工作在服务器模式,IP 地址固定为192.168.1.10;并口为标准8080时序,16位数据位宽,读写双向传输;串口为TTL 电平,波特率为115200,串口用来做为并口的辅助传输。 ● 并口转USB 透传 ● 并口转以太网透传 ● 串口转USB 透传 ● 串口转以太网透传 ● 标准8080并口协议 ● 串口波特率115200,TTL 电平● USB2.0 480Mbps ● 以太网10/100 Mb/s 自适应,UDP 服务器模式 ● 工作温度:-40℃ - +85℃

1.引脚定义 [1] I输入,O输出,I/O输入输出,P电源

USB(J2)引脚定义备注 1 VBUS +5V 2 DM 差分数据对 3 DP 4 GND 地 网口(J3)引脚定义备注 发送差分信号数据对 1 TD+ 2 TD- 3 LED_ACT+ LED正 4 LED_LINK+ 接收差分数据对 5 RD+ 6 RD- 7 LED_ACT- LED负 8 LED_LINK- 9 NC 保留 10 NC 2.模块封装 单位:mm 3.电气参数 名称最小值典型最大值单位 供电电压(VCC) 3.0 3.3 3.6 V 供电电流(I) 80 120 160 mA 输入低电平0 -- 0.8 V

(V IL )[1] 输入高电平(V IH ) 2.0 -- VCC V [1] 所有I 引脚都兼容5V 电平 4. 参考电路 注电容越靠近模块放越好,其它I/O 接口最好串入10?到50?电阻。 5. 详细说明 5.1 上电时序 如上图所示,模块上电并初始化完成t1(约50ms )时间后,RES 输出t2(约10ms )时间宽度的低电平复位从设备。 5.2 读写时序 +3.3V VCC GND 模块 10uF/10V 0.1uF RST RES INT Addr RD WR D[15…0] VCC

以太网转485,485转以太网

以太网转485,485转以太网 1.485转以太网的应用 RS485通信技术在工程上用得很多,其主要优点如下: ?布线简单:只需要2根线,现在一般采用网线的屏蔽线接口。 ?通信距离远:由于采用了差模通信方式,比RS232的通信距离要远。 ?可以支持多机联网通信:相比于RS232只能一对一的连接,RS485可以在线上挂载多个终端,采用查询——应答的方式实现多机通信。 但是RS485现在经常需要转为以太网,也就是转化为TCP/IP,分析这些应用背后的原因主要有: ?以太网可以接入internet这样就可以实现远距离通信,在全球范围内实现监控,这是RS485所无法做到的。 ?当需要多台RS485设备连接到计算机的时候,传统的方式是使用多串口卡。也就是使用在计算机上扩展串口来实现多个RS485串口。使用以太网转485之后,可以把RS485的接口留到现场,而监控计算机这端只保留一根网线即可,使用较为方便。 2. 以太网转485的解决方案 实现以太网转485(即485转网口)主要一个硬件转换器和一个软件驱动。硬件转换器分为两种:串口服务器(串口联网服务器、串口通信服务器)、串口联网模块。 RS485串口服务器是带外壳的,可以将现有的485设备连接到以太网。适合已有的RS485串口设备的网络化改造。RS485串口联网模块是不带外壳的,可以理解为内嵌方式的RS485转以太网模块,使用模块解决方案,可以将模块集成到用户设备的内部,实现串口服务器和设备的一体化。在价格上模块方案比串口服务器方案价格要低。两种硬件如下图所示: 串口服务器的硬件实现了RS485接口转化为TCP/IP接口(网络接口),那么配合计算机端的虚拟串口驱动使用就可以再次将TCP/IP连接虚拟地转化为串口。虚拟串口驱动可以在计算机内的驱动层虚拟出类似COM5、COM6等虚拟串口号,并且将远端的串口服务器和这些虚拟串口绑定。这样用户串口程序打开虚拟串口的时候就可以通远端的串口服务器通信,即和串口设备通信。 使用该RS485转以太网解决方案的硬件和软件系统之后,用户的485设备相当于实现网络化的扩展,原有的硬件和软件程序都无需修改。 3. 以太网转485的关键技术

1_232、485接口转换器使用说明

RS232-485接口转换器 一.基本介绍: 接口转换器按供电方式不同,它主要分为有无源和源型两种类型。无源型是直接从主机的串口取馈电,不需外加电源。有源型需要外接一个电源,通信控制系统独立供电,相互隔离减少了各系统间的串扰;工作状态更加稳定。 RS-232与RS-485协议基本介绍: RS232是微机之间最常用的点对点串行通信接口,采用单端信号传输,抗干扰能力差,是一种用于近距离(最大30-60米),慢速度,点对点通讯的通讯协议,在RS232中一个信号只用到一条信号线,采取与地电压参考的方式,因而在长距离传输后,发送端和接收端的地电压有出入,容易造成通讯出错或速度降低。 RS485串行接口采用半双工通信,因此它只需要两根通信线,现在RS485已成为很多工控机和计算机网络的物理层结构。它的特点是:传输距离长、抗干扰性强、线路连接简单。 本系统使用的是3ONE DATA的Model485,它是RS-232信号到RS-485信号互转的接口转换器。该产品直接从设备的串口(如计算机COM口)取馈电,无需外接电源。采用特殊的时延吞没技术,提高速率转换范围。具有体积小、传输距离远、速率高、性能稳定等特性。 二.性能参数: 接口:兼容EIA/TIA的RS-232和RS-485标准 传输速率:0~115.2Kbps 传输距离:1.5公里(RS-485端),5米(RS-232端) 工作环境:-50~70摄氏度,相对湿度为5%~95% 三.引脚定义: (DB9公头/针型) RS-485端 #5 GND (DB9母头/孔型) #2TD #3RD #5GND #1 #4 #6 #7 #8 RS-232端 四.连接示意图: 主机串口 COM1或COM2 ★★★在接口转换器RS-485端,485-与485+分别与这端的1,2口相对应,不能接反。

串口以太网转换器--以太网串口转换器

串口以太网转换器的关键技术 1.概述 串口转以太网目前可以采用串口转以太网模块来实现,变得非常简单易用,但是在该技术中出现的一些新问题、使用误区需要引起注意。串口转以太网转换器并不是简单传输媒介的变化,而是串口到TCP/IP的协议转化。其中关系到的关键技术包括:TCP/IP 的工作模式问题、串口分帧技术、9位技术。这里详细分析这些串口转网口的技术。 2.澄清一个概念:到底是串口以太网转换器还是串口转TCP/IP? 串口一般来说就是UART,它实际只定义了数据链路层的规范,也就是起始位、数据位、停止位。但是在不同的物理层又分为:TTL串口、RS232串口、RS485串口等。 ?TTL串口:它是MCU芯片之间进行数据通信的串口,它以+5V(或者+3.3V)表示1,以GND表示0。 ?RS232串口:它是实现设备之间通信的串口,其主要将信号电压从0~5V的电压变为±15V(实际一般为±12V)。电压的增加,增大了数据传输的距离和可靠性。 ?RS485串口:它是实现远距离通信的串口,可以实现上千米的数据传输。其主要特征是用差模信号(A、B两根线之间的电压)代替了RS232共模信号(信号线和GND之间的电压),从而能够抵抗共模干扰,实现更远距离的传。 如果按照ISO的7层模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)来分的话,串口实际上只包含了物理层、数据链路层。而TCP/IP协议应该属于网络层和传输层。所以串口转TCP/IP并不准确。以太网属于物理层和数据链路层,所以串口转以太网更加准确。 由于目前在以太网之上运行的协议多半是TCP IP协议,所以串口转以太网也可以说成是串口转TCP IP。 3.串口转网口关键技术一:TCP/IP的工作模式问题 串口转以太网,并不是简单物理层和数据链路层的转化。由于串口协议本身不具有网络层和传输层,串口转以太网,实际是将串口的数据作为TCP/IP的应用层数据,用TCP/IP封装传输的方式。TCP/IP的应用层数据是TCP/IP所要传送的真正有效的数据。例如用户通过socket的recv()和send()函数接收和发送的实际是应用层数据。这样通过串口转TCP IP用户就可以用recv()和send()函数收发串口数据了。 但是TCP/IP并不只是recv()和send()这么简单,根据工作模式的不同,它关系到连接、关闭、监听等,这是串口转网口后需要增加处理的部分。TCP IP的工作模式可以分为:TCP服务端模式(TCP Server)、TCP客户端模式(TCP Client)、UDP模式。 UDP模式:UDP模式是基于非连接的模式,只要有数据发送即可发送,不需要事先连接。所以这种模式更加地接近于串口的通

MOXA NPort5110系列串口转换器 配置说明书

NPort口5110系列串口转换器 配置说明书 一、硬件设备 NPort5110, 二、线缆连接 NPort5110的串口和串口设备相连(DB9连接头2、3交叉) NPort5110的net口和网络相连(NPort5110和计算机直连用交叉线,和交换机连用直通线) 三、硬件设置 NPort5110端的网络设置如下: 打开IE浏览器,在地址栏中输入http://192.168.127.254即可进入moxa模块的配置页面。(注:192.168.127.254 为moxa NPort5110的默认IP地址,必须保证当前计算机的IP是192.168.127.*号段) NPort5110的IP地址,与 图7中“Remote IP”一致 备注:1)本公司出厂的NPort 5110的初始IP地址为:192.168.1.* (2<*<255)。 2)若按下NPort 5110端部的“Reset Button”将其复位后,此时,NPort 5110的初始IP地址为:192.168.127.254

备注: 1)本公司出厂的NPort 5110的初始密码为:newu ,用户可在步骤四中进行更改。 2)若按下NPort 5110端部的“Reset Button”将其复位后,此时,NPort 5110没有设置密码,故用户不用输入“Old password”,只需输入后面两项即可。 计算机的“232 to Lan.exe ”串口端的设置如下: 附录:网线接法 双绞线有两种接法:EIA/TIA 568B标准和EIA/TIA 568A标准。 1)T568A线序:1 2 3 4 5 6 7 8 绿白绿橙白蓝蓝白橙棕白棕 2)T568B线序:1 2 3 4 5 6 7 8 橙白橙绿白蓝蓝白绿棕白棕 直通线:两头都按T568B线序标准连接。 交叉线:一头按T568A线序连接,一头按T568B线序连接。

关于CAN转以太网说明

CAN转以太网说明书 型号:SG-CANET-210 天津滨海新区三格电子科技有限公司

一、功能描述 SG-CANET-210是一款用来把CAN总线数据转为网口数据的设备。网口支持TCP Sever、TCP Client、UDP Sever、UDP Client、UDP Broadcast模式,可以通过软件配置和网页配置。设备提供两路CAN接口,两路CAN可分别配置为不同的工作模式,独立工作,互不影响。设备可以通过软件配置和网页配置。网口支持10/100Mbps 自适应以太网接口,支持AUTO-MDIX 网线交叉直连自动切换,支持DHCP功能,支持DNS功能,支持自定义MAC,可自定义心跳包时间,可以跨越网关,可以访问外网。CAN波特率从5K到500K,支持自定义波特率,支持CAN帧过滤。可以通过软件和硬件恢复出厂设置。TCP Sever模式,暂只支持一个Client连接,设备把Client发来的数据发往CAN总线,同时把CAN总线来的数据发给连接成功的客户端。TCP Client模式下设备自动连接目标(远程)服务器,之后完成CAN总线和目标服务器之间的数据传递。UDP Sever模式下设备接收所有发往设备IP和端口的数据,并把CAN总线来的数据转发给最近一个发给设备数据的IP和端口。UDP Client模式下设备完成CAN总线和目标IP端口之间的数据传递。UDP Broadcast模式下可以实现多台CAN接口设备通过以太网连接。 注意:UDP广播模式适用于多对多的情况,即把多个CAN总线设备通过局域网连接起来,使用UDP广播模式需要设置本地端口和目标端口一样。 二、基本参数与硬件连接

232串口转以太网232串口联网服务器

232串口转以太网,232串口联网服务器、 详细信息 ZLAN2100232串口转以太网可将RS-232 串口设备连接至以太网业界首款全双工、不间断、低成本服务器 支持TCP服务器、TCP客户端、UDP模式 支持虚拟串口、Web登录或使用VirCom 进行配置 概述 232串口转以太网服务器是一款工业级RS232和TCP/IP之间协议转化器。该串口服务器可以方便地使得串口设备连接到以太网和Internet,实现串口设备的网络化管理。和同类产品相比,其显著特点是稳定性(可以全双工、不间断发送大批量数据而不丢失一字节)和适中的价格。 特点 通过内嵌Web服务器可配置其网络参数、串口参数、登录口令等。 Web服务器支持密码登录,以防止随意修改。 支持跨网关:能够将串口服务器和任何Internet上有公网IP的主机连接。 支持1200~115200波特率。 支持9位数据发送功能:第9位可以为无、奇校验、偶校验、1、0,五种方式方便在485通信中区分数据帧和地址帧。 ZLVirCom配置工具可在网络上自动寻找设备联网服务器。 支持虚拟串口。 支持数据写保护,防止随意篡改。 支持默认配置启动。 LINK灯连接指示。 硬件流控CTS/RTS。 1KV网络浪涌保护。 外壳采用抗辐射的SECC板,保证在高电磁辐射区也能够正常工作。 规格 网络界面

串口界面 软件特性 电器特性 机械特性 工作环境 本文档将指导用户选择合适的串口转以太网方案,并且介绍各产品型号的差别。 1.串口服务器和串口转以太网模块的差别

图 1 串口服务器与串口转以太网模块 用户首先需要考虑是选择串口服务器还是串口转以太网模块。图 1所示,左边是串口服务器右边为串口转以太网模块。差别 如下: 1. 从外观上说,串口服务器是串口转以太网模块加一个外壳,该外壳具有抗电磁辐射的能力,但是如果用户是将串口转以 太网产品装到自己的机壳内,则串口服务器的外壳并没有多大意义。体积上模块在4×4×1cm 左右,串口服务器在10×8×2cm 左右。 2.从价格上说,串口转以太网模块的用户一旦使用,用量较大,模块价格为串口服务器价格的二分之一左右。对于量大用户选择模块合适。 3.从功能上说,串口服务器和串口转以太网模块的功能完全一样。 总结以上差别: 1.如果你的串口设备是一个现成的设备,而且设备机壳无法打开并放入模块的,那么你可以选择串口服务器,它可以外置使用。但是价格相对较高。 2.如果你是该串口设备的厂家,具有重新组装设计设备的能力,且用量较大,需要降低成本的,可以考虑采用串口转以太网模块,并将该模块内置到你的设备内部,并将模块的RJ45网口留到机壳外面。 2.各类串口转以太网模块的比较 接下来选择不同类型的串口转以太网模块。如图 2和图 3所示为 ZLSN2000、ZLSN3000、ZLSN4000、ZLSN2100、ZLSN3100的图片。 图 2 ZLSN2000、ZLSN3000、ZLSN4000串口转以太网模块

各种接口转换接线方法(图)

一.ps/2鼠标转USB: 不是所有PS/2鼠标都可以改为USB鼠标的,可以改的PS/2鼠标的特征: A.电路板一般带有两块集成电路,(一块光电感应,一块按键或USB协议转换,和一只24M的晶体振荡器--早期PS/2鼠标.) B.后期的PS/2鼠标只有一块光电感应芯片,但也有一只24M晶体振荡器. 可以改的PS/2鼠标一般都带有晶体振荡器,如果按图改了,但电脑检测出为未知USB设备,而非鼠标设备,说明该PS/2鼠标不能改为USB鼠标了.

二.ps/2键盘转USB: 到目前为止我所知的ps/2键盘,这是不可能的,只能买个USB T0 PS2 带芯片的转换线吧. 三.ps/2鼠标转串口(RS232): PS/2鼠标口公插头图,RS-232串口公插头图 接线 PS/2公插头串口公插头

+5V 4 4+7+9 DTR+RTS+TR Data 1 1 CD Gnd 3 3+5 TXD+GND Clock 5 6 DSR 绝大部分鼠标改接后可直接使用. 四.ps/2键盘转串口(RS232): 如上图及接法, 但需要对串口编程,设计一个RS232串口信号转标准PS/2键盘信号的程序,实现模拟键盘输入数字或字符。 借口的上端有两孔记上 由右向左依次编号 1 2 3 4 接的是鼠标内的 1-V 2-D 3-C 4-G 这样就可以自己接线实现PS2转USB了 鼠标内部接线问题

我的这个鼠标线断了,在中间截断了,想换另一个鼠标的线接上,可是另一个鼠标线的四根线的颜色和这个鼠标线的颜色不一样,这个鼠标的四根线分别是红、绿、白、黑,另一根线分别是橙、绿、白、蓝,不知道他们的对应关系是怎样的,我把相近颜色的线接上,接线顺序是红-橙,绿-绿,白-白,黑-蓝,但没有反应不好使,请高手帮忙! ---------回复-------------- 切你刚刚好把顺序接反了红对蓝黑对橙其他不变就OK了 ---------回复-------------- 我的也一样。用以上方法都不行 后来我仔细看了两个鼠标的电路板。得出了一下接法: 黑-白红-蓝绿-绿白-橙 前两个是电源,后两个是数据。 不知道你的一不一样 串口鼠标接线图.jpg

网口转串口--485转网口模块

网口转串口-485 转网口模块
ZLSN 系列嵌入式设备联网模块是串口到 TCP/IP 的嵌入式协议转化模块, 提供串口到 TCP/IP 网络的双向以太网透明传输。 卓岚 ZLS
系列嵌入式设备联网模块是业界第一款全双工、 不间断、 低成本嵌入式设备联网模块, 即在高达 115200bsp 的速率下串口到 TCP/I 可实现单片机联网和设备网络化升级,广泛应用于安防、工业自动化、银行系统、楼宇自控、智能交通等领域。 串口转以太网模块——TTL 电平带 RJ45 联网模块
和 TCP/IP 到串口同时进行工作,收发数据可以不间断地进行,且不丢失一个字节。具有功能强大、价格经济、技术资料全面特点
型号:ZLSN3000 名称:TTL 电平带 RJ45 联网模块 用法:只需通过排线将 RXD、TXD 和用户电路板 MCU(例如 51 单片机)串口连接, 即可使用。 选型:使用 ZLSN2000 之前,可先用 ZLSN3000 测试模块性能,用户无需制板即可与 模块连接,方便快捷。适合已有串口设备立即联网升级。
型号:ZLSN3002 名称:TTL 电平带 RJ45 联网模块 用法:只需通过排线将 RXD、TXD 和用户电路板 MCU(例如 51 单片机)串口连接, 即可使用。 选型:与 ZLSN3000 相比,ZLSN3001 速度更快,但是电流从 40mA 变为 100mA。另外 厚度厚 3mm。
串口转以太网模块——RS232 联网模块
型号:ZLSN2100 名称:RS232 联网模块 用法:可 9V~24V 电源,实现 DB9 接口(公头)RS232 到以太网的转化。 选型:需要 RS232 转以太网的普通用户请选择 ZLSN2100。

协议转换器(DOC)

协议转换器目录 1. RC901-EE1 (2) 2.RC901-FE4E1 10/100M (3) 3. RC902-EE1 (4) 4.RC903-V35E1 V.35 (5) 5. RC903-V35FE1 V.35 (6) 6.RC904-V35E1 (7) 7.RC904-V35FE1 (8) 8.RC905-EE1 (9) 9.RC906-EE1 (10) 10.RC907-EV35 (11) 11.RC908-EV35 (12) 12.RC909-1E1 (13) 13.RC909-4E1 (14) 14. RC909-16E1 (15) 15. RC916-FXE1 (16)

1. RC901-EE1 RC系列接口转换器 RC901-EE1 以太网至单路E1接口转换器, 台式设备 产品概述 RC901-EE1系列台式10Base-T以太网转单路E1接口转换器是提供10Base-T以太网和E1接口转换的通信设备。RC901-EE1提供一个E1接口和一个以太网RJ45接口,提供E1线路2048K速率的传输 基本特性 ·丰富的告警信息,具有E1线路故障分析告警功能,可轻松判断故障点 ·智能自动复位系统,防死机,保障运营 ·提供E1线路单路的环回功能,维护方便 ·支持E1线路中断告警故障转移,上报交换机 ·内建64Mb超大缓存,缓解突发冲击 ·内置MAC地址列表,具有地址过滤功能,提高E1链路的效率 ·支持E1的75欧姆非平衡接口和120欧姆平衡接口可选 ·支持IEEE802.1q VLAN ·支持SPANNING TREE构造容错网络 ·支持CRC校验功能的使能 ·以太网接口10M工作速率固定、双工方式可选 ·紧凑的小机箱结构,物理尺寸为157×120×32mm ·交流220V/直流-48V可选,内置电源 ·设备功耗:3W E1接口指标 ·比特率:2048Kbps±50ppm ·码型:HDB3 ·输入阻抗:75Ω(非平衡BNC接口)或120Ω(平衡RJ-45接口) ·电气特性:符合ITU-T G.703建议 ·帧结构:符合ITU-T G.704建议(本设备不支持时隙分配) ·抖动:符合ITU-T G.823建议 以太网接口指标 ·符合IEEE 802.3协议标准,可设定全/半双工方式

串口转以太网关键技术

串口转以太网关键技术 1.概述 串口转以太网目前可以采用串口转以太网模块来实现,变得非常简单易用,但是在该技术中出现的一些新问题、使用误区需要引起注意。串口转以太网并不是简单传输媒介的变化,而是串口到TCP/IP的协议转化。其中关系到的关键技术包括:TCP/IP的工作模式问题、串口分帧技术、9位技术。这里详细分析这些串口转网口的技术。 2.澄清一个概念:到底是串口转以太网还是串口转TCP/IP? 串口一般来说就是UART,它实际只定义了数据链路层的规范,也就是起始位、数据位、停止位。但是在不同的物理层又分为:TTL串口、RS232串口、RS485串口等。 TTL串口:它是MCU芯片之间进行数据通信的串口,它以+5V(或者+3.3V)表示1,以GND表示0。RS232串口:它是实现设备之间通信的串口,其主要将信号电压从0~5V的电压变为±15V(实际一般为±12V)。电压的增加,增大了数据传输的距离和可靠性。 RS485串口:它是实现远距离通信的串口,可以实现上千米的数据传输。其主要特征是用差模信号(A、B两根线之间的电压)代替了RS232共模信号(信号线和GND之间的电压),从而能够抵抗共模干扰,实现更远距离的传。 如果按照ISO的7层模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)来分的话,串口实际上只包含了物理层、数据链路层。而TCP/IP协议应该属于网络层和传输层。所以串口转TCP/IP并不准确。以太网属于物理层和数据链路层,所以串口转以太网更加准确。 由于目前在以太网之上运行的协议多半是TCP IP协议,所以串口转以太网也可以说成是串口转TCP IP。 3.串口转网口关键技术一:TCP/IP的工作模式问题 串口转以太网,并不是简单物理层和数据链路层的转化。由于串口协议本身不具有网络层和传输层,串口转以太网,实际是将串口的数据作为TCP/IP的应用层数据,用TCP/IP 封装传输的方式。TCP/IP的应用层数据是TCP/IP所要传送的真正有效的数据。例如用户通过socket的recv()和send()函数接收和发送的实际是应用层数据。这样通过串口转TCP IP用户就可以用recv()和send()函数收发串口数据了。 但是TCP/IP并不只是recv()和send()这么简单,根据工作模式的不同,它关系到连接、关闭、监听等,这是串口转网口后需要增加处理的部分。TCP IP的工作模式可以分为:TCP服务端模式(TCP Server)、TCP客户端模式(TCP Client)、UDP模式。

RS232串行口CAN总线转换器:CAN232使用手册.

PCI非智能卡函数使用说明 --for Windows 95/98/2000 Pcicandrv.LIB - CAN总线函数库(适用于Windows 95/98/2000):1.自定义数据结构说明 1.1 PORT_STRUCT 结构定义 PORT_STRUCT结构:定义读取的PCI板卡 typedef struct _tagPORT_STRUCT { BYTE card; // index of card(start from 0) BYTE value; // for some particular use } PORT_STRUCT; 成员变量说明: card:表示读取哪一个PCI非智能卡,基值必须从0开始; value:为将来功能的扩展预留; 1.2 PORT_CONFIG 结构定义 PORT_CONFIG结构: 配置PCI非智能卡的工作方式、ID和波特率 typedef struct _tag PORT_CONFIG { WORD workMode; // 0 for 11-bit; // 1 for 29-bit WORD filterMode; // 0 for single filter mode, // 1 for dual filter mode; DWORD accCode; // accept code DWORD accMask; // accept mask BYTE timer0; // timer0 register (set baudrate) BYTE timer1; // timer1 register BYTE control; // enable interrupt }PORT_CONFIG; 成员变量说明: workMode : 0 - 使用 11位 CAN_ID; 1- 使用 29位 CAN_ID; filterMode: 0 -CAN控制器采用单滤波方式; 1 -CAN控制器采用双 滤波方式; accCode:设定的CAN控制器节点ID; accMask:设定的与CAN_ID对应的屏蔽码; timer0:设定的CAN控制器 time0寄存器内容(用

免费的以太网-串口转换方案

免费的以太网-串口转换方案 1、以太网-串口转换器的作用 串口,一般就是指计算机的RS-232口或者RS-485口,是工业通信最常用的接口。以太网串口通信产品可以从以太网口直接扩展出RS-232、RS-485、RS-422口,同时还可以虚拟成为本地COM串口(COM1-COM256)、无须修改已有的串口通信软件。 常用的以太网-串口转换器通过以太网线外插到计算机或者HUB的以太网口,在另外一端转换出串口。波仕卡ETH232GH以太网-串口转换器的串口端是一个DB-9针座,具有RS-232、RS-485、RS-422全部引脚,并且配有接线端子。当作为RS-232口时与PC机的DB-9针RS-232口的2、3、5脚分配完全相同。如果用户要求不修改已有串口通信软件,把ETH232GH就当成为一个PC机的本地COM串口,为此随产品有一个将ETH232GH的以太网口映射成为本地COM串口的软件。虚拟串口软件可以将ETH232GH系列产品映射为本地计算机的COM1-COM256中的任何一个。 2 免费的以太网串口转换的原理 本文介绍的免费方案就是如何利用以太网先组成局域网,再让多台计算机都安装上免费的波仕卡局域网即时通信软件,然后将即时通信软件的以太网信息送到计算机的串口。这样就借助于计算机并且用免费的软件方法实现了以太网串口转换。 近年来,随着网络技术高速发展,即时通信软件得到了大量的使用,包括基于以太网(局域网)的企业即时通讯软件和基于互联网的个人即时通讯软件。即时通信软件使得任何两个甚至多个用户借助于局域网或者互联网可以进行通信,但是目前仅仅局限于数据、文件等交换,还没有实现串口通信的功能。本文的方案在本质上就是把串口要发送的数据按照TCP/IP协议进行重新排列后通过即时通讯软件发送到以太网连接的局域网,同时也把以太网通过即时通讯软件从局域网收到的数据按照TCP/IP格式提取出来后再按照串口通信的格式组合后接收。常用的串口通信格式为(9600,N,8,1),意思就是通信的速率(波特率)为9600bps,即每秒9600位,N表示无奇偶校验位,8表示用8个字节表示一个数,1就是最后再加上1位附加位。以太网TCP/IP协议的数据包括帧同步、地址、类型、数据、校验。把串口要发送的一个数据去掉校验位和附加位提取出8个字节的纯数据,然后将它填充到以太网帧的数据部分,并且再补充任意38个字节到46个字节就可以构成一帧以太网的数据包发送出去。同理,把以太网收到的一帧数据包去掉帧同步、地址、类型和校验后得到46个字节的纯数据,只取前面的8个字节,然后加上校验位和附加位按照波特率由串口接收。 3 局域网串口即时通信软件 串口即时通信软件是一种在局域网甚至互联网内实现串口即时通信的软件。好灵通V11是局域网版本。只要2台或者多台计算机位于一个局域网内,那么借助于好灵通软件可以实现这些计算机的串口之间的即时通信,也可以实现透明传输和多机通信。好灵通V11同时是一款功能齐全的局域网聊天工具,最新的版本不再依赖特定的串口转换器,因而可以零硬件成本用纯软件实现以太网的串口通信。(专利:基于即时通信软件的串口控制器ZL201120133429)(1)好灵通是一种能够实现串口硬件控制的即时通信软件,不仅仅能够即时交换信息,而且还能够对远端的串口设备进行控制。是世界上唯一具有串口通信功能的即时通信产品。(2)局域网版的好灵通v11可以在同一局域网段内部实现即时通信和串口控制,包括有线的以太网局域网和无线WIFI局域网。是一款很实用的局域网通信及串口控制工具,可以发送文字、文件、对话等、还可以设置串口COM号、波特率等。(3)可以实现有线或无线局域网内串口

相关主题
文本预览
相关文档 最新文档