用VHDL设计专用串行通信芯片

2009-07-27 17:25:01来源: 付晓宇 吴诗其

  在通信系统中,通信芯片是整个硬件平台的基础,它不仅完成OSI物理层中的数据发送和接收,还能根据传输方式和协议的不同实现不同的数据校验方式及数据组帧格式。

  目前,许多厂商都提供通用的串行通信芯片,其传输方式分为同步方式和异步方式。其中,异步芯片大多与INTEL的8250芯片兼容;而同步方式,由于一般涉及到所支持的传输协议(BSC、HDLC、SDLC等),所以当用户要求应用特定的同步传输协议时,往往需要设计专用的SRT(同步收发器)。以前,大多采用通用的逻辑元器件进行设计,这导致了设计和调试过程冗长、系统稳定性不高,非常不便。如今,随着以FPGA和CPLD为代表的可编程ASIC技术的日趋成熟和完善,用户完全可以根据自己的要求,以EDA技术作为开发手段,用一块FPGA或CPLD设计出符合自己需要的芯片。本文以开发统计时分复用器中的专用同步收发芯片为例,介绍整个芯片的开发流程。

  1 统计时分复用器系统功能及模块组成

  统计时分复用器完成7路异步数据和1路同步数据的复接工作,其功能框图如图1所示,同步串口传输协议如图2所示。由于传输距离较近且路数不多,功能相对简单。出于系统功耗和成本的考虑,将这个专用的SRT和整个接口控制单元集成到一块CPLD(XC95144)中。

  2 CPLD内部功能框图及设计

  CPLD 内部结构主要由接口控制单元和SRT组成,这里主要介绍一下SRT的结构和功能模块(见图3)。由于选用的UART(通用异步收发器)与INS8250兼容,为简化主控单元访问外部通信芯片的程序的编写,统一操作流程,在SRT的设计上尽量模仿INS8250的结构。

  本设计采用模块化设计。按功能将SRT内部结构发分为5个模块,每一个模块对应一个VHDL的设计文件。这样设计的好处是有利于各功能模块的编写和调试,从而降低了整个SRT的调试难度,提高了软件的可维护性及可读性。下面给出各个设计文件的外功能简介(对于其中几个重要的模块还列出了端口描述和部分实现代码):

  (1)SRTCRTL.VHD

  SRTCRTL.VHD 作为SRT的控制模块,负责地址译码,当片选信号有效时将数据线上的数据写入相应的寄存器。SRT芯片内部共设有接收缓存器、发送保持器、线路控制寄存器、除数寄存器(高低8位各1个)、自环控制寄存器等6个控制寄存器,每个寄存器都被分配了1个地址,通过对相应地址进行读写,CPU可完成数据发送、接收、自环及芯片参数设置等操作。

  (2)LOOP.VHD

  本模块的功能是根据用户的指令,对芯片本身功能进行测试。用户首先将芯片设置为自环状态,使芯片内部发送数据线与直接接收数据线短接;再通过向发送保持器写入特定的数据,与接收缓存器中读出的数据进行比较,看两者是否相同,用户即可判断芯片是否工作正常。

  (3)CLKGEN.VHD

  CLKGEN.VHD是波特率发生器模块,用来产生发送同步的时钟信号doclk。它将除数寄存器高低各8位共16位数据作为除数,对外部2MHz的时钟源进行分频。用户可通过修改除数寄存器的值动态地改变数据传输速率,因此操作方便、灵活。

  (4)RBR.VHD

  RR.VHD作为整个芯片的接收模块,其中包括接收缓存器、接收数据同步、串/并转换。

  端口描述如下:

  当接收缓存器中无数据时,ren信号有效,通知发送方传数据。然后根据dilck对di信号采样,一旦缓存器满,ren无效,dr有效,通知CPU读数。

[1] [2]

关键字:VHDL  串行通信芯片  FPGA

编辑:小甘 引用地址:http://www.eeworld.com.cn/FPGA/2009/0727/article_677.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
VHDL
串行通信芯片
FPGA

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved