can与zigbee装换器

合集下载

智能家居通信协议综述

智能家居通信协议综述

智能家居通信协议综述许奎【摘要】Intelligent home concept stems from United States, dang it plug Shang information technology of wings, people had looks forward to with billions of, and trillion of market blueprint, but today cloud meter, and is big data times of coming, is and no appeared had expected of scene, even and no formed a full of, and effective of industry chain. This paper summarizes the smart home system communication protocols, analyze the bottlenecks for intelligent household industry development and smart home communication protocol development recommendations are given, and strive to provide smart home development was built to make suggestions.%智能家居概念源于美国,当它插上信息技术的翅膀,人们曾期待着千亿、万亿的市场蓝图,但时至今日云计算、大数据时代的到来,却并没有出现曾经预期的景象,甚至并没有形成一个完整的、有效的产业链。

本文试针对智能家居系统的通信协议做出综述,分析造成智能家居行业发展的瓶颈,并给出了智能家居通信协议发展的建议,力求为智能家居的发展建言献策。

一种基于CAN总线和ZigBee技术的测控系统设计

一种基于CAN总线和ZigBee技术的测控系统设计
用 需 求 ,是 目前 业 界 普 遍 看 好 的 一 种 无 线 网 络 技 术 。
可 以扩 充 其 通 信 距 离 到 数 公 里 。Zg e iB e网 络 支 持 ME H S
型 拓 扑 结 构 , 有 自动 配 置 、自动 组 网 、 具 自愈 的 功 能 , 且 是 多 跳 路 由 网 络 , 制 定 之 初 就 是 为 了 满 足 无 线 传 感 网 其 络 的 需 求 …。
Ab t c : T i a e d sge a e e t r g n c mma d y tm o wi l s n t r ta s s in h c c mb n d AN sr t a hs p p r e iid tl mee n a d o i n s se f r e s ewo k r n mi o w ih o i e C e s
12 . CAN 技 术
C N 总 线 技 术 , 就 因 为 其 突 出 的 优 点 在 现 场 总 线 领 域 A 早 中 得 到 了广 泛 的应 用 , 已经 被 公 认 为 是 最 有 前 途 的几 种
现 场总 线技 术之 一 。而 P C机 技 术 发 展 到 今 , 强 大 功 其
得 研 究 的应 用 课 题 。 系 统 与 Zg e 该 iB e无 线 监 控 网 络 系 统
相比, 当监 控 对 象 成 区 域 密 集 分 布 时 , 明 显 降 低 成 本 , 能
提高抗 干扰 能力 。
2 系 统 总体 架 构 设 计
系 统 总 体 结 构 如 图 1所 示 。 AN节 点 的 主 要 工 作 是 C 采集控 制对象 的状态 信息并 发送到 C AN 总 线 上 , 从 C N总线 上接 收从 P 机发 送 到本 节点 的命 令并 执行 。 A C C N 协 议 转 Zg e A iB e协 议 模 块 一 端 连 接 C AN 总 线 ,一 端 连接 到 A RM 无 线 模 块 , 现 A 实 RM 无 线 模 块 间 的 通 信 , 因

can与zigbee装换器

can与zigbee装换器

