0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【CW32通信課程實驗板】CW32開發(fā)者扶持計劃

jf_78601551 ? 來源:jf_78601551 ? 作者:jf_78601551 ? 2023-04-18 15:28 ? 次閱讀

前言

  • 本項目為立創(chuàng)EDA與芯源半導(dǎo)體合作發(fā)起的開發(fā)者扶持計劃
  • 感謝來自CW32生態(tài)社區(qū)的技術(shù)支持
  • 支持國產(chǎn)?。?!

基于cw32實現(xiàn)的多機(jī)通信

針對于復(fù)雜的通信環(huán)境,設(shè)計一款用于多機(jī)互聯(lián)的通信系統(tǒng)。

本系統(tǒng)采用CW32F030C8T6作為主控芯片

小板獨立引出了IIC,SPI,另外接了一個USB轉(zhuǎn)串口的CH340模塊,以及一個RS485通信模塊。

一個好看的最小系統(tǒng)板

整體的電路設(shè)計

該小板主要用于通信課程的課程設(shè)計,因此對所有管腳做了引出,對于幾種常用的通信功能引腳都將該腳的接口按照習(xí)慣的順序單獨排列在了板子的周圍

對于oled

對于板子上方的 IIC 接口可用于通信測試,也可用 OLED 屏幕的接口,該接口共有8ping ,順序按照商家銷售的小屏幕進(jìn)行了排列

(4接口與8接口)

image.png

需要注意的是在使用八接口時需要將板子背面的控制線焊接 ,在使用4線就能完成時,其他端口均可以當(dāng)成正常端口輸出

image.png

對于RS485

本次設(shè)計采用的MAX1348通信芯片,該款芯片擁有兩個版本對于 E 版可實現(xiàn)500kb/s的無差錯通信,并且使用這種差分通信方式,在多機(jī)互接時只需要兩個根線就可以實現(xiàn)消息的收發(fā),更多關(guān)于RS485

同樣對于該接口,在不使用時可不對連接處進(jìn)行焊接 t1與t2

對于該接口焊接時,溫度200最為合適

image.png

通信方案

基于modbus的思想,將一段信息分為了 起始,地址區(qū),指令區(qū),數(shù)據(jù)區(qū),校驗區(qū),停止符

image.png

該段信息表示:起始符為 @,地址是 001,指令為 110,需要接收到的數(shù)據(jù)位65533,crc校驗碼 3CFC,并且附帶了一個回車符但他是隱藏的,在這段數(shù)據(jù)中我為每段區(qū)域添加了一個 # 用于區(qū)分,在實際應(yīng)用時去掉 # 判斷,改為數(shù)據(jù)位判斷一樣可以實現(xiàn)

屏幕截圖 2023-04-10 212938.jpg

代碼實現(xiàn)

數(shù)據(jù)處理

在使用串口發(fā)送文本數(shù)據(jù)時,發(fā)出的是ascll編碼表的十進(jìn)制數(shù),進(jìn)入單片機(jī)后會存儲為十六進(jìn)制數(shù),我們需要根據(jù)各區(qū)域數(shù)據(jù)的用途,在提取數(shù)據(jù)時做出不同存儲類型,如在提取編號時將編號存儲為字符型可為我們提供更豐富編號選擇 :A001;

image.png

crc校驗

這是一個用于crc校驗的計算器用于驗證:crc校驗計算機(jī)

這個是部分的通信協(xié)議參考的crc模型,其中:

WIDTH:寬度,即生成的CRC數(shù)據(jù)位寬(0000/0000 0000/0000 0...)

POLY:十六進(jìn)制多項式(可以看到在各各模型中均有對應(yīng)的多項式;如modbus模型,數(shù)據(jù)第16 15 2 1 這幾個位為‘1’,再轉(zhuǎn)換為十六進(jìn)制),要注意的是省略了最高位

image.png

INIT:CRC初始值,和WIDTH位寬一致

XOROUT:計算結(jié)果與此參數(shù)進(jìn)行異或運算后得到最終的CRC值

