嵌入式系统学习课件C7_第1页
嵌入式系统学习课件C7_第2页
嵌入式系统学习课件C7_第3页
嵌入式系统学习课件C7_第4页
嵌入式系统学习课件C7_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本节提要132546基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计第一页第二页,共86页。基于ARM的硬件设计主要介绍基于ARM7的嵌入式硬件开发平台的设计方法,包括结构、主要接口、存储器选用方案以及外设、显示等方面的内容。嵌入式硬件开发平台的体系结构外围存储器接口设计方法键盘、LCD等人机交互接口的设计触摸屏的设计以太网设计CAN总线设计第二页第三页,共86页。SamsungS3C44B0XSamsungS3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:8KBCache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主I2C总线控制器、1个IIS总线控制器,5通道PWM定时器及一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。第三页第四页,共86页。基于ARM的嵌入式硬件平台体系结构第四页第五页,共86页。芯片体系结构第五页第六页,共86页。本节提要132546基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计第六页第七页,共86页。S3C44B0X存储系统的特征支持数据存储的大/小端选择(通过外部引脚进行选择)地址空间:具有8个存储体,每个存储体可达32Mb,总共可达256Mb。对所有存储体的访问大小均可进行改变(8位/16位/32位)8个存储体中,Bank0-Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和FP/EDO/SDRAM等。7个存储体的起始地址固定,1个存储体的起始地址可变。第七页第八页,共86页。复位后的S3C44B0X的存储器映射表第八页第九页,共86页。Bank0总线宽度配置第九页第十页,共86页。系统的存储空间分配Bank0:两片512KFlash,放置系统引导程序,系统上电复位后,PC指针自动指向Bank0的第一个单元,进行系统自举。。Bank1:K9F2808(三星16MbyteFlash),非线性寻址。具体的时序可以参考K9F2808的datasheetBank2:USBN9603。USB设备端接口芯片,占用系统外部中断0。8位数据总线。Bank3、Bank4未接设备。可以供扩展使用Bank5:RTL8019AS,ISA总线兼容的10M以太网(PHY+MAC层)控制芯片。占用系统外部中断1,16位数据总线第十页第十一页,共86页。Bank6:SDRAM,起始地址为0xC000000。在SDRAM中,前512Kbyte的空间划分出来,作为系统的LCD显示缓冲区使用(更新其中的数据,就可以更新LCD的显示)。系统的程序存储空间从0xC080000开始。也就是,引导系统的时候,需要把system.bin文件复制到0xC080000开始的地址空间,把PC指针指向0xC080000。Bank7:未使用。可以扩展另一片SDRAM,或者其他的外设。系统的同步串行口(SIO),连接着触摸屏控制芯片FM7843(与ADS7843完全兼容)。在同步串行口上,还可以扩展其他的芯片。靠IO口控制设备的片选信号(CS)来防止设备的冲突。注:系统的扩展接口上,A0的标号,连接在S3C44B0X的ADDR1上,后面的地址依次向后错位。第十一页第十二页,共86页。S3C44B0X与FLASH的连接(HalfWord方式)第十二页第十三页,共86页。与2片8位的ROM连接方法第十三页第十四页,共86页。与1片16位的ROM连接第十四页第十五页,共86页。关于BOOTROMBank0:系统的启动ROM(FlashRom)。在系统复位的时候,处理器的PC(程序计数器)指针指向0x0地址。在Bank0的起始地址的程序,就是系统的初始化程序。此程序的主要任务是:1、管理处理器的中断服务程序处理器的中断是从0x0地址开始,引导ROM负责把这一部分的中断映射到另一个区域,以便系统处理。具体的做法,可以参考44binit.s里面的代码。(这部分代码是三星主页可以提供,它把系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统RAM的空间))。第十五页第十六页,共86页。2、初始化硬件平台,配置其他的BankS3C44B0X的Bank0是通过外部的一个管脚提供的上拉、下拉电阻来配置的。主要包括:数据位数(8位、16位、32位),数据格式(大端、小端)。而其他的Bank的配置,以及读写周期等信息是靠Bank0内部的代码配置相应的寄存器来实现的。同时,系统的引导Rom也负责配置系统的其他的一些寄存器,比如,系统的PLL(锁频环)配置,系统的IO口等一些端口功能的配置等等。第十六页第十七页,共86页。3、系统自动检测引导Rom负责检测系统的启动所必须的外设是否正常。主要是系统的SDRAM的检测。4、系统的软件设置,更新系统(system.bin)用户可以在系统启动的时候,按任意键,进入系统的软件设置状态。通过引导Rom设置或者查看系统的一些软件信息。包括:通过开启USB端口;更新系统文件system.bin;LCD显示测试;演示程序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以太网地址的设置等第十七页第十八页,共86页。本节提要132546基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计第十八页第十九页,共86页。I/O子系统的层次模型I/O子系统:I/O设备、相关的设备驱动程序和I/O子系统组成嵌入式I/O子系统。I/O子系统的目标是对RTOS和应用程序员隐藏设备特定的信息,并且对系统的外围I/O设备提供一个统一的访问方法。第十九页第二十页,共86页。从不同角度看I/O系统从系统软件开发者角度看,I/O操作意味着与设备的通信、对设备编程初始化和请示执行设备与系统之间的实际数据传输以及操作完成后通知请求者。系统软件工程师必须理解设备的物理特性,如寄存器的定义和设备的访问方法。从RTOS的角度看,I/O操作意味着对I/O请求定位正确的设备,对设备定位正确的设备驱动程序,并解决对设备驱动程序的请求。有时要求RTOS保证对设备的同步访问。RTOS必须进行抽象,对应用程序员隐含设备的特性。从应用程序员角度看,目标是找到一个简单、统一和精练的方法与系统中出现的所有类型的设备通信。第二十页第二十一页,共86页。I/O接口设计

