【摘要】:SJA1000是一种独立控制器,用于汽车和一般工业环境中的局域网络控制。图7-38 SJA1000的内部结构方框图SJA1000 CAN控制器主要由以下几部分构成。:片选输入,低电平允许访问SJA1000。图7-39 SJA1000引脚图XTAL1:振荡器放大电路输入,外部振荡信号由此输入。RX0和RX1:由物理总线到SJA1000输入比较器的输入端,显性电平将会唤醒SJA1000的睡眠模式。为了实现软件兼容,SJA1000增加了两种模式。与PCA82C200兼容性在BasicCAN模式中,SJA1000模仿PCA82C200独立控制器所有已知的寄存器。在SJA1000的控制寄存器中没有SYNC位。
SJA1000是一种独立控制器,用于汽车和一般工业环境中的局域网络控制。它是Philips公司的PCA82C200 CAN控制器(BasicCAN)的替代产品。而且它增加了一种新的工作模式(PeliCAN),这种模式支持具有很多新特点的CAN 2.0B协议,SJA1000具有如下特点:
1)与PCA82C200独立CAN控制器引脚和电气兼容。
2)PCA82C200模式,即默认的BasicCAN模式。
3)扩展的接收缓冲器(64个字节,先进先出(FIFO))。
4)与CAN 2.0B协议兼容(PCA82C200兼容模式中的无源扩展结构)。
5)同时支持11位和29位标识符。
6)位速率可达1Mbit/s。
7)PeliCAN模式扩展功能:
·可读/写访问的错误计数器。
·可编程的错误报警限制。
·最近一次错误代码寄存器。
·对每一个CAN总线错误的中断。
·具有详细位号(Bit Position)的仲裁丢失中断。
·单次发送(无重发)。
·只听模式(无确认、无激活的出错标志)。
·支持热插拔(软件位速率检测)。
·接收过滤器扩展(4B代码,4B屏蔽)。
·自身信息接收(自接收请求)。
·24MHz时钟频率。
·可以和不同微处理器接口。
·可编程的CAN输出驱动器配置。
·增强的温度范围(-40~+125℃)。
1.内部结构
SJA1000的内部结构如图7-38所示。
图7-38 SJA1000的内部结构方框图
SJA1000 CAN控制器主要由以下几部分构成。
(1)接口管理逻辑(IML)
接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。
(2)发送缓冲器(TXB)
发送缓冲器是CPU和位流处理器之间的接口,能够存储发送到CAN网络上的完整报文。缓冲器长13个字节,由CPU写入,位流处理器读出。
(3)接收缓冲器(RXB,RXFIFO)
接收缓冲器是接收过滤器和CPU之间的接口,用来接收CAN总线上的报文,并储存接收到的报文。接收缓冲器(RXB,13B)作为接收FIFO(RXFIFO,64B)的一个窗口,可被CPU访问。
CPU在此FIFO的支持下,可以在处理报文的时候接收其他报文。
(4)接收过滤器(ACF)
接收过滤器把它其中的数据和接收的标识符相比较,以决定是否接收报文。在纯粹的接收测试中,所有的报文都保存在RXFIFO中。
(5)位流处理器(BSP)
位流处理器是一个在TXB、RXFIFO和CAN总线之间控制数据流的序列发生器。它还执行错误检测、仲裁、总线填充和错误处理。
(6)位时序逻辑(BTL)
位时序逻辑监视串行CAN总线,并处理与总线有关的位定时。在报文开始,由隐性到显性的变换同步CAN总线上的位流(硬同步),接收报文时再次同步下一次传送(软同步)。BTL还提供了可编程的时间段来补偿传播延迟时间、相位转换并且可以定义采样点和每一位的采样次数。
(7)错误管理逻辑(EML)
EML负责传送层中调制器的错误界定。它接收BSP的出错报告,并将错误统计数字通知BSP和IML。
2.引脚介绍
SJA1000为28引脚DIP和SO封装,引脚如图7-39所示。
各引脚功能如下:
AD0~AD7:地址/数据复用总线。
ALE/AS:ALE输入信号(Intel模式);AS输入信号(Motorola模式)。
:片选输入,低电平允许访问SJA1000。
:微控制器的RD信号(Intel模式)或E使能信号(Motorola模式)。
:微控制器的信号(Intel模式)或信号(Motorola模式)。
CLKOUT:SJA1000产生的提供给微控制器的时钟输出信号。此时钟信号通过可编程分频器由内部晶振产生。时钟分频寄存器的时钟关闭位可禁止该引脚。
VSS1:接地端。(www.chuimin.cn)
图7-39 SJA1000引脚图
XTAL1:振荡器放大电路输入,外部振荡信号由此输入。
XTAL2:振荡器放大电路输出。使用外部振荡信号时,此引脚必须保持开路。
MODE:模式选择输入。1=Intel模式,0=Motorola模式。
VDD3:输出驱动的5V电压源。
TX0:由输出驱动器0到物理线路的输出端。
TX1:由输出驱动器1到物理线路的输出端。
VSS3:输出驱动器接地端。
:中断输出,用于中断微控制器。在内部中断寄存器各位都被置位时被激活。是开漏极输出,且与系统中的其他INT可以线或连接。此引脚上的低电平可以把IC从睡眠模式中激活。
:复位输入,用于复位CAN接口(低电平有效)。把引脚通过电容连到VSS,通过电阻连到VDD可自动上电复位(例如,C=1μF;R=50kΩ)。
VDD2:输入比较器的5V电压源。
RX0和RX1:由物理总线到SJA1000输入比较器的输入端,显性电平将会唤醒SJA1000的睡眠模式。如果RX1比RX0的电平高,读出为显性电平,反之读出为隐性电平;如果时钟分频寄存器的CBP位被置位,就忽略CAN输入比较器以减少内部延时(此时连有外部收发电路),这种情况下只有RX0是激活的。隐性电平被认为是高,而显性电平被认为是低。
VSS2:输入比较器的接地端。
VDD1:逻辑电路的5V电压源。
3.应用说明
SJA1000在软件和引脚上都是与它的前一款——PCA82C200独立控制器兼容的。在此基础上它增加了很多新的功能。为了实现软件兼容,SJA1000增加了两种模式。
·BasicCAN模式:PCA82C200兼容模式。
·PeliCAN模式:扩展特性。
工作模式通过时钟分频寄存器中的CAN模式位来选择。复位默认模式是BasicCAN模式。
(1)与PCA82C200兼容性
在BasicCAN模式中,SJA1000模仿PCA82C200独立控制器所有已知的寄存器。下面所描述的特性不同于PCA82C200,这主要是为了软件上的兼容。
1)同步模式。在SJA1000的控制寄存器中没有SYNC位。同步只有在CAN总线上隐性至显性的转换时才有可能发生。写这一位是没有任何影响的。为了与现有软件兼容,读取这一位时将得到上次写入的值(对触发电路无影响)。
2)时钟分频寄存器。时钟分频寄存器用来选择CAN工作模式(BasicCAN或PeliCAN)。它使用从PCA82C200保留下来的一位。与PCA82C200一样,写一个0~7之间的值,就将进入BasicCAN模式。默认状态是12分频的Motorola模式和2分频的Intel模式。保留的另一位补充了一些附加的功能。CBP位的置位使内部RX输入比较器被忽略,这样在使用外部传送电路时可以减少内部延时。
3)接收缓冲器。PCA82C200中双接收缓冲器的概念被PeliCAN中的接收FIFO所代替。这对软件除了会增加数据溢出的可能性之外,不会产生应用上的影响。在数据溢出之前,缓冲器可以接收两条以上报文(最多64个字节)。
4)CAN 2.0B协议。SJA1000被设计为全面支持CAN 2.0B协议,这说明在处理扩展帧的同时,也实现了扩展振荡器容差。在BasicCAN模式下只可以发送和接收标准帧(11位标识符)。如果此时检测到CAN总线上有扩展帧(29位标识符),并且报文正确,则该报文也会被允许且给出一个确认信号,但没有接收中断产生。
(2)PeliCAN模式
在PeliCAN模式下,SJA1000有一个含很多新功能的重组寄存器。SJA1000包含了设计在PCA82C200中的所有位及一些新功能位,PeliCAN模式支持CAN 2.0B协议规定的所有功能(29位标识符)。
SJA1000的主要新功能:
·接收、发送标准帧和扩展帧格式信息。
·接收FIFO(64个字节)。
·用于标准帧和扩展帧的单/双接收过滤器(含屏蔽和代码寄存器)。
·读/写访问的错误计数器。
·可编程的错误限制报警。
·最近一次的误码寄存器。
·对每一个CAN总线错误的错误中断。
·具有详细位号的仲裁丢失中断。
·一次性发送(当错误或仲裁丢失时不重发)。
·只听模式(CAN总线监听,无应答,无错误标志)。
·支持热插拔(无干扰软件驱动的位速率检测)。
·硬件禁止CLKOUT输出。
4.BasicCAN地址分配
SJA1000对微控制器而言是内存管理的I/O器件。两器件的独立操作是通过像RAM一样的片内寄存器修正来实现的。
SJA1000的地址区包括控制段和报文缓冲器。控制段在初始化加载时,是可被编程来配置通信参数的(如位定时等)。微控制器也是通过这个段来控制CAN总线上的通信的。在初始化时,CLKOUT信号可以被微控制器编程指定一个值。
应发送的报文写入发送缓冲器。成功接收报文后,微控制器从接收缓冲器中读出接收的报文,然后释放空间以便下一次使用。
微控制器和SJA1000之间状态、控制和命令信号的交换都是在控制段中完成的。初始化加载后,寄存器的接收代码、接收屏蔽、总线定时寄存器0和总线定时寄存器1以及输出控制就不能改变了。只有控制寄存器的复位位被置高时,才可以访问这些寄存器。
在复位模式和工作模式中访问寄存器是不同的。当硬件复位或控制器掉电时会自动进入复位模式。工作模式是通过置位控制寄存器的复位请求位激活的。
BasicCAN地址分配见表7-21。
表7-21 BasicCAN地址分配表
相关推荐