首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 用双端口RAM实现与PCI总线接口的数据通讯
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
用双端口RAM实现与PCI总线接口的数据通讯
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2016-11-21 11:26
|
只看该作者
用双端口RAM实现与PCI总线接口的数据通讯
计算机技术
,
寄存器
,
软件包
,
接口
,
程序
采用双端口
RAM
实现
DSP
与
PCI总线
芯片之间的数据交换接口电路。
提出了一种使用
CPLD
解决双端口RAM地址译码和PCI接口芯片局部总线仲裁的的硬件设计方案,并给出了PCI总线接口芯片寄存器配置实例,介绍了软件包WinDriver开发设备驱动程序的具体过程。
随着计算机技术的不断发展,为满足外设间以及外设与主机间的高速数据传输,Intel公司于1991年提出了PCI总线概念。PCI总线是一种能为主CPU及外设提供高性能
数据通讯
的总线,其局部总线在33MHz总线时钟、32位数据通路时,数据传输速率最高可达133Mbps。实际应用中,可通过PCI总线实现主机与外部设备的高速数据传输,有效解决数据的实时传输和存储问题,为信号的实时处理打下良好基础。
本文主要提供一种基于PCI总线的数据传输系统设计方案,其中双口RAM起桥梁作用,完成上位机与外围主控单元之间的数据握手。
1 双端口RAM实现PCI总线接口方案
本系统主要用于解决上位机与外围控制单元的数据传输问题。上位机运行信息诊断程序,通过PCI总线与外围控制单元以一定速率传输数据,在主机中实时监控并保存数据。由于实现高速实时数据传输,数据量大,所以在PCI局部总线上插入一个高速双端口RAM。双端口RAM一端作为PCI总线接口的本地端存储器,一端作为DSP目标存储器。需要传输保存的数据经DSP处理后借助双端口RAM和PCI总线接口完成了上位机与DSP的数据握手。本文提出的双端口RAM实现PCI总线接口方案如图1。
考虑到PCI总线接口对局部总线的控制时序比较复杂,需要译码和控制电路来实现局部总线的访问及控制。本系统使用CPLD解决双口RAM的地址访问竞争冲突问题。需解决的主要问题有:①PCI接口电路设计;②CPLD地址译码和总线仲裁;③PCI总线驱动程序开发。
2 PCI接口电路设计
PCI卡的设计一般采用两种方案。一种是根据PCI协议在FPGA或CPLD中实现PCI总线接口控制器,但是由于PCI协议的复杂性,使得开发难度大、周期长;另一种使用现成的PCI接口芯片,用户开发难度降低,只把重点放在PCI接口芯片局部总线的接口设计和PCI总线配置空间的初始化,而不用速度考虑PCI总线规范上众多的协议规范,加快了开发时间。
本数据传输系统使用PLX公司的PCI 9030总线接口芯片,以CPLD完成逻辑控制及与外设的连接,整个系统的硬件框图如图 2。其中双端口RAM采用IDT71V321,CPLD选用XILINX公司的XC9536CPLD芯片,EEPROM选用NS公司的93CS56,控制单元DSP选用TMS 320LF2407A。
2.1 PCI 9030内部结构及其数据传输
PCI 9030是PLX公司开发的PCI总线目标接口芯片。其特点:低功耗,PQFP176针封装,符合PCI V2.2规范;在PCI总线上是从设备,但在局部总线上是主设备;PCI 9030支持突发传输,有5个PCI总线到局部总线地址空间,9个可编程的通用I/O,4个可编程的片选,支持热插拔。PCI 9030主要由PCI总线接口逻辑、局部总线接口逻辑、串行E2PROM接口逻辑和内部逻辑组成,结构框图见图3。
PCI 9030支持PCI主设备直接访问局部总线上的设备,数据传输方式分为内存映射的突发传输和I/O映射的单次传输,并且由PCI基址寄存器设置在PCI内存和I/O空间中的合适位置,另外局部映射寄存器允许PCI地址空间转换到局部地址空间。
2.2 配置实例
系统访问的双口RAM存储空间为2KB,要求将这个存储器空间映射到局部地址空间0,采用内存方式映射,存储器的数据宽度为 8位,并且不采用突发传输,读写时不可预取。下面介绍这个地址空间各个寄存器的具体配置过程。
(1)配置地址范围寄存器
根据PCI配置寄存器与LAS0RR的对应关系以及双口RAM的地址空间800H,取7FFH的补码得到FFFFF800H。又因为按照设计要求,要映射到内存空间的任何位置并且设置为不可预取的,这样LASORR寄存器后3位应该为000H。所以LAS0RR的值应该最终确定为FFFFF800H。
(2)配置基址寄存器
该寄存器的基址必须是地址空间范围的整数倍,在本例中必须是2K的整数倍,可将基地址定为 00004000H,又由于基址寄存器位0为空间使能位,所以应将这一位设置1;至于位 2、位3,由于是映射到内存空间,设为00H即可。所以LAS0BA的值最终被确定为00004001H。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议