PC机串口通信的工作原理

PC机串口通信的工作原理
PC机串口通信的工作原理

PC机串口通信的工作原理

MCU资料2008-08-27 09:03:59 阅读22 评论0 字号:大中小订阅

串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB 混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:

a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步

-------------------------

一、RS485串口通信电路图

二.VxWorks中基于RS485总线的串口通信协议及实现

摘要:本文介绍了在嵌入式实时操作系统Vxworks下串行设备的驱动架构及实现,提出了一种基于RS-485总线的新型串口通信协议,重点讨论了基于这种协议的应用程序的设计方法,发送时主要采用了总线仲裁机制,接收时主要采用了字符合法性校验、长度校验、内容的CRC校验,提高了系统的通信效率和稳定性。

关键词:VxWorks;RS-485;通信协议;总线仲裁;CRC校验

1 引言

随着信息技术和互联网的飞速发展,以及计算机、通讯、数码产品等领域的高速增长,数字化时代已经来临。嵌入式设备是数字化时代的主流产品,嵌入式软件是数字化产品的核心,作为嵌入式软件的基础和关键,嵌入式操作系统在产业发展过程中扮演着越来越重要的角色,应用遍及工业自动化、网络通信、航空航天、医疗仪器等领域。

2 RS-485总线

RS-485总线接口是一种常用的串口,具有网络连接方便、抗干扰性能好、传输距离远等优点。RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检测到低达200mv的电压,可靠通信的传输距离可达数千米。使用RS-485总线组网,只需一对双绞线就可实现多系统联网构成分布式系统、设备简单、价格低廉、通信距离长。

3 VxWorks中串口驱动的实现

VxWorks操作系统是美国Wind River公司设计开发的嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。Vxworks操作系统的I/O 系统可以提供简单、统一、与任何设备无关的接口。这些设备包括:面向字符设备、随机块存储设备、虚拟设备、控制和监视设备以及网络设备。Vxworks的I/O 系统包括基本I/O 系统和缓冲I/O 系统,具有比其他I/O 系统更快速,兼容性更好的特性。这对于实时系统是很重要的。

3.1 串口驱动架构

基于vxWorks的串口设备驱动程序架构,对vxWorks的虚拟设备ttyDrv进行封装,向上将TTY设备安装到标准的I/O系统中,上层应用通过标准的I/O 接口完成对硬件设备的操作,向下提供对实际硬件设备的底层设备驱动程序。其软件架构如图1所示。

由图1可知,串口设备驱动由两部分组成,一部分为对ttyDrv进行封装,将串行设备安装到标准的I/O系统中,提供对外的接口;另一部分为串行设备驱动程序,提供对硬件设备的基本操作。

虚拟设备ttyDrv管理着I/O系统和真实驱动程序之间的通信。在I/O系统方面,虚拟设备ttyDrv作为一个字符型设备存在,它将自身的入口点函数挂在I/O系统上,创建设备描述符并将其加入到设备列表中。当用户有I/O请求包到达I/O系统中时,I/O系统会调用ttyDrv相应的函数响应请求。同时,ttyDrv管理了缓冲区的互斥和任务的同步操作。另一方面,ttyDrv负责与实际的设备驱动程序交换信息。通过设备驱动程序提供的回调函数及必要的数据结构,ttyDrv将系统的I/O请求作相应的处理后,传递给设备驱动程序,由设备驱动程序完成实际的I/O操作。

3.2 驱动初始化

串口设备的初始化xxDevInit流程如图2。

设备驱动的初始化过程首先调用系统函数ttyDrv(),该函数通过调用iosDrvInstall()将ttyOpen()、ttyIoctl()、tyRead()、tyRead、tyWrite安装到系统驱动函数表中,供I/O系统调用。

接着根据用户入参对串口芯片寄存器进行初始化,安装驱动函数指针。

最后调用系统函数ttyDevCreate()创建ttyDrv设备。该函数初始化设备描述符,调用tyDevInit()函数初始化tyLib、初始化select功能、创建信号量和输入输出缓冲区,调用iosDevAdd()函数将设备添加到设备列表中并将设备置为中断模式。

驱动模块初始化成功后,应用程序就可以用标准的I/O函数read()和write()收发数据了。

4 RS-485通信协议

4.1 485通信帧格式

表 1 485通信帧格式

目的地址源地址长度控制帧净荷数据CRC检

1Byte 1Byte 1Byte 2Bytes 由长度字节确定,≤255Bytes2Bytes 长度字段不包含控制字段、检验字段。校验字段使用CCITT的CRC16的校验方法,其生成多项式为。校验字段默认是加上的,只有在发送方的CPU负荷比较大时,并且能

够保证本帧出现的错误不会对系统产生潜在的和现实的影响,或者保证影响在可以控制在一定范围内并且可以忍受时,才考虑取消校验字段。当接收方接收到帧的总长度减去长度字段值与帧头的长度之和,得到的结果为2时,表明发送方附带了校验和。

4.2 485数据链路层帧

表 2 485链路层帧格式

头标志(0x7E)485通信帧尾标志

(0x7E)

1Byte 最大不超过485通信帧的长度(不包括字节拆分的添加字

符)

2Bytes

头标志是任意个数的连续的字符0x7E,尾标志也是任意个数的连续的字符0x7E。预定头标志为

1Byte,尾标志为2Bytes,在发送方的CPU认为发送完毕最后一个尾标志字符时,保证第一个尾标志字符能够完全到达目的设备。发送方除头标志或尾标志之外,不允许出现0X7E,若遇到0X7E,则拆分成0X7D,0X5E;若出现0X7D,则拆分成0X7D,0X5D传送。

5 串行通信应用程序设计

5.1 初始化配置

?创建一个51200Bytes的接收环形缓冲区,用来存放剩余的或不成帧的数据:g_tRecvRingId = rngCreate(51200);

?串口设备描述符为“myCom”,打开串口并创建设备读写描述符:g_sdwChannelFD = open(“myCom”, O_RDWR, 0);

?设置波特率:ioctl(g_sdwChannelFD, FIOBAUDRATE, g_RS485LinkCB[i].sdwBaudRate);

?清空接收、发送缓存:ioctl(g_sdwChannelFD, FIOFLUSH,0);

?工作模式设置:ioctl(g_sdwChannelFD, FIOSETOPTIONS, OPT_RAW);

5.2 通信发送过程

在发送之前,发送方需要按照双方约定的485通信帧格式将消息组帧,并按照约定数据链路传输协议组成485的数据链路帧。接下来就是如何发送数据包了。

