新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 双口RAM在嵌入式系统调试中的应用

双口RAM在嵌入式系统调试中的应用

作者:时间:2002-02-01来源:

IDT7130在嵌入式

本文引用地址:http://www.eepw.com.cn/article/2926.htm

PLC

为较合理地解决目前可编程逻辑控制器(PLC)自身的软硬件分配及其与上位机通信协调工作中存在的问题,笔者基于ISA总线自行设计了一种插卡式可编程控制器。该嵌入式PLC实质是一个智能化I/O接口卡,CPU采用AT89C52,实验用上位机为Pentium100。主从CPU协同工作中,要注意双方信息交换实时性高;其次传输信息容量大,数据传送要求准确无误;第三硬件设计受机箱空间限制,不能过于复杂庞大。

目前已有的主从CPU间的通信方式,或因结构复杂,或因传递效率低,都不能很好地满足本系统的要求,而近年来新型的双口RAM芯片却独具特点:具有两套完全独立的数据线、地址线、读/写控制线,允许两个CPU对双端口的同一单元进行同时存取;具有两套完全独立的中断逻辑来实现两个CPU之间的握手控制信号;具有两套独立的逻辑,保证两个CPU同时对同一单元进行读/写操作的正确性;兼容性强,读/写时序与普通单端口完全一样,存取速度完全满足各种CPU的要求。

IDT7130是美国IDT公司采用高性能的CMOS工艺生产的高速1K×8双端口静态RAM,典型功耗550mW,最大存取时间有25/35/55/100ns,可采用中断、硬件、令牌、和软件四种方式来协调信息交换双方。该芯片运用有别于同类的中断标志进行总线仲裁:存储阵列中的×3FEH×3FFH单元被用做通信邮箱,左端口向×3FFH写入访问的同时,右端口的中断标志被设置,直到右端口进行读取×3FFH时清除,与此类似。中断时序关系示意如图1,其中tINStINR分别为ns级的中断设置时间和中断清除时间,其提供的中断信号的有效时间可以满足各种CPU的要求。

嵌入式PLC系统采用IDT7130作为与上位机共享的通信数据区,如图2所示,该器件的高集成度大大简化了信息交换窗口的接口硬件逻辑设计,有效缩小系统规模和减小印制电路板面积。配合ISA总线采用中断方式传送信息,不仅可满足上位机多任务控制系统的需要,还可提高本系统实时数据的处理时效。IDT7130(U6) 在上位机地址分配空间,可通过GAL16V8(U7)J2灵活选择为0D0000000~03FF0D8000000~03FF0E0000000~03FF0E8000000~03FF;在嵌入式PLC中占用地址为2000H~23FFH。在使用中断方式中,笔者将左端信号线接上拉电阻拉至高电平,才能保证中断信号的产生,同样将两信号也接上拉电阻,保证中断申请能被及时清除。

 

双口RAM在系统调试中的应用

单片机系统的调试通常是在开发仿真系统上完成,后者把它的硬件(CPU)和软件资源(被调试程序和参数)暂时出借给前者,并模拟其工作环境,对其软、硬件进行调试和修改。

嵌入式PLC属于单片机系统,在调试过程中没有购买价格昂贵的仿真装置,而是充分利用双端口RAM IDT7130的中介作用,以及上位机操作方便、运行结果直观的特点,通过编写一特殊程序,将其固化在89C52的EPROM中,根据该程序中设置的标志条件,把硬件电路和软件模块按照分块、联调的顺序进行调试,具体做法结合图3所示流程描述如下:

1)在上位机中以子程序的形式编写好将要调试的嵌入式PLC系统的程序功能模块,借助于工具软件ASM51将其汇编为二进制(.BIN)文件。

2)在上位机执行DEBUG命令把该二进制文件送到双端口RAM对应下位机地址#2100H开始的存储单元中。

3)在下位机源程序中对#2000H和#2001H两个存储单元清零操作,当程序执行到RESET处,在这两个存储单元中定义了两个程序开始运行的标志:99H和88H,从上位机可以利用DEBUG命令对这两个标志进行改变,以控制嵌入式PLC中固化的程序是否继续往下执行;为了确认两个标志被正确设置和程序往下运行的情况,在存储单元#2002H和#2003H中同样定义了两个确认标志:99H和88H。

4)运行标志设置正确后,执行调用语句LCALL 2100H,使得程序指针PC指向所要调试的程序功能块首地址处,开始调用执行该程序功能模块;子程序是否运行正常,并且是否返回可通过存储单元#2002H和#2003H标志由99H和88H变为02H来确认。

5)另外在硬件方面可借助辅助调试手段,使用示波器来测试P1口高四位的波形变化状况,来判断程序的运行情况。

6)最后返回RESET继续判断运行标志调试程序。

7)结合中断产生原理,在IDT7130的下位机地址2100H处装入中断服务程序,上位机向存储单元#23FEH中写1产生中断,下位机转而执行中断功能调试。

利用这种调试方法,可以通过上位机在双口RAM中设置每一程序模块的启动和确认标志位,即可方便地控制单个模块的调试或多个模块的联调,最终实现系统的功能。

 

结语

实验证明,本系统采用双口RAM作为主从CPU的中介,是一种实用、高效的系统设计方法。该方法使得信息交换方便快速可靠。利用双口RAM的共享特点,可将上下位机自身构成一种开发装置,简捷有效地实现工程环境下的在线调试。■

系统中的应用


关键词: 存储器

评论

技术专区

关闭