RISC-V MCU应用之单片赤菟V307实现八串口服务器

news/2024/11/7 20:46:51/

简介

串口服务器,提供串口转网络的功能,将串口转换成TCP/IP协议网络接口,实现串口和网络接口的数据双向透明传输,扩展串口设备的通讯距离。

赤菟V307是搭载沁恒自研RISC-V内核青稞V4F的高性能互联型MCU,主频支持144MHz,支持硬件浮点运算(FPU),提供八个UART接口、USB2.0高速接口(480Mbps)并内置了PHY收发器、千兆以太网MAC并集成10M PHY、2个CAN接口等丰富的外设资源。

基于八个UART接口、10M以太网的强大外设,通过单片赤菟V307即可实现八串口服务器,每个串口独立工作。

源码仓库地址:ch32v307/Application/8_uarts_server at main · openwch/ch32v307 · GitHub 

网口端设计

网口端采用的是开源的轻量级TCP/IP协议栈LwIP,可以轻松实现赤菟V307网口端的TCP、UDP通信。

例程中默认开启的是TCP Client模式,采用单向循环链表的方式接收TCP Server发过来的数据。

当串口端接收到数据时,直接启动TCP Client的发送函数,并更新队列的读指针。

串口端设计

串口端为了加快数据的收发,采用DMA循环队列的方式接收数据,通过查询接收DMA 传输数据数目寄存器CNTR,与上一次该值进行比较,有变化则说明串口接收到数据,此时便更新队列写指针,并计算队列中数据长度。

根据网口接收端的链表中的数据地址及长度,启动串口端的发送DMA进行数据发送。

多任务设计

通过RT-Thread操作系统,创建两个线程,分别为用于网口端接收数据的“eth_rev”线程和用于串口端接收数据的“uart_rev”线程。

采用时间片轮转方式进行这两个线程的调度,当“eth_rev”线程收到网口端的数据时,启动串口端的发送DMA将数据通过串口发送出去;当“uart_rev”线程收到串口端的数据时,启动网口端的发送函数将数据通过网口发送出去,这样就实现了串口和网络接口的数据双向透明传输。

验证

串口默认波特率为115200,实测八个串口独立工作,可以实现收发10+KB/s的速度。

该例程目前仅实现了TCP Client的收发,还有TCP Server、UDP Server/Client等需要完善,希望各位开发者能够积极提交pr,一起完善该项目。可添加微信15950380583为好友,注明:赤菟V307,邀请您进入沁恒RISC-V MCU开发者微信交流群,一起玩转RISC-V MCU。

赤菟V307评估板购买链接:CH32V307V-EVT-R1_(WCH(南京沁恒))CH32V307V-EVT-R1中文资料_价格_PDF手册-立创电子商城


http://www.ppmy.cn/news/180418.html

相关文章

6、Lctech Pi(F1C200S)4.3寸(480*272)16位RGB565LCD屏驱动适配(CherryPi,Mangopi,F1C100S)

本次主要参考: https://blog.csdn.net/wending1986/article/details/106837597/ http://blog.chinaunix.net/uid-20543672-id-3246283.html https://wiki.sipeed.com/soft/Lichee/zh/Nano-Doc-Backup/index.html 李山文大佬 (如果方便请给这几位大佬一个…

嵌入式Linux--荔枝派Zero--V3s--ST7789v

文章目录 前言血的教训:没有CS引脚是没法运行的! 一、原理图二、ubootU-Boot编译配置文件编译uboot 三、Linux Kernel四、设备树第一步:注释掉自带的视频输出第二步:增加屏幕驱动节点 五、烧录荔枝派是怎么启动的TF卡上需要有什么…

全志v3s学习笔记(5)——主线Linux编译与烧录

一、安装交叉编译环境 交叉编译环境跟uboot使用的一样。 参考:arm-linux-gnueabihf 交叉编译工具链安装 二、下载linux源码 # 默认是zero-4.10.y分支: git clone https://github.com/Lichee-Pi/linux.git# 或者zero-4.13.y对网卡的支持更好 git clone …

台式 华硕 win7 耳机 插到 主机 耳机没有声音

台式接了显示器的,显示器下面有个耳机接口,因此就有一个显示器音频。那个地方接耳机有声音的。 在主机哪里有耳机接口,插上没声音,我以为下个驱动精灵,就能解决。然而驱动精灵驱动以后,还是耳机还是没声音…

华硕台式机VT-x设置

华硕台式机设置虚拟化支持(在使用虚拟机时,提示vt-x不可用) 1.开机时,显示华硕主界面,按delete键,进入华硕主板控制界面; 2.选择主界面的“高级模式”; 3.选择进入advanced&#x…

华硕重装后进入bios_华硕台式机重装系统win10按哪个键进入bios设置

需要为台式机进行重装系统win10的用户,可以在开机时按下DEL键进入bios设置U盘启动重装系统win10。 1.先将U盘插入到电脑中,然后我们在开机出现第一屏启动信息界面时按键盘上的DEL键,直接进入BIOS。 2.进入后按键盘上的右方向键找到“Advanced…

台式计算机华硕电源,美声大师+智能电源 华硕台式电脑M51AC

美声大师智能电源 华硕台式电脑M51AC 2014年04月01日 14:16作者:厂商投稿文章出处:泡泡网原创 分享 随着用户对台式电脑的性能需求日趋多元化,PC产品的创新之路也在向多维度的层面不断拓展。从极速运行到高清影音,从整机内配到技亮…

华硕计算机配置清单表,2019年8月华硕ROG系列全家桶奢华主机配置清单推荐

一直以来,华硕ROG系列硬件都是给人高端奢华的印象,让不少普通用户望而却步。然而对于土豪而言,性价比是不存在的,都是怎么高端奢华怎么来。接下来就为大家推荐一套主板、显卡、散热器、机箱、电源均采用了华硕ROG高端系列硬件的全…