《现场总线技术及其应用》CAN与ZigBee转换器设计吴相辉电气3 班201131200326高梓健电气3班201131200809指导老师:金济学院名称工程学院专业班级11电气3班目录1.CAN与ZigBee转换器逻辑设计 (2)2.CAN总线接口模块 (2)2.1本系统中CAN总线收发模块逻辑 (2)2.2 CAN总线收发模块硬件部分 (3)2.2.1 CAN总线总计硬件设计 (3)2.2.2 SJA1000应用 (4)2.2.3 SJA1000软件应用 (5)2.3 系统软件程序设计 (6)3. ZigBee无线收发模块 (15)3.1 ZigBee总线典型应用电路 (15)3.2 CC 2430系统应用电路 (16)3.2.1 CC2430逻辑图设计 (16)3.2.2 CC2430器件模块电路硬件图 (17)3.2.3 无线收发模块逻辑图 (17)3.2.4 无线收发硬件原理 (18)3.2.5 EEPROM扩展存储模块 (19)3.3 CC2430系统软件程序 (20)4.两单片机间连接模块 (20)4.1 连接模块的硬件连接 (20)4.2 连接模块的软件设计 (21)4.2.1 地址映射表的建立和管理 (21)4.2.2 协议转换的实现 (22)4.3 CAN与ZigBee的软件连接 (24)5.结束语与总结 (25)6.参考文献 (25)7.小组成员分工 (26)1. CAN与ZigBee转换器逻辑设计CAN总线作为一种成熟的现场总线技术,因其可靠性高、实时性好及成本低等特点,广泛应用于汽车电子、工业控制以及楼宇自动化等各个领域。

但是在一些特殊场所,并不适于通过布线实现网络的连接,此时用无线网络接人就能解决这一问题。

zigBee是一种新兴的短距离无线通信技术,其特点是低成本、低功耗、低速率且在免执照频段工作,可广泛应用于工业控制、环境监测、商业监控、汽车电子及家庭自动化等领域。

配件-CAN协议转换模块EECM5205-Ra

配件-CAN协议转换模块EECM5205-Ra

EECM5205CAN协议转换模块使用说明书A6V12983938_zh--_a概述–EECM5205CAN 协议转换模块用于将应急照明控制器以太网网络协议转为CAN 协议,以支持应急照明控制器CAN 组网。

–EECM5205CAN 协议转换模块是一款工业级以太网和CAN-Bus 数据转换模块,其内部集成了一路CAN-Bus 接口和一个以太网接口,以及完整的TCP/IP 协议栈,可轻松完成CAN-Bus 网络和EtherNet 网络的互联互通。

–采用32位高性能处理器。

–10/100M 自适应以太网接口,支持动态IP (DHCP )和静态IP 。

–所有CAN 信号进行了电气隔离及防雷击浪涌处理,具备1500W 的保护能力。

–网口和CAN 通讯口都有独立的指示灯,方便指示工作状态。

–具有Reset 键,可在系统参数配置混乱的情况下恢复到出厂设置。

–具有较宽的工作电压及电源反接保护。

–采用金属外壳,可有效保护产品稳定运行。

产品面板及信号指示订购型号:EECM5205EECM5205的前面板上端是1个接口、一个按钮和2个指示灯,下端是8位接线柱。

–上端为以太网接口、复位按钮和指示灯。

–下端为CAN 总线接口、12V 供电接口和地线接口。

电气接口及其定义–上端接口和按钮–下端接线端子指示灯名称指示灯含义CS1电源指示应为常亮CS2复位时闪烁三次接口和按钮定义RES 复位按钮LAN以太网接口接线端子定义V+、V-12V 电源输入接口Earth地线接口CANH 、CANLCAN 总线接口单位:mm接线图–EECM5205接线示意图性能参数订购型号EECM5205接口类型1个CAN连接端子,1个以太网口/RJ45CAN速率15~1000K网口速率10M/100M自适应工作电压DC9~30V模块功率≤2W使用材质金属安装方式螺钉/导轨安装附件导轨安装底座外形尺寸长100mm×宽84mm×高25mm使用环境温度0℃~55℃;相对湿度≤95%RH数据通信失败–检查CAN接口接线是否正确–检查供电是否正常–检查节点端子是否连接良好–检查以太网接口是否连接良好产品订购信息No.产品图订购型号名称描述1EECM5205CAN协议转换模块TCP/IP协议转CAN协议。

通讯协议转换器

通讯协议转换器

通信协议转换器通信协议转换器是一种用于在不同通信协议之间进行数据转换的设备或软件。

它的主要作用是使得不同设备或系统之间能够进行有效的数据交换和通信。

本文将介绍通信协议转换器的基本原理、常见的应用场景以及一些常用的通信协议转换器。

