新闻中心

EEPW首页>手机与无线通信>设计应用> FPGA与GPS-OEM板的串行通讯系统设计

FPGA与GPS-OEM板的串行通讯系统设计

作者: 时间:2011-01-13 来源:网络 收藏

2通信系统的

  2.1 系统通信原理

  由于接口采用TTL电平,而OEM板的通信采用RS-232标准电平,故需电平转换,电平转换接口可以通过MAX202芯片来实现。GPS25有两个口,其端口1可用来输入差分修正信息和输出卫星的原始测量信息,而端口2则用来输入设定语句和输出定位语句,因此,只需将接口与GPS25串行口2对应连接即可.其接口电路如图l所示。的全局时钟Global_clk由24 MHz的晶振产生。

接口电路

  2.2 OEM板的个性配置

  当FPGA模块完成开机上电后.其中的异步串行发送电路将发送用户制定的配置语句,以对OEM板进行个性化的设置。

  由于GPS25的默认波特率是4800 bit/s。故应将FPGA中异步串行发送电路的波特率时钟也设置为此值,具体可通过对系统的全局时钟进行分频来实现,发送完结束标志符后,FPGA中的定位信息接收读取电路即可开始工作,并等待数据的接收。本例用$GPRMC语句接收OEM板的定位信息,如果应用系统有特殊要求,还需要进行初始化、配置以及对输出语句进行选择。应该注意的是,NMEA-0183格式中的校验和无需发送。

  初始化可用$GRMI语句来实现,其结果是:

公式

  其中,1>~4>项用以设置地理位置,它们的格式与$GPGGA语句的对应项相同,第5>项为UTC日期,格式为日日月月年年,第6>项为UTC时间,格式与$GPGGA语句相同,第7>项中,A=自动定位,R=设备复位。

  OEM板的配置可利用$PGRMC语句来完成。该语句共有14个有效项,其中第10>项选择波特率,1~7分别代表标准波特率300~19200,配置时,可以用空项表明保持原配置项不变。例如,配置为9600波特、输出秒脉冲时,其则语句为:

公式

  GPS25的输出语句共有10多条,默认的输出语句为$GPGGA等5条。用户对输出信息的设定可以通过$PGRMO语句实现。其结构是:

公式

  其中,1>为合法语句名,如GPRMC;2>为语句状态,1表示禁止该语句输出,2表示允许该语句输出,3表示禁止所有语句输出,4表示允许所有语句输出。

  例如,下列输入语句只允许OEM板输出$GPRMC语句:

  $PGRMO,3CR>LF>;禁止所有语句输出。

  $PGRMO,GPRMC,2CR>LF>;允许$GPRMC语输出。

3 定位信息的接收与读取

  3.1 接收模块的

  本中的接收模块主要负责接收由OEM板串口2输出的导航定位信号。该模块包括对TXD端的起始位检测电路,采样电路,波特率发生器和异步FIFO缓存设计等。本例中的波特率发生器实际上是一个时钟分频器,所产生的分频时钟是波特率时钟的16倍,目的是为了在接收时进行精确的采样,以提出异步串行数据,同时,也可为异步FIFO提供写时钟。

  接收之前应对从OEM板直接输出的RXD信号进行同步处理,以滤除输出中的干扰,降低异步时域数据传输中亚稳态产生的概率,提高系统的稳定性和可靠性。本设计采用两级D触发器来实现信号同步。根据异步传输的通讯协议,当电路检测到OEM板同步后的输出端syn_TXD发生负跳变时。整个接收采样电路开始工作。为了避免干扰和得到正确的起始位,在波特率时钟检测过程中,至少必须有一半属于逻辑0,即8个时钟周期后,才可认定收到是可靠的起始位。当接收到正确的起始位后.接着的数据位将每隔16个采样周期被采样一次。即取每一位的第8次的波特率时钟采样值来确保采样正确。图2所示是本系统的串口接收状态图。连续采样8次后,即一个字节数据接收完成之后,便可设置位结束标志。每采样一个字节数据,都先放入FIFO中缓存。由于GPRMC格式数据所传输的最大字节数是72Byte,故当接收完一组数据之后,都要对FIFO的满信号置位,并由外部的全局时钟控制将里面缓存的数据读出,以供后续部分处理。读完之后,即可接收到后续模块的结束标志,然后复位读使能,以等待下一组数据的到来。其仿真结果如图3所示。

本系统的串口接收状态图



评论


相关推荐

技术专区

关闭