I/O接口电路也简称接口电路。它是主机和外围设备之间交换信息的连接部件(电路)。它在主机和外围设备之间的信息交换中起着桥梁和纽带作用。设置接口电路的必要性:a)解决CPU和外围设备之间的时序配合和通信联络问题。b)解决CPU和外围设备之间的数据格式转换和匹配问题。c)解决CPU的负载能力和外围设备端口选择问题。第二十一页第二十二页,共86页。I/O接口的编址方式

1)I/O接口独立编址:这种编址方式是将存储器地址空间和I/O接口地址空间分开设置,互不影响。设有专门的输入指令(IN)和输出指令(OUT)来完成I/O操作。2)I/O接口与存储器统一编址方式:这种编址方式不区分存储器地址空间和I/O接口地址空间,把所有的I/O接口的端口都当作是存储器的一个单元对待,每个接口芯片都安排一个或几个与存储器统一编号的地址号。也不设专门的输入/输出指令,所有传送和访问存储器的指令都可用来对I/O接口操作。第二十二页第二十三页,共86页。两种编址方式有各自的优缺点1)独立编址方式:主要优点:内存地址空间与I/O接口地址空间分开,互不影响,译码电路较简单,并设有专门的I/O指令,所以编程序易于区分,且执行时间短,快速性好。缺点:只用I/O指令访问I/O端口,功能有限且要采用专用I/O周期和专用I/O控制线,使微处理器复杂化。2)统一编址方式主要优点:访问内存的指令都可用于I/O操作,数据处理功能强;同时I/O接口可与存储器部分共用译码和控制电路。缺点:一是I/O接口要占用存储器地址空间的一部分;二是因不用专门的I/O指令,程序中较难区分I/O操作。第二十三页第二十四页,共86页。通用设计原则(I/O设备)I/O接口接口的概念CPU与外部设备的接口(I/O适配器)接口的功能控制缓冲状态转换整理程序中断

