0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

fireflyFace-RK3399主板WIEGAND通讯协议介绍

firefly 来源:firefly 作者:firefly 2019-12-04 08:59 次阅读

WIEGAND 使用

简介

Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数线分别传输0和1.现在应用最多的是26bit,34bit,36bit,44bit等等。

调试方法

Face-RK3399的RS485端口是可以复用为韦根协议发送端口从而进行数据的传输。

DTS配置

在 kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-face.dtsi 文件中定义韦根节点,具体定义如下:

wiegand-gpio { compatible = “firefly,wiegandout”; level_effect = 《1》;/*0-low effect 1-high effect*/ gpio_d0 = 《&gpio1 9 GPIO_ACTIVE_HIGH》; gpio_d1 = 《&gpio1 10 GPIO_ACTIVE_HIGH》; gpio_mode_switch = 《&gpio1 17 GPIO_ACTIVE_HIGH》; status = “okay”; };

在设备端输入命令:

echo 0 》 /sys/devices/platform/wiegand-gpio/mode_switch //切换为韦根接口功能 echo 卡号 》 /sys/devices/platform/wiegand-gpio/wiegand26 //发送韦根26数据 echo 卡号 》 /sys/devices/platform/wiegand-gpio/wiegand34 //发送韦根34数据

韦根接口也可作为普通输入输出IO口:

# 拉高D0 echo 1 》 /sys/devices/platform/wiegand-gpio/D0 # 拉高D1 echo 1 》 /sys/devices/platform/wiegand-gpio/D1

V2.1韦根接口和继电器

Face-RK3399在后续新增V2.1版本,尾线韦根接口部分相应也有更新,主要是改变了外观接口,添加了地线和韦根输入接口。

V2.1韦根外观接口图示如下:

V2.1韦根输出

在设备端输入命令:

echo 卡号 》 /sys/devices/platform/wiegand-gpio/wiegand26 //发送韦根26数据 echo 卡号 》 /sys/devices/platform/wiegand-gpio/wiegand34 //发送韦根34数据

V2.1韦根输入

文件系统会生成/dev/wiegand 节点,提供如下韦根输入调用的demo程序

#include #include #include #include #include #include #include #define WG_IOC_MAGIC ‘k’ #define WG_IOCGETFUN _IOR(WG_IOC_MAGIC, 1, int) // #define WG_IOC_FUN_IN _IOR(WG_IOC_MAGIC, 2, int) //设置为普通输入IO #define WG_IOC_FUN_WG _IOR(WG_IOC_MAGIC, 3, int) //设置为韦根输入IO #define WG_IOCGETD0 _IOR(WG_IOC_MAGIC, 4, int) //获取IO电平 #define WG_IOCGETD1 _IOR(WG_IOC_MAGIC, 5, int) // #define WG_IOCGETWG _IOR(WG_IOC_MAGIC, 6, int) //获取韦根数据 int main() { int fd = 0; char dst[12] = { 0}; int val; int result =0; fd = open(“/dev/wiegand”, O_RDWR); if(fd 《 0) { printf(“file open error ! ”); return -1; } while(1) { //result=read(fd, dst, sizeof(dst)); ioctl(fd, WG_IOC_FUN_WG, &val); result = ioctl(fd, WG_IOCGETWG, &val); if(result 《 0) { printf(“Unable to get value: %s ”, strerror(errno)); close(fd); return -1; } else printf(“val is %d, size=%d ”, val,result); sleep(1); } /*关闭设备*/ close(fd); return 0; }

执行上述程序,能对韦根输入数据进行接收和打印。

V2.1继电器

V2.1新增继电器可以控制两线路的通断。

echo 0 》 /sys/devices/platform/wiegand-gpio/mode_switch //线路0连通 线路1断开 echo 1 》 /sys/devices/platform/wiegand-gpio/mode_switch //线路0断开 线路1连通


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35283
  • Firefly
    +关注

    关注

    2

    文章

    538

    浏览量

    7014