基本原理通信协议转换器通常由硬件和软件两部分组成。

硬件部分负责物理信号的转换和传输,而软件部分则负责协议的解析和转换。

通信协议转换器的工作过程一般分为以下几个步骤:1.数据接收:通信协议转换器从外部设备或网络中接收数据。

2.数据解析:通过软件部分对接收到的数据进行解析,识别当前的通信协议。

3.协议转换:将解析后的数据转换为目标协议所需的格式。

4.数据发送:将转换后的数据发送到目标设备或网络中。

通信协议转换器的硬件部分通常包括物理接口、信号转换电路和数据缓存等。

不同的通信协议转换器可能支持不同的物理接口,如串口、以太网、USB等。

信号转换电路负责将不同物理层的信号互相转换,以确保数据的正确传输。

数据缓存用于临时存储接收到的数据,以便进行解析和转换。

应用场景通信协议转换器在各个领域都有广泛的应用,下面列举几个常见的应用场景。

工业自动化在工业自动化领域,不同的设备或系统通常采用不同的通信协议,如Modbus、Profibus、CAN等。

通信协议转换器可以将这些不同的协议转换为统一的协议,以便设备之间能够进行数据交换和通信。

这样一来,工业自动化系统的集成和管理就更加方便和高效。

智能家居智能家居系统中的各种设备(如智能灯泡、智能插座、智能门锁等)通常采用不同的通信协议,如ZigBee、Z-Wave等。

通信协议转换器可以将这些不同的协议转换为统一的协议,以便用户能够通过一个中心控制器来管理和控制这些设备。

物联网在物联网领域,各种设备(如传感器、终端设备等)通常采用不同的通信协议,如MQTT、CoAP等。

通信协议转换器可以将这些不同的协议转换为统一的协议,以便实现设备之间的互联互通。

常用的通信协议转换器以下是一些常见的通信协议转换器的示例:•RS232转以太网协议转换器:用于将串口设备连接到以太网,并实现数据的转发和转换。

基于CAN的家庭无线烟雾报警系统设计

基于CAN的家庭无线烟雾报警系统设计

CAN总线发送子程序包括以下几个过程 :
EA:0;//关 中断
do{Judge=SR;)while(Judge&0xl0);//SR.4=1正在接收 ,等待
do{Judge=SR;}while(!(Judge&0x08));//SR.3=0,发送请求未处理完 ,等待
do{Judge=SR;}while(!(Judge&0x04));//SR.2=0,发送缓 冲器被锁 ,等待
能 烟雾报 警 系统 。

1 系统硬件设计
整个系统的硬件设计分为烟雾报警模块硬件设计 、CAN模块硬件设计和主控模块设计 3部分 。具体硬 件设计框图如图 1所示。
网 1 系统硬 件设计 框 图
1.1 烟雾 报警 电路设 计
在烟雾 报警 子 系统 中 ,烟雾 报警 信息 通过
ZigBee无线传输给对应的 CAN节点 ,然后 CAN
第 ห้องสมุดไป่ตู้7卷第 3期 201】年 5月
齐 齐 哈 尔 大 学 学 报
Journal of Qiqihar University
V01.27.No.3 M av.20l 1
基 于CAN的家庭 无线烟雾报警 系统设计
朱恒 军,于泓博 ,祁晓玉 ,董 亮
(齐齐哈尔大学 通信 与电子工程学 院,黑龙江 齐齐哈 尔 161006)
关键词 :CAN总线 ;ARM;ZigBee;烟雾
中图分类号 :TN925.1
文献标识码 :A
文章 编号:1007—984X(201 1)03—0025—03
随着人民生活质量的不断提高 ,管道煤气 、液化石油气在更多的家庭里使用 ,人们在享受这种便利的
时候 ,却也增加了火灾隐患 ,所 以烟雾和有害气体的报警就显得尤其重要。本文设计了基于 CAN总线的智

