多功能串口服务器设计方案

描述

项目作者 /Profile/

作者:小华的物联网嵌入式之旅

介绍:从事电气自动化行业,多次获得物联网设计竞赛,爱好嵌入式设计开发,物联网开发。

设计方案思路的由来,是因为我们现在的开发板基本需要通过串口与WIFI模组或以太网模组连接以实现联网功能,如果多个开发板就要配多个模组,所以做一个类似路由器的功能,将多种串口协议集中连接到串口服务器上面,然后就可以实现通过一个以太网功能实现联网。

嵌入式

V853串口服务器开发板

串口服务器网上也有相关的产品售卖,虽然不知他们的控制原理,但是对我来说只需要将串口数据发送到V853上,通过它进行数据解析后集中通过以太网接口发送出去就实现了串口服务器和路由功能。

该服务器因为具备了WIFI模组,所以也可以组成局域网,将所有无线设备都可以连接到模组接收数据,然后再通过以太网接口与其他网络设备进行交互。

主要功能及用途

实现的功能是基于官方提供的V853原理图和晕哥设计方案的基础上进行了功能扩展,新增了串口转换电路:

01V853最小系统,运行linux操作系统,尽可能运行桌面系统,这样可以像操作电脑一样编辑串口数据。

02WIFI模组实现联网功能。

03显示屏LCD接口,用来显示操作界面。所以有了它就更像一台小电脑服务器。

04摄像头接口,这是预留接口,用来实现摄像头监控,在数控机房里面特别适合。

05USB-HUB扩展4路USB接口,通过USB转串口芯片CP2102实现2路R232,2路RS485,4路TTL,总共实现8路串口功能。满足了我们多功能串口服务器。

嵌入式

串口功能实现示意图

软件设计

需要在linux系统上安装Node-Red软件,这个软件是一个图形化编程编辑界面,通过安装相对应的节点就可以实现想要的功能。

例如串口功能,MQTT功能,TCP功能等必要的组件都可以安装实现,只需要设置需要参数就可以完成相关功能,同时还可以进行数据解析,并通过Dashboard数据可视化界面做上位机显示到显示屏上面,摄像头的调用可以使用里面的组件去调用,可以说node-red可以轻松实现串口数据转以太网,实现任何一个串口设备都可以轻松连接到服务器。如下图就是各个节点功能的使用案例。

嵌入式

串口功能使用案例

嵌入式

TCP功能使用案例

嵌入式

MQTT使用案例

嵌入式

上位机界面使用案例

所以解决串口和无线有线的连接问题,就可以实现数据交互的服务器。外网如果想查看上位机界面,因为它是网页版,所以通过透传的方式就可以远程打开查看这个网页。

方案原理图

嵌入式

2路RS232和2路TTL原理图

嵌入式

2路RS485和2路TTL原理图

嵌入式

POWER SYS

嵌入式

WIFI/音频/SD卡/串口/OTG接口

嵌入式

PCB原理图

嵌入式

3D渲染图

PCB是基于Yuzuki大佬的“高性能异构边缘AI视觉开发板”PCB板上画的,让我节省了很多时间。我只需要扩展我的串口功能部分和修改了部分电路与布局。

嵌入式

V853串口服务器实物图

嵌入式

被参考的“高性能异构边缘AI视觉开发板”

可点击图片跳转阅读

开始我的板子有个小插曲,板子刚回来时发现上电后没有反应,检查好几天才发现没有焊接晶振,我还在硬件设计大赛的群里打扰各位大佬为什么我的板子不能工作,识别不到USB等等问题。还好发现了问题并解决了。现在给大家介绍如何烧录Tina Linux系统。

固件烧写及点灯

在全志在线开发者社区的资料下载页面下载红框所示的全部量产工具。

嵌入式

下载出厂固件。

嵌入式

打开刷机软件:(该软件在全志资源下载里面都能找到)。

嵌入式

这个时候按住开发板上FEL按键不松手,然后用Type-C数据线连接电脑和板子的OTG接口,这个时候会进入USB模式,刷机软件就会自动识别并烧录固件。如果没有进入USB模式,可以通过按住FEL按钮,然后点击一下RESET按钮,这时候如果你的电脑开了音量,就听到声音。此时刷机软件也会自动进入烧写模式。

嵌入式

显示烧录成功:

嵌入式

刷机软件也自动连接上板子,显示了如下信息:

嵌入式

然后系统会自动运行,过了一会儿,我们会发现在设备管理中看到Tina ADB,刷机软件的首页也显示连接设备成功。

然后我们需要配置添加ADB到环境变量中:在win10系统中:

我的电脑-属性-高级系统设置-弹出“系统属性”窗口,选择高级栏中的环境变量,弹出的窗口中选择用户变量中的path路径,选择下载并解压的ADB

嵌入式

嵌入式

新建一个路径,选择自己的adb路径:

嵌入式

然后再win10开始栏中输入cmd,打开命令提示符窗口,我们输入adb shell就会看到如下内容,这样我们就进入了linux系统。

嵌入式

嵌入式

点亮LED灯,连接PH11引脚到LED灯就可以通过控制gpio235的值来点亮和熄灭LED灯。

echo 0 > value点亮LED灯

echo 1 > value熄灭LED灯

嵌入式

如下图我板子的PH11引脚连接到串口的一个蓝色LED指示灯实现点亮LED灯功能。

嵌入式

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分