金鱼藻是什么植物| 液体套是什么| 女娲为什么要补天| 老气横秋是什么意思| 晒单是什么意思| 吃什么白头发变黑| 物以类聚是什么意思| 焦亚硫酸钠是什么| seifini是什么牌子| 四风是什么| 拎不清是什么意思| 高危性行为是什么意思| 杭州有什么| 横纹肌溶解症是什么原因造成的| 脾虚湿盛吃什么药| 哺乳期头痛可以吃什么药| 腘窝囊肿是什么原因引起的| 牙肿了吃什么消炎药| 走路对身体有什么好处| 妇炎康片主要治什么妇科病| 517是什么意思| 低血压什么症状| 羊宝是什么| 仙女下凡是什么生肖| 喝芝麻糊有什么好处| 什么牌子好| 毓读什么| 葫芦什么时候成熟| 四海扬名是什么生肖| 什么的公园| 大葱炒什么好吃| 接站是什么意思| 什么叫痤疮| 难舍难分是什么意思| ca724偏高是什么意思| 四个人念什么| 放是什么偏旁| 准将是什么级别| 兹禧属什么生肖| 练字用什么笔好| 外周动脉僵硬度增高什么意思| 右肩膀疼痛是什么原因| 石敢当是什么意思| 太平天国失败的根本原因是什么| 用什么刷牙能使牙齿变白| 吃什么可以长高| 父母都是b型血孩子是什么血型| 哦什么意思| 失去理智什么意思| 大便绿色的是什么原因| 高血压有什么症状表现| 为什么会得麦粒肿| 孕妇吃什么菜好| 属兔的守护神是什么菩萨| 冲鸡蛋水喝有什么好处| 败血症是什么病| 做梦梦见屎是什么意思| 子宫肌瘤吃什么食物好| 吃完饭就想吐是什么原因| 918是什么星座| 买车选什么品牌| 流汗多是什么原因| 郑板桥是什么生肖| 皮肤暗黄是什么原因造成的| 怀孕为什么会流血| o型血孩子父母是什么血型| 避免是什么意思| 预防中暑喝什么水| hpv11阳性是什么意思| thenorthface是什么牌子| 遇上方知有什么意思| 脑梗有什么症状前兆| 绝世是什么意思| 菌血症是什么病| 梦到抓了好多鱼是什么意思| 吃奇亚籽有什么好处| 放疗是什么意思| 诺是什么意思| 绿豆的功效与作用是什么| 什么是国企单位| 小孩晚上磨牙是什么原因引起的| 天铁是什么| 包皮炎吃什么消炎药| aps是什么意思| 查血糖是什么检查项目| 嘴歪是什么引起的| 早醒是什么原因| 320是什么意思| 白色鼻毛是什么原因| 肛裂是什么感觉| 女生两个月没来月经是什么原因| 2008年属什么| 孔雀蓝配什么颜色好看| 卡尔文克莱恩是什么牌子| 考上公务员意味着什么| 什么黄| 什么样的柳树| 蜂蜜什么时候喝最好| 芽孢是什么| 掉链子是什么意思| 衿字五行属什么| 沙拉酱是用什么做的| 火字旁的字有什么| 减肥期间吃什么水果好| 肾虚吃什么中成药| 丁二醇是什么| 蛇最怕什么药| 什么木材有香味| 家里进蛇有什么预兆| 仗剑走天涯什么意思| 贪小失大什么意思| 氧气湿化瓶里加什么水| 总蛋白偏低是什么意思| 弥留之际什么意思| 宫内积液什么意思| 吃什么补血| 笨什么笨什么| 喝雄黄酒是什么节日| 尿频是什么原因引起的| 什么是指标生| 手术后吃什么营养品好| 孕妇吃黑芝麻对胎儿有什么好处| 暂告一段落是什么意思| 脑梗有什么症状| 脸上长癣是什么原因造成的| 汉防己甲素片治什么病| 应届毕业生是什么意思| 梦见戴孝是什么意思| 紫癜是什么病严重吗| 锄禾是什么意思| 谷雨是什么季节| 人体最大的免疫器官是什么| 笑点低的人说明什么| goldlion是什么档次| 手淫是什么意思| 女人绝经后靠什么排毒| 溦是什么意思| 养字五行属什么| 书中自有颜如玉什么意思| zhr是什么牌子的鞋| 喝什么减肥| 恬静是什么意思| 吃什么能排结石| 黄连泡水喝有什么功效| 茄子能治什么病| 贻笑大方是什么意思| 晚上睡觉口干是什么原因| 情人的定义是什么| 天壤之别是什么意思| ivy是什么意思| 手臂酸痛什么原因| 海姆立克急救法是什么| 地藏菩萨的坐骑是什么| 胎儿缺氧孕妇会有什么反应| 交警支队长是什么级别| 右边肚子疼是什么原因| 盛是什么意思| 殇字是什么意思| 愚蠢是什么意思| 三点水加邑念什么| 什么是汉服| 免运费是什么意思| 碗莲什么时候开花| 宫内囊性回声代表什么| 什么叫种草| 包罗万象是什么意思| 人见人爱是什么生肖| 梦到自己开车是什么意思| 手麻是什么引起的| 睡眠不足会引起什么症状| 手上有红点是什么原因| 左侧附件区囊性回声是什么意思| 婆娑是什么意思| 拉拉秧学名叫什么| 脸上长痘是什么原因| 头昏是什么原因| 失眠是什么原因引起的| 境遇是什么意思| 黑户是什么| 颈椎病有些什么症状| 敲打是什么意思| 吃什么补维生素d| 扩胸运动有什么好处| 天龙八部是指佛教中的什么| 狗鱼是什么鱼| 婴儿流口水是什么原因引起的| 眼睛无神呆滞什么原因| 检查肺部应该挂什么科| 樊胜美是什么电视剧| 大姨妈来了可以吃什么水果| 鼠疫是由什么引起的| 甄别是什么意思| 皂基是什么| 你喜欢我什么我改| 什么中药可以降糖| 什么是辟谷| 乳头发黑是什么原因| 男人下面有异味什么原因| 下载什么软件可以赚钱| 94年属什么的| 吕布属什么生肖| 喝黄芪水有什么好处| 垣什么意思| 芹菜可以炒什么| 痛风什么东西不能吃| 身体冒虚汗什么原因| 睡觉天天做梦是什么原因| 一个月来两次大姨妈是什么原因| 三百多分能上什么大学| 生性是什么意思| 肋间神经炎吃什么药| 什么牌子的益生菌调理肠胃比较好| 小腹胀是什么原因女性| 喇叭裤配什么上衣| 顺子是什么意思| 孕妇用什么牙膏比较好| 什么饮料健康| 反流性食管炎吃什么中成药| 脸上长疙瘩是什么原因| 非洲讲什么语言| 这是为什么| 肠道菌群失调吃什么药| 高血糖吃什么菜好| 一什么颜色| 蛋白尿是什么| 怀孕天数从什么时候算起| 什么首阔步| 什么是结缔组织| 为什么头发突然秃了一块| 形影不离是什么意思| 墨西哥人是什么人种| pcv是什么意思| 避孕药是什么原理| 呵呵是什么意思| 凝血功能是什么意思| 扁平息肉属于什么性质| 事倍功半的意思是什么| 眼睛痛吃什么药好得快| 什么样的人容易中风| 来月经为什么会肚子痛| 尿酸高适合喝什么汤| 什么手机信号最好最强| 肝郁脾虚吃什么中成药| 面子是什么意思| 早上11点是什么时辰| 电解水是什么水| 鲜花又什么又什么| ga是什么意思| 四件套包括什么| 头晕冒汗是什么原因| 易激惹是什么意思| 尿崩症是什么症状| 乡镇党委书记是什么级别| 今天是什么甲子| 高血糖吃什么降得快| 一什么河| 什么的山谷| 君子兰不开花是什么原因| 老年人生日送什么礼物| 驴血是什么颜色| 7月10日是什么星座| 结婚12年是什么婚| 身体出虚汗是什么原因| 夏天流鼻血是什么原因| 百度
关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > P87C591内嵌CAN控制器的应用设计

