目录 产品概述 硬件说明 芯片引脚功能概述 MAX SN65HVD 操作与现象 准备工作 跳线说明 工作原理

Similar documents
untitled

HMI COM1 RS SIEMENSE S7-200 RS485

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D

1 CAN 69 4 接受滤波 CAN CRC LLC 超载通知数恢复管理 CAN 据数据封装 / 拆装 5 链帧编码 ( 填充 / 解除 ) 媒体访问管理 路 CAN 应答 SAE J CAN 1 1 CAN 层 1CAN CAN 7 CAN 1 2 2CAN CAN 1 58%

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

网上对外发布资料适用版本


目 錄 1. 蒸 豬 肉 丸 2. 蜜 汁 腰 果 3. 鳳 梨 蝦 球 4. 金 菇 扒 芥 菜 5. 松 鼠 黃 魚 6. 椒 鹽 魷 魚 7. 時 蔬 燴 蝦 丸 8. 粉 蒸 小 排 骨 9. 酥 炸 黃 魚 條 10. 彩 椒 炒 魷 魚

SeTAQ 是 山 东 西 泰 克 仪 器 有 限 公 司 的 注 册 商 标 本 说 明 书 未 经 书 面 许 可 不 得 翻 印 修 改 或 引 用 警 告 : 请 专 业 人 员 检 测 和 维 修 本 设 备! 警 告 : 本 仪 表 使 用 24V 直 流 电 源, 请 务 必 正 确

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

2 12

Microsoft Word - MSP430 Launchpad 指导书.docx

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

*33*!!! "!! #$! %#! "& "! #! %! # ( ) * # +, # -, # +., $ /# ( ) 0 $ +# ( ) 0 $.# ( ) 0 $ # $! % "" " % 1 % & ( * ) * % " " %.! % 2!!"+# ( "&! " ( "#

nbqw.PDF

<313031A4C9BEC7C160BA5DB3E A457BAF4A4BDA769AAA9292E584C53>

目录

第一章

MODEL 62000H SERIES 5KW / 10KW / 15KW 0 ~ 375A 0 ~ 1000V/2000V( ) : 200/220Vac, 380/400Vac, 440/480Vac 3U/15KW / & 150KW / ( 10 ms ~ 99 hours)

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 1-3陳詠琳-近代..

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

2001/07/13 DST4600A DST4600A

CC213

範本檔

人 物 春 秋 杨 永 泰 将 其 削 藩 策 略 概 括 为 : 以 经 济 方 法 瓦 解 冯 玉 祥 的 第 二 集 团 军, 以 政 治 方 法 解 决 阎 锡 山 的 第 3 集 团 军, 以 军 事 方 法 解 决 李 宗 仁 的 第 四 集 团 军, 以 外 交 方 法 对 付 张 学

糖尿病食譜

Microsoft Word 養生與保健_中山大學_講義


萬里社區老人健康照護手冊

Microsoft Word - 強制汽車責任保險承保及理賠作業處理辦法 doc

Microsoft Word - 06.Understanding of Pregnancy and Birth.doc

(➂)11. 炎 炎 夏 日, 即 使 下 起 滂 沱 大 雨, 都 消 除 不 了 令 人 心 煩 的 暑 氣 這 句 話 主 要 想 表 達 什 麼? ➀ 夏 日 裡 經 常 下 著 滂 沱 大 雨, 令 人 心 煩 ➁ 下 著 滂 沱 大 雨 的 日 子, 可 以 消 除 暑 氣 ➂ 夏 日

附 件 一 : 办 理 集 中 式 银 期 转 账 业 务 网 点 名 单 序 号 地 区 网 点 名 称 地 址 联 系 人 电 话 23 工 商 银 行 安 徽 省 铜 陵 百 大 支 行 铜 陵 市 长 江 东 路 50 号 鲁 桂 珍 工 商 银 行 安 徽

2. 二 年 級 吳 毓 秀 老 師 : 感 謝 午 餐 公 司 平 時 均 能 準 時 送 餐, 但 希 望 能 不 要 使 用 加 工 品, 且 學 生 反 映 希 望 能 多 加 蛋 品 的 食 物 3. 三 年 級 柯 阿 青 老 師 : 雞 肉 有 血 水 味, 請 午 餐 公 司 能 調

高雄市立五福國民中學九十四學年度第一學期第三次段考二年級本國語文學習領域試題卷

台北老爺校外實地參訪結案報告

,,,,,,, (,, ),,,,,,,,,,,,,,, ,,, 4 11,, ( ),,,, ( ), :, ( ),,, 1995, 66 ; ( ),, 1996, , 3-4,,


8S E600Y 0773-CE


<4D F736F F D20D4D3D6BECEC4B8E5C4A3B0E52E646F63>