第二十四页第二十五页,共86页。S3C44B0X的I/O接口ARM系统完成I/O功能的标准方法是使用存储器映射I/O。这种方法使用特定的存储器地址。当从这些地址加载或向这些地址存储时,它们提供I/O功能。典型情况下,从存储器映射I/O地址加载用于输入,而向存储器映射I/O地址存储用于输出。S3C44B0X有71个多功能输入\输出管脚,构成了7个I/O接口:两个9位的输入/输出接口(E和F)两个8位的输入/输出接口(D和G)一个16位的输入/输出接口(C)一个10位的输出接口(A)一个11位的输出接口(B)第二十五页第二十六页,共86页。嵌入式开发板与PC机的串行通讯嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式连接。第二十六页第二十七页,共86页。UART控制框图第二十七页第二十八页,共86页。异步串行通讯简介在一条传输线上完成单向传输。将传输数据的字符一位接一位的传送。接收方对于同一条线上的一连串连续数学信号,首先将其分割成位,再按位组成字符。每个字符需要确定起始位和结束位,字符与字符间还可能有长度不定的空闲时间,因此传输效率较低。第二十八页第二十九页,共86页。字符串行输出格式:发送前:线路处于空闲状态,连续发送“1”开始发送:首先,发送一位起始位“0”然后,发送连续的二进制位,数据位可以为5、6、7、8随后,紧跟一位奇偶校验位(可选择奇/偶/无校验)最后,发送停止位“1”,可以有1位、1.5位或2位停止位第二十九页第三十页,共86页。串行通讯硬件规范及连接方法EIARS-232C

物理特征:DB-25DB-15DB-9信号连线:保护地、TXD/RXD、RTS/CTS、DCD、DSR、DTR、R1电平规定:-5V~-15V之间的电平表示逻辑“1”+5V~+15V之间的电平表示逻辑“0”第三十页第三十一页,共86页。比特率在数字信道中,比特率是数字信号的传输速率,它用单位时间内传输的二进制代码的有效位(bit)数来表示,其单位为每秒比特数bit/s(bps)、每秒千比特数(Kbps)或每秒兆比特数(Mbps)来表示(此处K和M分别为1000和1000000,而不是涉及计算机存储器容量时的1024和1048576)。.波特率波特率指数据信号对载波的调制速率,它用单位时间内载波调制状态改变次数来表示,其单位为波特(Baud)。波特率与比特率的关系为:比特率=波特率X单个调制状态对应的二进制位数。显然,两相调制(单个调制状态对应1个二进制位)的比特率等于波特率;四相调制(单个调制状态对应2个二进制位)的比特率为波特率的两倍;八相调制(单个调制状态对应3个二进制位)的比特率为波特率的三倍;依次类推。第三十一页第三十二页,共86页。第三十二页第三十三页,共86页。第三十三页第三十四页,共86页。UART的操作串口初始化发送数据接收数据第三十四页第三十五页,共86页。本节提要132546基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计第三十五页第三十六页,共86页。键盘接口设计键盘模块键盘可能用来输入数字型数据或者选择控制设备的操作模式。键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。嵌入式控制器的功能很强,可能允分利用这一资源。第三十六页第三十七页,共86页。一个瞬时接触开关(按钮)放置在每一行与每一列的交叉点。矩阵所需的键的数目显然根据应用程序而不同。每一行由一个输出端口的一位驱动,而每一列由一个电阻器上拉且供给输入端口一位。键盘扫描阵列第三十七页第三十八页,共86页。键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是否有键被按下。每个键被分配一个称为扫描码的唯一标识符。应用程序利用该扫描码,根据按下的键来判定应该采取什么行动。

消抖算法:组合键处理键盘扫描方法第三十八页第三十九页,共86页。//得到按键的扫描码,格式为0xXYZWU16GetScanKey(){ U16key; U8i,temp; for(i=1;i<0x10;i<<=1){ //I/O口送出数据 rPDATD|=0xf; rPDATD&=~i; key<<=4; OSTimeDly(1);//操作系统延时 temp=rPDATD; key|=(temp>>4); } returnkey;}键盘扫描程序第三十九页第四十页,共86页。LCD接口设计LCD显示模块液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。LCD的背光:EL(场致发光):2000-3000小时和LED光源:字符模式,50000小时第四十页第四十一页,共86页。LCD的显示方式反射型LCD:底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。透射型LCD:底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用。透反射型LCD:是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用LCD。第四十一页第四十二页,共86页。反射型LCD的结构第四十二页第四十三页,共86页。LCD通常由两种方式,一种是带有驱动芯片的LCD模块,基本上属于半成品如果有需要,也可以直接使用芯片上的内置LCD控制器来构造显示模块,它可以支持彩色/灰度/单色三种模式,灰度模式下可支持4级灰度和16级灰度,彩色模式下最多支持256色,LCD的实际尺寸可支持到320X240。LCD的驱动方式第四十三页第四十四页,共86页。嵌入式处理器与LCD的连接嵌入式处理器LCD模块数据总线寄存器选择使能信号第四十四页第四十五页,共86页。

