微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 双口RAM在组合导航系统中的应用

双口RAM在组合导航系统中的应用

时间:06-18 来源:电子技术应用 点击:

导航系统是负责将载体从起始点引导到目的地的系统装置。近年来,随着计算机技术和卫星通信技术的发展和实际应用,使得导航系统的精确性和可靠性达到了更高的要求,促使导航系统向综合化和容错化方向发展,进而发展了以惯性导航为主体的各种组合导航系统。在众多组合导航系统中,INS/GPS组合导航系统更是发展迅速,在军用和民用领域均已获得广泛应用,而且愈来愈受到重视。就INS/GPS组合导航系统而言,除了要完成大量的导航解算工作外,还要完成控制、人机接口、与外部系统的通信等功能。由于导航系统对实时性要求较高,采用单个CPU来实现上述功能是不现实的。在研制某弹载INS/GPS组合导航系统时,针对弹载导航系统体积小、重量轻、功耗小的特点,设计了一种嵌入式高速处理系统。该系统采用TI公司的TMS320VC33和TMS320F240组成双DSP系统,即由两个DSP构成一个主从式系统完成相应功能。主从式系统设计的关键是主机与从机之间的数据通信。主从机之间的数据通信主要有串行、并行、DMA及双口RAM四种方式。综合各种通信方式的优缺点,考虑到导航系统实时性高、数据量大的特点,笔者以双口RAM器件 CY7C028作为共享存储器,通过独特的软件分区处理设计有效地实现了导航系统中的主计算机与从计算机之间的通信。

1 双口RAM芯片CY7C028的内部结构及工作原理

CY7C028是CYPRESS公司研制的64K×16低功耗CMOS型静态双口RAM,最大访问时间为12/15/20ns,可与大多数高速处理器配合使用,无需插入等待状态。采用主从模式时可以方便地将数据总线扩展成32位或更宽。其内部功能框图如图1所示。

双口RAM芯片CY7C028作为一种性能优越的快速通信器件,在多CPU的高速数字系统中非常适用。其特点是:提供两套完全独立的数据线、地址线、读写控制线,允许两个CPU对双端口存储器同时进行操作;具有两套完全的中断逻辑,用于实现两个CPU之间的握手信号;具有完全独立的忙逻辑,可保证两个CPU对同一地址单元进行正确的读写操作。当两个CPU对双口RAM存取时,存在以下四种情况:

  (1) 两个CPU不同时对同一地址单元存取数据。
(2) 两个CPU同时对同一地址单元读出数据。
(3) 两个CPU同时对同一地址单元写入数据。
(4) 两个CPU同时对同一地址单元操作,一个写入数据,另一个读出数据。

不难看出,在第一和第二种情况下,两个端口的存取不会出现错误,而第三种情况会出现写入错误,第四种情况会出现读出错误。为了避免两个CPU对同一地址单元进行访问时由于地址数据争用而造成的数据读写错误,CY7C028主要提供了以下几种工作方式[1],下面逐一介绍。

1.1 硬件判优方式

双口RAM CY7C028具有解决两个处理器同时访问同一地址单元的硬件仲裁逻辑。在双口RAM的两套控制线中,各有一个BUSY引脚。当两端的CPU不对双口RAM的同一地址单元存取时,BUSYL=H、BUSYR=H,可正常存储;当两端的CPU对双口RAM同一地址单元存取时,哪个端口的存取请求信号出现在后,则其对应的BUSY=L,禁止其存取数据;在无法判定两个端口存取请求信号出现的先后顺序时,控制线BUSYL、BUSYR只有一个为低电平。这样,就能保证对应于BUSY=H的端口能进行正常存取,对应于BUSY=L的端口不能存取,从而避免了两个CPU同时竞争地址资源而引发错误的可能。

1.2 中断判优方式

中断判优方式又称邮箱判优方式。CY7C028具有两套中断逻辑,通过两个INT引脚分别接到两个CPU的中断引脚上,以实现CPU的握手。在双口RAM的数据传送中,两端的CPU都把双口RAM作为自己存储器的一部分。当两个CPU需要数据传送时,假设左端CPUL向右端CPUR传送,首先CPUL将需要传送的数据存放到双口RAM某段约定的地址单元中,然后向双口RAM的最高奇地址单元0xFFFF即右端口的邮箱进行写操作,用以向CPUR发出一个中断,这样CPUR就进入其相应的中断服务子程序,将约定地址单元的数据读出,然后对双口RAM右端口的邮箱进行写操作,用以清除该中断。

1.3 令牌判优方式

令牌判优方式是一种快速数据交换方式。在此方式中有信令锁存逻辑,CY7C028内部提供了八个相互独立的锁存逻辑单元,最多可将RAM空间分成八个区段。这些锁存逻辑单元独立于双口RAM存储区,并不能控制RAM区、封锁两端CPU的读/写操作,而是被作为信令,只提供指示逻辑,由两端CPU按约定的规则,轮流地占用它们划定的RAM区,各区的大小及地址由软件自由设定,且左右端操作完全一样,只要不超过令牌的限制次数即可。当左右端口同时申请同一令牌时,令牌逻辑将裁定谁先占用,从而保证只有一个端口获取令牌。而在占用令牌期间,CPU可以按最高速无等待存取数据,这对实现高速、多CPU数据采集与处理系统无疑是非常有利的。但是,为了避免令牌方式争用出错,应尽可能使两端CPU分时占用同一RAM区。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top