位置:51电子网 » 技术资料 » 通信网络

基于CAN总线的非智能适配卡设计

发布时间:2008/5/26 0:00:00 访问次数:521

        

    

    

    来源:电子元器件 作者:柳吉龄 张洪彬等

     

    引言

    

    控制器局域网can (controller area network)是目前被批准为国际标准的少数现场总线之一。can网络可采用多主方式工作。它采用非破坏性的总线仲裁技术,其信号传输和控制采用短帧结构,因而具有较强的抗干扰能力和低耦合性;cah网络的通讯速率范围为5 kbs/10 km~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所示。

    

    

    

    图1中,地址锁存器74hc373可看作sja1000的地址端口,而sja1000本身可看作sja1000的数据端口,另外还有对sja1000进行硬件复位的复位端口。图中的基地址译码电路以aen作为使能信号,对a2~a9地址信号进行译码就可得到适配卡的基地址;组合ao和a1地址信号可得到各端口的偏移地址。sja1000与isa的通讯采用两次i/o操作的方法,第一次先往地址端口送地址,第二次再对数据端口进行访问。这里所说的地址及数据端口都是对sjal000而言的,通过isa总线的数据线可获得被访问的sja1000寄存器的地址及所传送的数据。控制端口译码电路可将cpu送来的控制信号和地址信号按一定的逻辑关系进行组合,从而生成一组新的功能信号作为接口控制信号。通过sja1000复位电路可对saj1000进行复位,具体操作可采用上电复位、程序复位及按键复位三种硬件复位方式。

    

    适配卡硬件的设计

    

    基地址译码电路设计

    

    图2所示是一种具体的基地址译码电路。一般情况下,根据系统需要,地址译码电路可对isa地址线的端口地址译码,并可用ao~a9来表示。基地址译码电路对a9~a2进行译码,则可作为卡上端口的基地址。

    

    

    

    图2中,74hc688是一个8位量值比较器,当时pi=qi(i=0…7),p=q的反端输出低电平。当isa总线的aen为高电平时,总线工作在dma方式;而当aen为低电平时,cpu拥有对总线的控制权。非智能型适配卡的工作过程实际上就是cpu对i/o的操作过程,期间,aen始终为低电平,可用于控制74hc688的选通端g反。只有在i/o操作时,才允许它选择地址。由于使用的是拨码开关,用户可预先设定适配卡的基地址。卡上各端口的偏移由a1和a0选择,并可通过软件控制,本设计中的定义地址端口偏移为00,数据端口偏移为01,复位端口偏移为11。

    

    控制信号产生电路

<
        

    

    

    来源:电子元器件 作者:柳吉龄 张洪彬等

     

    引言

    

    控制器局域网can (controller area network)是目前被批准为国际标准的少数现场总线之一。can网络可采用多主方式工作。它采用非破坏性的总线仲裁技术,其信号传输和控制采用短帧结构,因而具有较强的抗干扰能力和低耦合性;cah网络的通讯速率范围为5 kbs/10 km~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所示。

    

    

    

    图1中,地址锁存器74hc373可看作sja1000的地址端口,而sja1000本身可看作sja1000的数据端口,另外还有对sja1000进行硬件复位的复位端口。图中的基地址译码电路以aen作为使能信号,对a2~a9地址信号进行译码就可得到适配卡的基地址;组合ao和a1地址信号可得到各端口的偏移地址。sja1000与isa的通讯采用两次i/o操作的方法,第一次先往地址端口送地址,第二次再对数据端口进行访问。这里所说的地址及数据端口都是对sjal000而言的,通过isa总线的数据线可获得被访问的sja1000寄存器的地址及所传送的数据。控制端口译码电路可将cpu送来的控制信号和地址信号按一定的逻辑关系进行组合,从而生成一组新的功能信号作为接口控制信号。通过sja1000复位电路可对saj1000进行复位,具体操作可采用上电复位、程序复位及按键复位三种硬件复位方式。

    

    适配卡硬件的设计

    

    基地址译码电路设计

    

    图2所示是一种具体的基地址译码电路。一般情况下,根据系统需要,地址译码电路可对isa地址线的端口地址译码,并可用ao~a9来表示。基地址译码电路对a9~a2进行译码,则可作为卡上端口的基地址。

    

    

    

    图2中,74hc688是一个8位量值比较器,当时pi=qi(i=0…7),p=q的反端输出低电平。当isa总线的aen为高电平时,总线工作在dma方式;而当aen为低电平时,cpu拥有对总线的控制权。非智能型适配卡的工作过程实际上就是cpu对i/o的操作过程,期间,aen始终为低电平,可用于控制74hc688的选通端g反。只有在i/o操作时,才允许它选择地址。由于使用的是拨码开关,用户可预先设定适配卡的基地址。卡上各端口的偏移由a1和a0选择,并可通过软件控制,本设计中的定义地址端口偏移为00,数据端口偏移为01,复位端口偏移为11。

    

    控制信号产生电路

<
相关IC型号

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!