<4D F736F F D203136BCADBBD8D2E4D3EBD1D0BEBF2E646F63>


Microsoft Word - 9pinggb_A4.doc

Microsoft Word - 9pinggb_A4-f4.doc

理 论 探 索 事 业 单 位 改 革 的 五 点 思 考 余 路 [ 摘 要 ] 事 业 单 位 改 革 是 中 国 改 革 的 重 要 环 节, 其 影 响 力 和 难 度 不 亚 于 国 有 企 业 改 革 本 文 着 重 围 绕 推 进 事 业 单 位 改 革 应 考 虑 的 五 个 方 面

2深化教育教学改革、创新人才培养模式

Microsoft Word - 9pinggb_let.doc

Microsoft Word - 9pingb5_let.doc

退休權益.ppt [相容模式]

Microsoft Word - 1.《國文》試題評析.doc

$%%& ()*+, %&, %-&&%%,. $ %,, $,, & /$- 0(1 $%%& %& 234 %-%, 5&%6&633 & 3%%, 3-%, %643 -%%% :::; 7<9; %-%, 3$%$ :::;

# $# #!# # # # # # # %# # # &# # # # #! "

2016 年 地 质 工 程 系 教 学 工 作 安 排 2016 学 年 我 系 将 在 总 结 过 去 工 作 的 基 础 上, 结 合 今 年 学 院 以 抓 质 量 强 内 涵 促 改 革 调 结 构 建 品 牌 细 管 理 重 过 程 为 宗 旨, 以 规 范 管 理 深 化 内 涵 为

实 习 上 下 点 表 格 解 释 和 相 关 纪 律 要 求 : 1 表 格 中 所 有 名 词 都 为 简 称, 包 括 医 院 名 称 四 年 级 五 年 级 各 专 业 名 称 等 所 有 时 间 都 为 学 生 装 好 行 李 出 发 时 间, 请 提 前 0 分 钟 将 行 李 运 到

简报158期.doc

untitled

ICD ICD ICD ICD ICD

Siga-S16 FPGA开发板

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

!!

untitled

冷熱衝擊試驗機、溫度控制器

C/C++语言 - C/C++数据

68369 (ppp quickstart guide)

P3B-F Pentium III/II/Celeron TM

目 录

第3章.doc

Microsoft Word - 連啟元.doc

Microsoft Word - MAN2011A_CH_RTT.doc

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

中文手册

第 二 章 古 代 慢 慢 睁 开 眼 睛, 我 的 面 前 出 现 一 个 女 孩 子, 大 约 十 六 七 岁, 身 穿 淡 绿 色 布 裙, 头 上 两 个 小 圆 髻 特 别 娇 俏 可 爱 医 院 什 么 时 候 出 现 这 么 一 个 可 爱 的 古 装 护 士 啊! 这 医 院 真 有

60C

Transcription:

RS485 CAN Shield 用户手册 产品概述 RS485 CAN Shield 是为 NUCLEO/XNUCLEO 开发的一款的带 RS485 和 CAN 通信功能的扩展 板, 具备 RS485 CAN 通信功能 特点 : 基于 Arduino 标准接口设计, 兼容 UNO Leonardo NUCLEO XNUCLEO 开发板 具备 RS485 功能, 收发器为 MAX3485,3.3V 供电 具备 CAN 功能, 收发器为 SN65HVD230,3.3V 供电注意 :1 使用 3.3V 供电 ; 2 UNO Leonardo 等 Arduino 由于硬件限制, 无法使用 CAN 功能 1

目录 产品概述... 1 1. 硬件说明... 3 1.1. 芯片引脚功能概述... 3 1.1.1. MAX3485... 3 1.1.2. SN65HVD230... 3 2. 操作与现象... 4 2.1. 准备工作... 4 2.2. 跳线说明... 4 2.3. 工作原理... 5 2.3.1. 发送端程序说明... 5 2.3.2. 接收端程序说明... 7 2.3.3. 实验现象... 8 2

1. 硬件说明 1.1. 芯片引脚功能概述 1.1.1. MAX3485 MAX3485 接口芯片是 Maxim 公司的一种 RS-485 驱动芯片 用于 RS-485 通信的低功耗收发器 采用单一电源 +3.3 V 工作, 采用半双工通讯方式 RO 和 DI 端分别为接收器的输出和驱动器的输入端 ;/RE 和 DE 端分别为接收和发送的使能端, 当 /RE 为逻辑 0 时, 器件处于接收状态 ; 当 DE 为逻辑 1 时, 器件处于发送状态 ;A 端和 B 端分别为接收和发送的差分信号端, 当 A 引脚的电平高于 B 时, 代表发送的数据为 1; 当 A 的电平低于 B 端时, 代表发送的数据为 0 A 和 B 端之间加匹配电阻, 一般可选 100Ω 的电阻 引脚名称说明 RO 1 R 8 V CC 1 RO 接收器输出 Receiver Output RE 2 7 B 2 RE 接收输出使能 Receiver Output Enable 低电平有效 Active LOW DE 3 DI 4 D SP485 6 A 5 GND Top View SP485/MAX485/SP3485/MAX3485 引脚 ( 顶视图 ) 3 DE 发送输出使能 Driver Output Enable 高电平有效 Active HIGH 4 DI 输出驱动器输入 Driver Input 5 GND 地 Ground Connection 6 A 差分信号正向端 Driver Output/Receiver Input. Non-inverting 7 B 差分信号反向端 Driver Output/Receiver Input. Inverting 8 V CC SP485 / MAX485 是 5V 的 RS485 收发器 SP3485 / MAX3485 是 3.3V 的 RS485 收发器 1.1.2. SN65HVD230 SN65HVD230 是德州仪器公司生产的 3.3V CAN 收发器, 改器件适用于较高通信速率 良好抗干扰能力和高可靠性 CAN 总线的串行通信 SN65HVD230 具有高速 斜率和等待 3 种不同的工作模式 其工作模式控制可通过 Rs 控制引脚来实现 CAN 控制器的输出引脚 Tx 接到 SN65HVD230 的数据输入端 D, 可将此 CAN 节点发送的数据传送到 CAN 网络中 ; 而 CAN 控制器的接收引脚 Rx 和 SN65HVD230 的数据输出端 R 相连, 用于接收数据 3

D GND V CC R 1 2 3 4 8 7 6 5 SN65HVD230 引脚 ( 顶视图 ) R S CANH CANL V ref 引脚 名称 说明 1 D 驱动输入 Driver input 2 GND 电源地线 Ground 3 V CC 电源线 Supply voltage 4 R 接收输出 Receiver output 5 V ref 参考输出 Reference output 6 CANL 低总线输出 Low bus output 7 CANH 高总线输出 High bus output 8 RS 工作模式控制端 Standby/slope control 2. 操作与现象 2.1. 准备工作 RS485 CAN Shield 模块两个 STM32 开发板两个 ( 本手册用的是的 Xnucleo 开发板, 主控芯片是 STM32F103R) 杜邦线若干 2.2. 跳线说明 D14(PB_9) D15(PB_8) 分别作为默认 CAN 的发送端和接收端 注 :PB_9,PB_8 作为 STM32 CAN1 管脚时编程需打开管脚重映射 GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE); D7(PA_8) 是 RS485 的发送接收使能端, 高电平时为发送状态, 低电平时为接收状态 D8(PA_9) D2(PA_10) 和 D0(PA_2) D1(PA_3) 分别是 UART1 和 UART2 的发送端和接收端 可通过跳线帽选择 UART1 或 UART2 作为 RS485 的输出输入端 注 :Xnucleo 默认 PA_2 PA_3 作为串口转 USB 端口 若要用 D0 D1 作为 RS485 的串口, 则还需变换 Xnucleo 中 JP4 相应跳线 用跳线帽将 1 3 管脚短接,2 4 管脚短接 Xuncleo 原理图中 JP4 串口跳线如下图所示 : 4

