1引言
从1982年世界上诞生了首枚dsp芯片后,经过20多年的发展,现在的dsp属于第五代dsp器件。其系统集成度更高,已将dsp芯核及外围器件综合集成到单一芯片上,dsp逐渐成为数字信号处理器的代名词。同时,数字信号处理技术在理论和算法上也取得了突破性进展,他本身也形成了比较完善的理论体系,包括数据采集、离散信号与离散系统分析、信号估计、信号建模、信号处理算法等内容。dsp技术已在航空航天、遥测遥感、生物医学、自动控制、振动工程、通讯雷达、水文科学等许多领域有着十分广泛的应用。通过数据采集系统将原始数据传送到dsp,dsp完成算法的处理是工程上的一种应用模式,数据的传送可以通过各种计算机总线来实现。
pc104是一种专门为嵌入式控制而定义的工业控制总线,pc104与普通pc总线控制系统的主要区别是:
(1)小尺寸结构。
(2)堆栈式连接。
(3)轻松总线驱动。
pc104有2个版本,8位和16位,分别与pc和pc/at相对应。pc104 plus则与pci总线相对应。本文主要涉及的是pc104与dsp的16位数据通信接口设计,采用了cypress公司的双端口静态读写存储器cy7c028v15ac作为共享存储器,双端口ram右侧接adi公司的dsp芯片t s101,左侧接pc104总线,控制逻辑用altera公司acex系列cpld中的ep1k100tc208来实现。
2双端口ram访问模式
cy7c028v15ac是16 b×64 k的双端口ram,支持高速的访问,访问速度为20 ns,支持左右2个端口完全异步访问。2个端口的选通信号有效,则双端口ram两侧可以同时对双端口ram进行读写操作。需要解决的是当同时访问到一个存贮块时的冲突问题。有2种方法可以解决访问冲突:一种是信号令牌传递方式,双端口ram内部提供了8个semaphore锁存单元,可以在逻辑上把双端口ram划分为8个区段;当某个端口要访问某个区块时,首先向相应的锁存单元请求令牌,以确定访问是否会产生冲突,即向某一个锁存单元写“0”,然后读回所写数据,如果成功,则对应于该锁存单元的块是空闲的,可以访问,否则就不能访问。当一侧正在访问双端口ram的某一块,则相应的锁存单元对另一侧是不能访问的。申请令牌通过读写i/o的方式实现,实际用到的是双端口ram左右两侧数据总线的d0位,地址总线的a2~a0位(其译码对应于8个锁存单元),以及左右两侧对锁存单元访问的使能控制端seml和semr。另一种方式是中断方式。在中断方式下,ram最高的两个地址作为通讯邮箱,fffeh分配给右端口,ffffh分配给左端口。两个邮箱的使用方法一致。以右端口为例,当dsp向fffeh地址写任意一个值时,左端口的中断请求信号intl有效,当响应完中断请求后,pc104总线读一次fffeh地址就可以intl清除中断。
本文中采用中断方式设计pc104与dsp的握手信号。考虑到用cpld来设计数字逻辑的灵活性和可重复编程,用cpld来控制中断请求与响应信号,所以ram最高端的两个地址仍作为普通的r am单元使用。双端口ram左右端口的连接如图1所示。
? 当dsp向pc104请求数据,ts101的标志位flag0通过cpld的缓冲连接到pc104的其中一条中断信号引脚,当pc104收到中断请求向ram写完数据,通过写i/o口的方式,由cpld产生回复信号到ts101的irq0,ts101在适当的时间读取数据并进行算法处理。当ts101向pc104发送数据,则先向ram中写数据,写完后由标志位flag1产生读数据请求信号,通过cpld缓冲连接到pc10 4的另一条中断信号引脚,pc104响应中断读完数据,通过写i/o口的方式由cpld产生回复信号到ts101的irq1。当pc104访问双端口ram时。数据总线的16位通过cpld缓冲连接到ram左端口的i/o15l~i/o0l,因为16位的数据访问占用的是偶地址,所以地址总线的a16~a1在cpld缓冲后连接到ram的左端口的a15l~a0l地址线。pc104其余的地址线通过在cpld里的译码产生ram左端口的选通信号。当ts101访问ram,ts101的前16根地址线连接到ram的a15r~a0r,前16根数据线连接到ram右端口的i/o15r~i/o0r,用产生选通信号,通过ts 101的编程实现,访问ram的有效地址由用户定义。?
3pc104与cpld的连接关系
通过cpld,pc104要实现对双端口ram的访问,首先要考虑的是分配给ram的存储地址,因为64 k×16 b的ram需要64 k的偶地址空间,或者说128 k的连续地址空间,工控机1 m以内可由用户使用的自由地址空间往往达不到128 k。所以应将ram安排在1 m地址空间以外访问。此时除了用到用于1 m寻址的地址线sa19~sa0,还要采用1 m外寻址的地址线la23~la17。需要注意的是,pc104的总线上的sa19~sa17与la19~la17是重复的。区别在于sa10~sa0是通过总线地址锁存使能信号bale锁存输出,而la19~la17未经锁存,为保证在对ram访问期内地址信号一直有效,至少应在cpld内将la23~la20进行bale锁存。本文中将ram的地址安排在1 m地址空间外从100000 h开始的64 k偶地址。所有需要用到的pc104信号线都连接到cpld,cpld将sa16~sa1缓冲连接到ram,其余地址线译码产生ram左端口选通信号。pc104与cpld连接的访问逻辑如图2所示。
其中有效表示数据总线的高8位有效,sa0有效表示数据总线的低8位有效,作为译码信号的一部分,对于单片16位数据线的集成电路,实际上也可以不连接,用sa0和高端地址线译码产生选片信号。aen信号有效表示计算机在和某个设备进行dma传送,其他的设备发现aen信号有效,就不要响应寻址信号。因此在cpld内部逻辑里设置当aen信号有效时,将进入cpld的地址信号线置为高阻态。
是存储器读写信号,是用于1 m以外地址空间的读写信号,当这两个信号之一有效且寻址到1 m内的地址,将分别使1 m以内地址的读写
一起控制总线周期的长短。有3种存储器访问周期:标准周期,就绪周期,无等待状态周期。访问时序如图3所示。
?
在设计的时候考虑到信号在cpld里的延时,如果标准周期对于访问的时间长度不够,可以采 用有1个等待状态的就绪周期,而这只需要修改cpld的设计并重新下载到cpld即可,由此可 见用cpld作为控制芯片的优点。
4结语
本文说明的这种pc104总线与dsp的数据通讯接口设计,也可以作为采用其他计算机总线与ds p进行16位数据通讯接口设计的参考。
创意推出全方面高速接口量产解决方案
关于三相异步电机软启动器的设计
半导体器件快速成长品牌特克股份TTESEMI
互联网巨头谷歌、阿里布局AI芯片,将会为芯片产业带来哪些改变?
SV-2401V IP音频广播模块SV-2401V号角音柱音箱解码播放核心板
PC104总线与DSP数据通信接口设计
陪伴小米6发布既然还有缩小版小米Note2,同首发骁龙835?
退役动力电池“催生”千亿回收产业
小米mix2发布会倒计时:小米mix2再曝光:将有三个版本?配置骁龙835价格4999起
软通动力获华为“HarmonyOS Connect生态模组S级技术认证”
可编程增益放大器电路设计
DIY制作低成本高精度示波器电流钳
IC供应商对2020年下半年有哪些期许
北京联通为打造智慧机场完成首都机场5G网络全覆盖
中国通信学会张延川:推动能源互联网产业生态可持续发展
如何制作自己的CD
鸿海删减费用 郭董牌InFocus恐消失并入Nokia
如何实现绿色混合数字计算的电源管理
消息称苹果正在申请有关刷新率的专利
PCB设计中原理图符号库的构建