欢迎来到天天文库
浏览记录
ID:24795436
大小:51.50 KB
页数:4页
时间:2018-11-14
《基于can控制器sja1000的智能高速控制系统设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于CAN控制器SJA1000的智能高速控制系统设计
2、第1SJA1000在电路中是一个总线接口芯片,实现从上位机PC-CAN接口到现场微处理器之间的数据通信。对于微处理器而言,SJA1000是一个总线接口,SJA1000片内的存储单元相对80C196KC来说是片外的数据存储器,因此,可以按照扩展片外数据存储器的形式来访问SJA1000的寄存器地址。80C196KC是CAN控制器的微处理器,把80C196KC的ALE、RD、REQUA001H;命令寄存器SREQUA002H;状态寄存器IREQUA
3、003H;中断寄存器ACREQUA004H;验收码寄存器AMREQUA005H;验收屏蔽寄存器BTR0EQUA006H;总线定时寄存器0BTR1EQUA007H;总线定时寄存器1OCREQUA008H;输出控制寄存器DILDBCL,#03HSTBCL,CR;开放接收中断,复位请求位置1,以开始初始化。LDBCL,#01HSTBCL,ACR;将节点1标识符送ACRLDBCL,#0FEHSTBCL,AMR;验收滤波LDBCL,#00HSTBCL,BTR0;传送波特率为250kbpsLDBCL,#14
4、HSTBCL,BTR1;定义位周期宽度,采样点位置及采样次数选LDBCL,#0AAHSTBCL,OCR;选择正常输出方式,建立输出驱动器的配置。LDBCL,#1AHSTBCL,CR;复位请求位置0,初始化结束EI对CAN控制器进行初始化,实际上就是对ACR、AMR、BTR0、BTR1、OCR这些寄存器进行访问。只有当控制寄存器CR中的复位请求位为高时,访问才被允许,否则既写不进去,也读不出正确的内容。对CR进行第一次写操作,要设定将要开放的中断类型,并置位复位请求,允许初始化开始。对ACR、AM
5、R进行写操作,要界定对什么样的报文予以接收,因此有时称它们为验收滤波器。当满足以下两个条件之一,并存在空的接收缓存器(RBF)时,完整报文可被正确接收。●条件一:ACR与报文标识符的高8位在AMR为“0”相关位上对应相等。●条件二:AMR=0FFH,即ACR的所有位均为不相关(或屏蔽)位。这两个寄存器也是编排标识符的基本依据。对BTR0进行操作,可决定波特率预分频器(BRP)和同步跳转宽度(SJHz时,采样时钟周期tSCL等于两倍的振荡器时钟周期。波特率刚好为1Mbps,同步跳转宽度为一个tSC
6、L。在编写程序时,还需特别注意的是,一个系统中的所有节点BTR0和BTR1的内容都应相同,否则控制系统将无法和上位机进行通信。对OCR进行写操作,可确定CAN控制器的输出方式,并建立起CAN总线要求的电平逻辑所需输出驱动器的配置。对CR进行第二次操作主要是清复位请求位,使SJA1000返回正常运行状态。成功的初始化SJA1000后,系统就可以应用它来传输报文。系统总体程序框图及中断服务程序框图见本刊网站。结束语实践表明,SJA1000是一种较好的CAN总线控制器件,在PeliCAN模式下,其识别
7、码达29位,因而可满足各种应用场合。在自动化控制系统中,合理安排这29位识别码可以使许多问题得以简化。此外PeliCAN模式增加的各种功能,如:各种错误处理功能大大地提高了用户程序处理各种通信错误的能力;支持热插拔和自身信息接收功能,使用户不必事先知道预设的波特率,从而大大地方便了通信的调试。
此文档下载收益归作者所有