REFIN:true或false,在進(jìn)行計算之前,原始數(shù)據(jù)是否翻轉(zhuǎn)(要注意的是翻轉(zhuǎn)是是按位翻轉(zhuǎn)的,如:0011 == 1100)

REFOUT:true或false,運算完成之后,得到的CRC值是否進(jìn)行翻轉(zhuǎn)(同上)

image.png

CW32f030自帶了crc校驗以及相應(yīng)的模型,因此我們無須具體的去寫完一個校驗,學(xué)會調(diào)用即可,且硬件自帶的crc校驗運行速度是要快于軟件實現(xiàn)的,調(diào)用方法參考:cw32官方程序移植參考

調(diào)試

image.png

點擊這個地方可以進(jìn)入調(diào)試模式

image.png

在這里可以添加一個變量觀察窗口

image.png

將變量復(fù)制進(jìn)串口,就可實時看到crc校驗后的結(jié)果了

串口默認(rèn)配置

image.png

需要注意的是在我寫的代碼里,數(shù)據(jù)停止位是換行 ,即需要在最后一個 # 后面按一次 enter 鍵

我在cw32里移植了一個RTOS,不使用可以直接刪除,只用在了main.c函數(shù)中,移植過程:cw32的RTOS移植

PCB板上方空余了兩角空間可放置自己需要的通信模塊

image.png

背面焊接點按鍵示意

image.png

4.14驗證不同電源之間通信

IMG_20230414_212748.jpg

4.15 發(fā)送搶占

導(dǎo)圖

image.png

代碼實現(xiàn)

image.png

更多功能還在完善中

預(yù)計完善 發(fā)送搶占 碰撞檢測

原理圖

image.png

PCB

image.png

下載鏈接:正在審核

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635297
  • 半導(dǎo)體
    +關(guān)注

    關(guān)注

    334

    文章

    27363

    瀏覽量

    218707
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6032

    瀏覽量

    135992
  • RX480
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    4072
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    203

    瀏覽量

    641
  • 武漢芯源
    +關(guān)注

    關(guān)注

    1

    文章

    66

    瀏覽量

    255