JP 4 D0 /RX PA 3/RX PA 10/RX TXD 1 3 5 7 2 4 6 8 RXD D1 /T X PA 2/T X PA 9/T X Header 4X2 模块间通信,CAN 端口的 H,L 分别和另一个模块的 CAN 端口 H,L 对接 RS485 端口的 A,B 分 别和另一个模块的 RS485 端口 A,B 对接 2.3. 工作原理 本测试程序采用 mbed 框架 +stm32 库函数的形式, 分为发送程序和接收程序两个程序 CAN: CAN 驱动程序采用 STM32 库函数编写, 封装在 CAN.cpp 和 CAN.h 两个文件中 程序开始调用 CAN 初始化函数 CAN_Config() 配置相关寄存器 将要发送的数据保存在发送邮箱 (TxMessage) 中, 再调用驱动函数 CAN_Transmit(CAN1, &TxMessage) 发送出去 而接收程序侧调用 CAN_Receive(CAN1, CAN_FIFO0, &RxMessage); 将接收到的数据保存在接收邮箱 (RxMessage) 中 RS485: 发送端程序控制 RS485_E 为高电平, 使 RS485 处于发送状态, 通过 RS485.printf 函数让数据通过 RS485 串口发送出去 而接收程序则开启接收中断, 程序控制 RS485_E 为低电平, 使 RS485 处于接收状态, 中断服务函数通过 RS485.scanf 扫描接收到的数据 接线 : D14 D15 分别是默认 CAN 的发送端和接收端 D8 D2 是 RS485 的发送端和接收端 D7 是 RS485 发送接收使能端 D0 D1 将信息输出到 PC 端的串口 CAN 端口的 H,L 分别和另一个模块的 CAN 端口 H,L 对接 RS485 端口的 A,B 分别和另一个模块的 RS485 端口 A,B 对接 2.3.1. 发送端程序说明 5