收藏 人收藏

    评论

    相关推荐

    RK3399的RS485端口对Wiegand协议进行数据的传输

    :Data0和Data1两根数线分别传输0和1.现在应用最多的是26bit,34bit,36bit,44bit等等。调试方法Face-RK3399的RS485端口是可以复用为韦根协议发送端口从而进行
    发表于 07-28 16:21

    RK3399芯片主板DLT3399A的串口资料说明

    本文档的主要内容详细介绍的是RK3399芯片主板DLT3399A的串口资料说明。
    发表于 03-25 08:00 28次下载
    <b class='flag-5'>RK3399</b>芯片<b class='flag-5'>主板</b>DLT<b class='flag-5'>3399</b>A的串口资料说明

    firefly ROC-RK3399-PC主板介绍

    ROC-RK3399-PC是一款迷你PC主板,体积只有小型手机的大小。
    的头像 发表于 11-13 11:51 2682次阅读
    firefly ROC-<b class='flag-5'>RK3399</b>-PC<b class='flag-5'>主板</b><b class='flag-5'>介绍</b>

    fireflyFace-RK3399主板UART串口简介

    Face-RK3399 外置3个增强功能串口(UART)的功能,分别为UART1,UART2,RS485。
    的头像 发表于 12-04 09:04 8654次阅读

    fireflyFace-RK3399主板TIMER介绍

    RK3399有12 个Timers (timer0-timer11),有12 个Secure Timers(stimer0~stimer11) 和 2 个Timers(pmutimer0
    的头像 发表于 12-04 09:08 2709次阅读
    <b class='flag-5'>fireflyFace-RK3399</b><b class='flag-5'>主板</b>TIMER<b class='flag-5'>介绍</b>

    fireflyFace-RK3399主板RTC介绍

    Face-RK3399开发板上有 一个集成于RK808上的RTC(Real Time Clock),主要功能有时钟,日历,闹钟,周期性中断,双通道32KHz时钟输出。
    的头像 发表于 12-04 09:11 5581次阅读

    fireflyFace-RK3399主板LED灯介绍

    Face-RK3399 开发板上有 2 个 LED 灯Bule(GPIO2_D3)和Yellow(GPIO2_D2)。
    的头像 发表于 12-04 09:14 3911次阅读

    fireflyFace-RK3399主板PWM输出介绍

    Face-RK3399开发板上引出有 2 路 PWM 输出,
    的头像 发表于 12-04 09:35 4346次阅读

    fireflyFace-RK3399主板LCD 使用

    Face-RK3399开发板支持MIPI屏幕
    的头像 发表于 12-04 10:05 3436次阅读

    fireflyFace-RK3399主板I2C控制器介绍

    Face-RK3399 开发板上有 9 个片上 I2C 控制器,
    的头像 发表于 12-04 09:17 2949次阅读
    <b class='flag-5'>fireflyFace-RK3399</b><b class='flag-5'>主板</b>I2C控制器<b class='flag-5'>介绍</b>

    fireflyFace-RK3399主板ADC介绍

    Face-RK3399 开发板上的 AD 接口有两种,分别为:温度传感器 (Temperature Sensor)、逐次逼近ADC (Successive Approximation Register)。
    的头像 发表于 12-04 09:20 3709次阅读

    fireflyFace-RK3399主板启动模式说明

    Face-RK3399 有灵活的启动方式。
    的头像 发表于 12-04 10:16 7295次阅读

    简单介绍RK3399开发板、RK3399主板的相关参数

    用过RK3288主板的朋友都知道,RK3399开发板延续了RK3288的linux系统开源!作为Rockchip旗舰级芯片,RK3399具有
    发表于 12-09 14:14 7297次阅读

    videostrong嵌入式板卡、商显主板rk3399介绍

    电子发烧友网站提供《videostrong嵌入式板卡、商显主板rk3399介绍.rar》资料免费下载
    发表于 09-15 15:35 0次下载
    videostrong嵌入式板卡、商显<b class='flag-5'>主板</b><b class='flag-5'>rk3399</b><b class='flag-5'>介绍</b>

    RK3399硬件设计指南

    RK3399是一款基于ARM架构的高性能处理器,常用于嵌入式系统和单板计算机。在进行RK3399硬件设计时,需要考虑多个方面,包括电源、封装、信号传输、外设接口等。本文将详细介绍RK3399
    的头像 发表于 12-28 10:59 1611次阅读