中国空军发布歼-16战机宣传片和纪念封

作者: 时间:2025-08-04 来源:网络 收藏
摘要:独立的芯片需要外接一个微处理器,接受外部CPU的控制才能运行。如果微处理器内部带有,无疑会大大简化系统的硬件,系统的可靠性也有很大提高 ,同时还可以大幅度降低生成成本。Philips的新产品内部集成了。本文主要介绍如何利用进行CAN节点的百度   是价格歧视,还是价格机制?  对于大数据歧视这种现象,专家也有不同观点。

关键词: CAN 节点 PeliCAN

引言

CAN属于总线式串行通信网络。由于其独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。CAN总线早已成为国际标准,其应用范围也从最初的汽车电控逐步扩展到工业控制的各个领域,成为最有前途的现场总线之一。CAN总线上的节点一般采用单片机外加CAN控制器的设计方法,不利于产品的集成和成本的降低。现在Philips公司推出的P87C591集成了CAN控制器SJA1000。本文将详细介绍基于P87C591的CAN智能节点软硬件设计及其应用。

1 P87C591简介

P87C591有44个引脚,是一个单片8位高性能微控制器,具有片内CAN控制器。它从MCS-51微控制器家族派生而来,采用了强大的80C51指令集并包括了Philips半导体SJA1000 CAN控制器的PeliCAN功能。全静态内核提供了扩展的节点方式。振荡器可停止和恢复而不丢失数据。改进的1:1内部时钟分频器,在12MHz外部时钟速率是实现500ns指令周期。中央处理器CPU使用的操作数来自3个存储空间:16KB内部程序存储器,可扩展到64KB;512B内部数据存储器;最大64KB外部数据存储器。图1为P87C591的功能框图。