基于ZigBee和CAN总线的多焊机群控系统设计


1 系统 总体设 计 11 Zg e . iB e技 术 Zg e i e技 术 是 一 种 以 I E 8 2 1 . 议 为 基 础 B E E 0 54协
的 、新 型短 距 离 、低 功耗 的无 线通 信 技术 。该 技术 具
有协 议 简单 、组 网容 易 、功耗 小 、 网络容 量大 和 高可 靠 性 等 优 点 ,并 且 免 收 专 利 费 ,可 以 在 IM24 H S .G z 频 段 上 免 费工 作 ,传 输 速 率 为 2 0k /E 5 bs 。Zg e iB e有
收 稿 日期 :2 l - 8 1 O 10 — 8
基 金 项 目 :过 程 装 备 与 控 制 工 程 四 川 省 高 校 重 点 实 验 室 基 金 项 目 “ 自动 焊 缝 清 根 机 研 制 ( K 0 0 1 ”;四 川 理 工 学 院 G 2 10 )
人 才引进科 研启动项 目 “ 自动 焊缝 清 根 机 控 制 系 统 研
王 春 - , ,廖 映华 , - ,刘 高君 , - ,黄 波 1 , 2
(. 程 装 备 与控 制 工 程 四川 省 高 校 重点 实 验 室 ,四川 1 过 自贡 6 30 ;2四川 理 工 学 院 机械 工 程 学 院 ,四川 400 . 自贡 6 30 ) 4 0 0
摘 要 :针 对 多 台 焊机 同 时 工 作 时检 测 信 号 易受 干 扰 、 通 信 布 线 复 杂 的 现 状 ,提 出 了基 于 Zg e iB e和 C N 总 线 的 多焊 机 群 控 方 案 。 该 系统 A
异常 时 .报警 灯点 亮 ,便 于提 醒工作 人员 采 取相应 措 施 。终 端 节点 硬件 系统 框 图如 图 3所 示 。 节
图 2 系 统 整 体 结 构 图

S6887 Ethernet RS485 ZIGBEE 两两转换器 使用说明书

S6887Ethernet/RS485/ZIGBEE两两转换器使用说明书上海世杰电子有限公司销售:*************************技术支持:*************************S6887可以作为Ethernet 到 ZigBee透明数据转换,Ethernet 到 RS485数据转换,RS485到ZigBee数据转换,通过跳线设置。

Rs485 到 ZIgBee 转换Ethernet到RS485数据转换Ethernet到ZigBee数据转换ZigBee可以设置为主或从,模式为终端节点或中继节点,使用这个模块可以灵活组织通讯网络,拓展通讯距离,节约布线。

ZIgBee参数如下:1. 技术参数名称技术数据传输距离 100到2000米网络拓扑星形,树形,网状网网络ID范围0-255网络地址0-65535每包最大数据256 bytes数据接口TTL level, RS232 and RS485串口信号TXD, RXD, GND串口波特率1200 ~ 115200 bps调制方式DSSS 直序扩频频率范围 2.405GHz~ 2.480GHz无线信道16接收灵敏度-94 dbm发射功率-27dBm~25dBm天线连接外置SMA天线或PCB天线防止冲突GTS, CSMA - CA and CSMA - CA输入电压AC/DC12~ 24V, Standard is 24VDC2.参数设置:A.Ethernet参数设置:使用SHJ-TCP232-SETUP软件配置网络参数。

打开软件点击Search in LAN双击找到的S6887修改参数点击Setup via NETB.ZigBee参数按住CONFIG开关3秒钟当打开电源时,模块今进入配置模式。

所有的LED同时闪烁表示进入ZIGBEE配置模式,配置接口可以是是RS232或RS485.默认参数值:串口参数默认设置波特率38400校验None数据位8停止位 13. 模块地址、节点类型模块地址设置:MAC_ADDR选项 ID 范 围 配 置 说 明 备 注 MAC_ADDR 0000—FFFE 中心节点地址0000。