程序开始调用 CAN 初始化函数, 配置相关寄存器 CAN 通信侧建立一个发送邮箱 TXMsg, 将要 发送的数据保存在邮箱中, 再调用驱动函数发送出去 控制 RS485_E 为高电平, 使 RS485 处于 发送状态, 通过连接到 RS485 的串口将数据发送出去 #include "mbed.h" #include "CAN.h" Serial pc(d1,d0); Serial RS485(D8, D2); DigitalOut RS485_E(D7); //serial print message //RS485_TX RS485_RX //RS485_E CanTxMsg TxMessage; uint8_t TransmitMailbox = 0; int i =0,j=0; int main() { CAN_Config();//CAN 初始化 RS485_E = 1;// 使能 RS485 发送状态 /* TxMessage */ // 设置发送邮箱数据 TxMessage.StdId = 0x10; TxMessage.ExtId = 0x1234; TxMessage.RTR=CAN_RTR_DATA; TxMessage.IDE=CAN_ID_STD; TxMessage.DLC=8; TxMessage.Data[0] = 'C'; TxMessage.Data[1] = 'A'; TxMessage.Data[2] = 'N'; TxMessage.Data[3] = ' '; TxMessage.Data[4] = 'T'; TxMessage.Data[5] = 'e'; TxMessage.Data[6] = 's'; TxMessage.Data[7] = 't'; pc.printf( "**** This is a RS485_CAN_Shield Send test program ****\r\n"); while(1) { RS485.printf("ncounter=%d ",j);//rs485 发送数据 wait(1); 6

TransmitMailbox = CAN_Transmit(CAN1, &TxMessage);//CAN 发送数据 i = 0; while((can_transmitstatus(can1, TransmitMailbox)!= CANTXOK) && (i!= 0xFFF)){ i++; if(i == 0xFFF){ pc.printf("\r\can send fail\r\n");// 等待超时, 发送失败 else{ pc.printf("\r\ncan send TxMessage successful \r\n"); // 发送成功 pc.printf("\r\nrs485 send: counter=%d\r\n",j++);// 打印发送内容 pc.printf("the CAN TxMsg: %s\r\n",txmessage.data); wait(1); 2.3.2. 接收端程序说明 程序开始调用 CAN 初始化函数, 配置相关寄存器 使能 RS485 接收中断函数, 控制 RS485_E 为低电平, 使 RS485 处于接收状态, 中断处理函数中接 RS485 接收到的信息通过串口打印显示出来 CAN 通信侧采用查询的方式, 如果有 FIFO 中有数据, 侧接收数据保存到接收邮箱 RxMsg 中, 再通过串口打印出来 #include "mbed.h" #include "CAN.h" Serial pc(d1,d0); Serial RS485(D8, D2); DigitalOut RS485_E(D7); //serial print message //RS485_TX RS485_RX //RS485_E CanRxMsg RxMessage; char s[1024]; //RxMessage void callback()//rs485 接收中断处理函数 7

{// Note: you need to actually read from the serial to clear the RX interrupt RS485.scanf("%s",s);// 保存接收数据 pc.printf("\r\nrs485 Receive:%s \r\n",s);// 打印接收信息 int main() { CAN_Config();//CAN 初始化 RS485.attach(&callback);// 开启 RS485 接收中断 RS485_E = 0;// 使能接收状态 pc.printf( "**** This is a can receive test program ****\r\n"); while(1) { while(can_messagepending(can1, CAN_FIFO0) < 1)// 等待数据到来 { CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);//CAN 接收数据 pc.printf("the CAN RxMsg: %s\r\n",rxmessage.data);// 打印接收数据 2.3.3. 实验现象 发送端串口输出 : **** This is a RS485_CAN_Shield Send test program **** CAN send TxMessage successful RS485 send: counter=0 The CAN TxMsg: CAN Test CAN send TxMessage successful RS485 send: counter=1 The CAN TxMsg: CAN Test CAN send TxMessage successful RS485 send: counter=2 The CAN TxMsg: CAN Test 8

接收端串口输出 : **** This is a can receive test program **** RS485 Receive:ncounter=0 The CAN RxMsg: CAN Test RS485 Receive:ncounter=1 The CAN RxMsg: CAN Test RS485 Receive:ncounter=2 The CAN RxMsg: CAN Test RS485 Receive:ncounter=3 The CAN RxMsg: CAN Test 9