新闻中心

EEPW首页>手机与无线通信>设计应用> 双口RAM芯片CY7C028的INS/GPS组合导航系统

双口RAM芯片CY7C028的INS/GPS组合导航系统

作者: 时间:2010-09-16 来源:网络 收藏

  2.2 DSP与的接口设计

  在中,与两个DSPTMS320VC33和TMS320F240之间的接口电路如图3所示。TMS320VC33的数据线宽度为32位,而的数据位宽为16位,因此采用将TMS320VC33数据总线的低16位与的数据总线相连。TMS320VC33在发送32位的数据至又口时,分两次完成,先写低16位,再写高16位。从RAM读取数据操作与发送类似。如前所述,使用双口RAM的关键是解决左右端口同时操作同一RAM单元的竞争问题。图3中采用了硬件判优的方法,即将左右端口的BUSY信号经相应处理后分别引至支持插入等待时序的TMS320VC33和TMS320F240的对应引脚,以解决左右端口对同一单元的争用问题。

  为了使整个成为完全可编程,增加系统的灵活性,系统中逻辑控制选用可编程的逻辑器件GAL实现,GAL选用Lattice公司的GAL20V8B,并采用Lattice公司提供的ispDesignEXPERT集成开发软件对其进行逻辑编程。IspDesignEXPERT支持多种硬件编程语言,系统中采用ABEL语言进行编程。左、右两端GAL的输入管脚信号定义如图3中所示。

  左端译码电路的逻辑方程为:

  CE0L=DSA15#PS A15;

  R/WL=R/WSTRB;

  OEL=R/W STRB;

  BUSYL=READY;

  CE0L、R/WL、OEL分别为双口RAM左端口的片选、读/写及输出使能控制信号。BUSYL为引至

  TMS320F240 READY引脚的信号。

  在右端译码电路中,引至TMS320VC33 RDY引脚的信号为双口RAM右端口输出信号BUSYR,其余逻辑控制信号编程与左端类似,不再多述。

具有64K字的存储空间,存储资源较为丰富。系统设计时,根据实际需要将其前32K字存储空间作为TMS320F240仿真程序的存储空间,将其后32K字的存储空间作为双DSP的共享数据存储空间。这样设计,既减小了电路板面积又简化了系统的构成。在本系统中,CY7C028共享数据存储区的数据确定如下:TMS320F240端为0x8000~0xFFFF,TMS320VC33端为0xC88000~0xC8FFFF。

  采用上述接口电路,使得计算机系统电路简单、可靠性高,同时使主从计算机之间具有很高的通信速度。经实验测试,在传输4K字节的系统数据过程中,其传输速率高达6.6M字节/秒,能很好地满足系统解算周期为5ms的实时性要求。

  2.3 双口RAM的分区处理及软件设计

  利用双口RAM的BUSY信号线,虽然可以保证左右两个端口能可行地完成数据的传送,但当两个端口对同一地址单元同时存取数据时,其中一个端口要处于等待状态。对于导航系统来说,插入等待状态会降低数据交换率,这在一定程度上会影响系统的实时性。为了尽可能地避免出现等待状态,结合系统中的数据总以帧的方式进行数据处理的特点,在对双口RAM编程时,采用了地址分区方式。即将共享数据区按一定的标准划分成若干个数据并制定相应的软件协议,使得主、从机以适当的时序读写数据,从而避免对同一单元的竞用,提高实时性。

  在本系统中,主、从机之间需要交换的数据主要是与GPS接收机、弹载计算机、火控系统、地面检测系统进行双向通信的数据。软件分区处理时,按照交换数据的类型将双口RAM的共享存储区从起始单元开始分成四个大的数据区,数据区大小由实际的数据帧长度确定。每个大数据区又细分为一个数据接收缓冲区和一个数据发送缓冲区,且每个缓冲区都定义有相应的数据存取基地址和读、写指针。主、从机根据缓冲区数据存取基地址及读、写指针,对相应单元进行读、写操作,整个缓冲区等效于一个环形数据。若缓冲区大小设置合理,当新数据覆盖旧数据时,旧数据已经处理,既不会遗漏数据又节省了存储单元。

  在本系统中,所有对外部系统的通信工作均由从机TMS320F240通过扩展串口ST16C554来完成。考虑到整个系统的数据处理流程及时序要求,在TMS320F240的软件设计中,数据接收采用中断方式,数据发送则是在软件的主流程内部维持一个无限循环,将发送程序驻留在此循环中,通过查询发送缓冲区的读、写指针,实时发送数据。ST16C554共有四个串口,分别负责与前述四个外部系统的数据通信。主机TMS320VC33只需对双口RAM中相应的数据缓冲区写入要发送的数据或读取需要的数据即可。鉴于主、从机对这四种类型数据的存取操作程序类似,在此只给出TMS320F240接收火控系统数据和TMS320VC33读取火控系统数据的程序流程图,分别如图4和图5所示。其中,Base为火控系统数据接收缓冲区数据存取基地址。



评论


相关推荐

技术专区

关闭