有关芯片的引脚定义和更多的扩展功能可参阅P87C591芯片资料,在此不多讲。芯片引脚P3.0和P3.1作为复用脚使用,除了具有普通C1单片机功能外,还可分别复用为CAN的RxD和TxD输入输出脚。

P87C591包括Philips半导体公司的独立CAN控制器SJA1000具有的所有功能,并在此基础上扩展了以下功能:①增强的CAN接收中断,有接收缓冲区级的接收中断;用于接收中断的高优先级验收滤波器。②扩展的验收滤波器,8个滤波器用于标准帧格式,4个滤波器用于扩展帧格式;验收滤波器的“运行中改变”特性。

图1

2 PeliCAN控制器的CPU之间的通信

CPU与CAN之间的接口功能框图如图2所示。80C51CPU接口将PeliCAN与P87C591微控制器内部总线相连,通过5个特殊功能寄存器CANADR、CANDAT、CANMOD、CANSTA和CANCON对PeliCAN寄存器和RAM区进行快捷的访问。由于支持大范围的地址,基于寻址的间接指针允许使用自动增加模式对寄存器进行快速访问,这样就将所需的SFR的数目减少到5个。需要注意的是,CANCON和CANSTA根据访问方向的不同而具有不同的寄存器结构。PeliCAN寄存器可以通过两种不同的访问访问。那些控制CAN主要功能最重要的几个寄存器,支持软件轮询,可以像单独的SFRs一样直接访问;而PeliCAN模块中的其它部分通过一个间接的指针机制进行访问。为了达到高数据吞吐量,在使用间接寻址时也包含了地址增加的特性。

3 特殊功能寄存器

下面简要介绍5个特殊功能寄存器。