从系统结构上来讲,由于显示器模块中已经有显示存储器。显存中的每一个单元对应LCD上的一个点,只要显存中的内容改变,显示结果便进行刷新。于是便存在两种刷新:1.直接根据系统要求对显存进行修改,一种是只需修改相应的局部就可以,不需要判断覆盖等;另一种就是有覆盖问题,计算起来比较复杂,而且每做一点小的屏幕改变就进行刷新,将增加系统负担。2.专门开辟显示内存,在需要刷新时候由程序进行显示更新。这样,不但可以减轻总线负荷,而且也比较合理,在有需要的时候进行统一的显示更新,界面也可以比较美观,不致由于无法预料的刷新动作导致显示界面闪烁。LCD的显示控制第四十五页第四十六页,共86页。前后台双重显示缓存的显示模块结构第四十六页第四十七页,共86页。触摸屏接口设计触摸屏的分类电阻式触摸屏表面声波触摸屏红外式触摸屏电容式触摸屏第四十七页第四十八页,共86页。电阻式触摸屏分为四线电阻和五线电阻触摸屏电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘、水汽和油污,可以用任何物体来触摸,比较适合工业控制领域及办公室内有限人的使用。第四十八页第四十九页,共86页。四线电阻触摸屏原理第四十九页第五十页,共86页。测量原理在触摸点X、Y坐标的测量过程中,测量电压与测量点的等效电路图所示,图中P为测量点XVYY第五十页第五十一页,共86页。触摸屏芯片第五十一页第五十二页,共86页。FM(ADS)7843的特点实现触摸屏的驱动选择控制(X、Y通道)对于输入电压或附加电压进行AD转换同步串行接口最大转换速率125KHz可编程控制8位或者12位转换模式工作电压2.7V-5.0V两个附加的输入端口第五十二页第五十三页,共86页。FM7843与ARM的连接第五十三页第五十四页,共86页。触摸屏的驱动#defineADS7843_CTRL_START 0x80#defineADS7843_GET_X 0x50#defineADS7843_GET_Y 0x10#defineADS7843_CTRL_12MODE 0x0#defineADS7843_CTRL_8MODE 0x8#defineADS7843_CTRL_SER 0x4#defineADS7843_CTRL_DFR 0x0#defineADS7843_CTRL_DISPWD 0x3 //Disablepowerdown#defineADS7843_CTRL_ENPWD 0x0 //enablepowerdown#defineADS7843_PIN_CS (1<<6) //GPF6#defineADS7843_PIN_PEN (1<<5) //GPG5//#defineADS7843_PIN_BUSY (1<<6)/////////触摸屏动作////////#defineTCHSCR_ACTION_NULL 0 #defineTCHSCR_ACTION_CLICK 1 //触摸屏单击#defineTCHSCR_ACTION_DBCLICK 2 //触摸屏双击#defineTCHSCR_ACTION_DOWN 3 //触摸屏按下#defineTCHSCR_ACTION_UP 4 //触摸屏抬起#defineTCHSCR_ACTION_MOVE 5 //触摸屏移动#defineTCHSCR_IsPenNotDown() (rPDATG&ADS7843_PIN_PEN)voidTchScr_init(void);voidTchScr_GetScrXY(int*x,int*y);第五十四页第五十五页,共86页。本节提要132546基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计第五十五页第五十六页,共86页。以太网接口的基本知识1、传输编码曼彻斯特编码差分曼彻斯特编码第五十六页第五十七页,共86页。以太网协议以太网MAC层物理传输帧(IEEE802.3)PRSDDASATYPEDATAPADFCS56位8位48位48位16位不超过1500字节可选32位PR: 同步位,收发双方的时钟同步,也指明传输的速率(10M、100M)SD: 分隔位,表示下面跟着的是真正的数据,而不是同步时钟DA: 目的地址,以太网的地址为48位地址。如果为都为F,则是广播地址SA: 源地址,48位,表明该帧的数据是哪个网卡发的,即发送端网卡地址

