can总线控制器的初始化程序

can总线控制器的初始化程序

ID:13950885

大小:74.50 KB

页数:4页

时间:2018-07-25

can总线控制器的初始化程序_第1页
can总线控制器的初始化程序_第2页
can总线控制器的初始化程序_第3页
can总线控制器的初始化程序_第4页
资源描述:

《can总线控制器的初始化程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、CAN总线控制器的初始化程序张发斌,黄明琪(贵州工业大学电气工程学院,贵州贵阳550003)摘要:介绍了CAN总线控制器SJA1000芯片,并给出用C51语言编写SJA1000总线控制器的初始化程序,方便使用者学习和掌握。关键词:SJA1000;CAN总线;C51;寄存器中图分类号:TP332.3;TP314文献标识码:B 0引言随着自动化底层设备通信的需要,使现场总线技术得到了迅速的发展,各厂家都纷纷推出自己的总线控制器。SJA1000就是Philips公司推出的一种高性能的CAN总线控制器,它得到了广泛的应用,但是有关SJA1000初始化的文章比较少见,介绍的程序

2、也不完全,这给使用者增加了难度。为了方便使用者掌握和使用CAN总线,本文作者成功地运用C51语言初始化SJA1000为核心的CAN总线控制器,缩短了程序开发周期,提高了工作效率。 1SJA1000的新功能与内部结构1.1SJA1000的主要新功能SJA1000是Philips公司早期CAN总线控制器PCA82C200的替代品,功能更强大,与PCA82C200相比,具有许多优点,详见文献[4].1.2SJA1000的内部寄存器SJA1000的寄存器和管脚配置允许它使用于各种各样的集成的或分立的CAN收发器,这使不同微控制器之间的接口能够被灵活运用。若要正确、灵活的运用S

3、JA1000,就必须了解内部寄存器的地址、功能和作用。SJA1000内部寄存器的结构如表1所示(具体每一位的作用,请参阅文献[2]).1.3SJA1000与89C52的连线原理为了连接到主控制器,SJA1000提供一个复用的地址/数据总线和附加的读/写控制信号,见图1.SJA1000能被看作外围存储器并为主控制器映射I/O设备。为了保证系统的同步,本电路使用了一个24MHz的晶振作为SJA1000的振荡器,用它的7号引脚(CLKOUT)作为89C52的时钟脉冲。本文中SJA1000的片选由微控制器的P2.7口控制,其内部寄存器的地址由P0口和P2口共同来决定,P0口为

4、低8位,P2口为高8位。图1原理接线图 表1SJA1000内部主要寄存器CAN地址段名称表示符号0控    制 模式寄存器MOD1命令寄存器CMR2状态寄存器SR3中断寄存器IR4验收代码寄存器ACR5验收屏蔽AMR6总线定时0BTR07总线定时1BTR18输出控制OCR9测试TR10 发送缓冲器 识别码(10-3)TransBuffer111识别码(2-0)RTR和DLCTransBuffer212数据字节1TransBuffer313数据字节2TransBuffer414数据字节3TransBuffer515数据字节4TransBuffer616数据字节5Tran

5、sBuffer717数据字节6TransBuffer818数据字节7TransBuffer919数据字节8TransBuffer1020  接收缓冲器识别码(10-3)RxBuffer1收稿日期:2003-03-07基金项目:省科委基金资助项目编号:黔基会审字(1998)201021识别码(2-0)RTR和DLCRxBuffer222数据字节1RxBuffer323数据字节2RxBuffer424数据字节3RxBuffer525数据字节4RxBuffer626数据字节5RxBuffer727数据字节6RxBuffer828数据字节7RxBuffer929数据字节8Rx

6、Buffer1031 时钟分频器CDR 2程序C语言是一种常用的计算机程序设计语言,它既有高级语言的各种特征,又能直接操作系统硬件,而且可以进行结构化程序设计,用C语言编写的程序很容易移植。近年来出现的各种专为微型计算机设计的C语言编译器,如美国Franklin软件公司推出的FranklinC51,德国Keil公司推出KeilC软件,都是高性能的C编译器,它编译的目标代码简洁且运行速度高。后者是现在比较流行的软件,它深受单片机开发人员的喜爱。下面就以KeilC51为平台,系统的介绍如何用C51语言对SJA1000CAN总线控制器进行初始化。从图1可以看到,主控制器89

7、C52的P0.0-P0.7直接与SJA1000的AD0-AD7相连,主控制器既要传送地址,又要传送数据,就必须对P0口进行分时控制,而SJA1000的AD0-AD7正好提供一个复用的地址/数据总线和附加的读/写控制信号。SJA1000由主控制器的程序进行功能配置和激活,因此SJA1000能满足不同属性的CAN总线系统的要求。主控制器89C52和SJA1000之间的数据交换经过一系列的寄存器控制段和一个RAM信息缓冲器完成,对于主控制器来说,构成发送和接收图2SJA1000初始化流程图缓冲器的寄存器和一部份RAM的地址窗口,就象是外围的寄存器。SJA1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。