首先对CAN总线控制器SJA1000的管脚我们必须熟悉。下面是其各个管脚的功能参数。
本文引用地址:http://www.eepw.com.cn/article/268451.htm
各个管脚的符号功能什么的上面的表里介绍的很详细,我就不多废话了。
接着我们看SJA1000的这些管脚在实际电路中是怎么进行连接的,因为只谈SJA1000的硬件电路设计,所以就截一张PIAE提供的电路原理图里关于SJA1000的部分。
下面我们要具体解析这个电路图。
AD0-AD7是地址/数据复用总线。因为这个电路是把SJA1000做外部RAM扩展了,所以它的电路连接也势必要符合外部RAM的连接要求。(特权同学也是第一次接触单片机的外部存储器扩展应用,所以开始的时候也很是纳闷,然后拿起课本一阵恶补后才恍然大悟。)先补一下外部扩展RAM的知识,然后再谈这个电路就容易多了:51单片机外部RAM的扩展最多是可以寻址64KB的,也就是最多可以有16条地址线来寻址,P0口是低八位地址扩展口,P2口是高八位地址扩展口。如果外部RAM不需要用到全部16条地址线(SJA1000就只有8条地址线),那么只要把低位地址线和外部RAM的相应地址线连接,高位的地址线在寻址时都默认为1,比如这里的SJA1000,它的8条地址线是和P0口相连接的,所以对SJA1000的寄存器寻址时的地址应该是FF00H-FFFFH,但是为什么PIAE提供的程序里的地址定义却是FE00H-FEFFH呢?这就要讨论CS信号的连接问题了,我们知道,CS是片选输入信号,只有当它是低电平时才能访问SJA1000。再看看它和谁连了?是P2.0口,正好是地址线高八位的最低位,如果按常理来说,寻址FF00H,那么P2.0就是高电平,SJA1000就不能被访问。所以寻址FE00H时才选通SJA1000,这时才是SJA1000寄存器的地址。
上面讨论了寻址的问题,只是就事论事,如果还不理解,我建议找本书详细了解下单片机的外部存储器的扩展后就会明白的。另外,我们知道单片机的P3.0和P3.1有第二功能,就是做RD和WR用,所以它们就和外部寄存器(这里指SJA1000)的RD和WR相连接了。单片机的ALE脚和存储器的ALE脚也必须相连接。以上的这些连接使得SJA100成为了单片机的外部存储器。
再看INT脚是和单片机的INT1相连,也就是作为接收中断信号来告诉单片机接收到了新的数据帧。RST脚是复位脚,接P2.3成为可编程的。
TX0RX0连接82C250的对应脚,数据帧是通过这两个脚传送出去的(具体的工作原理可以参考82C250的资料,这里就不讨论了)。MODE脚接正,说明工作在INTER模式下。XTAL1和XTAL2两个脚接16MHz的晶体,SJA1000的工作是有一定的时序的,它可以完成数据的发送以及数据的校验等功能,这完全是IC设计者考虑的东西,我们只要了解它的工作原理,通过单片机配置SJA1000的工作方式,并且向SJA1000写数据或者读数据就可以达到CAN总线通信的目的了。
关键字:CAN总线 学习笔记 SJA1000
引用地址:
CAN总线学习笔记五:SJA1000硬件电路
推荐阅读最新更新时间:2024-05-02 23:44
LabView学习笔记(1)跑马灯的实现
最近开了门虚拟仪器的课程,感觉其中的并行执行和数据流传输方式很有噱头,就想动手观察一下,并将其作为自己本门课程的学习笔记。作为和Labview的同龄人,我完全能体会到其将触角延伸到实时系统、嵌入式开发技术的雄心壮志,希望它能在测试与控制的路上越走越远。 使用while循环加上移位寄存器,实现布尔显示控件的循环点亮,通过滑块控制闪烁间隔,程序完成后前面板界面如下: 程序框图: 经测试,程序运行良好!
[测试测量]
基于CAN总线接口的红外检测系统的设计思路
1 引言
一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。CO无论是对工业生产还是人类都造成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规程》规定,井下作业场所的CO浓度应控制在0.002 4%以下。因此,实时、准确地测出井下CO气体浓度,对保障煤矿工业安全生产具有重要意义。
目前检测CO的方法主要有化学法、电化学法、气相色谱法等。这些方法普遍存在价格高、普适性差等问题,且测量精度较低。这里设计一种新的检测系统,选用红外CO传感器和 MSP430 单片机作为核心信号处理电路,结合数字滤波、温度补偿运算.
[嵌入式]
基于CAN总线解决方案的玻璃磨边机
1 引 言
玻璃磨边机属于玻璃深加工设备,用于把粗加工成型玻璃的两边或者四边经过磨轮磨制成各种各样的边型,以适合各种不同的应用环境,比如汽车玻璃、家用玻璃等。目前玻璃磨边机大都采用变频器来控制,通过普通电机来带动丝杆来调节磨刀的位置,效率低下且精度不高,严重制药了生产效率的提高,同时不能满足客户多样化的需求。
2 工艺概要分析
随着工厂自动化水平要求的提高,传统的玻璃磨边机已经不能满足客户的要求,因此迫切需要一种新的控制方式来对原有设备进行改良,因此客户对工艺提出更高的要求。该设备与普通的玻璃磨边机具有不同之处,主要体系如下:
能够通过hmi在线选择、修改所加工工件,且能在3s之内控制磨
[嵌入式]
汇编入门学习笔记 (九)—— call和ret
疯狂的暑假学习之 汇编入门学习笔记 (九) call和ret 参考: 《汇编语言》 王爽 第10章 call和ret都是转移指令。 1. ret和retf ret指令:用栈中的数据,修改IP内容,从而实现近转移 相当于: pop ip retf指令:用栈中的数据,修改CS和IP,从而实现远转移 相当于: pop ip pop cs 例子:ret assume cs:code,ss:stack stack segment db 16 dup(1) stack ends code segmen
[单片机]
STM32学习笔记——PWM基础知识与720电机驱动
1. 定义 脉冲宽度调制:是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。(百度百科)它是一种对模拟信号电平进行数字编码的方法,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 **SPWM波形:**脉冲宽度按正弦规律变化而和正弦波等效的 PWM 波形。 把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。根据冲量
[单片机]
基于CAN总线的多ECU通信平台设计
引言 随着集成电路和单片机在汽车上的广泛应用,现代汽车上的电子控制器的数量越来越多,常见的有发动机的电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电动门窗装置、主动悬架等。电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。从布线角度分析,传统的电子气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成宠大的布线系统。因此,一种新的概念——汽车上电子控制器局域网络CAN,也就应运而生。为使不同厂家生产的零部件能在同一辆汽车上协调工作,必须制定标准。按照ISO有关标准,CAN的拓扑结构为总线式,因此称为CAN总线。 CAN总线被设计作为汽
[单片机]
学习笔记-avr单片机C编程1
这几天在看AVR单片机的书。ASURO的项目的编程是建立在已有的成熟函数上,所以导致我对AVR单片机的运行机理(中断、定时器的使用)不甚了解。突然一个个超声波模块的程序放在眼前,才发现我连AVR单片机的了解基本上等于零。另外一个项目需要用mega128控制直流电机,还有和无线、有线遥控器的通信,电路(模块)需要自己搭起来,那么就必须知道AVR单片机的原理和编程。 和已经学过的51单片机相比,MEGA系列单片机是十分高级的单片机,功能强大,因而在构造和使用上也复杂了一些。 存储器区别,AVR分为5个部分,访问指令上有区别。 输入输出,51是准双向口,每个端口只有一个寄存器。而AVR的I/O口是标准双向口,
[单片机]
ARM Cortex-M3 学习笔记(4-3)
最近在学ARM Cortex-M3,找了本号称很经典的书 An Definitive Guide to The ARM Cortex-M3 在看。这个系列学习笔记其实就是在学习这本书的过程中做的读书笔记。 数据处理指令 Cortex-M3支持的数据处理指令非常多,这里就捡重要的、常用的来介绍。 四则运算指令 基本的加、减法运算有四条指令,分别是ADD、SUB、ADC、SBC ADD Rd,Rn, Rm ; Rd = Rn+Rm ADD Rd,Rm ; Rd += Rm ADD Rd,#imm ; Rd += imm ADC Rd,Rn, Rm ; Rd = Rn+Rm+C ADC Rd,Rm ; Rd
[单片机]