①CANDAR。该读/写寄存器定义通过CANDAT访问的PeliCAN内部寄存器的地址,可以将其解释为对PeliCAN的一个指针。对PeliCAN块寄存器的读/写访问通过CANDAT寄存器执行。通过地址自动增加模式,为CAN控制寄存器提供了快速的类似栈的读/写。如果CANADR内当前定义的地址大于或等于32(十进制),CANADR的内容在任意对CANDAT读/写操作后自动增加。例如,将一个信息装入发送缓冲区可通过将发送缓冲区的首地址(112)写入CANADR,然后将信息字节一个接一个写入CANDAT。CANADR超过FFH后复位为00H。如果CANADR小于32,不会执行自动地址增加。即使CANDAT执行读或写,CANADR的值仍保持不变。这允许在PeliCAN控制器的低地址空间进行寄存器轮询。

②CANDAT CANDAT作为一个读/写寄存器。特殊功能寄存器CANDAT看上去是对CANADR所选的CAN控制器内部寄存器的一个端口。对CANDAT寄存器的读写等效于对该内部寄存器的访问。需要注意的是,如果CANADR中当前的地址大于等于32,那么任何对CANDAT的访问将使LANADR自动增加。

③CANMOD对PeliCAN模块寄存器CANMOD是直接进行读写访问的,模式寄存器位于PeliCAN模块中的地址00H。

④CANSTA根据访问方向的不同,CANSTA提供对PeliCAN的状态寄存器和中断使能寄存器的直接访问。对CANSTA的读操作是对PeliCAN的状态寄存器(地址2)进行访问。对CANSTA的写操作是对中断使能寄存器(地址4)进行访问。

⑤CANCON。根据访问方向的不同,CANCON提供对PeliCAN的状态寄存器中断使能寄存器的直接访问。对CANSTA的CANSTA的读操作是对PeliCAN的状态寄存器(地址2)进行访问。对CANSTA的写操作是对中断使能寄存器(地址4)进行访问。

4 基于P87C591的CAN节点接口应用电路

基于87C591的CAN节点接口应用电路十分简单,只需要附加一些CAN收发电路就可以进行CAN总线数据传输。CAN收发芯片采用philips公司的TJA1050收发器。为了增强CAN总线节点的抗干扰能力 ,SJA1000的TX0和RX0并不是直接与TJA1050的TXD和RXF相连,而是通过高速光电耦合器6N167与TJA1050相连。这样,就可以很好地实现总线上的总CAN节点间的电器隔离。不过,应该特别说明的一点是,光电耦合器采用的是两个独立的电源供电,电源Vcc和CAN_V必须完全隔离,否则光耦也就失去了意义。电源的完全隔离可采用小功率的电源隔离模块或通过带多路5V隔离输出的开关电源模块实现。这样虽然电路复杂些,但却提高了节眯的稳定性和安全性,具体节点电路如图3所示。

图3

5 CPU对PeliCAN的软件访问

除了CANMOD、CANSTA、CANCON等PeliCAN常用特殊寄存器可以进行直接读/写访问除外,所有其它的CAN寄存器都需要进行间接寻址。CANADR寄存器指向PeliCAN寄存器的地址,在写操作时将要送到被寻址寄存器的数据写入CANDAT;读操作时被寻址寄存器的数据可以从CANDAT中读出。下面的例子说明了对PeliCAN寄存器的直接和间接寻址功能。

/*模式寄存器的直接寻址*/

CANMOD=0x01;/*位RM置1进入复位模式*/

/*对位定时寄存器0和1的间接寻址*/

CANADR=BTR0;/*将地址设置到BTR0寄存器*/

CANDAT=0x45;/*将数据写入BTR0寄存器*/

CANADR=BTR1;/*将地址设置到BTR1寄存器*/

CANDAT=0x2B;/*将数据写入BTR1*/