在RS-485通信中,发送过程主要采取了总线仲裁机制:

在向485总线写数据时,主设备先写一字节的地址请求,所有的从设备均会收到,只有地址与之相等的从设备端口打开,其他设备全部关闭。这样,主设备与从设备之间的通信就是点对点的。

每一个从设备均有一根请求线与主设备相连,若从设备需要与主设备通信时,先通过请求线进行请求,当请求成功后,从设备应能检测到总线上的地址与自身地址相同,从设备才能打开发送中断,才能发送消息,发送完之后必须关闭发送中断,释放总线,以保证其他从设备这段时间能与主设备正常通信,提高通信效率。

RS-485通信发送流程图如图3所示。

5.3 通信接收过程

对于串口通信,仍然要关心数据接收的实时性,因此采用中断方式,利用VxWorks提供的select 函数的事件触发机制,将读串口的任务阻塞使其一直等待数据,当有数据来到的时候该任务会立刻自动响应,提高系统的实时性,调用read( )接收数据并存入先前创建的接收环形缓冲区g_tRecvRingId中直至缓冲区g_tRecvRingId满或接收完链路上的数据,接下来就是根据通信协议来处理数据包――解帧处理过程。

接收方判断开始485通信帧的条件是,设备不报告接收错误的情况下,接收到0x7E字符之后的第一个非0x7E的字符。判断帧结束的条件是,帧接收已经开始,遇到第一个尾标志字符。在两个0X7E间若收到0X7D,则丢弃,并将其后的一个字节数据与0X20异或。

当链路层的通信帧接收已经开始的情况下,设备报告字符接收错误,此时应当丢弃本帧,结束帧的接收,重新开始搜索下一帧。

长度字段后面的字节个数不等于长度字段指示,并且也不等于长度字段加2时,指示长度错误,作无效帧。帧长度小于帧头的长度的帧视为无效帧。当接收的字符个数超过最大的485通信帧字节数——262时,也认为接收错误,重新开始搜索头标志,检出下一帧数据。

超时保护:如果接收收方在接收一帧数据时,在未接收完一帧时,超过20ms(2个Ticks)仍未有数据到达,则认为本帧数据接收结束,并将其丢弃。

在允许进行校验的情况下,对接收到的帧进行CRC校验。如果校验字段与帧的校验结果不符,认为帧出错,通常作丢弃处理。

帧头中,目的地址与接收单元不匹配时,丢弃该帧。

6、结束语

VxWorks是一种高性能嵌入式实时操作系统,它以其良好的可靠性和卓越的实时性被广泛地应用在通信、自动化、航空等各个领域中。许多外部终端设备如打印机、逻辑分析仪等都采用串行方式,以及对单板的调试也要用到串行口,因此掌握在Vxworks下的串行通信是非常重要的。

本文的创新之处在于提出一种新的RS-485通信协议,在这种协议中,发送方根据协议组帧,再采用总线仲裁机制将消息发送出去,而接收方则将收到的字符合法性校验,当收到一帧完整的帧后,根据帧头中长度字段做帧长度校验,再采用CCITT的CRC16校验方法做内容校验,如果长度校验已经出错,则不再做内容校验,提高了通信效率。文章给出了基于这种协议的串口通信应用程序的设计,详细描述了通信双方遵循约定的通信协议的通信过程及如何保证通信过程中信号的正确性、完整性。笔者在VxWorks开发过程中已将应用程序用于实例,而且运行可靠,具有很强的实用价值。

RS485串口通信试验(接受与发送)

技术交流2010-03-29 22:11:53 阅读182 评论0 字号:大中小订阅

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

* RS485串口通信试验(接受与发送)

* 1.通过本例程了解串口的基本原理及使用,理解并掌握对串口进行初始化

* 2.请使用串口调试助手(Baud 4800、数据位8、停止位1、效验位无)做为上位机(发送)数据和(接受)数据,

* 请在字符串输入框中输入字符和数字(HEX),按发送按钮。观看接受窗显示情况.也可以用自动循环发送。* 3.试验RS485需要用RS232转485的转换头。RS485的A对应串口头的9针B对应4针.接法大家可以参考原理图。

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

#include

#include

sbit RS485E=P3^7; //定义485的使能脚

bit SendFlag;

unsigned intReData,SenData;

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

延时程序

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

void delay(unsigned char i)

{

unsigned char j;

for(i; i > 0; i--)

for(j = 200; j > 0; j--);

}

