WK2204 - spi转uart调试记录

WK2204 - spi转uart调试记录

  添加设备树如下:

  • 硬件
    芯片简介
      WK2204(DataSheet)是spi扩展uart的芯片,实现spi扩展4路uart,该芯片扩展的uart通道的具备以下功能特点:

    每个通道的波特率、字长、校验格式可以独立设置,最高可以提供2Mbps 的通信速率
    每个通道具有收/发独立的256 级FIFO,FIFO 中断可按用户需求进行编程触发方式且具备超时中断功能
    每个通道可以独立设置IrDA红外通信、RS485自动收发控制、9位网络地址自动识别、软/硬件自动流量控制等高级工作模式

  • 电路设计

      典型电路设计如图所示:

     中断引脚需要外接上拉电阻,典型取值5.1K。驱动收发数据依赖于该中断信号,如果中断信号异常,子串口无法进行正常通信
    晶振电路,需要和晶振并联1M的电阻
    SPI与CPU(Xavier)的SPI引脚连接,子串口输出TTL电平,与RS信号收发器连接
    RTS引脚(只有子串口2/4具备)在RS485自动收发控制工作模式下,用于控制RS-485收发器的收发转换。
    ————————————————
    版权声明:本文为CSDN博主「xxccry」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/u014414101/article/details/121599341

  • 驱动

    添加设备树

  • WK2204作为SPI从设备,SPI总线最高速率不 能超过10M
  • INT和RTS与CPU连接,设备树中需要添加这两个GPIO资源
  • 设备树中需添加晶振的频率
  • 添加驱动

  • WK2204官方驱动是基于Rockchip平台和kernel-3.1基础开发的,删除rockchip的相关代码:
  •  
  • WK2204子串口4的RST引脚电平可以自动控制485芯片的收发。官方驱动默认该RST引脚拉高,改为默认拉低:
  •  
  • WK2204子串口的波特率由芯片外部晶振分频而来,官方驱动适配11.0592Mhz,以16Mhz晶振为例,改为:

   

 

调试

查看启动加载

  驱动加载成功,会在/dev下生成4个串口设备:ttysWK0、ttysWK1、ttysWK2、ttysWK3。输入“dmesg | grep wk”或“ls /dev/ttysWK*”,查看驱动是否加载成功,如图所示:

 如果驱动加载失败,侦测RST信号是否在驱动加载前拉高。

检查串口通信
  Windows系统安装串口调试助手;Ubuntu系统建议使用串口通信工具minicom(参考使用方法)。

数据乱码或丢失
检查晶振
检查线束
侦测INT信号
更换调试工具
RS485只能收不能发
驱动是否使能485自定收发控制功能
示波器侦测RTS信号
系统中断响应异常
  如果系统在无数据通信的情况下一直响应中断,如图所示:
————————————————
版权声明:本文为CSDN博主「xxccry」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014414101/article/details/121599341

检查中断来源,使能中断DEBUG信息(_DEBUG_WK_IRQ),如果寄存器显示芯片未发出中断:

检查驱动设置的中断模式,是否低电平触发。
示波器侦测数据通信前后的INT引脚电平,如果一直拉低,检查连接的上拉电阻阻值。
思考
  4路uart数据接收均通过gpio中断响应,CPU使用率较高。
————————————————
 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值