网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 技术信息 > 正文
  • RSS
  • PC机并口与现场总线CAN通讯的实现
    http://www.ic72.com 发布时间:2007/4/29 9:03:08
    PC机并口与现场总线CAN通讯的实现
    Control Engineering China/庄乾成,饶运涛,江珊珊,魏雄

    本文采用PC机并行端口EPP(Enhanced Parallel Port)协议在Windows98系统下通过对并口操作完成对CAN控制器SJA1000的控制,从而与同一网络的其他CAN节点的通讯。

    1转换端口电路框图

    由于SJA1000的访问时间在40ns以内,所以PC在访问SJA1000时完全可以不用插入等待周期。/Wait可以由/Addrstrobe和/Datastrobe信号经过一个与非门后产生(图1)。由于SJA1000的A L E时下降沿锁存地址信号,所以将/Addrstrobe反相后与ALE相连。在EPP的数据读/写周期时,SJA1000的/RD和/WR控制信号有效,而在地址读/写周期时无效。SJA1000的/RESET脚与并行端口的/RESET脚相连,由PC机向SJA1000提供复位信号,如果并行端口的/RESET脚不用做S J A1000的复位,则可以用作外设16位地址高低字节的选通信号。SJA1000的片选/CS脚接地,始终处于选通状态。

    2EPP端口寄存器

    (表2)

    上表中IRQEN:中断使能位(1有效);ASTRB:地址选通位(0有效);INIT:初始化(1有效);DSTRB:数据选通位(0有效);WRITE:读/写状态位(0:写,1:读)。读取接口状态和控制接口都只须对相应的端口寄存器进行操作。以下为Windows环境下采用VC++嵌入汇编的收和发的子程序(基地址为378h)。

    3对CAN节点SJA1000的操作

      在进行通讯之前应先对SJA1000进行初始化,其初始化步骤依次为:a)检测硬件连接是否正确,b)进入复位状态,c)设置时钟分频寄存器,d)设置输出控制寄存器,e)设置通讯波特率,f)设置代码验收寄存器,g)设置代码屏蔽寄存器,h)设置工作模式,i)设置中断使能寄存器,j)退出复位状态完成初始化。

      通讯过程中CAN数据格式为:一帧CAN报文分为信息头和信息内容两部分。前5个字节为信息头部分(如下表地址16~20),其前29位(ID0~ID28)为标示符(4个字节),包含本信息包的目的地址。第5个字节是帧信息,FF为帧格式(0为标准帧,1为扩展帧格式),RTR为远程帧发送请求(0表示发送数据帧,1表示发送远程帧),X表示无关位,最后4位DLC是数据长度,即所发数据的实际字节数。其余8个字节是数据内容部分,即为实际所发的数据。表3说明了CAN报文数据格式(扩展帧)。

    4通讯实现过程

      PC机采用Visual C++建立对话框发送对象,采用主动发送方式,此时CAN网络中一定要有接收方存在,否则SJA1000将由于无应答而一直处于发送状态。接收数据则采用查寻方法(VC++采用工作线程方法很容易实现)。以下为创建线程及线程执行函数(在执行函数体中以接收数据并输出为例,不考虑CAN总线远程帧请求,SJA1000的基地址为0)。

    5结束语

    CAN总线以高抗干扰性,高速率,实时性强等优点,被广大顾客所青睐。本文介 绍了基于并口与CAN总线的转换及通讯办法,这些都是笔者在学习和实践中得来,相信能对 从事相关工作的人员有一定的启发。





    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质