TYPE:类型字段,表明该帧的数据是什么类型。如:0800H表示数据为IP包,0806H表示数据为ARP包,814CH是SNMP包,8137H为IPX/SPX包

DATA:数据段,该段数据不能超过1500字节。PAD:填充位。以太网帧传输的数据包最小不能小于60字节,当数据段不足46字节时,后面补000000.....(当然也可以补其它值)

FCS:32位CRC数据校验位。该校验由网卡自动完成第五十七页第五十八页,共86页。以太网的数据传输特点PR,SD,PAD,FCS这几个数据段是由网卡自动产生的;只需要理解DA、SA、TYPE、DATA四个段的内容所有数据位的传输由低位开始(传输的位流使用曼彻斯特编码)以太网的冲突退避算法是由硬件自动执行的DA+SA+TYPE+DATA+PAD最小为60字节,最大为1514字节以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(在嵌入式的环境中一般不用),一个是它自已的地址任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配。第五十八页第五十九页,共86页。嵌入式的以太网方案嵌入式处理器+网卡芯片(RTL8019)对嵌入式处理器没有特殊要求,通用性强处理器和网络数据交换通过外部总线,速度慢,不适合于100M网络带有以太网络接口的嵌入式处理器处理器面向网络应用处理器和网络数据交换通过内部总线,速度快第五十九页第六十页,共86页。RTL8019的原理框图第六十页第六十一页,共86页。嵌入式网络接口的特点与常规的网卡设计思路不同的是,在嵌入式系统中,系统的精简一直是个主要的原则。RTL8019AS作为网卡,时需要一片EEPROM作为配置存储器,来确定通讯的端口地址,中断地址,网卡的物理地址,工作模式,制造厂商等信息;而在嵌入式系统中,可以使用RTL8019AS的默认配置和一些管脚作为网卡的初始化方法。这样可以节省配置存储器,减小嵌入式硬件平台的体积。第六十一页第六十二页,共86页。基于RTL8019在嵌入式以太网设计1RTL8019AS的初始化RTL8019支持即插即用模式和非即插即用模式。在嵌入式系统中,网卡的外设通常是不经常插拔的,所以,为了系统的精简,配置RTL8019为非即插即用模式。有着固定的中断,有着固定的端口地址,假设是端口是0x300(这里的端口是相对于ISA总线来说的端口,对于ARM的总线,需要重新计算地址)。这些配置可以通过RTL8019的外部管脚,在系统上电复位的时候,自动配置起来。第六十二页第六十三页,共86页。关于RTL8019的RAMRTL8019含有16K字节的RAM,地址为0x4000-0x7fff(指的是RTL8019内部的存储地址,是RTL8019工作用的存储器,可以通过远程DMA访问),每256个字节称为一页,共有64页。页的地址就是地址的高8位,页地址为0x40--0x7f。这16k的ram的一部分用来存放接收的数据包,一部分用来存储待发送的数据包第六十三页第六十四页,共86页。2通过RTL8019AS发送数据

作为一个集成的以太网芯片,数据的发送校验,总线数据包的碰撞检测与避免是由芯片自己完成的。我们只需要配置发送数据的物理层地址的源地址、目的地址、数据包类型以及发送的数据就可以了。第六十四页第六十五页,共86页。3、通过RTL8019AS接收数据

