沈阳农业大学信息与电气工程学院(110016)胡博杨萍[摘要]针对CAN总线要实现高速数据交换的要求,要实现了PC机与CAN总线之间的数据传送,双端口RAM就要在PC机和适配卡之间建立双向的数据交换通道。本文主要介绍双端口RAM的特点、功能及硬件判优工作方式在CAN总线适配卡中的应用。[关键词]双端口RAM硬件判优方式CAN适配卡现代化生产促使现代控制理论的发展,自动控制技术已从单变量控制到多变量控制,从局部的自动调节到全局的最优控制。自然一个控制系统应具有高度的可靠性和灵活性是它存在的必要条件。但是由于单个处理器运算能力的限制,在许多工业控制领域内需要多个处理器并行完成。这样,多个处理器之间的数据交换和资源共享就成为我们关心的问题。1、双端口RAM的功能及工作原理双端口RAM芯片IDT7132是CMOS静态RAM,存储容量为2K字节,它有左、右两套完全相同的I/O口,即两套数据总线D0—D7,两套地址总线A0—A10,两套控制总线/CE、R/W、/OE、/BUSY,并有一套竞争仲裁电路。IDT7132的2K字节存储器可以通过左右两边的任一组I/O口进行全异步的存储器读写操作。双端口RAM框图如图1所示。对于单个的微处理器而言,双端口RAM同普通的RAM没有什么明显的区别,只有多个微处理器对同一地址进行工作时,才会出现竞争。对于问题的解决,双端口RAM提供的硬件判优工作方式。2、硬件判优方式在双端口RAM的两套控制线中,各有一个BUSY引脚,当微处理器1对该RAM的地址进行读/写时,双端口RAM会将这一端的BUSY引脚置高(BUSY为忙信号,该端为高时,允许对RAM读/写操作,低电平,RAM处于忙状态,读/写操作无效),而将另一端BUSY引脚置低;同时,当另一端的微处理器也要对RAM进行读/写操作时,它会检测自己端的BUSY信号,如果为低则不能读取,而要等待一个时钟周期在检测BUSY信号,直到高电平才进行存储操作。这就是用忙信号/BUSY来指示竞争仲裁结果。同时竞争仲裁电路用于判定双口地址匹配或片选使能信号匹配时差最小达5ns以上的竞争胜负。双端口竞争仲裁表见表1表1IDT7132双口竞争仲裁表左口右口/BUSY标志功能说明/CELA0—A10/CERA0—A10/BUSYL/BUSYRXXXXHH无竞争LLV5RLLV5RHL左口胜左右口
的/CE同
时有效时LRV5RLRV5RLH右口胜LSAMELSAMEHL判定完成LSAMELSAMELH判定完成LL5R同右地址LL5R同左地址HL左口胜左右口
的地址
同时有
效时RL5L同右地址RL5L同左地址LH右口胜LW5R同右地址LW5R同左地址HL判定完成LW5R同右地址LW5R同左地址LH判定完成注:LV5R:左地址比右地址先有效5ns以上。RV5R:右地址比左地址先有效5ns以上。SAME:左右地址有效时间差在5ns以内。LL5R:左片选信号比右片选信号先有效5ns以上。RL5L:右片选信号比左片选信号先有效5ns以上。LW5R:左右片选信号有效时间差在5ns以内。判断完成:如果左、右地址或片选信号有效时间差在5ns以内,那么/BUSYL或/BUSYR变低,无法预测。3、双端口RAM功能在CAN总线适配卡中的实现
3.1CAN和CAN适配卡CAN(ControllerAreaNetwork)总线属于现场总线的范畴。它适用于工业控制系统,具有通信速率高、可靠性强、连接方便、性能价格比高等诸多特点。目前CAN总线应用研究还在不断深入,随着CAN总线标准国际化以及CAN总线应用范围的不断扩大,CAN总线必将对我国测控领域产生重大的影响。CAN适配卡收集CAN总线上的各个节点的信息,再转发给PC机,并可将PC机的命令和数据转发给各个节点,同时完成对CAN总线上的用户系统的部分监控和管理工作。本文将介绍一种双端口实现的CAN适配卡的接口设计。3.2端口RAM在CAN总线中的功能实现本系统设计的是要实现PC机和适配卡上的CPU之间建立起双向的数据交换通道,通过ISA总线实现单片机系统与主机之间的数据交换。双口RAM数据交换电路原理图如图2所示。在上图中双端口RAM两端连接ISA总线和CAN总线(实际上连接的智能节点包括89C51微处理器),双端口RAM就完成对ISA总线和CAN总线间的交换读写数据的仲裁方式。实现了适配卡与主机PC机的高速数据交换。PC机可以采用写主存储器的方式将数据直接写在适配卡的数据存储器中,在PC机不访问适配卡时可以读/写数据存储器的数据。这样,适配卡中的数据存储器就能被PC机和微控制器直接访问。当CAN总线上的智能节点接收到数据后向89C51申请中断,该CPU接受中断后将收集到数据放入双口RAM,并在用中断方式通知ISA总线获得输入数据,然后再发送到主机PC机中,再由PC机做出判断,完成一次数据交换。综上所述,双端口RAM在双向读/写设计中可以起到至关重要的作用。但要注意的是:在非竞争情况下(/BUSY=1),微处理器等对双口RAM读/写与其对SRAM的读/写完全相同;在竞争情况下(/BUSY=0),微处理器通过判断/BUSY为低电平,那么微处理器就要停止对双口RAM的读/写操作,等到/BUSY为高电平,再进行读/写操作。这种方式不仅能避免读/写冲突,还能实现快速数据交换,同时也体现了双口RAM硬件判优方式的特点。致谢本次论文得到了张秀然老师的悉心指导和改正,在这里我表示衷心的感谢。同时还离不开同届老师和同学的帮助,在此也表示感谢。参考文献[1]饶运涛,邹继军,郑勇芸,现场总线CAN原理与应用技术[M]北京:北京航空航天大学出版社2003[2]谢剑英,双口RAM及其在CAN总线中的运用[A]//邬宽明现场总线技术应用选编[G]北京:北京航空航天大学出版社2003[3]满庆丰CAN总线的应用与发展《电子技术应用》1994年第四期[4]舒彦安萍CAN总线系统的实现《计算机应用研究》1998年第二期[5]刘正权SJA1000新特性的一些应用《电子技术》2000年第11期[6]邹继军饶运涛基于SJA1000的CAN总线系统的智能节点设计《单片机与嵌入式系统应用》2001年第12期[7]王毅峰李令奇SJA1000在数据采集与控制系统中的应用《微计算机信息》2001年第4期[8]张洁明毛淑华王健PC/104—CAN通信控制管理器的设计与应用《微计算机信息》2000年第1期[9]周风余鲁守银李贻斌CAN总线系统智能节点的设计与实现《微计算机信息》1999年第六期作者简介姓名:胡博单位:2002级沈阳农业大学信息与电气工程学院研究生主修专业:农业电气化及自动化专业研究方向:控制理论与控制工程(2004-8-8发布)
来源: