树莓派RS485 RS232隔离型扩展板使用教程

产品概述

RS485 RS232 HAT 是微雪电子专为树莓派设计的隔离型RS485、RS232扩展板,采用SC16IS752+SP3485、SP3232方案,内置电源隔离、ADI磁耦隔离和TVS等保护电路。

特点

  • 基于Raspberry Pi 40pin GPIO接口,适用于Raspberry Pi系列主板
  • 用SC16IS752与SP3485、SP3232多芯片组合方案,可实现SPI转RS485、RS232,通信速率高达921600bps
  • RS485支持手动或自动收发数据,可通过拨码开关设置
  • RS485板载自恢复保险丝和保护二极管,可确保电流和电压稳定输出,防过流过压,提高抗冲击能力
  • 板载TVS(瞬态电压抑制管),可有效抑制电路中的浪涌电压和瞬态尖峰电压,防雷防静电
  • 板载电源和串口收发指示灯,方便查看模块电源和通信状态
  • 引出SPI控制接口,方便接入Arduino等主控板
  • 提供完善的配套资料手册(C与python示例程序和用户手册等)

产品参数

  • 串口扩展芯片: SC16IS752
  • RS485收发器: SP3485
  • RS232收发器: SP3232
  • 通信接口: SPI
  • 通信速率: 300~921600 bps
  • 工作电压: 3.3/5V
  • 产品尺寸: 65mm×56.5mm
  • 过孔直径: 3.0mm

接口说明

  • 引脚功能
引脚号标识管脚描述
1VCC3.3V/5V电源正
2GND电源地
3SCLKSPI时钟输入
4MOSISPI数据输入
5MISOSPI数据输出
6CSSPI片选信号
7IRQ中断输出
8ENRS485 输出使能

硬件说明

控制器

本产品采用SC16IS752作为控制芯片,SC16IS752是双通道高性能的UART扩展芯片,支持SPI和I2C两种接口通信,本模块使用SPI接口。板载电源隔离、ADI磁耦隔离、板载TVS(瞬态电压抑制管)、自恢复保险丝和保护二极管和自动收发转换电路。可有效抑制电路中的浪涌电压和瞬态尖峰电压,防雷防静电,防过流过压,提高抗冲击能力,可进行信号隔离,具有靠性高、抗干扰强、功耗低等优点。

通信协议


CS:从机片选,当CS为低电平的时候,芯片使能 
SCLK: SPI通信时钟 
MOSI/SI:SPI通信主机发送,从机接收 
MIS0/SO:SPI通信主机接收,从机发送 
时序:CPHL=0, CPOL=0 (SPI0)
【备注】具体关于SPI通信的相关信息,可以自行网上搜索资料了解 

硬件连接

详细连接: C和python例程运行需要一个额外的RS485转串口模块连接通道1才可以看到效果。Python中test.py需要通道1和通道2连接。

功能引脚树莓派接口(BCM)描述
VCC5V3.3V/5V电源正
GNDGND电源地
SCLKD21(SPI1 SCLK)SPI时钟输入
MOSID20(SPI1 MOSI)SPI数据输入
MISOD19(SPI1 MISO)SPI数据输出
CSD18(SPI1 CS)SPI片选信号
IRQD24中断输出
END22RS485收发使能: 高电平发送使能,低电平接收使能

添加驱动

  • 在终端执行:
sudo nano /boot/config.txt
#加入如下,int_pin根据实际焊接方式设置:
dtoverlay=sc16is752-spi1,int_pin=24
#重启设备
sudo reboot

重启后,SC16IS752的驱动会加载到系统内核中,此时可以运行ls /dev查看一下 将会多出如下设备: 


在2020-05-27的树莓派系统中gpiochip3没有了变成了gpiochip2

安装库

PS:如果使用的是Bullseye分支的系统,需要将”apt-get“改成“apt",Bullseye分支的系统只支持Python3,且没有wiringPi。
  • 安装BCM
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
tar zxvf bcm2835-1.71.tar.gz 
cd bcm2835-1.71/
sudo ./configure && sudo make && sudo make check && sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
  • 安装wiringPi
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版本,如果没有出现说明安装出错
  • 安装python2库
sudo apt-get update
sudo apt-get install python-pip
sudo pip install RPi.GPIO
sudo apt-get install python-serial
  • 安装python3库
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install RPi.GPIO
sudo apt-get install python3-serial

测试

  • 下载并运行测试例程
sudo apt-get install p7zip-full
wget https://www.waveshare.net/w/upload/4/44/RS485_RS232_HAT.zip
7z x RS485_RS232_HAT.zip
sudo chmod 777 -R  RS485_RS232_HAT
cd RS485_RS232_HAT/
  • C 程序
cd c
make clean
make
sudo ./main
  • PYTHON 程序
cd python 
cd examples
#使用 RS485 进行通信
sudo python3 RS485.py
#使用 RS232 进行通信
sudo python3 RS232.py
#使用 RS232 TO RS485 使模块进行相互之间的通信
sudo python3 test.py
TAG: 树莓派5教程 ABS ESP32-S3开发板4寸LCD显示触摸屏 480x480 86盒中控兼容Arduino LVGL TVbox SHT20温湿度 继电器 RS485 双通道RS485转以太网 ISX031C图像传感器GMSL摄像头Camera 3MP适用于Jetson Orin TVBOX套件-幸狐Luckfox Pico Ultra带4寸电容触摸显示屏LCD电视盒子 RS232转CAN RoArm-M2-S WIFI配置 ESP32 C3桌面小摆件 树莓派摄像头MLX90641红外热像仪模块 16×12像素适用于Arduino/STM32 树莓派5 8寸DSI MIPI显示屏LCD工业一体触摸平板电脑1280x800带摄像头 Milk-V Duo 树莓派5 工业级USB转RS232/485/422/TTL多功能串口转换器FT4232HL 树莓派官方原装DSI/MIPI 7寸显示屏2 触摸屏 Raspberry Pi Touch Display 2 720x1280 LCD 双电子眼睛0.71寸圆形LCD显示屏适用于Arduino/树莓派/PICO/STM32 电子相框 Milk-V Duo网口 红外摄像头 ESP32 P4开发板4寸LCD圆形显示触摸屏720×720 WIFI6 全贴合钢化玻璃面板 板载双麦克风