下面给出上述节点电路的CAN初始化部分的程序。该程序可以直接应用到其它的系统程序之中。初始化部分的源程序如下:

#includereg591.h>

void ini_can_controller(void)

{

CANMOD=0x01;/*进入复位模式,启动CAN初始化*/

P1M2=P1M2 I 0x02;/*引脚TXDC设置为推挽模式*/

CANSTA=0x03;/*使能接收和发送中断*/

CANADR=BTR0;/*BTR0和BTR1编程为125kb/s,在12MHz条件下*/

CANDAT=0x45;

CANADR=BTR1;/*TSEG1=12,TSEG2=3,SJW=2*/

CANDAT=0x2B;/*用户可根据具体的CAN网络来调整BTR0、BRT1的参数*/

CANADR=AMR10;/*设定接收屏蔽寄存器的址*/

CANDAT=0xFF;/*Bank1:与接收屏蔽寄存器1无关,允许任何数据通过滤波器*/

CANDAT=0xFF;/*Bank1:与接收屏蔽寄存器无关,允许任何数据通过滤波器*/

CANDAT=0xFF;/*Bank1:与接收屏蔽寄存器3无关,允许任何数据通过滤波器*/

CANDAT=0xFF;/*Bank1:与接收屏蔽寄存4无关,允许任何数据通过滤波器*/

CANADR=ACFMODE;/*设定接收滤波器模式寄存器的地址*/

CANDAT=0x01;/*设定BANK1为单滤波模式,标准帧*/

CANADR=ACFENA;/*设定接收滤波器使能寄存器的地址*/

CANDAT=0x01;/*使能BANK1的滤波器*/

CANMOD=0x00;/*请求进入CAN的激活模式*/

while(CANSTA 0x80);/*等待总线激活*/

}

结语

在CAN网络节点的设计中,使用集成的CAN控制器是大势所趋。本文从硬件和软件的角度对CAN控制器(SJA1000)的P87C591进行了详细的介绍。不仅给出了P87C591 CAN应用的外围电路接法,还给出了应用的初始化程序,这为以后的系开发提供了一个很好的基础。



评论


相关推荐

技术专区

关闭
舌头口腔溃疡是什么原因引起的 贵格是什么意思 左右逢源是什么生肖 吃什么卵泡长得快又圆 长时间憋尿会有什么影响
内分泌失调看什么科 脾虚吃什么食物补最快 肺部检查应该挂什么科 什么习习 酉时是什么时候
舌苔厚黄是什么原因 抗生素是什么意思 角膜炎吃什么消炎药 乘风破浪的意思是什么 腹泻吃什么药最有效
什么人容易得心肌炎 什么的叫 什么叫基因检测 五险一金包括什么 dob是什么意思
闰月给父母买什么hcv9jop8ns0r.cn 大虾炒什么菜好吃hcv9jop6ns3r.cn 88年的属什么hcv8jop2ns8r.cn 乾隆是什么朝代hcv8jop6ns2r.cn 灵五行属性是什么adwl56.com
吃东西恶心想吐是什么原因hcv9jop1ns6r.cn 什么容易误诊为水痘hcv7jop4ns7r.cn 五月二十一是什么星座hcv7jop6ns8r.cn 市长什么级别hcv8jop7ns4r.cn 四月二十六是什么星座hcv7jop9ns4r.cn
惊涛骇浪是什么意思hcv7jop4ns7r.cn 1988是什么年sanhestory.com 7月6号是什么星座hcv9jop3ns1r.cn 涂防晒霜之前要涂什么hcv8jop2ns4r.cn 女生没有腋毛代表什么yanzhenzixun.com
感冒头痛吃什么药hcv8jop8ns6r.cn 上海有什么烟hcv8jop2ns0r.cn 下半夜咳嗽是什么原因hcv9jop2ns6r.cn 吃什么东西能变白hcv9jop4ns8r.cn 梦见婆婆是什么意思hcv9jop6ns7r.cn
百度