void main (void) {

SCON = 0x50; //REN=1允许串行接受状态,串口工作模式1

TMOD|= 0x20; //定时器工作方式2

PCON|= 0x80;

//TH1 = 0xFD; //baud*2 /* reload value 19200、数据位8、停止位1。效验位无(11.0592)

TH1 = 0xF3; // //baud*2 /* 波特率4800、数据位8、停止位1。效验位无(12M) TL1 = 0xF3;

TR1 = 1;

ES = 1; //开串口中断

EA = 1; // 开总中断

// IE = 0x0;

while(1)

{

if (SendFlag==1) // max485(半双工通信) RE/DE定义RE=0为接受状态DE=1为发送状态(参考MAX485芯片管脚)

{ RS485E=1; // RS5485E=0为接收状态RS5485E=1为发送状态

SBUF=SenData; //发送数据

delay(50);

}

else

{

RS485E=0; //接收状态

}

单片机与PC串口通信的部分C源代码

串口2010-04-06 16:54:34阅读139评论0 字号:大中小订阅

单片机与PC串口通信的部分C源代码2008-8-31 2:18:00

点击:105

单片机与PC串口通信的部分C源代码

#define UART_RX_BUFFER_SIZE 16 /* 1,2,4,8,16,32,64,128 or 256 bytes */ #define UART_RX_BUFFER_MASK ( UART_RX_BUFFER_SIZE - 1 )

#define UART_TX_BUFFER_SIZE 16 /* 1,2,4,8,16,32,64,128 or 256 bytes */ #define UART_TX_BUFFER_MASK ( UART_TX_BUFFER_SIZE - 1 )

/* Static V ariables */

static data unsigned char UART_RxBuf[UART_RX_BUFFER_SIZE];

static data volatile unsigned char UART_RxHead;

static data volatile unsigned char UART_RxTail;

static data unsigned char UART_TxBuf[UART_TX_BUFFER_SIZE];

static data volatile unsigned char UART_TxHead;

static data volatile unsigned char UART_TxTail;

bit fSeri0_Send_Ok;

/* initialize UART */

//t2 做波特率发生器9600bps at 11.0592 MHz

void InitUART( )

{

unsigned char x;

T2CON = 0x30; //t2 做波特率发生器

TH2 = 0xFF;

TL2 = 0xdc;

RCAP2H = 0xFF;

RCAP2L = 0xdc;

SCON = 0x50; /* SM0 SM1 SM2 REN TB8 RB8 TI RI:9 bit */

PCON = 0x00; /* baut rate, 80h:double; 00h: normal */

ES = 1; /* 串口中断允许1-enable */

PS = 0; /* 串口中断优先级1-高,0-低*/

TR2 = 1; /* Start T2 as baut rate generator */

x = 0; /* flush receive buffer */

UART_RxTail = x;

UART_RxHead = x;

UART_TxTail = x;

UART_TxHead = x;

}

/* interrupt handlers */

void UART_interrupt( void ) interrupt 4

{

if (TI)

{ // 是否是发送中断

unsigned char tmptail;

TI=0;

if (UART_TxTail==UART_TxHead)

{

fSeri0_Send_Ok=0; /*已发送完毕*/

}

else

{

tmptail = ( UART_TxTail + 1 ) & UART_TX_BUFFER_MASK;

UART_TxTail = tmptail; /* store new index */

SBUF = UART_TxBuf[tmptail]; /* start

transmition */

}

}

if (RI)

{

unsigned char revdata;

unsigned char tmphead;

RI=0;

revdata = SBUF;

tmphead = ( UART_RxHead + 1 ) & UART_RX_BUFFER_MASK;

UART_RxHead = tmphead; /* store new index */

UART_RxBuf[tmphead] = revdata; /* store received data in

buffer */

}

}

unsigned char ReceiveByte( void )

{

unsigned char tmptail;

while ( UART_RxHead == UART_RxTail );/* wait for incomming data */

tmptail = ( UART_RxTail + 1 ) & UART_RX_BUFFER_MASK;/* calculate buffer index */ UART_RxTail = tmptail; /* store new index */

return UART_RxBuf[tmptail]; /* return data */

}

voidTransmitByte( unsigned char senddata )

{

unsigned char tmphead;

tmphead = ( UART_TxHead + 1 ) & UART_TX_BUFFER_MASK; UART_TxBuf[tmphead] = senddata; /* store data in buffer */ UART_TxHead = tmphead; /* store new index */

if(fSeri0_Send_Ok==0)

{

fSeri0_Send_Ok=1;

TI=1;

}

}

C51单片机和电脑串口通信电路图

C51单片机和电脑串口通信电路图与源码 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 串口通讯的硬件电路如上图所示 在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错,下图就是MAX232的基本接线图。

按图7-3加上MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。

为了能够在电脑端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。本串口软件在本网站https://www.360docs.net/doc/374445815.html,可以找到 软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。

汇编语言实现串口通信(PC和单片机间)教学文案

8.用C语言或汇编语言实现串口通信(PC和单片机间) 上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。由于PC 机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC 机作为上位机,单片机作为下位机,二者通过RS-232或者RS-485接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给PC机,由PC机对这些数据进行处理或显示 1 硬件电路的设计 MCS-51单片机有一个全双工的串行通讯口UART,利用其RXD和TXD与外界进行通信,其内部有2个物理上完全独立的接收、发送缓冲器SBUF,可同时发送和接收数据。所以单片机和PC机之间可以方便地进行串口通讯。单片机串口有3条引线:TXD(发送数据),RXD(接收数据)和GND(信号地)。因此在通信距离较短时可采用零MODEM方式,简单三连线结构。IBM-PC机有两个标准的RS-232串行口,其电平采用的是EIA电平,而MCS-51单片机的串行通信是由TXD(发送数据)和RXD(接收数据)来进行全双工通信的,它们的电平是TTL电平;为了PC机与MCS-51 机之间能可靠地进行串行通信,需要用电平转换芯片,可以采用MAXIM公司生产的专用芯片MAX232进行转换。电路如图1所示。硬件连接时,可从MAX232中的2路发送器和接收器中任选一路,只要注意发送与接收的引脚对应关系即可。接口电路如图3.5所示。

总体设计按照整体设计思路方案绘制原理图如下所示: 2 系统软件设计 软件设计分上位机软件设计和下位机软件设计。这两部分虽然在不同的机器上编写和运行,但它们要做的工作是对应的:一个发送,另一个接收。为了保证数据通信的可靠性,要制定通信协议,然后各自根据协议分别编制程序。现约定通信协议如下:PC机和单片机都可以发送和接收。上位机和下位机均采用查询方式发送控字符和数据、中断方式接收控制字符和数据。采用RS-232串口异步通信, 1上位PC机与下位单片机异步串行通信的通信协议

网卡工作原理是怎样的

网卡工作原理是怎样的 如今网卡已经作为电脑的必配网络设备。不管是整体出售的品牌电脑还是单独出售的电脑主板,都集成网卡芯片拥有一个甚至多个网络接口(RJ45)。由此可见,网卡是我们使用电脑中所能接触到的第一件网络设备。不少电脑爱好者对于网卡的工作原理不太了解,下面小编将于大家揭开服务器神秘面纱,希望能够给新手朋友增加点电脑知识。 一、网卡工作原理 发送数据时,网卡首先侦听介质上是否有载波(载波由电压指示),如果有,则认为其他站点正在传送信息,继续侦听介质。一旦通信介质在一定时间段内(称为帧间缝隙IFG=9.6微秒)是安静的,即没有被其他站点占用,则开始进行帧数据发送,同时继续侦听通信介质,以检测冲突。在发送数据期间。 如果检测到冲突,则立即停止该次发送,并向介质发送一个“阻塞”信号,告知其他站点已经发生冲突,从而丢弃那些可能一直在接收的受到损坏的帧数据,并等待一段随机时间(CSMA/CD确定等待时间的算法是二进制指数退避算法)。在等待一段随机时间后,

再进行新的发送。如果重传多次后(大于16次)仍发生冲突,就放弃发送。 接收时,网卡浏览介质上传输的每个帧,如果其长度小于64字节,则认为是冲突碎片。如果接收到的帧不是冲突碎片且目的地址是本地地址,则对帧进行完整性校验,如果帧长度大于1518字节(称为超长帧,可能由错误的LAN驱动程序或干扰造成)或未能通过CRC校验,则认为该帧发生了畸变。通过校验的帧被认为是有效的,网卡将它接收下来进行本地处理。 二、网卡的基本知识 我们在使用网卡的时候,总是与它的接口打交道。不管你是接ADSL上网还是接LAN连接内部网络,将网线放入接口的时候“咔嚓的一声”则表示OK你连接正确,这就是RJ45接口。至今人类所使用的最广泛的网络接口,它主要应用在以太网中,于交换机、路由器或者ADSL等设备配合使用,其作为连接的网线学名叫双绞线。既然上面说了主流接口,现在说一下非主流。BNC接口:稍微接触电脑早点的朋友应该记得它,这个接口是96年至99年的时候,流行于那个时期网吧中。它的接口是凸出,类似闭路电视那种。所使用的网线叫做细同轴线,以以太网或者令牌环传输,不需要配置当时昂贵的交换机。因为其经济实惠的特点,所以深受早期的网吧或公司的喜爱。

计算机系统组成及工作原理题目

计算机系统组成及工作原理题目

计算机系统组成及工作原理 1.计算机系统一般有硬件和软件两大系统组成。 2.微型计算机系统结构由运算器、控制器、存储器、输入设备、输出设备五大部分组成。 3.微型计算机的运算器由算术逻辑运算部件(ALU)、累加器和通用寄存器组成。 4.微型计算机中,运算器和控制器合称为中曲处理单元(CPU)。 5.冯●诺依曼计算机工作原理的设计思想就是把程序输入到计算机存储起来,然后依次执行,简称为程序存储。 6.在衡量计算机的主要性能指标中,计算机运算部件一次能够处理的二进制数据位数叫做字长,总取8 位的整数倍。 7.在衡量计算机的主要性能指标中,速度指标一般通过主频和每秒百万条指令数(MIPS)两个指标来加以评价的。 8.在表示存储容量时,1GB表示2的30 次方,或是1024MB。

9.计算机性能指标中MTBF表示平均无故障工作时间,计算机性能指标中MTTR表示平均修复时间。 10.衡量计算机中CPU的性能指标主要时钟频率和字长两个。 11.存储器一般可以分为主存储器和辅助存储器两种。主存储器又称内存。 12.通常所说的内存用于存放当前执行的程序和数据。 13.构成存储器的最小单位是二进制位(bit),存储容量一般以字节(Byte)为单位。 14.内存储器按工作方式可以分为随机存储器(RAM)和只读存储器(ROM)。 15.计算机系统结构的五大基本组成部件一般通过总线加以连接。通常用总线宽度和总线频率来表征它的性能。 16.总线按连接的部件不同可以分为内部总线、系统总线和扩展总线3种。 17.计算机软件一般可以分为系统软件和应用软件两大类。

51单片机与PC串口通讯

目录 第1章需求分析 ............................................................................................................................ - 1 - 1.1课题名称 (1) 1.2任务 (1) 1.3要求 (1) 1.4设计思想 (1) 1.5课程设计环境 (1) 1.6设备运行环境 (2) 1.7我在本实验中完成的任务 (2) 第2章概要设计 ............................................................................................................................ - 2 - 2.1程序流程图 (2) 2.2设计方法及原理 (3) 第3章详细设计 ............................................................................................................................ - 3 - 3.1电路原理 (3) 3.1.1STC89C52芯片 ............................................................................................................. - 3 -3.2串口通信协议 (4) 3.3程序设计 (5) 3.3.1主程序模块 .................................................................................................................... - 5 - 3.3.2串口通讯模块 ................................................................................................................ - 6 - 3.3.3控制部分文件 ................................................................................................................ - 8 - 3.3.4公共部分模块 .............................................................................................................. - 11 -3.4电路搭建 (12) 3.4.1电路原理图 .................................................................................................................. - 12 -第4章上位机关键代码分析 ...................................................................................................... - 12 - 4.1打开串口操作 (12) 4.2后台线程处理串口程序 (15) 4.3程序运行界面 (18) 第5章课程设计总结与体会 ...................................................................................................... - 19 -第6章致谢 .................................................................................................................................. - 19 -参考文献........................................................................................................................................... - 19 -

网卡工作原理图

网卡工作原理图 网卡工作原理图 网卡的主要工作原理:发送数据时,计算机把要传输的数据并行写到网卡的缓存,网卡对要传输的数据进编码(10M以太网使用曼切斯特码,100M以太网使用差分曼切斯特码),串行发到传输介质上.接收数据时,则相反。对于网卡而言,每块网卡都有一个唯一的网络节点地址,它是网卡生产厂家在生产时烧入ROM(只读存储芯片)中的,我们把它叫做MAC地址(物理地址),且保证绝对不会重复。MAC为48bit,前24比特由IEEE分配,是需要钱买的,后24bit 由网卡生产厂家自行分配. 我们日常使用的网卡都是以太网网卡。目前网卡按其传输速度来分可分为10M网卡、10/100M自适应网卡以及千兆(1000M)网卡。如果只是作为一般用途,如日常办公等,比较适合使用10M网卡和10/100M自适应网卡两种。如果应用于服务器等产品领域,就要选择千兆级的网卡。 一、网卡的主要特点 网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡。如果有必要,一台电脑也可以同时安装两块或多块网卡。 电脑之间在进行相互通讯时,数据不是以流而是以帧的方式进行传输的。我们可以把帧看做是一种数据包,在数据包中不仅包含有数据信息,而且还包含有数据的发送地、接收地信息和数据的校验信息。一块网卡包括OSI模型的两个层――物理层和数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。 网卡的功能主要有两个:一是将电脑的数据封装为帧,并通过网线(对无线网络来说就是电磁

实验单片机与PC机串口通信

实验单片机与PC机串口通信(C51编程)实验 要求: 1、掌握串行口的控制与状态寄存器SCON 2、掌握特殊功能寄存器PCON 3、掌握串行口的工作方式及其设置 4、掌握串行口的波特率(bondrate)选择 任务: 1、实现PC机发送一个字符给单片机,单片机接收到后即在个位、十位数码管上进行显示,同时将其回发给PC机。要求:单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机时用查询方式。 采用软件仿真的方式完成,用串口调试助手和KEIL C,或串口调试助手和PROTEUS分别仿真。 需要用到以下软件:KEIL,VSPDXP5(虚拟串口软件),串口调试助手,Proteus。 (1)虚拟串口软件、串口调试助手和KEIL C的联调 首先在KEIL里编译写好的程序。

打开VSPD,界面如下图所示:(注明:这个软件用来进行串口的虚拟实现。在其网站上可以下载,但使用期为2周)。 左边栏最上面的是电脑自带的物理串口。点右边的addpair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。 接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入 modecom39600,0,8,1 %分别设置com3的波特率、奇偶校验 位、数据位、停止位 assigncom3sout %把单片机的串口和COM3绑定到一 起。因为所用的单片机是

(以上参数设置注意要和所编程序中设置一致!) 打开串口调试助手 可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率9600,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。打开COM4。 现在就可以开始调试串口发送接收程序了。可以通过KEIL发送数据,在串口调试助手中就可以显示出来。也可以通过串口调试助手发送数据,在KEIL中接收。 实验实现PC机发送一个字符给单片机,单片机接收到后将其回发给PC机。在调试助手上(模拟PC)发送数据,单片机收到后将收到的结果回送到调试助手上。 2、以下在Proteus和串口调试助手实现的结果: 将编译好的HEX程序加载到Proteus中,注意这里需要加上串口模块,用来进行串行通信参数的设置。 点击串口,可以对串口进行设置: 用串口调试助手发送数据,即可看到仿真结果。 实验参考程序源文件在exp2-comm文件夹中。

网卡工作原理

网卡工作原理 精确的说: NIC 工作在数据链路层中的MAC子层上,而非物理层。NIC的作用是进行串并行的转换,即MAC子层规定了如何在物理线路上传输frame,LLC的作用是识别不同协议类型然后进行encapsulation。MAC地址烧入NIC,所以,NIC工作在Data Link Layer。 一、网卡的主要特点 网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡。如果有必要,一台电脑也可以同时安装两块或多块网卡。 图1 一块10/100Mbps的PCI网卡 电脑之间在进行相互通讯时,数据不是以流而是以帧的方式进行传输的。我们可以把帧看做是一种数据包,在数据包中不仅包含有数据信息,而且还包含有数据的发送地、接收地信息和数据的校验信息。一块网卡包括OSI模型的两个层——物理层和数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。 网卡的功能主要有两个:一是将电脑的数据封装为帧,并通过网线(对无线网络来说就是电磁波)将数据发送到网络上去;二是接收网络上其它设备传过来的帧,并将帧重新组合成数据,发送到所在的电脑中。网卡能接收所有在网络上传输的信号,但正常情况下只接受发送到该电脑的帧和广播帧,将其余的帧丢弃。 然后,传送到系统CPU做进一步处理。当电脑发送数据时,网卡等待合适的时间将分组插入到数据流中。接收系统通知电脑消息是否完整地到达,如果出现问题,将要求对方重新发送。二、图解网卡

以太网网卡结构和工作原理

以太网网卡结构和工作原理 网络适配器又称网卡或网络接口卡(NIC),英文名NetworkInterfaceCard。它是使计算机联网的设备。平常所说的网卡就是将PC机和LAN连接的网络适配器。网卡(NIC)插在计算机主板插槽中,负责将用户要传递的数据转换为网络上其它设备能够识别的格式,通过网络介质传输。它的主要技术参数为带宽、总线方式、电气接口方式等。它的基本功能为:从并行到串行的数据转换,包的装配和拆装,网络存取控制,数据缓存和网络信号。目前主要是8位和16位网卡。 网卡必须具备两大技术:网卡驱动程序和I/O技术。驱动程序使网卡和网络操作系统兼容,实现PC机与网络的通信。I/O技术可以通过数据总线实现PC和网卡之间的通信。网卡是计算机网络中最基本的元素。在计算机局域网络中,如果有一台计算机没有网卡,那么这台计算机将不能和其他计算机通信,也就是说,这台计算机和网络是孤立的。 网卡的不同分类:根据网络技术的不同,网卡的分类也有所不同,如大家所熟知的ATM网卡、令牌环网卡和以太网网卡等。据统计,目前约有80%的局域网采用以太网技术。根据工作对象的不同务器的工作特点而专门设计的,价格较贵,但性能很好。就兼容网卡而言,目前,网卡一般分为普通工作站网卡和服务器专用网卡。服务器专用网卡是为了适应网络服种类较多,性能也有差异,可按以下的标准进行分类:按网卡所支持带宽的不同可分为10M网卡、100M网卡、 10/100M自适应网卡、1000M网卡几种;根据网卡总线类型的不同,主要分为ISA网卡、EISA网卡和PCI网卡三大类,其中ISA网卡和PCI网卡较常使用。ISA总线网卡的带宽一般为10M,PCI总线网卡的带宽从10M到1000M都有。同样是10M网卡,因为ISA总线为16位,而PCI总线为32位,所以PCI网卡要比ISA网卡快。 网卡的接口类型:根据传输介质的不同,网卡出现了AUI接口(粗缆接口)、BNC接口(细缆接口)和RJ-45接口(双绞线接口)三种接口类型。所以在选用网卡时,应注意网卡所支持的接口类型,否则可能不适用于你的网络。市面上常见的10M网卡主要有单口网卡(RJ-45接口或BNC接口)和双口网卡(RJ-45和BNC两种接口),带有AUI粗缆接口的网卡较少。而100M和1000M网卡一般为单口卡(RJ-45接口)。除网卡的接口外,我们在选用网卡时还常常要注意网卡是否支持无盘启动。必要时还要考虑网卡是否支持光纤连接。 网卡的选购:据统计,目前绝大多数的局域网采用以太网技术,因而重点以以太网网卡为例,讲一些选购网卡时应注意的问题。购买时应注意以下几个重点: 网卡的应用领域----目前,以太网网卡有10M、100M、10M/100M及千兆网卡。对于大数据量网络来说,服务器应该采用千兆以太网网卡,这种网卡多用于服务器与交换机之间的连接,以提高整体系统的响应速率。而10M、100M和 10M/100M网卡则属人们经常购买且常用的网络设备,这三种产品的价格相差不大。所谓10M/100M自适应是指网卡可以与远端网络设备(集线器或交换机)

计算机的组成及工作原理

计算机的组成及工作原理 在电脑已经全面普及的今天,几乎每个家庭或者是每个人都有了自己的电脑了,不管是台式电脑还是笔记本电脑。我们对电脑的认识应该是再熟悉不过了。但是如果突然需要你讲述一些关于计算机的一些认识,你是不是都讲不出来了呢?今天就来讲解一些关于计算机的组成及工作原理的内容。现在跟着小编一起来看吧。 计算机的组成: 1、CPU:就是我们常说的计算机的中央处理器,是整部计算机的'核心。 2、内存:内存就是RAM,就是一种存储器,内存可以进行读取硬盘数据供Cpu使用。因此内存是硬盘与cpu之间的桥梁。 3、主板:计算机的主板是计算机尤为关键的部分,它可以进行连接各个硬件,使其能相互通讯。 4、硬盘:硬盘简单点说是电脑主要的存储媒介之一,用于存储操作系统及用户资料。 5、显卡:显卡又称为显示适配器,一个好的显卡可以提升计算机的运行操作的流畅性。它的功能是将计算机需要的信息,输出到显示器上面。 6、声卡:声卡也叫音频卡,实现声波输出的一个设备。 7、网卡:网卡是计算机能否使用网络的重要装备,可以实现接入网络,与其它设备进行通讯。 8、鼠标、键盘、显示器、主机等外部装备,直接与使用者连接的一些设备。 计算机的工作原理: 计算机的工作原理是相对比较复杂化的,在计算机运行的时候,计算机首先先从内存中取出一条指令,一般的指令就是一些代码了。然后计算机通过控制器的对这些代码进行翻译,翻译成功后,计算机按照指令的要求,进行指定的运算和逻辑操作等加工,最后将加工后的指令再次输送到内存上。接着计算机再取出第二条指令,同理,在控制器的指挥下完成翻译与输送,依此进行下去,计算机实现自动地完成指令。这个原理也是由美籍匈牙利数学家冯.诺依曼于提出来的,故也称为冯.诺依曼原理。

网卡启动

网卡启动(网络唤醒) 原理: 网络唤醒 (Wake On LAN )提供了远程唤醒计算机的功能,网络唤醒的工作原理是由一个管理软件包发出一个基于Magic Packet标准的唤醒帧,支持网络唤醒的网卡收到唤醒帧后对其进行分析并确定该帧是否包含本网卡的MAC地址。如果包含本网卡的MAC地址,网卡向电源发送一个使能的信号,该计算机系统就会自动加电进入开机状态。 条件: 使用网络唤醒对计算机硬件有一定的要求,主要表现在网卡、主板和电源上,三者必须同时支持网络唤醒的要求才能实现该功能 ●网卡:被唤醒计算机的网卡(独立或集成网卡)必须支持WOL即Wake-up On LAN, 用于唤醒计算机的网卡对此无要求 ●主板BIOS支持远程唤醒:通过查看CMOS的“Power Management Setup”菜单中是 否有“Wake on LAN”或类似项而确认;另外,早期支持远程唤醒的主板( PCI2.1 标准)上通常都拥有一个专门的3芯插座,以给网卡供电。由于现在的主板通常支持PCI 2.2、PCI2.3标准,可以直接通过PCI插槽向网卡提供+3.3V Standby电源,即使不连接WOL电源线也一样能够实现远程唤醒,因此,不再提供3芯插座(实际很多主板还预留着该管脚位置)。 ●主板是否支持PCI2.2标准,可通过查看CMOS的“Power Management Setup”菜单 中是否拥有“Wake on PCI Card” 或类似选项来确认 ●电源:电源必须是符合ATX 2.01标准的ATX电源,+5V Standby电流至少应在600mA 以上。 ●计算机硬件支持远程唤醒功能,但还需要借助相应的唤醒软件才能实现该功能 网络要求: 远程唤醒必须保证网络通讯正常,且如果被唤醒主机处于不同网段,则要求所用的 网络设备不要使用广播屏蔽功能;现在很多设备如路由器默认跨网段是不转发广播 的,所以当使用此类设备时,如果发送唤醒命令的主机和被唤醒主机不在同一网段,则被唤醒主机无法接收到广播方式的唤醒祯 如果用户询问怎样设置从网卡启动可从上面的硬件条件和软件来进行说明。

网卡组成及工作原理.

网卡组成及原理 一认识网卡 网卡充当计算机和网络缆线之间的物理接口或连线将计算机中的数字信号转换成电或光信号,称为nic(network interface card )。数据在计算机总线中传输是并行方式即数据是肩并肩传输的,而在网络的物理缆线中说数据以串行的比特流方式传输的,网卡承担串行数据和并行数据间的转换。网卡在发送数据前要同接收网卡进行对话以确定最大可发送数据的大小、发送的数据量的大小、两次发送数据间的间隔、等待确认的时间、每个网卡在溢出前所能承受的最大数据量、数据传输的速度。 网卡工作在osi的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是pci总线接mac总线,mac接phy,phy 接网线(当然也不是直接接上的,还有一个变压装置)。 二工作原理 以太网卡中数据链路层的芯片一般简称之为MAC控制器,物理层的芯片我们简称之为PHY。许多网卡的芯片把MAC和PHY的功能做到了一颗芯片中,比如Intel 82559网卡的和3COM 3C905网卡。但是MAC和PHY的机制还是单独存在的,只是外观的表现形式是一颗单芯片。当然也有很多网卡的MAC和PHY是分开做的,比如D-LINK的DFE-530TX等。

1 数据链路层MAC控制器 首先我们来说说以太网卡的MAC芯片的功能。以太网数据链路层其实包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层。一块以太网卡MAC 芯片的作用不但要实现MAC子层和LLC子层的功能,还要提供符合规范的PCI 界面以实现和主机的数据交换。 MAC从PCI总线收到IP数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大1518Byte,最小64Byte的帧。这个帧里面包括了目标MAC地址、自己的源MAC地址和数据包里面的协议类型(比如IP数据包的类型用80表示)。最后还有一个DWORD(4Byte)的CRC码。 可是目标的MAC地址是哪里来的呢?这牵扯到一个ARP协议(介乎于网络层和数据链路层的一个协议)。第一次传送某个目的IP地址的数据的时候,先会发出一个ARP包,其MAC的目标地址是广播地址,里面说到:"谁是xxx.xxx.xxx.xxx这个IP地址的主人?"因为是广播包,所有这个局域网的主机都收到了这个ARP请求。收到请求的主机将这个IP地址和自己的相比较,如果不相同就不予理会,如果相同就发出ARP响应包。这个IP地址的主机收到这个ARP请求包后回复的ARP响应里说到:"我是这个IP地址的主人"。这个包里面就包括了他的MAC地址。以后的给这个IP地址的帧的目标MAC地址就被确定了。(其它的协议如IPX/SPX也有相应的协议完成这些操作。) IP地址和MAC地址之间的关联关系保存在主机系统里面,叫做ARP表,由驱动程序和操作系统完成。在Microsoft的系统里面可以用arp -a 的命令查看ARP表。收到数据帧的时候也是一样,做完CRC以后,如果没有CRC效验错误,就把帧头去掉,把数据包拿出来通过标准的接口传递给驱动和上层的协议客栈,最终正确的达到我们的应用程序。 还有一些控制帧,例如流控帧也需要MAC直接识别并执行相应的行为。以太网MAC芯片的一端接计算机PCI总线,另外一端就接到PHY芯片上。以太网的物理层又包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA (物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。而PHY芯片是实现物理层的重要功能器件之一,实现了前面物理层的所有的子层的功能。

单片机与PC机串口通信实现正文

毕业设计(论文)课题:单片机与PC机串口通信实现 学生: 孙波系部: 通信工程 班级: 通信1301 学号: 2013120325 指导教师: 童华 装订交卷日期: 2016年x月x日 装订顺序: (1)封面(2)毕业设计(论文)成绩评定记录(3)标题、中文摘要及关键词(4)正文(5)附录(6)参考文献

毕业设计(论文)成绩评定记录表 注:1.此表适用于不参加毕业答辩学生的毕业设计(论文)成绩评定; 2.平时成绩占40%、卷面评阅成绩占60%,在上面的评分表中,可分别按40分、60分来量化评分,二项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。 教务处制

重庆电子工程职业学院 毕业设计(论文)开题报告 系别通信工程专业通信技术班级通信1301 学生姓名孙波学号2013120325 指导教师童华 一、毕业设计的内容和意义: 目前,随着计算机和微电子技术的高速发展,单片机在国民经济的各个领域的智能化控制中得到了非常广泛的应用。单片机已成为信息处理、物联网络、通信设备、工业控制、家用电器等各个领域不可缺少的智能部件。在一些工业控制中,经常需要以单片机作为下位机执行对被控对象的直接控制,以PC机为上位机完成复杂的数据处理,组成主从式控制系统。 为了提高系统管理的先进性,计算机工业自动控制和监测系统越来越多的采用主从式系统。较为常见的形式是由一台做管理用的上位机计算机(主机)和一台直接参与控制检测的下位机单片机(从机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是向从机发送各种命令及参数;二是要及时收集、整理和分析从机发回的数据,供进一步的决策。从机被动的接收、执行主机发

网卡的组成工作原理

网卡的组成工作原理 1.认识网卡,我们上网必备组件之一。 网卡工作在osi的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是pci总线接mac总线,mac接phy,phy接网线(当然也不是直接接上的,还有一个变压装置)。 下面继续让我们来关心一下PHY和MAC之间是如何传送数据和相互沟通的。通过IEEE定义的标准的MII/GigaMII(Media Independed Interface,介质独立接口)接口连接MAC和PHY。这个接口是IEEE定义的。MII接口传递了网络的所有数据和数据的控制。 而MAC对PHY的工作状态的确定和对PHY的控制则是使用SMI(Serial Management Interface)接口通过读写PHY的寄存器来完成的。PHY里面的部分寄存器也是IEEE定义的,这样PHY把自己的目前的状态反映到寄存器里面,MAC通过SMI总线不断的读取PHY的状态寄存器以得知目前PHY的状态,例如连接速度,双工的能力等。当然也可以通过SMI设置PHY 的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等。 我们看到了,不论是物理连接的MII接口和SMI总线还是PHY的状态寄存器和控制寄存器都是有IEEE的规范的,因此不同公司的MAC和PHY一样可以协调工作。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改。 一片网卡主要功能的实现就基本上是上面这些器件了。其他的,还有一颗EEPROM芯片,通常是一颗93C46。里面记录了网卡芯片的供应商ID、子系统供应商ID、网卡的MAC地址、网卡的一些配置,如SMI总线上PHY的地址,BOOTROM的容量,是否启用BOOTROM引导系统等东西。 很多网卡上还有BOOTROM这个东西。它是用于无盘工作站引导操作系统的。既然无盘,一些引导用必需用到的程序和协议栈就放到里面了,例如RPL、PXE等。实际上它就是一个标准的PCI ROM。所以才会有一些硬盘写保护卡可以通过烧写网卡的BootRom来实现。其实PCI 设备的ROM是可以放到主板BIOS里面的。启动电脑的时候一样可以检测到这个ROM并且正确识别它是什么设备的。AGP在配置上和PCI很多地方一样,所以很多显卡的BIOS也可以放到主板BIOS里面。这就是为什么板载的网卡我们从来没有看到过BOOTROM的原因。 2.工作过程 PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则(10Based-T的NRZ编码或100based-T的曼彻斯特编码)把数据编码,再变为模拟信号把数据送出去。收数据时的流程反之。现在来了解PHY的输出后面部分。一颗CMOS制程的芯片工作的时候产生的信号电平总是大于0V的(这取决于芯片的制程和设计需求),但是这样的信号送到100米甚至更长的地方会有很大的直流分量的损失。而且如果外部网现直接和芯片相连的话,电磁感应(打雷)和静电,很容易造成芯片的损坏。 再就是设备接地方法不同,电网环境不同会导致双方的0V电平不一致,这样信号从A传到B,由于A设备的0V电平和B点的0V电平不一样,这样会导致很大的电流从电势高的设备流向电势低的设备。我们如何解决这个问题呢? 这时就出现了Transformer(隔离变压器)这个器件。它把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端。这样不但使网线和PHY之间没有物理上的连接而换传递了信号,隔断了信号中的直流分量,还可以在不同0V 电平的设备中传送数据。

单片机与pc串口通信

课程设计报告书课程名称:MCS-51单片机课程设计题目:单片机与PC机之间的通信 姓名:高永强 学号:010700830 学院:电气工程与自动化学院专业:电气工程与自动化 年级:2007级 指导教师:张丽萍

目录 1.引言与系统结构 (2) 2.硬件实现 2.1.AT89C52 (2) 2.2.MAX232芯片 (3) 2.3. 9针串口 (5) 3.虚拟串口调试 (7) 4.Proteus仿真原理图及元件清单 (14) 5.软件设计 (15) 6.主程序代码 (16) 7.心得体会 (18) 8.参考文献 (18)

1.引言与系统结构:利用PC 机配置的异步通信适配器,可以方便的完成 PC 机遇89C52单片机的数据通信。由于89C52单片机输入、输出电平为TTL 电平,而PC 机配置的是RS-232标准串行接口,二者的电器规范不一致,因此采用MXA232单芯片 实现89C52单片机于PC 机的RS-232标准接口通信电路。 如今,在很多场合中,要求单片机不仅能独立完成单机的控制任务,还要能与其他数据控制设备(单片机、PC 机等)进行数据交换。串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到电脑端,而且也能实现电脑对单片机的控制,比如可以很直观地把红外遥控器键值的数据码显示在电脑上,可以使编写红外遥控程序时方便不少,起到仿真器的某些功效。 89C52有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL 电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND.第2脚的RXD.第3脚的TXD 。 图 1 系统结构 2.硬件实现: 2.1 .AT89C52: AT89C52是51系列单片机的一个型号,它是ATMEL 公

详解网卡的工作原理

网卡工作原理 网卡的主要工作原理:发送数据时,计算机把要传输的数据并行写到网卡的缓存,网卡对要传输的数据进编码(10M以太网使用曼切斯特码,100M以太网使用差分曼切斯特码),串行发到传输介质上.接收数据时,则相反。对于网卡而言,每块网卡都有一个唯一的网络节点地址,它是网卡生产厂家在生产时烧入ROM(只读存储芯片)中的,我们把它叫做MAC地址(物理地址),且保证绝对不会重复。MAC为48bit,前24比特由IEEE分配,是需要钱买的,后24bit由网卡生产厂家自行分配.

我们日常使用的网卡都是以太网网卡。目前网卡按其传输速度来分可分为10M网卡、10/100M自适应网卡以及千兆(1000M)网卡。如果只是作为一般用途,如日常办公等,比较适合使用10M网卡和10/100M自适应网卡两种。如果应用于服务器等产品领域,就要选择千兆级的网卡。 一、网卡的主要特点 网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网 卡。如果有必要,一台电脑也可以同时安装两块或多块网卡。

电脑之间在进行相互通讯时,数据不是以流而是以帧的方式进行传输的。我们可以把帧看做是一种数据包,在数据包中不仅包含有数据信息,而且还包含有数据的发送地、接收地信息和数据的校验信息。一块网卡包括OSI模型的两个层――物理层和数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。Echo 应答协议

计算机网络原理 网卡概述

计算机网络原理网卡概述 网卡在网络中起着不可忽视的作用,它是网络传输介质与终端计算机的连接的接口。下面我们来学习网卡的作用、网卡的分类以及如何选购一块网卡等内容。 1.网卡的作用 在计算机网络中,网卡一方面负责接收网络上的数据包,通过和自己本身的物理地址相比较决定是否为本机应接信息,解包后,将数据通过主板上的总线传输给本地计算机,另一方面将本地计算机上的数据打包后送出网络。所以网卡的主要作用可以分为:固定网络地址、数据转换并发送到网线上和接收数据并转换数据格式。 ●固定网络地址 在计算机网络通信过程中,一台计算机中的数据传输到另一台计算机,必须确定计算机的标识。例如,一封邮件发送时,必须填写写信人和收信人的地址。而计算机就是靠网卡的物理地址来标识。 数据从一台计算机传输到另外一台计算机时,也就是通过一块网卡中的数据传输到另一块网卡,即从源地址传输到目的地址。 网卡的物理地址标识(Ethernet Address,物理地址)是由十六进制表示的,每个网卡在出厂时都赋予一个全世界范围内唯一的地址。 ●数据转换并发送到网线上 网络上传输数据方式必须遵守一定的数据格式(通信协议)。所以计算机将数据传输到网卡时,网卡会自动将数据转换成网络可以识别的数据格式,然后再将数据传送到网线,发送到目的计算机的网卡。 ●接收数据并转换数据格式 在网络通信时,网卡具有双重性功能:一方面宏观世界将本计算机上的数据进行格式转换送入网络;另一方面接收网络上传输过来的数据包,对数据进行解包及反向转换。2.网卡的分类 网络卡可以按照不同方式进行分类,如按工作方式分、按对象方式分和按总线方式分。 ●按工作方式分 一般网卡可以分为半双工和全双工方式。半双工只能在同一时间做一件事,例如上传或者下载,而全双工就可以同时上传和下载。如果只是局域网间机器之间的互传文件,且文件较大,那100M半双工就比较快。如果用来上网,网络带宽比较有限,那肯定是10M全双工比较快。 ●按对象方式分 网卡可分为工作站普通网卡和服务器专用网卡。服务器专用网卡是为了适应网络服务器的工作特点而设计的。工作站普通网卡是一般计算机上使用的网卡。 按总线类型分 网卡可分为ISA网卡、EISA网卡和PCI网卡。ISA网卡是较原始的计算机上使用的总线结构网卡,现已经被淘汰。EISA网卡是在386型主板和486型主板上使用的扩展工业标准结构网卡。而现使用的一般是PCI网卡(即插即用总线结构),支持32位/64位本地总线。 ●按接口类型分 按网卡的接口类型可分为BNC接口、AUI接口、RJ-45接口以及光纤接口。BNC接口(即细缆接口)是用于总线结构的细同轴电缆中;AUI接口是连接粗同轴电缆,或者是连接收发器时才会使用;RJ-45接口是最常用的双绞线接口,也就市场上的主要接口方式;光纤接口是光纤电缆所使用的接口,也是发展的趋势,但价格比较昂贵。另外,还有笔记所使用的

单片机与PC机串口通讯设计

第一章串口通讯的系统组成与原理 1.1 系统组成及通讯原理 1.1.1 系统构成 一、MSP430F149功能简介: 本设计选用的主要芯片为MSP430F149,该单片机属于德州仪器公司MSP430F14X/16X FLASH 系列。该系列是一组工业级超低功耗的微控制器,运行环境温度为-40~+85 摄氏度工作电压范围 1.8~3.6V,MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。由于具有16位RISC(精简指令集)结构,16位寄存器和常数寄存器,MSP430 达到了最大的代码效率。数字控制的振荡器提供快速从所有低功耗模式苏醒到活动模式的能力时间少于6ms。MSP430F149有较高的处理速度,在8MHz 晶体驱动下指令周期为125 ns。另外它带有两个16 位定时器(带看门狗功能)、速度极快的8 通道12 位A/D 转换器(ADC)(带内部参考电压、采样保持和自动扫描功能)、一个内部比较器和两个通用同步/异步发射接收器、48个I/O口(均可独立控制)的微处理器结构。硬件乘法器提高了单片机的性能并使单片机在编码和硬件上可兼容[3]。这些特点保证了可编制出高效率的源程序。 二、系统构成 1、系统框图 系统构成如图1-1所示,由上位机(即工业控制计算机)、通讯接口和下位机3部分组成。上位机选用的是工控机,智能终端由单片机MSP430F149和外围传感器放大电路等构成(本设计部涉及该部分的设计)。单片机与PC 机之间通信方式为串行异步方式(UART),下位机采用中断方式进行与上位机的数据交换,上位机采用按时查询方式对各串口进行读写操作。单片机MSP430要想与PC 串口连接或者其它带有串口的终端设备连接,接口电路部分必须要进行EIA-RS-232-C 与MSP430 电平和逻辑关系的转换[4]。本设计将采用MAX3221芯片,完成3V~5V 电平与串口电平的双向转换。

相关文档
最新文档