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