0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MCS96系列单片机在串行通讯中的应用

电子设计 来源:甘肃科技 作者:张琳;李兰崇 2020-04-06 07:00 次阅读

1 、前言

CAN 是国际上应用很广泛的一种现场总线,MCS96 系列单片机是目前在工业界推广应用较广泛的嵌入式控制器,其87C196CA 单片机内核本身带有CAN 控制器,支持标准和扩展的信息帧,即遵循CAN2.0A 和CAN2.0B 协议。由此而构成的CAN 总线支持分布式控制和实时控制,其串行通信方式灵活可靠,传输距离较远。由于CAN 总线具有通信速率高、工作可靠性高、现场抗干扰能力强、网络连接方便和性能价格比高等优点,在汽车发动机控制部件、汽车抗滑系统、工业自动化、机床、电梯控制等领域得到了较为广泛的应用。

2 、硬件构成

2. 1 CAN 总线连接

基于CAN 总线的两个87C196 单片机网络联接时,分别将单片机的CAN接收、发送两根线通过PCA82C250 CAN总线收发器联接到CAN总线上,构成多微控制器CAN总线连接。通信介质可以是双绞线、同轴电缆或光纤,其总线连接如图1 所示。

基于MCS96系列单片机在串行通讯中的应用

该网络最高通信速率为1Mbit/s ,当传输速率为5Kbit/s时,最大通信距离可达10Km。在其CAN 总线上可挂接多达110 个网络节点,而网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息。其数据传输和接收可以是点对点、一点对多点或全局广播等方式进行。

2. 2 87C196CA 单片机

87C196CA 是集成CAN2.0B总线控制器的高性能16 位微处理器,特别适用于现场实时事件控制和分布式控制。片内的CAN 控制器与Intel 82527独立CAN 控制器在软件上是兼容的,每个CAN 控制器的输入、输出引脚由二根双绞线联接到CAN总线上。CAN 控制器由一个输入引脚(RXCAN) 、一个输出引脚( TXCAN) 、控制和状态寄存器,错误探测和管理逻辑组成。图2 为CAN 控制器方框图。

基于MCS96系列单片机在串行通讯中的应用

2. 3 CAN 总线收发器

PCA82C250 是CAN协议控制器和物理传输线路之间的接口,是影响网络性能的关键因素。它对总线提供差动发送能力,并对CAN控制器提供差动接收能力,其最高传输速率可达1Mbit/s。其主要特点是芯片内部具有限流电路,可以防止输出级对电源、地或负载短路;由于采用差动接收发方式,因此有较强的抗电磁干扰能力;具有低电流节电待机工作模式;该CAN总线收发器至少可以连接110个节点。利用PCA82C250还可以方便地在CAN控制器与驱动器之间建立光电隔离, 以实现总线上各节点间的电气隔离。[page]

3 、通讯软件

对于通过CAN 总线连接的单片机之间的通讯软件编程需要定义一系列的控制字,并在两个单片机上进行配置。即首先进行上电初始化,定义CAN控制寄存器,定义位定时寄存器选择CAN 的通讯速率,定义信息体屏蔽寄存器选择接收对象。其次对信息体进行初始化,分别定义两个信息体工作模式、发送字节数、选择CAN2.0A 或CAN2.0B 方式。其程序代码

/ *CAN 控制器初始化*/

can_con = 0x41 ; / *CAN 控制器CCE 位置1 ,

则可以定义CAN 定器* /

can_ btime0 = 0x41 ; /* 定义CAN 定时器

250 Kb/ s * /

can_btime1 = 0x67 ;

can_con = 01 ; / *允许对CAN 控制器进行软

件初始化* /

can_sgmsk = 0x0 ; / * 定义标准CAN 通讯格

式的屏蔽控制字,所有位都不滤纸*/

can_msg1con0 = 0x55 ; / * 信息体1 控制器0

初始化* /

can_msg1con1 = 0x55 ; / * 信息体1 控制器1

初始化* /

can_msg1cfg = 0x88 ; / *定义信息体1 为发

送,发送8 字节,标准CAN 格式* /

can_msg1id = 0xc8c8c8c8 ; / * 信息体1 标识

寄存器初始化标识符为c8c8c8c8 ;

can_ msg1con0 = ox95 ; / * 信息体1 控制器

0MSGVAL 位置1 ,标明信息体1 有效* /

can_msg2con0 = 0x55 ; / * 信息体2 控制器0

初始化* /

can_msg2con1 = 0x55 ; / *信息体2 控制器1

初始化* /

can_msg2cfg = 0x80 ; / *定义信息体2 为接

收,接收8 字节,标准CAN 格式* /

can_msg2id = 0xc8c8c8c8 ; / *信息体2 标识

寄存器初始化标识符为c8c8c8c8 */

can_ msg2con0 = ox95 ; / * 信息体2 控制器

0MSGVAL 位置1 ,标明信息体2 有效 */

can_con = 0x02 ; / * CAN 控制器软件初始化

完成*/

