中国人民解放军63936部队 柳吉龄 张洪彬 刘振伟 崔国瑞
引言
控制器局域网CAN(Controller Area Network)是目前被批准为国际标准的少数现场总线之一。CAN网络可采用多主方式工作。它采用非破坏性的总线仲裁技术,其信号传输和控制采用短帧结构,因而具有较强的抗干扰能力和低耦合性;CAH网络的通讯速率范围为5 kbs/10km~lMbs//40m,驱动节点数可达110个。它的传输介质可以是双绞线、同轴电缆或光纤,选择十分灵活;每帧信息都有CRC校验及其它检错措施,因而数据出错率极低,可靠性很高;当其传输的信息出错严重时,节点可自动断开与总线的联系,以使总线上其它的操作不受影响。
虽然目前PCI、USB等总线技术得到了快速发展,但在大量应用的测试微机及工控机中,用的最多的还是ISA(Industry Standard Architecture.工业标准体系结构)总线。ISA总线具有16位数据宽度,最高工作频率为8MHz,数据传输速率达到16MB/s,地址总线有24条,可寻址16MB的地址单元,其总线信号分为5类,分别为地址线、数据线、控制线、时钟线和电源线。
为了解决CAN控制器SJA1000与ISA总线各信号线的时序配合与逻辑配合问题,笔者设计了一种基于CAN总线的非智能适配卡。该适配卡已应用于笔者研制的"基于CAN总线的运动控制系统"中,运行情况良好。
非智能型ISA总线CAN适配卡的总体结构
CAN控制器SJA1000的地址数据总线是分时复用的,通过ALE信号的下降沿可锁存总线上的地址信号;ISA总线上的地址和数据总线是单独提供的,它不能直接和SJA1000的地址数据总线相连。本设计利用地址译码电路来对地址信号线进行译码,从而为CAN适配卡分配出一定的端口地址。然后再利用74HC373芯片的数据锁存功能锁存第一次I/O操作中通过ISA数据总线传送的数据信号,以便作为访问CAN控制器SJA1000中寄存器的地址信号,最后在第二次I/O操作中完成对SJA1000中相应地址寄存器的读写操作。其适配卡的总体结构如图1所示。