全志T507主板android系统下RS485接口的使用-盈鹏飞嵌入式

以下RS485接口的演示过程均在盈鹏飞嵌入式AHD-T507主板上进行,如果其他公司主板,可能略有区别。
AHD-T507简要介绍如下:

AHD-T507产品特性 :

  • 采用Allwinner公司Cortex-A53四核T507处理器,运行最高速度为1.5GHZ;
  • 支持Mali-G31 MP2 GPU,支持OpenGL ES 3.2/2.0/1.0, Valkan 1.1,OpenCL 2.0
  • 支持4K/25fps H.264视频编码,支持4K/15fps MJPEG编码;
  • 多格式4K/60fps视频解码 (H.265,H.264,VC-1, MPEG-1/2/4, VP8) ;
  • 支持双屏异显;支持RGB666/LVDS,分辨率最高1920x1080/60fps支持HDMI 2.0A, 分辨率最高4K/60fps支持TV CVBS OUT(NTSC/PAL);
  • 支持1-2G  Bytes LPDDR4 SDRAM;
  • 支持EMMC 4G-64G大容量电子盘,可启动;
  • 支持SDIO3.0,5路USB2.0 HOST和一路OTG,1路I2C,4路RS485 2路PWM(应用于背光)
  • 支持双路以太网,一路10/100M;一路10/100/1000M;
  • 支持3G/4G通信;
  • 支持6路AHD视频输入;
  • 稳定的操作系统的支持,可预装Android10.0/LINUX 4.9/UBUNTU 20.04
  • 尺寸为:146*132MM

RS485测试

AHD-T507有四个通过spi扩展的串口,可以配置成2路RS232+2路RS485;

也可以配置成为4路RS485。我们本次测试把这四路串口都配置为RS485,跳线配置如下:

J3的3-5短接;4-6短接;

  1. 计算机的相关准备

开始测试之前,如果是第一次使用Kit-CP2105转接板,需要去Silicon Labs官网下载此芯片对应的安装驱动CP210x USB to UART Bridge VCP Drivers - Silicon Labs (silabs.com),确保Kit-CP2105转接板连接到PC端,电脑能够正确识别到设备

由上图可以看到,转接板已经正确连接,并可以识别到两个串口设备,增强型串口(COM12)和标准串口(COM11)。

本次测试采用增强型串口(COM12)进行测试,同时需要把转接板上的工作模式设置为RS485模式,具体设置如下:

拨码开关SW1的第1开关位处于OFF状态同时第2开关位处于ON状态(USB-to-RS485模式)。(也可以采用标准串口测试,需要确认转接板上的工作模式拨码开关SW1的的第3开关位处于OFF状态同时第4开关位处于ON状态。)

 

连接工作准备好后,开始进行测试工作。串口测试在电脑端要借助串口调试小助手,在电脑上打开串口调试小助手,波特率设为115200,8N1,无校验位,并建立串口连接,如下图所示。

2. 各RS485接口对应的linux节点及测试方法

计算机的测试环境准备好后,还需要确认主板的测试环境,首先主板务必有四个串口节点(ttysWK0-3),一般可以在系统的终端启动信息中看到如下:

[    1.258771] wk2xxx_init: SPI driver for spi to Uart chip WK2XXX, etc.

[    1.261507] wk2xxx_init: V2.40 On 202x.0x.xx

[    1.265988] enter wk2xxx_spi_rst_parse_dt.!!!!

[    1.376900] out wk2xxx_spi_rst_parse_dt.!!!!

[    1.393563] wk2xxxspi1 spi1.0: setup mode 0, 8 bits/w, 10000000 Hz max --> 0

[    1.393777] wk2xxx_probe(0x30)  GENA = 0x30

[    1.393924] wk2xxx_probe(0x35)  GENA = 0x35

[    1.394053] wk2xxx_probe(0x3f)  GENA = 0x3F

[    1.394171] wk2xxx_irq_gpio: 233, irq: 218