在RTL8019的初始化程序中已经设置好了接收缓冲区的位置,并且配置好了中断的模式。当有一个正确的数据包到达的时候,RTL8019会产生一个中断信号,在ARM中断处理程序中,接收数据。数据的接收比较简单,即通过远端DMA把数据从RTL8019的RAM空间读回ARM中处理。第六十五页第六十六页,共86页。TCP/IP协议的层次应用层(Application)BSD套接字(BSDSockets)传输层(Transport)TCP、UDP网络层(Network)IP、ARP、ICMP、IGMP数据链路层(DataLink)IEEE802.3EthernetMAC物理层(Physical)第六十六页第六十七页,共86页。嵌入式以太网中主要处理的协议ARP(AddressResolationProtocol)

地址解析协议ICMP(InternetControlMessagesProtocol)

网络控制报文协议IP(InternetProtocol)网际协议TCP(TransferControlProtocol)

传输控制协议UDP(UserDatagramProtocol)

用户数据包协议第六十七页第六十八页,共86页。ARP地址解析协议网络层用32bit的IP地址来标识不同的主机,而链路层使用48bit的物理(MAC)地址来标识不同的以太网接口。只知道目的主机的IP地址并不能发送数据帧给它,必须知道目的主机网络接口的MAC地址才能发送数据帧。ARP的功能是实现从IP地址到对应物理地址的转换。

源主机发送一份包含目的主机IP地址的ARP请求数据帧给网上的每个主机,称作ARP广播,目的主机的ARP收到这份广播报文后,识别出这是发送端在寻问它的IP地址,于是发送一个包含目的主机IP地址及对应的MAC地址的ARP回答给源主机。每台主机上都有一个ARP高速缓存,存放最近的IP地址到硬件地址之间的映射记录。通常每一项的生存时间为20分钟第六十八页第六十九页,共86页。ICMP网络控制报文协议IP层的附属协议,IP层用它来与其他主机或路由器交换错误报文和其他重要控制信息。ICMP报文是在IP数据包内部被传输的。两个实用的网络诊断工具,Ping和Traceroute(Tracert),都是利用该协议工作的。第六十九页第七十页,共86页。IP网际协议IP工作在网络层,是TCP/IP协议族中最为核心的协议。所有的TCP,UDP,ICMP以及IGMP数据都以IP数据包格式传输。IP数据包最长可达65535字节,其中报头占32bit的数目。包含各32bit的源IP地址和目的IP地址。在嵌入式应用中,简化设计,IP数据包长度等于数据链路层的数据长度。第七十页第七十一页,共86页。TCP传输控制协议TCP是一个面向连接的可靠的传输层协议。TCP为两台主机提供高可靠性的端到端数据通信。主要包括:发送方把应用程序交给它的数据分成合适的小块,并添加附加信息(TCP头),包括顺序号,源、目的端口,控制、纠错信息等字段,称为TCP数据包。并将TCP数据包交给下面的网络层处理。接受方确认接收到的TCP数据包,重组并将数据送往高层。第七十一页第七十二页,共86页。UDP协议UDP是一种无连接不可靠的传输层协议。把应用程序传来的数据加上UDP头(包括端口号,段长等字段),作为UDP数据包发送出去,但是并不保证它们能到达目的地。可靠性由应用层来提供。就象发送一封写有地址的一般信件,却不保证它能到达。第七十二页第七十三页,共86页。关于端口TCP和UDP采用16位的端口号来识别上层的TCP用户,即上层应用协议如等。常见的TCP/IP服务都用1-255之间的端口号。例如FTP服务的TCP端口号都是21,Telnet服务的TCP端口号都是23256-1023之间的端口号通常都是提供一些特定的Unix服务TCP/IP临时端口分配1024-5000之间的端口号第七十三页第七十四页,共86页。BSD套接字(BSDSockets)BSDSockets使用的最广泛的网络程序编程方法,主要用于应用程序的编写,用于网络上主机与主机之间的相互通信UNIX,Linux,VxWorks均支持BSDSockets,Windows的Winsock基本上是来自BSDSocketsSocket分为StreamSockets和DataSocketsStreamSockets是可靠性的双向数据传输,使用TCP协议DataSockets是不可靠连接,使用UDP协议第七十四页第七十五页,共86页。套接字的使用UDP服务器端和一个UDP客户端通信的程序过程创建一个Socket

sFd=socket(AF_INET,SOCK_DGRAM,0)把Socket和本机的IP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论