您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > PC104总线与DSP数据通信接口设计
PC104总线与DSP数据通信接口设计2011/8/19来源:21ic作者:佚名DSP技术已在航空航天、遥测遥感、生物医学、自动控制、振动工程、通讯雷达、水文科学等许多领域有着十分广泛的应用。通过数据采集系统将原始数据传送到DSP,DSP完成算法的处理是工程上的一种应用模式,数据的传送可以通过各种计算机总线来实现。本文说明PC104总线与DSP的数据通讯接口设计,也可以作为采用其他计算机总线与DSP进行16位数据通讯接口设计的参考。1引言从1982年世界上诞生了首枚DSP芯片后,经过20多年的发展,现在的DSP属于第五代DSP器件。其系统集成度更高,已将DSP芯核及外围器件综合集成到单一芯片上,DSP逐渐成为数字信号处理器的代名词。同时,数字信号处理技术在理论和算法上也取得了突破性进展,他本身也形成了比较完善的理论体系,包括数据采集、离散信号与离散系统分析、信号估计、信号建模、信号处理算法等内容。DSP技术已在航空航天、遥测遥感、生物医学、自动控制、振动工程、通讯雷达、水文科学等许多领域有着十分广泛的应用。通过数据采集系统将原始数据传送到DSP,DSP完成算法的处理是工程上的一种应用模式,数据的传送可以通过各种计算机总线来实现。PC104是一种专门为嵌入式控制而定义的工业控制总线,PC104与普通PC总线控制系统的主要区别是:(1)小尺寸结构。(2)堆栈式连接。(3)轻松总线驱动。PC104有2个版本,8位和16位,分别与PC和PC/AT相对应。PC104PLUS则与PCI总线相对应。本文主要涉及的是PC104与DSP的16位数据通信接口设计,采用了CYPRESS公司的双端口静态读写存储器CY7C028V15AC作为共享存储器,双端口RAM右侧接ADI公司的DSP芯片TS101,左侧接PC104总线,控制逻辑用ALTERA公司ACEX系列CPLD中的EP1K100TC208来实现。2双端口RAM访问模式CY7C028V15AC是16b×64k的双端口RAM,支持高速的访问,访问速度为20ns,支持左右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最高端的两个地址仍作为普通的RAM单元使用。双端口RAM左右端口的连接如图1所示。图1双端口RAM左右端口连接图当DSP向PC104请求数据,TS101的标志位FLAG0通过CPLD的缓冲连接到PC104的其中一条中断信号引脚,当PC104收到中断请求向RAM写完数据,通过写I/O口的方式,由CPLD产生回复信号到TS101的IRQ0,TS101在适当的时间读取数据并进行算法处理。当TS101向PC104发送数据,则先向RAM中写数据,写完后由标志位FLAG1产生读数据请求信号,通过CPLD缓冲连接到PC104的另一条中断信号引脚,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,用产生选通信号,通过TS101的编程实现,访问RAM的有效地址由用户定义。3PC104与CPLD的连接关系通过CPLD,PC104要实现对双端口RAM的访问,首先要考虑的是分配给RAM的存储地址,因为64k×16b的RAM需要64k的偶地址空间,或者说128k的连续地址空间,工控机1M以内可由用户使用的自由地址空间往往达不到128k。所以应将RAM安排在1M地址空间以外访问。此时除了用到用于1M寻址的地址线SA19~SA0,还要采用1M外寻址的地址线LA23~LA17。需要注意的是,PC104的总线上的SA19~SA17与LA19~LA17是重复的。区别在于SA10~SA0是通过总线地址锁存使能信号BALE锁存输出,而LA19~LA17未经锁存,为保证在对RAM访问期内地址信号一直有效,至少应在CPLD内将LA23~LA20进行BALE锁存。本文中将RAM的地址安排在1M地址空间外从100000H开始的64K偶地址。所有需要用到的PC104信号线都连接到CPLD,CPLD将SA16~SA1缓冲连接到RAM,其余地址线译码产生RAM左端口选通信号。PC104与CPLD连接的访问逻辑如图2所示。图2PC104与CPLD链接访问逻辑图其中有效表示数据总线的高8位有效,SA0有效表示数据总线的低8位有效,作为译码信号的一部分,对于单片16位数据线的集成电路,实际上也可以不连接,用SA0和高端地址线译码产生选片信号。AEN信号有效表示计算机在和某个设备进行DMA传送,其他的设备发现AEN信号有效,就不要响应寻址信号。因此在CPLD内部逻辑里设置当AEN信号有效时,将进入CPLD的地址信号线置为高阻态。是存储器读写信号,是用于1M以外地址空间的读写信号,当这两个信号之一有效且寻址到1M内的地址,将分别使1M以内地址的读写一起控制总线周期的长短。有3种存储器访问周期:标准周期,就绪周期,无等待状态周期。访问时序如图3所示。图33种访问周期的访问时序图在设计的时候考虑到信号在CPLD里的延时,如果标准周期对于访问的时间长度不够,可以采用有1个等待状态的就绪周期,而这只需要修改CPLD的设计并重新下载到CPLD即可,由此可见用CPLD作为控制芯片的优点。4结语本文说明的这种PC104总线与DSP的数据通讯接口设计,也可以作为采用其他计算机总线与DSP进行16位数据通讯接口设计的参考。基于CPLD的PC104系统与CAN总线网络通信设计作者:时间:2014-07-11来源:网络英特尔Quark开发者俱乐部是Quark处理器在国内最重要的技术交流平台与资源中心,有第一手的技术资料以及最丰富的Quark开发案例,英特尔技术人员坐镇答疑解惑。1.引言本文引用地址:可编程逻辑器件PLD(ProgrammablelogicDevice)就是由用户进行编程实现所需逻辑功能的数字专用集成电路ASIC。可编程逻辑器件在现代电子工程设计中得到了广泛应用。它是在PAL,GAL等逻辑器件的基础上发展起来的,具有高密度,高速度,低功耗体系结构和逻辑单元,灵活以及运用范围宽等特点,同时还具有设计周期短,制造成本低,开发工具先进,标准产品无需测试,质量稳定及可实时布线检验等优点。现场总线技术广泛应用于工业和军用测控局域网中,它可以实现较远距离、较快速度的信息传输,而且只需要双绞线作为传输媒介,简单可靠。但是,在该技术应用中总线控制器与微机之间的接口电路一般采用单片机来实现。采用这种方式将导致较长的研发周期和庞大的电路,且难于实现高速数据传输。本文利用CPLD成功地实现了嵌入式系统与CAN总线网络的通信,速度快,易于实现,而且非常稳定。本系统采用的器件是Altera公司的CPLD,属于MAX7000系列。Altera公司的CPLD器件主要包括MAX系列、ACEX系列、FLEX系列和APEX系列。其中MAX系列器件为高速实际应用提供了非常高的性价比,这基于它先进的MAX架构。MAX7000系列提供了速度最快的可编程逻辑器件解决方案,它基于CMOSEEPROM工艺,传播延迟最小为3.5ns。2.CPLD实现接口电路实时控制系统中,测控局域网利用CAN控制器实现微机间的数据传输。其基本的设计思想是:由于PC总线协议与CAN控制器不一致,因而在它们中间设计了一个硬件电路作为接口来实现转换。PC地址与数据总线是分离的,而CAN控制器数据与地址线通过分时复用来实现地址与数据分离,刚好与单片机一致。单片机技术虽然较成熟,但是,由于涉及单片机编程和开发的周期较长,且采用单片机系统需要较庞大的外围电路,不利于研制系统应用于嵌入式系统中。因此,用可编程逻辑器件设计接口电路,可以有效解决这些问题。本系统采用“主-从”式点对点通信。系统硬件由两台PC104主机和两块CAN总线通信模块组成,如图1所示。主机采用CPU主频为300MHz的奔腾处理器;CAN总线控制器位SJA1000T;一带屏蔽的双绞线作为系统总线;通信波特率可用软件设置为1Mbps;为了提高通信的可靠性,用CAN控制器的报文筛选器对报文进行筛选,来对由于干扰而产生的错误报文进行滤波。图1系统硬件组成本系统主要是利用主机PC(PC104)采集多个下位机从被控对象得到的数据,并进行实时控制和综合调度,其原理框图如图2所示。图2原理框图其中CPLD完成从CAN控制器到PC总线的数据转换。CAN控制器负责从总线上采集数据。总线驱动部分由89C250完成总线驱动;光电隔离器完成CAN控制器与传输电缆的信号隔离,防止电缆上的非规则信号对CAN控制器产生干扰。3.MAX+PLUSⅡ程序设计Altera公司的MAX+PLUSⅡ是一个高效实用的工具。直接采用原理图输入方式,进行编译后写入器件中;同时可在线更改写入内容,修改和调试简单易行。利用MAX+PLUSⅡ可以对输入输出关系进行在线调试和仿真,开发和调试周期短而高效。MAX+PLUSⅡ的软件设计的流程包括设计输入、功能仿真、编译、后仿真、编程验证几个部分。本文所论述的系统已经实现并进行通信测试,在最高通信速度、通信距离、热冗余和冷冗余实验等测试中都取得了良好的表现。这里仅论述逻辑设计输入和功能仿真。CPLD主要用于实现PC接口板的地址选择比较器和CAN控制器到PC总线的数据转换,其设计输入如图3所示。图3设计输入其中compare完成选址功能,MUX2×8完成总线转换。4.仿真实验为简明起见,这里仅给出核心的部分时序仿真图形,如图4所示。图4核心的部分时序仿真图形由仿真波形可知,在PC总线的读写操作进行时,地址和数据很好的实现了转换,读写的周期完整,触发迅速,保证转换的准确和迅速,满足了设计的要求。5.结论可编程逻辑器件的应用已经成为现代电子电路设计中的高效方式,它可以实现高效率、可靠的设计,也可以进一步提高电路的集成度;使用它设计的CAN通信卡可以作为通信接口而满足嵌入式系统的要求。同时,基于PC104系统的CAN通信的通信效率较高,具有较强的实时性,可以满足工业现场高速通信的需要,也可为复杂控制系统实现实时控制提供强有力的工具。基于VxWorks的
本文标题:PC104总线与DSP数据通信接口设计
链接地址:https://www.777doc.com/doc-2848938 .html