首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 用VHDL设计专用串行通信芯片
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
用VHDL设计专用串行通信芯片
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-23 11:51
|
只看该作者
用VHDL设计专用串行通信芯片
稳定性
,
收发器
,
元器件
,
通用
,
通信
在通信系统中,通信芯片是整个硬件平台的基础,它不仅完成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读数。
仿真波形如图4所示。部分代码如下:
(5)WTHR.VHD
WTHR.VHD作为整个芯片的发送模块,其中包括发送保持器、并/串转换。
端口描述如下:
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议