MVB与CAN总线协议转换的研究与实现

MVB与CAN总线协议转换的研究与实现
谢芳
【期刊名称】《工业控制计算机》
【年(卷),期】2004(17)2
【摘要】本文介绍了一种协议转换器,它主要完成MVB和CAN现场总线之间的协议转换.文中还包括了它的设计思路,硬件框图和软件设计.对于速率不匹配的处理和应用层协议的转换上,作了重点的阐述.
【总页数】3页(P18-19,48)
【作者】谢芳
【作者单位】同济大学电子与信息学院,200331
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于MVB+CAN总线技术的城轨车门监控网络设计 [J], 张伟;茅飞;陆驰宇
2.机车车辆的MVB-CAN总线网关设计 [J], 李洋;石丽
3.取暖智能节能系统中CAN总线协议转换的设计与实现 [J], 王鹏
4.CAN总线技术与ZigBee技术之间协议转换的研究 [J], 毕宏振;王蓉晖
5.基于STM32的CAN总线通信协议转换设计 [J], 阎金
因版权原因,仅展示原文概要,查看原文内容请购买。

基于CAN总线和ZigBee的矿井瓦斯监测系统设计


73 2
再将 信 息传 输 给 对 应 的 C N 节 点 , 后 C N 节 A 然 A 点将 信 息传 给 系统 监 控 中心 , 个 报 警 系 统 可 以 整 进 行数 据 的 双 向通 信 , 好 地 完 成 信 息 的 控 制 。 更
C N 和 Zg e A i e系 统 组 网架 构 如 图 2所 示 。 B
斯 传感 器设备 采 用 有 线方 式 进 行 信号 的传输 , 其 线 路复 杂 , 而且 对 于线路 的依赖 性较 强 , 安装 和维
护设 备 的成本 比较高 , 受井 下作业 环境影 响 较大 ,
信 号传输 的可 靠 性 和抗 干 扰 性 能低 , 增 加 了后 且 期维 护 的难 度 , 并且 当矿难 发生 以后 , 备和 电缆 设
C N节点 程 序 的 初 始 化 对 于 系 统 正 常 工作 A
是 相 当 重 要 的 。 初 始 化 程 序 是 通 过 C N 控 制 器 A 控 制 段 中 的 寄 存 器 写 入 控 制 字 , 而 确 定 C N控 从 A 制 器 的工作 方 式 。其 主要 包 括 工 作 方式 的设 置 、 时 钟 输 出 寄 存 器 的 设 置 、 收 屏 蔽 寄 存 器 和 接 收 接 代 码 寄 存 器 的 设 置 、 线 定 时 器 的 设 置 、 出 控 制 总 输 寄 存 器 的设 置 和 中 断 允 许 寄 存 器 的 设 置 。 C N A
R1 7

J C
P 1O P1 1
V. Vc c
C-
PO 0
P12
P 13
P01
PO 2
P14
P 15
P 16 P 17
P0 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《现场总线技术及其应用》CAN与ZigBee转换器设计吴相辉电气3 班201131200326高梓健电气3班201131200809指导老师:金济学院名称工程学院专业班级11电气3班目录1.CAN与ZigBee转换器逻辑设计 (2)2.CAN总线接口模块 (2)2.1本系统中CAN总线收发模块逻辑 (2)2.2 CAN总线收发模块硬件部分 (3)2.2.1 CAN总线总计硬件设计 (3)2.2.2 SJA1000应用 (4)2.2.3 SJA1000软件应用 (5)2.3 系统软件程序设计 (6)3. ZigBee无线收发模块 (15)3.1 ZigBee总线典型应用电路 (15)3.2 CC 2430系统应用电路 (16)3.2.1 CC2430逻辑图设计 (16)3.2.2 CC2430器件模块电路硬件图 (17)3.2.3 无线收发模块逻辑图 (17)3.2.4 无线收发硬件原理 (18)3.2.5 EEPROM扩展存储模块 (19)3.3 CC2430系统软件程序 (20)4.两单片机间连接模块 (20)4.1 连接模块的硬件连接 (20)4.2 连接模块的软件设计 (21)4.2.1 地址映射表的建立和管理 (21)4.2.2 协议转换的实现 (22)4.3 CAN与ZigBee的软件连接 (24)5.结束语与总结 (25)6.参考文献 (25)7.小组成员分工 (26)1. CAN与ZigBee转换器逻辑设计CAN总线作为一种成熟的现场总线技术,因其可靠性高、实时性好及成本低等特点,广泛应用于汽车电子、工业控制以及楼宇自动化等各个领域。