[    1.394826] wk2xxx_serial_init.

[    1.398028] ttysWK0 at I/O 0x1 (irq = 218, base_baud = 921600) is a wk2xxx

[    1.405176] ttysWK1 at I/O 0x2 (irq = 218, base_baud = 921600) is a wk2xxx

[    1.412006] ttysWK2 at I/O 0x3 (irq = 218, base_baud = 921600) is a wk2xxx

[    1.418850] ttysWK3 at I/O 0x4 (irq = 218, base_baud = 921600) is a wk2xxx

出现以上信息,表示扩展的4路串口已经可以正常工作。

下表是RS485接口的定义和Linux设备号的对应,同时也给出了对应的测试方法:

RS485接口

设备号

测试方法

CN35(1A-2B)

ttysWK0

RS485是半双工的,测试方法是采用计算机和主板相互发送数据并确认收到数据和所发数据一致,表示RS485接口通信正常。

具体操作方法如下:

测试主板发送数据是否正常:主板通过软件发送数据给计算机,计算机收到数据并显示出来,主板发送的数据和计算机接收到的数据一致,表示主板发送数据正常;

测试主板接收数据是否正常:计算机通过串口工具发送数据给主板,主板收到的数据和计算机发来的数据一致,表示主板收收数据正常;

注意:主板的RS485接口不可同时收发数据。

CN35(3A-4B)

ttysWK1

CN36(1A-2B)

ttysWK2

CN36(3A-4B)

ttysWK3

 说明:CN35(1A-2B)表示CN35的1脚是485A信号,2脚是485B信号;CN35(3A-4B) 表示CN35的3脚是485A信号,4脚是485B信号;同理CN36。

3. 主板RS485接口与计算机相连

根据以下连接示意图,通过Kit-CP2105转接板连接开发板和电脑(以下示意的是一路RS485的连接)。

4. AHD-T507主板上的串口工具ComAssintant

串口调试工具,可以同时对四个串口读写是四个独立的线程,选定串口路径,Linux把每个硬件看作是一个文件,所以都是“dev/ttyGS1”这种文件名。每个串口有自己单独的发送区,4个串口共享一个数据接收区,在接收数据时,数据信息前会有特定标识,这个标识会确认该数据从哪个串口来。另外,每个串口可以分别设置波特率,同时还可以设置自动发送数据,调试非常方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全志T507芯片支持DMA(直接内存访问)模式来配置串口。DMA模式可以提高串口传输效率,减少CPU的负载和功耗。下面是配置全志T507串口为DMA模式的步骤: 1. 首先,需要在系统的设备树(Device tree)中进行配置。打开设备树文件,在对应的串口节点下,添加以下代码: ``` dma-names = "rx", "tx"; dmas = <&dma X>, <&dma X>; ``` 其中,X的值代表DMA控制器的编号,可以根据硬件设计来确定具体的值。 2. 接下来,需要在系统启动时启用DMA。在引导加载程序(Bootloader)中,找到初始化串口的代码,并添加启用DMA的代码。具体的代码内容根据不同的引导加载程序而有所不同,需要查阅相关文档。 ``` uart_dma_enable(port, RX); uart_dma_enable(port, TX); ``` 上述代码中的port是指对应的串口号,RX和TX分别表示接收和发送方向。 3. 最后,编写应用程序时,可以使用DMA传输方式进行串口数据的读写操作。具体的代码可以使用硬件抽象层(HAL)库提供的函数来实现。例如,使用DMA进行串口发送操作的代码如下: ``` HAL_UART_Transmit_DMA(&huartX, data, length); ``` huartX代表相应的串口句柄,data是待发送的数据缓冲区,length是数据长度。 通过以上步骤,我们可以成功将全志T507配置为DMA模式的串口,实现高效的数据传输。值得注意的是,具体的配置步骤可能因为硬件设计和编程环境而有所差异,以上仅为一般化的配置流程,使用时需要根据具体情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值