PC104总线与DSP数据通信接口设计
用DSP芯片进行实时高速的数字信号处理已经在军事、工程中有着十分广泛地应用。在工程应用中,工业控制计算机采集数据,然后通过PC104总线向DSP芯片传递实时数据,由DSP芯片完成算法的处理。PC104总线与DSP芯片之间的数据通信控制用CPLD来实现。本文是CPLD在工程中的一种应用。
Abstract:The realtime,highspeed digital sign al processing is extensively used in millitary and engineering by using DSP chip In the application of engineering,the industrial control computer collects dat a and transmits it to DSP chip from PC104 The data communication control between PC104 and DSP is realized by CPLD.This paper is an application of CPLD in engi neering
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的地址信号线置为高阻态。
Abstract:The realtime,highspeed digital sign al processing is extensively used in millitary and engineering by using DSP chip In the application of engineering,the industrial control computer collects dat a and transmits it to DSP chip from PC104 The data communication control between PC104 and DSP is realized by CPLD.This paper is an application of CPLD in engi neering
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所示。

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结语
TS101的编程工具可以用Visual DSP++,用汇编语言或者C/C++语言编写。PC10 4总线操作也可以用C/C++语言或者汇编语言编写。CPLD的内部逻辑可以用Maxplus Ⅱ或者QuartusⅡ设计。硬件方面,为了减少延时,将CPLD双端口RAM和DSP集中到一块多 层印制电路板上,然后通过连接器连接到PC104。
本文说明的这种PC104总线与DSP的数据通讯接口设计,也可以作为采用其他计算机总线与DS P进行16位数据通讯接口设计的参考。
参考文献
[1]王换招.PC系列微机总线[M].西安:西安交通大学出版社,1995
[2]刘书明.ADSP SHARC系列DSP应用系统设计[M].北京:电子工业出版社,2003
[3]宋万杰.CPLD技术及其应用[M].西安:西安电子科技大学出版社,1999
本文来源:现代电子技术 作者:喻 骏
热点资讯(一周点击率)
最受工程师关注文章
热评博文
评一评已有 0 位网友对此文发表了看法。 我也来评一下
快乐大本营
无线时代来临,移动产业生态系统将发生一些根本变化。今日头条推荐“芯片是嵌入式4G技术的关键 产业生态系统将发生变化”。
想了解嵌入式开发工具的市场情况吗?先来体验下我们的在线调查吧!填写调查问卷。

