1、例尺:在不同空间尺度下,对地理目标抽象表达的信息密度差异很大,而空间数据在不同的观察层次上所遵循的规律以及体现出的特征也不尽相同。比例尺反映了空间数据的空间尺度特性。*空间表达的意义:地理空间表达为地理科学研究与现实世界架设了桥梁,使得人类不断地向自身认知的极限挑战,也促使人们从更加开阔的视野、更多的视角来研究和认识地球表层特征空间。二、空间数据转换格式*意义:空间数据获取的手段 ; GIS空间数据处理的重要任务; 实现数据共享的方法之一.*栅格结构数据中混合像元的处理:1:面积占优;长度占优; 中心点法; 重要性法。2:缩小栅格单元面积。*栅格结构数据的编码方法:1.直接栅格编码:简单直观,
2、是压缩编码方法的逻辑原型(栅格文件);2.链码:效率高,接近矢量结构,边界运算方便,无区域性质,区域运算难;3.游程长度编码:大程度压缩,最大限度的保留,易编码解码,适合于微机;4.块码和四叉树编码:区域性质,可变的分辨率,较高效率,四叉树编码可以直接进行大量图形图象运算,效率较高,是很有前途的编码方法。三、地理空间坐标变换*意义:GIS实现多源数据无缝集成的基础; GIS空间分析的基础 ; GIS输出显示成果的需要 。*坐标系转换方法:仿射变换(六参数变换),相似变换(4个参数:平移、旋转、缩放)。*地图投影转换方法:正解(直接变换)、反解(地理坐标作为两种投影的中介)、数值变换(利用两投影
3、间的若干离散点,用数值逼近的理论和方法来建立两投影间的关系)。:解析变换、数值变换和数值解析变换。四、空间尺度变换*尺度(Scale)是实体、模式或过程在空间或时间上的基准尺寸。或研究范围。*尺度定义为地理空间信息被观察、表示、分析和传输的详细程度,可从空间尺度、时间尺度和语义尺度(语义强弱、属性层次)三方面来说明。*尺度变换(Scaling):信息在不同尺度范围(相邻尺度或多个尺度)之间的变换,也称尺度推绎。尺度变换将某一尺度上所获得的信息和知识扩展到其他尺度上,实现跨越不同尺度的辨识、推断、预测或推绎,包括尺度上推(向更大尺度:分配和聚集)和尺度下推(选择和解集)。*GIS空间数据多尺度表
4、达:空间地理系统是一种具有等级结构特征的复杂系统,地理特征在不同尺度上都有其约束体系和临界值,格局与过程具有明显的尺度依赖性。空间数据多尺度特征主要表现在数据的可综合性。通过多尺度变换,建立多个尺度之间空间数据的逻辑关系,空间数据集由一种转换为另一种(不同应用层次和详细程度、内在一致性)(完备地数据派生过程)*尺度变换方法:1.空间数据自动综合 (模型综合和制图综合方法实现空间和属性两方面的变换); 2. 小波变换 (海量数据中提取基本特征); 3.LOD技术。*无级比例尺GIS(Scaling GIS)是以一个大比例尺数据库为基础数据源,在一定区域内空间对象的信息量随着比例尺的变化自动增减,
5、实现一种GIS空间信息的压缩和复现与比例尺自适应的信息处理。*无级比例尺数据处理:在原图信息载负量基础上,根据空间对象的信息综合模型(包括数量选取模型、内容选取模型和图形概括模型),最后在满足地图输出比例尺和最佳目视效果条件下,以最大的信息载负量进行可视化输出新图。无级比例尺数据处理技术流程: 建立空间数据库; 确定地理范围(确定地理区域和区域在新图中的面积); 计算新图比例尺(根据新图中的面积,即可推算出新的地图比例尺); 确定地物要素选取数量(空间对象的数量选取模型确定地物要素的数量选取指标); 确定地物要素选取数量(通过地物要素数量选取指标(Nb)和内容选取模型确定选取的地物要素); 地
6、物要素的图形概括(通过图形概括模型进行图形化简,以突出地物的主要轮廓形态特征); 地物要素的图形修饰(为了复现原来的图形轮廓,可用曲线光滑模型对图形进行修饰,最后成图输出。)*无级比例尺变换的原理及方法:地理坐标空间和WINDOWS坐标空间的映射关系(移动中,在进行坐标转换时始终将地理原点变换到WINDOWS的坐标原点,然后再依照所建立的映射公式转换其余的坐标点。) ;地理逻辑窗口和动态裁剪(对多幅地图拼接而成的地图进行快速地全图缩放漫游。只有当要素范围与地理逻辑窗口的边界相交才能进行裁剪。) ;缩放漫游的实现 (不论地理原点或WINDOWS的坐标原点移动到何处,总是将地理原点对应到WINDO
7、WS的坐标原点或将WINDOWS的坐标原点对应到地理原点。);多幅地图的缩放漫游及数据管理 (先分层、建立拓扑关系、范围超过则换层)。5、 图形变换*图形变换是为了深入研究空间要素的某种特性,将原有空间要素的图形表达形式改变为另一种图形表达形式的过程。*常见图形表达形式: 剖面图(简单、展平、叠加、组合)、图解分布图、玫瑰图和块状图。*图形变换分为:1. 量度变换:实体量度变换(等级指标单位)、区域量度转换(区域的形状量度变换)。2. 结构变换: 截断变换、概括变换、类别与级别变换、质量与数量形式变换、连续化离散化、图形分解。 3. 表示方法变换:点状图和区域图的变换 ;独立符号和点值法地图的
8、变换;等值线图的变换。第5章 空间几何关系分析GIS环境下的空间分析:从GIS目标之间的空间关系中获取派生信息和新知识。空间关系限定为由空间目标几何特征所引起或决定的关系。空间几何关系分析主要包括邻近度分析、叠加分析、网络分析等。(一)邻近度分析一、缓冲区分析1.邻近度(Proximity)是定性描述空间目标距离关系的重要物理量之一,表示地理空间中两个目标地物距离相近的程度。2.缓冲区 是指为了识别某一地理实体或空间物体对其周围地物的影响度而在其周围建立的具有一定宽度的带状区域。3.缓冲区分析 则是对一组或一类地物按缓冲的距离条件,建立缓冲区多边形,然后将这一图层与需要进行缓冲区分析的图层进行
9、叠加分析,得到所需结果的一种空间分析方法。 4.均质与非均质缓冲区静态与动态缓冲区:均质:影响度不随距离而变化 。*动态缓冲区:分析模型(线性、二次和指数模型)*连续变化转化成阶段性变化的缓冲区:把影响度根据实际情况分成几个典型等级,在每一个等级取一个平均影响度,并根据影响度确定的等级。5.矢量数据缓冲区的建立方法 :点要素、线要素和面要素。(点、多、分级)6.栅格数据缓冲区的建立方法 :推移或扩散(Spread),推移或扩散实际上是模拟主体对邻近对象的作用过程,物体在主体的作用下沿着一定的阻力表面移动或扩散,距离主体越远所受到的作用力越弱。像元加粗法:以分析目标生成像元,借助于缓冲距离R计算
10、出像元加粗次数,然后进行像元加粗形成缓冲区。7.缓冲区实现有两种基本算法:矢量方法(中心线扩张法,又称加宽线法或图形加粗法)和栅格方法(数学形态学扩张算法)。8.缓冲区多边形的重叠合并:矢量数据:数学运算法、矢量栅格转换法、矢量栅格混合法; 栅格数据:影响度小的服从于影响度大。二、泰森多边形分析点内插生成面、最近邻点法1.泰森多边形:将所有相邻气象站连成三角形,作三角形各边的垂直平分线,每个气象站周围的若干垂直平分线便围成一个多边形,用这个多边形内所包含的惟一一个气象站的降雨强度来表示这个多边形区域内的降雨强度。2.特性:1.内仅一个控制点数据;2.内的点到控制点的距离最近;3.边上的点到其两
11、边控制点的距离相等;4.判断一个控制点与其他哪些控制点相邻。3.隐含的假设是任何地点的未知数据均使用距它最近的采样点数据。4.Delaunay三角网是由与相邻泰森多边形共享一条边的相关点连接而成的三角网,它与泰森多边形是对偶关系。5.不足:分析产生的结果边界变化突然、内部均质,不符合空间现象的实际分布特征。(二)叠加分析、叠加分析概述1. 叠加分析操作:在GIS环境下,将分层存储的各种专题要素自动叠和相交,便可以得到包含原始图层空间信息以及与之相关联的属性信息的新图层。(传统透图桌最多叠三张图件,叠加分析原则上可实现无限制的叠加,方便地对多专题要素进行研究,减少盲目性。)2. 叠加分析是指将同
12、一地区、同一比例尺、同一数学基础,不同信息表达的两组或多组专题要素的图形或数据文件进行叠加,根据各类要素与多边形边界的交点或多边形属性建立具有多重属性组合的新图层,并对那些在结构和属性上既相互重叠,又相互联系的多种现象要素进行综合分析和评价;或者对反映不同时期同一地理现象的多边形图形进行多时相系列分析,从而深入揭示各种现象要素的内在联系及其发展规律的一种空间分析方法。3. 矢量数据模型(涉及空间要素)与栅格数据模型(空间信息隐含)的属性叠加处理分为代数运算与逻辑运算两大类,其中栅格数据模型的叠加运算常被称为地图代数,应用非常广泛。2、 空间要素图形叠加1.矢量数据图形要素的叠加处理按要素类型可
13、分为点与多边形的叠加、线与多边形的叠加(多个交点将一个线目标分割成多个线段)、多边形与多边形的叠加(首先求出所有多边形边界线的交点,再根据这些交点重新进行多边形拓扑运算,对新生成的拓扑多边形图层的每个对象赋予惟一的标识码)三种。2.多边形叠加分析操作:并、叠和、交。3.按照叠加的方式,空间要素属性叠加可分为代数叠加与逻辑叠加。(矢量数据在进行空间图形叠加处理之后,必须将相应图层的属性表关联到一起)三、空间要素属性叠加1.对于任意栅格单元用作标识的行列号I0、J0是不变的,进行叠加的时候只是增加了属性表的长度。2.栅格数据来源复杂,叠加分析操作的前提是要将其转换为统一的栅格数据格式,且各个叠加层
14、必须具有统一的地理空间(参考、比例尺、分辨率)。3.栅格数据的叠加分析操作主要通过栅格之间的各种运算来实现。4.地图代数与代数运算:代数运算不完全适用于地图运算。5.地图代数中的运算符:算术运算、关系运算(真值返回1、假返回0)、布尔运算、位运算(12、24)、累积运算(所有格值相加)、赋值运算、逻辑运算(Diff差异运算符(有差异输出为0、没差异输第一个图)、In包含运算符(分离出一组数字)、Over非零查找运算符(两个输入栅格矩阵搜索0值单元格中:第一个栅格所有非0输出、有0的以第二个值输出);以第一个图层为参考)。这种基于数学运算的数据层间的叠加运算,在地理信息系统中称为地图代数。6.基
15、于不同的运算方式和叠加形式:局部变换:每一个像元经过局部变换后的输出值与这个像元本身有关系,而不考虑围绕该像元的其他像元值。如果输入单层格网,局部变换以输入格网像元值的数学函数计算输出格网的每个像元值。1.数学函数:对一幅输入栅格地图单元的值进行初等函数计算的函数。2.选择函数:按照指定的条件对输入栅格数据集进行单元格的选择或提取。比较运算函数CON,连接多个栅格数据集,执行多个条件的比较,将比较结果输出。3.重分类函数:用输出的新单元格值替换单元格输入值。如添加的是一个多波段的栅格 ,第一个波段将被用于重分类。4.统计函数:众数、最大值、平均值、中值等等。邻域变换:邻域变换输出栅格层的像元值
16、主要与其相邻像元值有关。如果要计算某一像元的值,就将该像元看作一个中心点,一定范围内围绕它的格网可以看作它的辐射范围,这个中心点的值取决于采用何种计算方法将周围格网的值赋给中心点,其中的辐射范围可自定义。(中心点的值除了可以通过求和得出之外,还可以取平均值、标准方差、最大值、最小值、极差频率等。)邻域变换的一个重要用途是数据简化(重采样)。常用领域的形状:矩形、圆形 、环面形、 扇形分带变换:将同一区域内具有相同像元值的格网看作一个整体进行分析运算,称为分带变换。区域内属性值相同的格网可能并不毗邻,一般都是通过一个分带栅格层来定义具有相同值的栅格。类区函数:众数、最大值全局变换是基于区域内全部
17、栅格的运算,一般指在同一网格内进行像元与像元之间距离的量测。自然距离量测运算或者欧几里德几何距离运算均属于全局变换。欧几里德距离运算首先定义源像元,然后计算区域内各个像元到最近的源像元的距离。在方形网格中,垂直或水平方向相邻的像元之间距离等于像元的尺寸大小或者等于两个像元质心之间距离;如果对角线相邻,则像元距离约等于像元大小的1.4倍;如果相隔一个像元那么它们之间的距离就等于像元大小的2倍,其他像元距离依据行列来进行计算。栅格逻辑叠加:栅格数据中的像元值有时无法用数值型字符来表示,不同专题要素用统一的量化系统表示也比较困难,故使用逻辑叠加更容易实现各个栅格层之间的运算。二值逻辑叠加模型:将各个
18、图层二值化(TRUE,FALSE)或(0,1)and.and.and块函数:众数、平均数3X3.(3) 网络分析*最佳路线定义为阻抗最低的路线,其中,阻抗由用户来选择。确定最佳路线时,所有有效网络成本属性均可用作阻抗。*OD 成本矩阵是一个包含从每个起始点到每个目的地的网络阻抗的表。*网络分析 是通过研究网络的状态以及模拟和分析资源在网络上的流动和分配情况,对网络结构及其资源等的优化问题进行研究的一种空间分析方法。网络分析的理论基础是图论和运筹学。1. 概念: 环、重边、简单图、有向图、弧、路、有向路、连通图、回路。*如果一个连通图中不存在任何回路,则称为树。*任意一个连通图,去掉一些边后形成
19、的树叫做连通图的生成树。 *赋以权数的有向图称为赋权有向图,也可称之为网络。*用来描述图与网络常用的方法:邻接矩阵表示法、关联矩阵表示法、邻接表表示法是用来描述图与网络常用的方法。*邻接矩阵 用来表示图中任意两点间的邻接关系及其权值.如果两点间有一条弧,则邻接矩阵中对应的元素为 1;否则为 0*关联矩阵 中,每行对应图的一个节点,每列对应图的一条弧。如果一个节点是一条弧的起点,则关联矩阵中对应的元素为1;如果一个节点是一条弧的终点,则关联矩阵中对应的元素为1;如果一个节点与一条弧不关联,则关联矩阵中对应的元素为0。 *邻接表 是图中所有节点邻接表的集合。不足:矩阵表示图所需的空间大、且有关结点
20、的信息无法表示。*链(Link) :链是构成网络的骨架,包括图形信息和属性信息,链的属性信息包括阻碍强度和资源需求量,链有方向。链的阻碍强度是指在通过一条链时所需要花费的时间或者费用等,如资源流动的时间、速度。*结点:结点是网线的端点,又是网线的汇合点。其状态属性除了包括阻碍强度和资源需求量等:(阻碍强度值为负数,则表示资源禁止流向特定的弧段。) 障碍(Barrier):禁止资源在网络中的链上流动的点。唯一不表示任何属性的点。 拐点(Turn):出现在网络链中的分割结点上,资源运动方向可能转变。 中心(Center):网络中具有一定的容量,能够接受或分配资源的结点所在的位置。 站点(Stop)
21、:在路径选择中资源增减的结点。 路径分析2.路径分析:最佳路径的求解是在指定网络的两个结点之间找一条阻碍强度最小的路径。另一种路径分析功能是求解最佳游历方案,又分为弧段最佳游历方案求解和结点最佳游历方案求解两种。 其核心实现方法都是最短路径算法。 最短路径问题从算法研究的角度考虑最短路径问题通常可归纳为两大类:一类是所有点对之间的最短路径,另一类是单源点间的最短路径问题。*迪杰斯特拉(Dijkstra)算法思想:1)初始时令 S=V0,T=其余顶点,T中顶点对应的距离值; 若存在,为弧上的权值;若不存在,为*.2)从T中选取一个其距离值为最小的顶点W,加入S;3)对T中顶点的距离值进行修改:若
22、加进W作中间顶点,从V0到Vi的距离值比不加W的路径要短,则修改此距离值;4)重复上述步骤,直到S中包含所有顶点,即S=V为止.*弗洛伊德算法:1)初始时设置一个n阶方阵,令其对角线元素为0,若存在弧,则对应元素为权值;否则为*.2)逐步试着在原直接路径中增加中间顶点,若加入中间点后路径变短,则修改之;否则,维持原值.3)所有顶点试探完毕,算法结束.(逐个顶点试探法.)*矩阵算法:该算法是利用矩阵来求出图的最短距离矩阵。 已知图的邻接矩阵A; 求出A, A2, A3 , , An-2 ; D = AA2A3 An-2 = (di,j)nn。*步骤:首先,对于一定区域范围内庞大的交通网络要考虑它
23、的存储结构。然后是网络M的方程,与椭圆的方程联立即可得到点E、F的坐标;()利用三角形的面积公式及其关系得到,再利用坐标表示出即可得到m的值解答:解:()依题意知a=2,; ()A(0,1),B(0,1),M (m,),且m0,直线AM的斜率为k1=,直线BM斜率为k2=,直线AM的方程为y=,直线BM的方程为y=,由得(m2+1)x24mx=0,由得(9+m2)x212mx=0,; (),AMF=BME,5SAMF=SBME,5|MA|MF|=|MB|ME|,m0,整理方程得,即(m23)(m21)=0,又,m230,m2=1,m=1为所求点评:熟练掌握椭圆的离心率、点斜式、直线与椭圆的相交
24、问题的解题模式、三角形的面积计算公式、比例式如何用坐标表示是解题的关键19(14分)(2013房山区一模)已知抛物线C:y2=2px的焦点坐标为F(1,0),过F的直线l交抛物线C于A,B两点,直线AO,BO分别与直线m:x=2相交于M,N两点()求抛物线C的方程;()证明ABO与MNO的面积之比为定值考点:直线与圆锥曲线的关系;抛物线的标准方程803738 专题:圆锥曲线的定义、性质与方程分析:(I)根据焦点的坐标,求得P即可;(II)根据直线L与x轴是否垂直,分两种情况求解ABO与MNO的面积之比,验证即可解答:解:()由焦点坐标为(1,0)可知,p=2抛物线C的方程为y2=4x()当直线
25、l垂直于x轴时,ABO与MNO相似,当直线l与x轴不垂直时,设直线AB方程为y=k(x1),设M(2,yM),N(2,yN),A(x1,y1),B(x2,y2),解 整理得 k2x2(4+2k2)x+k2=0,x1x2=1综上 点评:本题考查直线与圆锥曲线的关系及抛物线的标准方程19(14分)(2013房山区二模)已知椭圆C:的离心率为,且过点直线交椭圆C于B,D(不与点A重合)两点()求椭圆C的方程;()ABD的面积是否存在最大值?若存在,求出这个最大值;若不存在,请说明理由考点:直线与圆锥曲线的综合问题;椭圆的标准方程803738 专题:圆锥曲线中的最值与范围问题分析:()利用椭圆的标准方
26、程、离心率及a2=b2+c2即可得出;(2)把直线BD的方程与椭圆的方程联立,利用根与系数的关系及弦长公式即可得到|BD|,利用点到直线的距离公式即可得到点A到直线BD的距离,利用三角形的面积公式得到ABD的面积,再利用基本不等式的性质即可得出其最大值解答:解:()由题意可得,解得,椭圆C的方程为;()设B(x1,y1),D(x2,y2)由消去y得到,直线与椭圆有两个不同的交点,=82m20,解得2m2,=点A到直线BD的距离d=当且仅当m=(2,2)时取等号当时,ABD的面积取得最大值点评:熟练掌握椭圆的定义、标准方程及其性质、直线与椭圆相交问题的解题模式、根与系数的关系、判别式、弦长公式、
27、点到直线的距离公式、三角形的面积公式、基本不等式的性质是解题的关键19(14分)(2013大兴区一模)已知动点P到点A(2,0)与点B(2,0)的斜率之积为,点P的轨迹为曲线C()求曲线C的方程;()若点Q为曲线C上的一点,直线AQ,BQ与直线x=4分别交于M、N两点,直线BM与椭圆的交点为D求证:A、D、N三点共线考点:直线与圆锥曲线的综合问题;椭圆的标准方程1119456专题:圆锥曲线中的最值与范围问题分析:(I)设P点坐标(x,y),利用斜率计算公式即可得到,化简即可得到曲线C的方程;(II)由已知直线AQ的斜率存在且不等于0,设方程为y=k(x+2),与椭圆的方程联立得到根与系数的关系
28、,即可得到D,N的坐标,证明kAD=kAN即可得到A、D、N三点共线解答:解:(I)设P点坐标(x,y),则(x2),(x2),由已知,化简得:所求曲线C的方程为(x2)(II)由已知直线AQ的斜率存在且不等于0,设方程为y=k(x+2),由,消去y得:(1+4k2)x2+16k2x+16k24=0(1)因为2,xQ是方程(1)的两个根,所以,得,又,所以当x=4,得yM=6k,即M(4,6k)又直线BQ的斜率为,方程为,当x=4时,得,即直线BM的斜率为3k,方程为y=3k(x2)由,消去y得:(1+36k2)x2144k2x+144k24=0(2)因为2,xD是方程(2)的两个根,所以,得
29、,又,即由上述计算:A(2,0),因为,所以kAD=kAN所以A、D、N三点共线点评:本题主要考查椭圆的方程与性质、直线的方程、直线与椭圆的位置关系、利用斜率线段证明三点共线等基础知识,考查学生运算能力、推理论证以及分析问题、解决问题的能力,考查数形结合、化归与转化思想19(13分)(2013昌平区一模)已知椭圆M的对称轴为坐标轴,离心率为,且抛物线的焦点是椭圆M的一个焦点()求椭圆M的方程;()设直线l与椭圆M相交于A、B两点,以线段OA,OB为邻边作平行四边形OAPB,其中点P在椭圆M上,O为坐标原点求点O到直线l的距离的最小值考点:直线与圆锥曲线的关系;椭圆的标准方程1119456专题:
30、分类讨论;函数思想;圆锥曲线的定义、性质与方程分析:()设椭圆方程为,易求椭圆的焦点,从而可得c值,由离心率可得a,由b2=a2c2可求得b值;()分情况进行讨论:当直线l存在斜率时设直线方程为y=kx+m,与椭圆方程联立消掉y得x的二次方程,有0,设A、B、P点的坐标分别为(x1,y1)、(x2,y2)、(x0,y0),由四边形OAPB为平行四边形及韦达定理可把x0,y0表示为k,m的式子,代入椭圆方程关于k,m的方程,从而利用点到直线的距离公式点O到直线l的距离为k的函数,根据函数结构特点即可求得其最小值;当直线l不存在斜率时点O到直线l的距离易求,综上即可得到答案解答:解:(I)设椭圆方
31、程为,由已知抛物线的焦点为(,0),则c=,由e=,得a=2,b2=2,所以椭圆M的方程为;(II)当直线l斜率存在时,设直线方程为y=kx+m,则由消去y得,(1+2k2).FPGA实现串行接口 RS232串行接口(RS-232)串行接口是连接FPGA和PC机的一种简单方式。这个项目向大家展示了如果使用FPGA来创建RS-232收发器。 整个项目包括5个部分1 RS232是怎样工作的2 如何产生需要的波特率3 发送模块4 接收模块5 应用实例RS-232接口是怎样工作的作为标准设备,大多数的计算机都有1到2个RS-232串口。特性RS-232有下列特性: 使用9针的DB-9插头(旧式计算机使
32、用25针的DB-25插头). 允许全双工的双向通讯(也就是说计算机可以在接收数据的同时发送数据). 最大可支持的传输速率为10KBytes/s.DB-9插头你可能已经在你的计算机背后见到过这种插头 它一共有9个引脚,但是最重要的3个引脚是: 引脚2: RxD (接收数据). 引脚3: TxD (发送数据). 引脚5: GND (地).仅使用3跟电缆,你就可以发送和接收数据.串行通讯数据以每次一位的方式传输;每条线用来传输一个方向的数据。由于计算机通常至少需要若干位数据,因此数据在发送之前先“串行化”。通常是以8位数据为1组的。 。先发送最低有效位,最后发送最高有效位。异步通讯RS-232使用异
33、步通讯协议。也就是说数据的传输没有时钟信号。接收端必须有某种方式,使之与接收数据同步。对于RS-232来说,是这样处理的:6 串行线缆的两端事先约定好串行传输的参数(传输速度、传输格式等)7 当没有数据传输的时候,发送端向数据线上发送18 每传输一个字节之前,发送端先发送一个0来表示传输已经开始。这样接收端便可以知道有数据到来了。9 开始传输后,数据以约定的速度和格式传输,所以接收端可以与之同步10 每次传输完成一个字节之后,都在其后发送一个停止位(1)让我们来看看0x55是如何传输的: 0x55的二进制表示为:01010101。但是由于先发送的是最低有效位,所以发送序列是这样的: 1-0-1
34、-0-1-0-1-0.下面是另外一个例子 : 传输的数据为0xC4,你能看出来吗?从图中很难看出来所传输的数据,这也说明了事先知道传输的速率对于接收端有多么重要。数据传输可以多快?数据的传输速度是用波特来描述的,亦即每秒钟传输的数据位,例如1000波特表示每秒钟传输100比特的数据, 或者说每个数据位持续1毫秒。波特率不是随意的,必须服从一定的标准,如果希望设计123456波特的RS-232接口,对不起,你很不幸运,这是不行的。常用的串行传输速率值包括以下几种: 1200 波特. 9600 波特. 38400 波特. 115200 波特 (通常情况下是你可以使用的最高速度).在115200 波
35、特传输速度下, 每位数据持续 (1/115200) = 8.7s. 如果传输8位数据,共持续 8 x 8.7s = 69s。但是每个字节的传输又要求额外的“开始位”和“停止位”,所以实际上需要花费10 x 8.7s = 87s的时间。最大的有效数据传输率只能达到 11.5KBytes每秒。在115200 波特传输速度下,一些使用了不好的芯片的计算机要求一个长的停止位(1.5或2位数据的长度),这使得最大传输速度降到大约10.5KBytes每秒物理层电缆上的信号使用正负电压的机制: 1 用 -10V 的电压表示(或者在 -5V 与 -15V之间的电压). 0 用 +10V 的电压表示(或者在 5
36、V 与 15V之间的电压).所以没有数据传输的电缆上的电压应该为-10V或-5到-10之间的某个电压。波特率发生器这里我们使用串行连接的最大速度115200波特,其他较慢的波特也很容易由此产生。FPGA通常运行在远高于115200Hz的时钟频率上(对于今天的标准的来说RS-232真是太慢了),这就意味着我们需要用一个较高的时钟来分频产生尽量接近于115200Hz的时钟信号。从1.8432MHz的时钟产生通常RS-232芯片使用1.8432MHz的时钟,以为这个时钟很容易产生标准的波特率,所以我们假设已经拥有了一个这样的时钟源。只需要将 1.8432MHz 16分频便可得到 115200Hz的时
37、钟,多方便啊!reg 3:0 BaudDivCnt;always (posedge clk) BaudDivCnt =2000000) printf(*); else printf( );acc %= 2000000;这段代码会精确的以平均每 17.361111111. 个时钟间隔打印出一个*。为了从FPGA得到同样的效果,考虑到串行接口可以容忍一定的波特率误差,所以即使我们使用17.3或者17.4这样的分频比也是没有关系的。FPGA波特率发生器我们希望2000000是2的整数幂,但很可惜,它不是。所以我们改变分频比,2000000/115200 约等于 1024/59 = 17.356. 这跟我们要求的分频比很接近,并且使得在FPGA上实现起来相当有效。/10 位的累加器 (9:0), 1位进位输出 (10)reg 10:0 acc; /一共11位!always (posedge clk)acc = acc9:0 + 59; /我们使用上一次结果的低10位,但是保留11位结果wire BaudTick = acc10; /