littlebot
Published on 2025-04-14 / 1 Visits
0

【源码】基于LPC54018微控制器的多串口扩展系统

项目简介

本项目是基于NXP LPC54018微控制器的多串口扩展系统,借助通用MCU扩展多个串口和GPIO接口,适用于工业应用场景。项目包含Linux内核驱动、MCU固件下载工具和用户空间测试程序,可扩展多达10个串口,还提供了详细的硬件和软件架构说明。

项目的主要特性和功能

  1. 多串口扩展:利用LPC54018微控制器,最多可扩展10个串口,满足工业场景大量串口通信需求。
  2. Linux内核驱动:提供Linux内核驱动,支持在Linux系统使用扩展的串口设备。
  3. MCU固件下载工具:基于DFU协议的固件下载工具,可将固件下载到LPC54018微控制器。
  4. 用户空间测试程序:用于测试和演示多串口扩展功能。
  5. 硬件支持:支持LPCXpresso54S018M - EVK和LPC546xx - EVK开发板,并提供详细硬件连接和配置说明。

安装使用步骤

1. 环境准备

  • 硬件:LPCXpresso54S018M - EVK或LPC546xx - EVK开发板。
  • 操作系统:Linux系统。
  • 工具链:GCC编译器。

2. 编译Linux内核驱动

  1. kernel_driver/lpc54xxx.c文件复制到Linux内核源码目录的drivers/usb/serial/目录。
  2. drivers/usb/serial/Makefile文件添加: makefile obj - $(CONFIG_USB_SERIAL_LPC54XXX) += lpc54xxx.o
  3. drivers/usb/serial/Kconfig文件添加: makefile config USB_SERIAL_LPC54XXX tristate "USB LPC54XXX USB Serial Driver" help Say Y here if you want to use a LPC54XXX 10 port USB to serial converter device. To compile this driver as a module, choose M here.
  4. 在Linux内核源码目录运行make menuconfig,选USB_SERIAL_LPC54XXX为内置驱动,然后编译内核。

3. 下载MCU固件

  1. LPC_firmware_download_tool/dfu - utils目录复制到/usr/bin/目录。
  2. 用USB线连接开发板的USB1端口到Linux主机。
  3. 在Linux终端进入LPC_firmware_download_tool/目录,运行./download.sh下载固件。
  4. 下载完成,系统自动识别并创建多个ttyUSB设备文件。

4. 测试多串口功能

  1. 使用user_space_test_program/目录下的用户空间测试程序进行功能测试。
  2. 可通过/sys/class/tty/ttyUSBx/device/目录下的send_bytesrecv_bytesloopback属性调试和监控。

5. 调试与监控

  • 查看发送和接收字节数:通过send_bytesrecv_bytes属性查看各串口的发送和接收字节数。
  • 回环测试:通过loopback属性控制回环测试开关。

结果验证

短接开发板上的TX和RX引脚,进行串口回环测试,验证数据传输正确性。使用stty命令设置波特率,通过catecho命令进行数据传输测试。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】