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


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

    关注

    6044

    文章

    44632

    浏览量

    639393
  • 收发器
    +关注

    关注

    10

    文章

    3485

    浏览量

    106317
  • 总线
    +关注

    关注

    10

    文章

    2908

    浏览量

    88489
收藏 人收藏

    评论

    相关推荐

    MCS-96系列单片机中断优先级的控制方法

    MCS96系列单片机的中断系统颇具特色,其中断优先级的控制极具灵活性,用户可采用软、硬件结合的方法随心所欲地安排各类中断源的优先级。
    发表于 05-03 16:36 2579次阅读

    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

    MCS96系列单片机

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

    MCS96系列单片机

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

    MCS-51系列单片机型号

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

    MCS-51系列单片机的结构和原理

    2.1  MCS-51系列单片机概述 2.1.1  MCS - 51系列单片机
    发表于 12-20 02:16 31次下载
    <b class='flag-5'>MCS</b>-51<b class='flag-5'>系列</b><b class='flag-5'>单片机</b>的结构和原理

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

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

    串行EEPROMMCS 51单片机系统的应用

    通过介绍串行EEPR0M芯片在MCS.51单片机系统的应用,为单片机应用数据存储器的扩展,提供一个新的理念,从而有效地提高了
    发表于 12-01 11:39 49次下载

    MCS—51系列单片机结构及原理

    MCS—51系列单片机组成及工作原理 基本内容2.1 MCS-51单片机基本组成2.2 MCS
    发表于 04-14 14:50 44次下载

    Neuron芯片与MCS-251系列单片机串行通信的实现

    摘要: 介绍一种基于MCS 251系列单片机的LON节点 ,它利用MCS 251 系列单片机
    发表于 07-26 12:31 19次下载

    CRC差错检验法PC与8031单片机串行通讯的应用

    CRC差错检验法PC与8031单片机串行通讯的应用摘  要  通过对不
    发表于 03-14 16:44 764次阅读
    CRC差错检验法<b class='flag-5'>在</b>PC<b class='flag-5'>机</b>与8031<b class='flag-5'>单片机</b><b class='flag-5'>串行</b><b class='flag-5'>通讯</b><b class='flag-5'>中</b>的应用

    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>的应用系统设计基础

    SPI总线的组成及其51单片机系统的实例分析

    MCS51系列MCS96系列单片机由于都不带SPI串行总线接口而限制了其
    发表于 11-16 13:31 3次下载
    SPI总线的组成及其<b class='flag-5'>在</b>51<b class='flag-5'>单片机</b>系统<b class='flag-5'>中</b>的实例分析

    MCS51单片机的型号与组成

    MCS - 5 1 系列单片机简介MCS - 5 1 单片机型号命名规则MCS - 5 1
    发表于 11-12 14:51 8次下载
    <b class='flag-5'>MCS</b>51<b class='flag-5'>单片机</b>的型号与组成