串口服務(wù)器,提供串口轉(zhuǎn)網(wǎng)絡(luò)的功能,將串口轉(zhuǎn)換成TCP/IP協(xié)議網(wǎng)絡(luò)接口,實現(xiàn)串口和網(wǎng)絡(luò)接口的數(shù)據(jù)雙向透明傳輸,擴展串口設(shè)備的通訊距離。
赤菟V307是搭載沁恒自研RISC-V內(nèi)核青稞V4F的高性能互聯(lián)型MCU,主頻支持144MHz,支持硬件浮點運算(FPU),提供八個UART接口、USB2.0高速接口(480Mbps)并內(nèi)置了PHY收發(fā)器、千兆以太網(wǎng)MAC并集成10M PHY、2個CAN接口等豐富的外設(shè)資源。
基于八個UART接口、10M以太網(wǎng)的強大外設(shè),通過單片赤菟V307即可實現(xiàn)八串口服務(wù)器,每個串口獨立工作。
源碼倉庫地址:https://github.com/openwch/ch32v307/tree/main/Application/8_uarts_server
下載源碼工程后,可直接導(dǎo)入到RT-Thread Studio即可打開工程體驗。
網(wǎng)口端設(shè)計網(wǎng)口端采用的是開源的輕量級TCP/IP協(xié)議棧LwIP,可以輕松實現(xiàn)赤菟V307網(wǎng)口端的TCP、UDP通信。
例程中默認(rèn)開啟的是TCP Client模式,采用單向循環(huán)鏈表的方式接收TCP Server發(fā)過來的數(shù)據(jù)。
當(dāng)串口端接收到數(shù)據(jù)時,直接啟動TCP Client的發(fā)送函數(shù),并更新隊列的讀指針。
串口端設(shè)計
串口端為了加快數(shù)據(jù)的收發(fā),采用DMA循環(huán)隊列的方式接收數(shù)據(jù),通過查詢接收DMA 傳輸數(shù)據(jù)數(shù)目寄存器CNTR,與上一次該值進行比較,有變化則說明串口接收到數(shù)據(jù),此時便更新隊列寫指針,并計算隊列中數(shù)據(jù)長度。
根據(jù)網(wǎng)口接收端的鏈表中的數(shù)據(jù)地址及長度,啟動串口端的發(fā)送DMA進行數(shù)據(jù)發(fā)送。
多任務(wù)設(shè)計
通過RT-Thread操作系統(tǒng),創(chuàng)建兩個線程,分別為用于網(wǎng)口端接收數(shù)據(jù)的“eth_rev”線程和用于串口端接收數(shù)據(jù)的“uart_rev”線程。
采用時間片輪轉(zhuǎn)方式進行這兩個線程的調(diào)度,當(dāng)“eth_rev”線程收到網(wǎng)口端的數(shù)據(jù)時,啟動串口端的發(fā)送DMA將數(shù)據(jù)通過串口發(fā)送出去;當(dāng)“uart_rev”線程收到串口端的數(shù)據(jù)時,啟動網(wǎng)口端的發(fā)送函數(shù)將數(shù)據(jù)通過網(wǎng)口發(fā)送出去,這樣就實現(xiàn)了串口和網(wǎng)絡(luò)接口的數(shù)據(jù)雙向透明傳輸。
驗證
串口默認(rèn)波特率為115200,實測八個串口獨立工作,可以實現(xiàn)收發(fā)10+KB/s的速度。
該例程目前僅實現(xiàn)了TCP Client的收發(fā),還有TCP Server、UDP Server/Client等需要完善,希望各位開發(fā)者能夠積極提交pr,一起完善該項目。
可添加微信15950380583為好友,注明:赤菟V307,邀請您進入沁恒RISC-V MCU開發(fā)者微信交流群,一起玩轉(zhuǎn)RISC-V MCU。
赤菟V307評估板購買鏈接:https://item.szlcsc.com/3329177.html
原文標(biāo)題:嘗鮮赤菟CH32V307-基于RT-Thread和LwIP實現(xiàn)八串口服務(wù)器
文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
8958瀏覽量
85085 -
設(shè)備
+關(guān)注
關(guān)注
2文章
4453瀏覽量
70494 -
串口
+關(guān)注
關(guān)注
14文章
1540瀏覽量
76062
原文標(biāo)題:嘗鮮赤菟CH32V307-基于RT-Thread和LwIP實現(xiàn)八串口服務(wù)器
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論