/ *发送8 字节数据: * /

can_msg1con1 = 0x5a ; / * CPUUPD 置1 ,使

软件刷新数据,NEWDA T 置1 使信息置1 使信息

体有效* /[page]

can_msg1data0 = 0x00 ; / * 给信息体1 第1 个

数据赋值* /

can_msg1data1 = 0x11 ; / * 给信息体1 第2 个

数据赋值3*/

can_msg1data2 = 0x22 ; / * 给信息体1 第3 个

数据赋值 */

can_msg1data3 = ox33 ; / * 给信息体1 第4 个

数据赋值* /

can_msg1data4 = 0x44 ; / * 给信息体1 第5 个

数据赋值* /

can_msg1data5 = 0x55 ; / * 给信息体1 第6 个

数据赋值* /

can_msg1data6 = 0x66 ; / * 给信息体1 第7 个

数据赋值*/

can_msg1data7 = ox77 ; / *给信息体1 第8 个

数据赋值*/

/ *接收8 字节数据: */

can_msg2cfg = 0x80 ;

can_msg2id = oxc8c8c8c8 ;

can_msg2con1 = 0x55 ;

can_msg2con0 = 0x99 ;

4、 结束语

基于CAN 总线的16 位87C196CA 单片机串行通讯,由于运用CAN 总线技术,使电路设计简化、紧凑、极大地提高了系统的可靠性、实时性,系统抗干扰性能强,成本较低,性能安装比高、安装维护简洁方便,更适于车辆控制、工厂自动化控制、电梯控制、医疗设备等,具有非常广阔的应用前景。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43948

    浏览量

    620551
  • 收发器
    +关注

    关注

    10

    文章

    2966

    浏览量

    104707
  • 总线
    +关注

    关注

    10

    文章

    2695

    浏览量

    87156
收藏 人收藏

    评论

    相关推荐

    MCS系列单片机串行接口应用(3)#单片机

    单片机mcs
    未来加油dz
    发布于 :2023年08月08日 20:28:08

    MCS系列单片机串行接口概述(2)#单片机

    单片机mcs
    未来加油dz
    发布于 :2023年08月08日 20:29:47

    MCS-51系列单片机实用接口技术-电子书(免费下载哦)

    设计与实践第九章 A/D转换器与MCS-51单片机的接口设计与实践 第十章 V/F转换器接口技术 第十一章 串行通讯按日技术第十二章应用系统设计
    发表于 12-23 14:30

    MCS-51系列和80C51系列单片机的区别

    推出有MCS-48、MCS-51、MCS-96系列单片机MCS-51
    发表于 08-12 00:32

    单片机复位电路的可靠性分析

    自动化、航空航天等领域。市场上比较流行的单片机种类主要有Intel公司、Atmel公司和Philip公司的8051系列单片机,Motorola公司的M6800系列
    发表于 10-23 11:13

    基于Visual Basic6.0下PCMCS-51单片机串行通信

    Visual Basic6.0编程环境下,利用Win32应用序接(WIN32 API)的通信API开发了PC串行通信程序,以MCS-51单片机
    发表于 03-05 13:05

    MCS96系列单片机

    MCS96系列单片机  优先级结构的特点  MCS96
    发表于 03-16 17:36

    MCS96系列单片机

    MCS96系列单片机  优先级结构的特点  MCS96
    发表于 03-16 17:58

    基于MCS—51单片机串行通信技术(xin)

    基于MCS—51单片机串行通信技术(xin)
    发表于 08-17 16:41

    mcs-96系列单片机

    求助,96单片机,求指导一下发送程序!!!!!!!!!!!!!!!!CHKCOM:LDB sd3,#0BBH ;send 'BB' frame to checkLDsdsum,#13BH LDB
    发表于 07-29 11:35

    MCS-51系列单片机的基本硬件结构

    **MCS-51系列单片机的基本硬件结构**何为单片机单片机的诞生标志着计算机的发展已经形成了通用计算机系统和嵌入式计算机系统两大分支。作
    发表于 11-24 06:35

    MCS-51系列单片机分类

    MCS-51系列单片机MCS-51系列单片机分为两大系列
    发表于 11-30 06:47

    MCS-51系列单片机型号

    0·本文引自《嵌入式和单片机系统》MCS是Intel公司单片机系列符号。Intel推出有MCS-48、
    发表于 12-01 07:28

    采用段式管理的大容量外部RAM扩展技术

    MCS96系列单片机的应用开发中,经常会遇到需要大容量的数据存储器的情况。本文针对MCS96系列单片机
    发表于 04-13 10:11 15次下载

    MCS-96单片机的应用系统设计基础

    内容提要: MCS-96单片机的应用系统设计基础 硬件电路设计,语言的设计基础,程序分析 PL/M-96可执行语句和程序等等.... 第一章 概述 1.1 单片机应用系统的结构 1.2
    发表于 10-29 08:58 78次下载
    <b class='flag-5'>MCS-96</b><b class='flag-5'>单片机</b>的应用系统设计基础