匿名
未登录
登录
丢石头百科
搜索
查看“2-CH RS485 HAT”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
2-CH RS485 HAT
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<div class="tabber"> {{Product |images=[[File:2-CH-RS485-HAT-1.jpg|360px |alt=2-CH RS485 HAT | 2-CH RS485 HAT]] |categories= {{Category|树莓派}} {{Category|RS485}} |brand=Waveshare |features= * 两路485总线扩展版 |interfaces= {{Category|RPi接口}} {{Category|RS485接口}} {{Category|SPI接口}} }} <div class="tabbertab" title="说明"> =产品概述= 2-CH RS485 HAT 是微雪电子专为树莓派设计的双通道隔离型RS485扩展板,采用SC16IS752+SP3485方案,内置电源隔离、ADI磁耦隔离和TVS等保护电路。 ==特点== *基于Raspberry Pi 40pin GPIO接口,适用于Raspberry Pi系列主板 *采用SC16IS752与SP3485双芯片组合方案,可实现SPI转RS485,通信速率高达921600bps *支持手动或自动收发数据,可通过拨码开关设置 *板载TVS(瞬态电压抑制管),可有效抑制电路中的浪涌电压和瞬态尖峰电压,防雷防静电 *板载自恢复保险丝和保护二极管,可确保电流和电压稳定输出,防过流过压,提高抗冲击能力 *板载电源和串口收发指示灯,方便查看模块电源和通信状态 *引出SPI控制接口,方便接入Arduino等主控板 *提供完善的配套资料手册(C与python示例程序和用户手册等) ==产品参数== *串口扩展芯片: SC16IS752 *RS485收发器: SP3485 *通信接口: SPI *通信速率: 300~921600 bps *工作电压: 3.3/5V *产品尺寸: 65mm×56.5mm *过孔直径: 3.0mm ==接口说明== *引脚功能 {|border=2; style="width:800px;" |-style="background:#000088; color:white;" align="center" |引脚号||标识||管脚描述 |-align="center" |width="100px"|1 |VCC||3.3V/5V电源正 |-align="center" |2||GND||电源地 |-align="center" |3||SCLK||SPI时钟输入 |-align="center" |4||MOSI||SPI数据输入 |-align="center" |5||MISO||SPI数据输出 |-align="center" |6||CS||SPI片选信号 |-align="center" |7||IRQ||中断输出 |-align="center" |8||EN1||通道1输出使能 |-align="center" |9||EN2||通道2输出使能 |} ==硬件说明== ===控制器=== 本产品采用SC16IS752作为控制芯片,SC16IS752是双通道高性能的UART扩展芯片,支持SPI和I2C两种接口通信,本模块使用SPI接口。板载电源隔离、ADI磁耦隔离、板载TVS(瞬态电压抑制管)、自恢复保险丝和保护二极管和自动收发转换电路。可有效抑制电路中的浪涌电压和瞬态尖峰电压,防雷防静电,防过流过压,提高抗冲击能力,可进行信号隔离,具有靠性高、抗干扰强、功耗低等优点。 ===通信协议=== [[File:RS485 HAT.png|900px]]<br/> CS:从机片选,当CS为低电平的时候,芯片使能 <br/> SCLK: SPI通信时钟 <br/> MOSI/SI:SPI通信主机发送,从机接收 <br/> MIS0/SO:SPI通信主机接收,从机发送 <br/> 时序:CPHL=0, CPOL=0 (SPI0)<br/> 【备注】具体关于SPI通信的相关信息,可以自行网上搜索资料了解 <br/> =树莓派使用= ==硬件连接== 详细连接: C和python例程运行需要一个额外的RS485转串口模块连接通道1才可以看到效果。Python中test.py需要通道1和通道2连接。 {|border=1; style="width:800px;" |-style="background:#0000ff; color:white;" align="center" |功能引脚||树莓派接口(BCM)||描述 |-align="center" |VCC||5V||3.3V/5V电源正 |-align="center" |GND||GND||电源地 |-align="center" |SCLK||P21(SPI1 SCLK)||SPI时钟输入 |-align="center" |MOSI||P20(SPI1 MOSI)||SPI数据输入 |-align="center" |MISO||P19(SPI1 MISO)||SPI数据输出 |-align="center" |CS||P18(SPI1 CS)||SPI片选信号 |-align="center" |IRQ||P24||中断输出 |-align="center" |EN1||P27||通道1(Channel 1)收发使能: 高电平发送使能,低电平接收使能 |-align="center" |EN2||P22||通道2(Channel 2)收发使能: 高电平发送使能,低电平接收使能 |} ==添加驱动== *在终端执行: <pre> sudo nano /boot/config.txt #加入如下,int_pin根据实际焊接方式设置: dtoverlay=sc16is752-spi1,int_pin=24 #重启设备 sudo reboot </pre> 重启后,SC16IS752的驱动会加载到系统内核中,此时可以运行ls /dev查看一下 将会多出如下设备: [[File:rs485添加驱动.png|900px]] '''在2020-05-27的树莓派系统中gpiochip3没有了变成了gpiochip2''' ==安装库== *安装wiringPi <pre> sudo apt-get install wiringpi #对于树莓派4B可能需要进行升级; cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行 gpio -v 会出现2.52版本,如果没有出现说明安装出错 </pre> *安装python2库 <pre> sudo apt-get update sudo apt-get install python-pip sudo pip install RPi.GPIO sudo apt-get install python-serial </pre> *安装python3库 <pre> sudo apt-get update sudo apt-get install python3-pip sudo pip3 install RPi.GPIO sudo apt-get install python3-serial </pre> ==测试== *下载并运行测试例程 <pre> sudo apt-get install p7zip-full wget http://wiki.diustou.com/w/upload/4/44/2-CH_RS485_HAT_code.7z 7z x 2-CH_RS485_HAT_code.7z sudo chmod 777 -R 2-CH_RS485_HAT cd 2-CH_RS485_HAT/ </pre> *另外也可以下载我们Github上面的工程: <pre> sudo git clone https://github.com/waveshare/2-CH-RS485-HAT cd 2-CH-RS485-HAT/ </pre> <font color="#FF0000"> '''*注意目录稍微有些不一样''' </font> *C 程序 <pre> cd c make clean make sudo ./main </pre> *PYTHON 程序 <pre> cd python cd examples sudo python main.py #或者 sudo python test.py </pre> *此处演示的为:2-CH RS485 HAT的通道1与[[USB TO RS232/485/TTL]]的A.B连接如下图:<br /> [[File:2-CH RS485 HAT-1.png|800px]]<br /> 将[[USB TO RS232/485/TTL]]连接到电脑,打开串口助手,选择对应的串口,设置波特率115200。<br /> *执行C程序,电脑发送任何数据,模块将数据返回执行C程序,如下图:<br /> [[File:485测试.png|900px]]<br/> '''<font color="#ff0000">(注意: 需要加回车换行才可以,不然数据不会返回;示例的程序目录以实际为主。)</font>'''<br /> *执行main.py,电脑发送任何数据,模块将数据返回执行C程序,如下图:<br /> [[File:2-CH-RS485 -HAT-5.png|800px]]<br /> '''<font color="#ff0000">(注意: 需要加回车换行才可以,不然数据不会返回;示例的程序目录以实际为主。)</font>'''<br /> *如果没有其他的RS485设备,可以选择如下的测试方式,将通道1的A,B与通道2的A,B连接:<br /> [[File:2-CH-RS485-HAT-8 (3).png|800px]]<br /> *运行test.py,可以得到如下效果: <br/> [[File:test py运行.png|900px]] </div> <div class="tabbertab" title="资料"> ===文档=== *[http://{{SERVERNAME}}/w/upload/f/fb/2-CH_RS485_HAT_SchDoc.pdf 原理图] ===程序=== *[http://{{SERVERNAME}}/w/upload/4/44/2-CH_RS485_HAT_code.7z 示例程序] *[https://github.com/waveshare/2-CH-RS485-HAT Github] ===数据手册=== *[http://{{SERVERNAME}}/w/upload/3/36/SP3481_SP3485.pdf SP3485] *[http://{{SERVERNAME}}/w/upload/a/ad/SC16IS752_datasheet.pdf SC16IS752] 转到:[[#软件]],[[#程序]],[[#文档]] <!--{{Join_us}}--> </div> == FAQ == <div class="tabbertab" title="FAQ"><br /> {{FAQ| 485速度太高通讯不了?| 如果使用的是自动的收发,测试发现最多只能到921600 bps,使用收发可以达到2M|||}} {{FAQ|485通信不正常,怎么办?| #确定485的A,B是否与控制的485设备A,B一一对应; #可以先使用USB to 485设备与模块通信,保证树莓派的设置没有问题; #检察串口通信参数的奇数偶数位校验的设置。 |||}} </div> <div class="tabbertab" title="售后"><br />{{Service08}}</div>
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:FAQ
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Service08
(
查看源代码
)
模板:Tag
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
返回至
2-CH RS485 HAT
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志