基于单片机的can总线通讯实现内容摘要:

成后, RST 脚输出 96 个晶振周期的高电平。 特殊寄存器AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。 DISRTO 默认状态下,复位高电平有效。  ALE/PROG:地址锁存控制信号( ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。 在 flash 编程时,此引脚( PROG)也用作编程输入脉冲。 在一般情况下, ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 然而,特别强调,在每次访问外部数据 存储器时, ALE脉冲将会跳过。 如果需要,通过将地址为 8EH的 SFR 的第 0位置 “ 1”, ALE操作将无效。 这一位置 “ 1”, ALE 仅在执行 MOVX 或 MOVC 指令时有效。 否则, ALE 将被微弱拉高。 这个 ALE 使能标志位(地址为 8EH 的 SFR 的第 0位)的设置对微控制器处于外部执行模式下无效。  PSEN:外部程序存储器选通信号( PSEN)是外部程序存储器选通信号。 当AT89S52 从外部程序存储器执行外部代码时, PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时, PSEN 将不被激活。 EA/VPP:访问外 部程序存储器控制信号。 为使能从 0000H 到 FFFFH 的外部程序存储器读取指令, EA必须接 GND。 为了执行内部程序指令, EA 应该接 VCC。 在 flash 编程期间,EA也接收 12伏 VPP 电压。  XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。  XTAL2:振荡器反相放大器的输出 CAN 总线收发器 PCA82C250 是 CAN 协议控制器和物理总线的接口这个器件对总线提供不同的发送能力和对 CAN 控制器提供不同的接收能力。 图 24 82C250引脚结构 表 23 82C250引脚管脚功能描述 图 25 82C250方框图 标记 管脚 功能描述 TXD 1 1 发送数据输入 GND 2 2 接地 VCC 3 3 提供电压 RXD 4 4 接收数据输出 Vref 5 5 参考电压输出 CANL 6 6 低电平 CAN电压输入 /输出 CANH 7 7 高电平 CAN电压输入输出 RS 8 8 Slope 电阻输入 功能描述: PCA82C50 是 CAN 协议控制器和物理总线的接口,它主要用于汽车里的高速应用 (高达 1Mbaud)。 这个器件对总 线提供不同的发送能力和对 CAN 控制器提供不同的接收能力完全和 ISO11898 标准兼容。 限定的电流值保护接收器输出级,避免阳极和阴极的短路,尽管在默认的条件下功率消耗是增加的这个特征值将防止发送器输出级的毁坏。 如果节点温度超过大约 160 摄氏度 , 发送器限定的电流值输出被降低因为发送器占去大部分的功率消耗,这将导致降额功耗和较低的片内温度, IC 中的其它部分在使用中将保持不变,当总线短路的时候热保护非常需要。 这个 CANH CANL 线也被保护防止自动运作过程中电流的瞬变。 表 24 CAN收发器真值表 提供 TXD(发送 ) CANH CANL 总线状况 RXD 接收 0 高 低 控制 0 1(或悬空) 悬空 悬空 接收 1 2V(未上电 ) X 悬空 悬空 接收 X 2VVCC VCC 悬空 悬空 接收 X 2VVCC X 若 VRS悬空 若 VRS悬空 接收 X 注意: X=随意值 表 25 管脚 RS 真值表 在 RS管脚上 强制条件模式 在 RS管脚上电压和电流 VRS 备用 IRS| 10 A| 10 A IRS 200 A 斜率控制 VRS VRS 高速 IRS 500 A 管脚 8 RS 有三种不同的工作模式可被选择 : 高速,备用,斜率控制。 对于高速工作模式,发送器输出级晶体管被尽可能地快启动和关闭,在这种模式下,没有措施用于限制上升和下降的斜度。 建议使用屏蔽电缆可避免 RFI 这种问题。 通过把管脚 8 接地选择这个模式。 对于低速或较短的总线长度,可使用一种没有屏蔽的双绞线或平行线。 对于降低 RFI,上升和下降的斜率是个限定值,上 升和下降的斜率能够被编程,通过从管脚 8 接一个电阻至地,这个斜率和管脚 8 的电流输出成比例。 如果高电平被接至管脚 8 ,电路进入低电流保护模式。 在这种模式下,发送器被关闭,接收器开至低电流。 如果控制位被检测 (不同的总线电压 ), RXD 将被开至低电平。 这个微型控制器应对这个条件有所反应,通过转换收发器至正常工作状态。 (经过管脚 8)因为这个接收器在备用模式下比 较慢,第一条信息会丢失掉。 CAN 总线控制器 CAN总线控制器选用 SJA1000, SJAl000是一个独立的控制器,有两种不同的模式。 (1)BasicCAN模式:系统上电后默认的模式,与 PCA82C200兼容。 (2)PeliCAN模式:支持。 图 26 SJA1000引脚结构 SJAl000功能模块主要有:接口管理逻辑、接收 FIFO队列、接收滤波器、发送缓冲器和 CAN核心模块。 CAN核心模块基于 CAN帧的发送和接收。 逻辑管理 接口实现与外部单片机的连接。 SJAlO00的发送缓冲器可以存储一个完整的报文,当单片机开始一个传送时,逻辑管理接口会使 CAN核心模块读发送缓冲器的数据,依照。 当收到一个报文时, cAN核心控制模块将连续的位转换为标准的数据存放于接收过滤器中,通过验收码寄存器、验收屏蔽寄存器进行过滤处理,将符合标志位要求的数据放人接收 FIF0队列中 以下为 SJA1000芯片的特点:  管脚及电气特性与独立 CAN总线控制器 PCA82C200兼容;  软件与 PCA82C200兼容(缺省为基本 CAN模式);  扩展接收缓冲器( 64字节 FIFO);  支持 ;  同时支持 11位和 29位标识符;  位通讯速率为 1Mbits/s。  增强 CAN 模式( PeliCAN)。  采用 24MHz时钟频率;  支持多种微处理器接口;  可编程 CAN输出驱动配置;  工作温度范围为 40~ +125℃。 图 27 SJA1000内部结构图 从芯片的结构图中可以看出, SJA1000型独立 CAN总线控制器由以下几部分构成 : ( 1)接口管理逻辑:它接收来自微处理器的命令,控制 CAN寄存器的地址,并为微处理器提供中断和状态信 息。 ( 2)发送缓冲器:有 13字节长。 它位于 CPU和位流处理器( BSP)之间,能存储一条将在 CAN总线上发送的完整的报文,报文由 CPU写入,由 SBP读出。 ( 3)接收缓冲器( RXB、 RXFIFO):它是 CPU和接收滤波器之间的接口,用来存储从 CAN总线接收并通过了滤波的报文。 接收缓冲器 RXB是提供给 CPU可访问的 13字节的窗口,这个窗口是属于接收 FIFO( RXFIFO)的一部分,共由 64字节长。 有了这个 FIFO,可以在 CPU处理一个报文的同时继续接收其他到来的报文。 ( 4)接收滤波器:它把报文头中的标 识符和接收滤波寄存器中的内容进行比较,以判断文报文是否被接收。 如果被接收,报文存入 RXFIFO。 ( 5)位流处理器:它是一个控制发送缓冲器、 RXFIFO并行数据和 CAN总线(串行数据)之间数据的序列发生器,同时。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。