收藏 人收藏

    評論

    相關(guān)推薦

    CW32移植Free-RTOS】CW32開發(fā)者扶持計劃

    CW32配置Free-RTOS全過程,CW32開發(fā)者扶持計劃
    的頭像 發(fā)表于 04-18 09:38 ?6149次閱讀
    【<b class='flag-5'>CW32</b>移植Free-RTOS】<b class='flag-5'>CW32</b><b class='flag-5'>開發(fā)者</b><b class='flag-5'>扶持</b><b class='flag-5'>計劃</b>

    CW32飯盒派開發(fā)板 測試IO速度

    CW32飯盒派開發(fā)板的GPIO進(jìn)行速度測試
    的頭像 發(fā)表于 05-26 13:07 ?42.5w次閱讀
    <b class='flag-5'>CW32</b>飯盒派<b class='flag-5'>開發(fā)板</b> 測試IO速度

    CW32快速開發(fā)入門

    CW32快速開發(fā)入門
    的頭像 發(fā)表于 04-24 18:56 ?1969次閱讀
    <b class='flag-5'>CW32</b>快速<b class='flag-5'>開發(fā)</b>入門

    CW32開發(fā)者扶持計劃#CW32 #芯片

    CW32
    CW32生態(tài)社區(qū)
    發(fā)布于 :2023年05月24日 16:56:14

    開始報名!CW32開發(fā)者扶持計劃正式進(jìn)行,將助力中國的大學(xué)教育及人才培養(yǎng)

    才培養(yǎng),建立以企業(yè)為主體、市場為導(dǎo)向、產(chǎn)學(xué)研深度融合的技術(shù)創(chuàng)新體系。2023年3月,武漢芯源半導(dǎo)體開發(fā)者扶持計劃正式開始進(jìn)行,以打造更為豐富的CW32生態(tài)社區(qū)。武漢芯源半導(dǎo)體
    發(fā)表于 03-14 10:28

    開發(fā)者扶持計劃】教師、學(xué)生、工程師均可免費參與

    [CW32開發(fā)者扶持計劃] 是CW32生態(tài)社區(qū)面向全球電子愛好、高校師生、工程師群體發(fā)出的一項
    發(fā)表于 04-27 12:10

    CW32飯盒派開發(fā)板試用體驗】+初識CW32飯盒派開發(fā)板

    盼星星,盼月亮,終于收到了CW32飯盒派開發(fā)板?;叵肫鹉翘齑饛?fù)參加活動郵件發(fā)出去的那一刻,就在期盼。 以前也了解過CW32單片機(jī),這是一款非常優(yōu)秀的32位單片機(jī)。外部資源也豐富。這回的CW32
    發(fā)表于 05-29 15:51

    開發(fā)者扶持計劃CW32-FreeRTOS

    cw32配置好的Free-rtos
    發(fā)表于 04-18 14:22 ?0次下載

    CW32飯盒派開發(fā)板溫濕度采集

    CW32飯盒派開發(fā)板采集溫濕數(shù)據(jù)并用LCD顯示
    的頭像 發(fā)表于 05-26 19:20 ?1504次閱讀
    <b class='flag-5'>CW32</b>飯盒派<b class='flag-5'>開發(fā)板</b>溫濕度采集

    開始報名!CW32開發(fā)者扶持計劃正式進(jìn)行,將助力中國的大學(xué)教育及人才培養(yǎng)

    武漢芯源半導(dǎo)體積極參與推動中國的大學(xué)教育改革以及注重電子行業(yè)的人才培養(yǎng),建立以企業(yè)為主體、市場為導(dǎo)向、產(chǎn)學(xué)研深度融合的技術(shù)創(chuàng)新體系。2023年3月,武漢芯源半導(dǎo)體開發(fā)者扶持計劃正式開始進(jìn)行,以打造更為豐富的
    的頭像 發(fā)表于 03-14 11:35 ?605次閱讀
    開始報名!<b class='flag-5'>CW32</b><b class='flag-5'>開發(fā)者</b><b class='flag-5'>扶持</b><b class='flag-5'>計劃</b>正式進(jìn)行,將助力中國的大學(xué)教育及人才培養(yǎng)

    cw32和stm32的區(qū)別

    cw32和stm32的區(qū)別 CW32和STM32是兩種常見的單片機(jī),被廣泛應(yīng)用于各種電子設(shè)備中。在本文中,我們將深入探討CW32和STM32之間的區(qū)別和優(yōu)劣勢。 1. 硬件性能 硬件性能是衡量單片機(jī)
    的頭像 發(fā)表于 08-16 11:15 ?4244次閱讀

    cw32和gd32的區(qū)別

    cw32和gd32的區(qū)別 CW32和GD32是兩種不同的芯片系列,分別由WCH和GigaDevice公司推出,兩有很多不同之處,下面我們來詳細(xì)介紹。 首先從CW32系列開始,
    的頭像 發(fā)表于 08-16 11:15 ?1982次閱讀

    基于CW32熱敏電阻采集溫度應(yīng)用

    基于CW32熱敏電阻采集溫度應(yīng)用
    的頭像 發(fā)表于 10-25 16:45 ?548次閱讀
    基于<b class='flag-5'>CW32</b>熱敏電阻采集溫度應(yīng)用

    CW32的SPI單工模式主從通信介紹

    CW32的SPI單工模式主從通信介紹
    的頭像 發(fā)表于 10-24 15:50 ?823次閱讀
    <b class='flag-5'>CW32</b>的SPI單工模式主從<b class='flag-5'>通信</b>介紹

    基于CW32的物聯(lián)網(wǎng)應(yīng)用

    CW32】基于CW32的物聯(lián)網(wǎng)應(yīng)用
    的頭像 發(fā)表于 11-02 15:55 ?797次閱讀
    基于<b class='flag-5'>CW32</b>的物聯(lián)網(wǎng)應(yīng)用