但是在一些特殊场所,并不适于通过布线实现网络的连接,此时用无线网络接人就能解决这一问题。

zigBee是一种新兴的短距离无线通信技术,其特点是低成本、低功耗、低速率且在免执照频段工作,可广泛应用于工业控制、环境监测、商业监控、汽车电子及家庭自动化等领域。

实现cAN与zigBee的互联将会使现场总线与无线网络优势互补,满足特殊的应用需求。

利用带有CAN控制器的C8051F040单片机与Cc2430无线单片机设计了CAN总线与zigBee无线网络之间的网关,为实现两个网络之间数据和命令的双向传输。

图1 总体设计逻辑图2. CAN总线接口模块2.1 本系统中CAN总线收发模块逻辑CAN总线接口模块部分连接于CAN bus如图2:图2 CAN总线模块连接BUS线逻辑图2.2 CAN总线收发模块硬件部分2.2.1 CAN总线总计硬件设计在本系统中设置与转换器相连的节点1和节点2为上位节点,其它节点为底层节点。

节点1与节点2的结构相同,而底层节点根据应用的不同具有不同的功能。

但它们都具有与CAN bus通信的能力,上传数据和接收数据。

我们以C8051单片机作为控制电路,由SJA1000与82C250总线收发器一起构成,其应用电路如图3:图32.2.2 SJA1000应用SJA1000内部框图4:图4 SJA1000外部框图5:图52.2.3 SJA1000软件应用不论是节点1,2或是其它底层节点,都要用到CAN通信,因此都要设置CAN 控制器。

