首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» CPLD在通信数据传输中的应用
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
CPLD在通信数据传输中的应用
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-21 17:30
|
只看该作者
CPLD在通信数据传输中的应用
集成电路
,
电子产品
,
单片机
,
可靠性
,
通信
1 概述 随着大规模集成电路和单片机的迅速发展,复杂可编程逻辑器件(CPLD)具有使用灵活、可靠性高、功能强大的优点,在电子产品设计中得到了广泛的应用。CPLD 可实现在系统编程,重复多次,而且还兼容IEEE1149.1(JTAG)标准的测试激励端和边界扫描能力,使用CPLD 器件进行开发,不仅可以提高系统的集成化程度、可靠性和可扩充性,而且大大缩短产品的设计周期。由于CPLD 采用连续连接结构,易于预测延时,从而使电路仿真更加准确。CPLD 是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。近年来,随着采用先进的集成工艺和大批量生产,CPLD 器件成本不断下降,集成密度、速度和性能都大幅度提高,这样一个芯片就可以实现一个复杂的数字电路系统;再加上使用方便的开发工具,给设计修改带来很大方便。
实验室设计开发了一款无线数据接收平台,上下行速率可以达到1Mbps。射频部分采用了Maxim 的射频套片,基带部分采用了OMAP 平台,基带射频接口采用了ADI 公司的混合信号前端(MxFE")基带传输芯片AD9861,系统的逻辑控制和数据的缓冲采用了ALTERA 的CPLD EPM240GT100C3。
2 EPM240GT100C3 实现的功能与总体要求
EPM240GT100C3要完成AD9861的时序控制、AD9861和OMAP之间的数据缓存以及提供网口芯片LAN91C93所需的控制信号。在这几项功能中,最主要的是数据缓存功能。要想正确地实现缓存功能,就必须要求缓存的收发I、Q数据不丢失,不颠倒,不错相,同时保证数据的先写后读。按照这样的思想,再结合两边的接口时序正确地配置读写地址、读写时钟,就可以完成所需功能。
3 CPLD 程序的详细设计
CPLD的主要功能是完成数据缓存和一些时钟控制信号的产生。其功能框图如图1所示,主要包括双口RAM存储体单元,时钟和控制信号产生单元,OMAP侧地址发生单元,AD9861侧地址发生单元。
图1 CPLD 功能框图
3.1 双口RAM 的设计方法
因为OMAP和AD9861两边都有读写操作,于是选择了双口RAM(DPRAM)作为数据的缓存。由于CPLD内部的逻辑资源和布线资源有限,并且没有独立的DPRAM区,只能用DFF来完成缓存功能,这就限制了DPRAM的大小。因为系统要求每个DMA中断读写8个数据,为了减小读写冲突的可能性,同时尽量地降低FF资源的利用,最终采用了相当于两个8×8大小乒乓缓冲的16×8双口RAM缓冲区。DPRAM的外部接口如图2所示:
图2 DPRAM 的外部接口
其中dina和douta接OMAP的数据线,dinb和doutb接AD9861的数据线,addra和addrb为内部产生的读写地址。Wr_rd_en控制读写的方向,和TX_RX相连,即当Wr_rd_en=’1’时,为发射,数据由OMAP写入,AD读出,数据流向从dina->doub; 当Wr_rd_en=’0’时,为接收,数据由AD端写入,AD读出,数据流向从dinb->doua;wrclk在四种时钟之间切换,分别为3.2768M,6.4M,75M,84M,由TX_RX和V_D_SEL信号的高低来控制。为了降低布线资源的使用,读数时没有用读时钟,而是直接把addra和addrb地址上的数据输出,因为addra和addrb本来就是与读写时钟同步的。
3.2 时钟产生
CPLD输入时钟有来自射频的16M时钟,来自外部晶振的32.768M时钟和来自OMAP接口的75M时钟CLK。其中16M时钟用于产生数据应用时AD9861所需要的3.2M、6.4M转换时钟,32.768M时钟用于产生语音应用时AD9861所需要的1.6384M、3.2768M时钟以及CODEC AIC1110所需要的8K和2.048M时钟。SDCLK本可以作为OMAP读写的主时钟,但必须要使用CAS信号作为读写允许配合使用才行,为了节省布线资源,不用读写允许,就直接用CAS作为写时钟及OMAP侧的地址产生使用,而SDCLK则用于产生一些同步脉冲。这些产生的时钟除了输出给外部芯片外,还在CPLD内部作为地址产生的时钟使用。3.2M和6.4M的时钟产生是把16M的时钟从0到4计数,由reset和ad_da_enable给计数器清零,这样的模5计数器的最低位即为6.4M,次低位为3.2M时钟。这种时钟产生的方式只需要三个DFF,节省逻辑资源,而且不会产生毛刺,但产生的时钟占空比不是50%,实践证明在低速应用时,AD9861是可以正常工作的。系统的时钟时序如图3所示。
图3 时钟时序
1.6384M和3.2768M时钟的方法同理,只是需要把32.768M的时钟20分频而已,同样计数器的清零由reset和ad_da_enable控制,这样得到的模20计数器的第2位即为3.2768M,第三位为1.6384时钟,时序跟上图相似,这里就不再给出。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
模拟电路
电源与功率管理
计算机和外设
工业控制
嵌入式技术
资料共享
无源元件
MCU 单片机技术
测试测量
ARM
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议