其初始化的流程图如图6所示图6SJA初始化示例程序如下:MOV DPTR,#CR ;控制寄存器CR的地址送DPTRMOV A,#01HMOVX @DPTR,A ;进入复位模式MOV DPTR,#CDRMOV A,#00HMOVX @DPTR,A ;选择BASIC CAN模式、时钟不输出MOV A,#NODECODEMOVX @DPTR,A ;节点号NODECODE写入ACRMOVX DPTR,#AMRMOV A;#00HMOV @DPTR,A ;AMR置为0,当且仅当RXID0=ACR时接收数MOV DPTR,#BTR0 ;设定总线时序寄存器BTR0系统采用12MHz晶振MOV A;#85H ;时钟频率为2MHzMOVX @DPTR,A ;同步跳转宽度为3tsclMOV DPTR,#BTR1 ;设定总线时序寄存器BTR1MOV A,#0B4H ;位同步时间为1个tscl,采样开始位置TSEG1=5tsc1 MOVX @DPTR,A ;TSEG2=4tscl,每一位时间10t+cl (200kHz),每位采样3次MOV DPTR,#OCR ;设置输出控制寄存器MOV A;#1AH ;数据从TX0按正常输出模式同极性输出MOV @DPTR,A ;TX1不用MOV DPTR,#CR ;初始化完成,使控制器退出复位模式,进入工作模式工作MOV A;#06HMOV @DPTR,A2.3 系统软件程序设计51单片机控制SJA1000程序,包括SJA1000的初始化,单片机接收和发送数据到CAN总线:unsigned char SJA_1000_Init(void){bit s;EA=0;s=BCAN_ENTER_RETMODEL();if (s==1) return 1;s=BCAN_CREATE_COMMUNATION();if (s==1) return 2;s=BCAN_SET_OUTCLK(0xc0);//Pelicanif (s==1) return 3;s=BCAN_SET_OBJECT(0xFF,0x4E,0x16,0x00,0xff,0x00,0x00,0x00);if (s==1) return 4;s=BCAN_SET_BANDRATE(CAN_BPS_1M);if (s==1) return 5;SJA_BCANAdr=REG_OCR ;*SJA_BCANAdr=0x1a;SJA_BCANAdr=REG_IER;*SJA_BCANAdr=0x03;s=BCAN_SET_CONTROL(0x08);if (s==1) return 6;EA=1;return 0;}}bit BCAN_SET_OUTCLK(unsigned char Clock_Out){SJA_BCANAdr=REG_CDR;*SJA_BCANAdr=Clock_Out;if(*SJA_BCANAdr != Clock_Out)return 1;elsereturn 0;}bit BCAN_SET_OBJECT(unsigned char BCAN_ACR0,BCAN_ACR1,BCAN_ACR2,BCAN_ACR3,BCAN_AMR0,BCAN_ AMR1,BCAN_AMR2,BCAN_AMR3){SJA_BCANAdr=REG_TxBuffer1;*SJA_BCANAdr=BCAN_ACR0; //写入参数SJA_BCANAdr=REG_TxBuffer2;*SJA_BCANAdr=BCAN_ACR1;SJA_BCANAdr=REG_TxBuffer3;*SJA_BCANAdr=BCAN_ACR2;SJA_BCANAdr=REG_TxBuffer4;*SJA_BCANAdr=BCAN_ACR3;//校验写入值if(*SJA_BCANAdr != BCAN_ACR3) return 1;SJA_BCANAdr=REG_TxBuffer5;*SJA_BCANAdr=BCAN_AMR0; //写入参数SJA_BCANAdr=REG_TxBuffer6;*SJA_BCANAdr=BCAN_AMR1;SJA_BCANAdr=REG_TxBuffer7;*SJA_BCANAdr=BCAN_AMR2;SJA_BCANAdr=REG_TxBuffer8;*SJA_BCANAdr=BCAN_AMR3;//校验写入值if(*SJA_BCANAdr != BCAN_AMR3) return 1;return 0;}bit BCAN_SET_BANDRATE(unsigned int CAN_ByteRate) {//将波特率的的预设值装入sja1000的总线定时器SJA_BCANAdr =REG_BTR0;*SJA_BCANAdr =CAN_ByteRate>>8; // 取CAN_ByteRate的高8位写入写入参数//校验写入值if(*SJA_BCANAdr !=(CAN_ByteRate>>8)) return 1;SJA_BCANAdr=REG_BTR1;*SJA_BCANAdr=CAN_ByteRate;//校验写入值if(*SJA_BCANAdr !=CAN_ByteRate) return 1;return 0;}bit BCAN_SET_CONTROL(unsigned char CMD){ unsigned char TempData;SJA_BCANAdr=REG_CONTROL; //SJA_BaseAdr+0x00 控制寄存器TempData= *SJA_BCANAdr;*SJA_BCANAdr=CMD;if (*SJA_BCANAdr == CMD)return 0;elsereturn 1;}bit BCAN_CREATE_COMMUNATION(void){SJA_BCANAdr=REG_TEST;*SJA_BCANAdr=0xaa; //写入测试值if(*SJA_BCANAdr == 0xaa)return 0; //读测试正确elsereturn 1;}bit BCAN_ENTER_RETMODEL(void) //置位复位请求{unsigned char TempData;SJA_BCANAdr = REG_CONTROL;TempData= *SJA_BCANAdr;*SJA_BCANAdr=0x01; //置位复位请求if((*SJA_BCANAdr&0x01) == 1)return 0;elsereturn 1;}void ex0_int(void) interrupt 0 //using 1{ unsigned char tt;SJA_BCANAdr=REG_INTERRUPT;if((*SJA_BCANAdr)&0x01) //产生了接收中断{SJA_BCANAdr=REG_RxBuffer1;tt=*SJA_BCANAdr;if ((tt&0x40)!=0x40) //数据帧= 为远程帧{ memcpy(REG_RxBuffer6,RevceData,8);send_char_com(RevceData[1]);//以下代码是发送到串口send_char_com(RevceData[2]);send_char_com(RevceData[3]);send_char_com(RevceData[4]);send_char_com(RevceData[5]);send_char_com(RevceData[6]);send_char_com(RevceData[7]);send_char_com(RevceData[8]);}BCAN_CMD_PRG(4);//释放SJA1000接收缓冲区}}unsigned char BCAN_DATA_WRITE(unsigned char *SendDataBuf){ unsigned char temp;SJA_BCANAdr = REG_STATUS;temp=*SJA_BCANAdr;if ((temp&0x08)==0) return 1; //上次发送未完成if ((temp&0x04)==0) return 2; //发送缓冲区是否锁定if ((temp&0x10)==0x10) return 3; //判断是否正在接收SJA_BCANAdr = REG_TxBuffer1; //访问地址指向发送缓冲区1 memcpy(SJA_BCANAdr,SendDataBuf,13);BCAN_CMD_PRG(0x03);return 0;}bit BCAN_CMD_PRG(unsigned char cmd){SJA_BCANAdr=REG_COMMAND; //访问地址指向命令寄存器*SJA_BCANAdr=cmd; //启动命令字switch(cmd){ case TR_CMD:return 0;break;case SRR_CMD:return 0;break;case AT_CMD:SJA_BCANAdr = REG_STATUS; //访问地址指向状态寄存器if((*SJA_BCANAdr & 0x20)==0)//判断是否正在发送return 0;elsereturn 1;break;case RRB_CMD:SJA_BCANAdr = REG_STATUS; //访问地址指向状态寄存器if((*SJA_BCANAdr & 0x01)==1)return 1;elsereturn 0;break;case COS_CMD:SJA_BCANAdr = REG_STATUS;if((*SJA_BCANAdr & 0x02)==0)//判断清除超载是否成功return 0;elsereturn 1;break;default:return 1;break;}}主程序部分:void main(void){ unsigned char temptt,ss;CS=0;Init_Cpu();EA=0;//initialize Sja1000ss=Sja_1000_Init();if (ss!=0)//初始化失败send_string_com("init fail!");elseEA=1; //初始化成功,开中断RECOK=0;send_data[0]=Send_CAN_Info_ID[0]; send_data[1]=Send_CAN_Info_ID[1]; send_data[2]=Send_CAN_Info_ID[2]; send_data[3]=Send_CAN_Info_ID[3]; send_data[4]=Send_CAN_Info_ID[4];while(1){SJA_BCANAdr = REG_STATUS;temptt=*SJA_BCANAdr;if ((temptt&0x40)==0x40){Sja_1000_Init();send_char_com(0xee);}if (RECOK==1){ RECOK=0;SJA_BCANAdr = REG_STATUS;temptt=*SJA_BCANAdr;if((temptt&0x04)==0x04) //可以向发送缓冲器写数据{send_data[5]=Com_RecBuff[0];send_data[6]=Com_RecBuff[1];send_data[7]=Com_RecBuff[2];send_data[8]=Com_RecBuff[3];send_data[9]=Com_RecBuff[4];send_data[10]=Com_RecBuff[5];send_data[11]=Com_RecBuff[6];send_data[12]=Com_RecBuff[7];ss=BCAN_DATA_WRITE(send_data);if (ss==0) //发送正常send_char_com(0x11);else{send_char_com(0xFF);send_char_com(ss);SJA_BCANAdr= REG_ECC;send_char_com(*SJA_BCANAdr);}}}}}3. ZigBee无线收发模块3.1 ZigBee总线典型应用电路ZigBee网络接口模块选用无线单片机Cc2430作为核心处理芯片。

相关文档
最新文档