![GD32F3開發(fā)進(jìn)階教程 課件 ch10CAN通信實(shí)驗(yàn)_第1頁(yè)](http://file4.renrendoc.com/view/c6668deea8b03a09f981e8b4c5a6a18e/c6668deea8b03a09f981e8b4c5a6a18e1.gif)
![GD32F3開發(fā)進(jìn)階教程 課件 ch10CAN通信實(shí)驗(yàn)_第2頁(yè)](http://file4.renrendoc.com/view/c6668deea8b03a09f981e8b4c5a6a18e/c6668deea8b03a09f981e8b4c5a6a18e2.gif)
![GD32F3開發(fā)進(jìn)階教程 課件 ch10CAN通信實(shí)驗(yàn)_第3頁(yè)](http://file4.renrendoc.com/view/c6668deea8b03a09f981e8b4c5a6a18e/c6668deea8b03a09f981e8b4c5a6a18e3.gif)
![GD32F3開發(fā)進(jìn)階教程 課件 ch10CAN通信實(shí)驗(yàn)_第4頁(yè)](http://file4.renrendoc.com/view/c6668deea8b03a09f981e8b4c5a6a18e/c6668deea8b03a09f981e8b4c5a6a18e4.gif)
![GD32F3開發(fā)進(jìn)階教程 課件 ch10CAN通信實(shí)驗(yàn)_第5頁(yè)](http://file4.renrendoc.com/view/c6668deea8b03a09f981e8b4c5a6a18e/c6668deea8b03a09f981e8b4c5a6a18e5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
CAN通信實(shí)驗(yàn)“第十章《GD32F3開發(fā)進(jìn)階教程——基于GD32F303ZET6》01實(shí)驗(yàn)內(nèi)容本章的主要內(nèi)容是學(xué)習(xí)CAN總線的基本原理,包括CAN的物理層和協(xié)議層,了解GD32F30x系列微控制器上的CAN控制器和相關(guān)固件庫(kù)函數(shù),最后基于GD32F3蘋果派開發(fā)板設(shè)計(jì)一個(gè)CAN通信實(shí)驗(yàn),將CAN控制器配置為正常工作模式,采用CAN轉(zhuǎn)USB模塊連接開發(fā)板與計(jì)算機(jī),通過(guò)操作LCD屏上的GUI,實(shí)現(xiàn)開發(fā)板與計(jì)算機(jī)之間的數(shù)據(jù)通信。實(shí)驗(yàn)內(nèi)容02實(shí)驗(yàn)原理CAN模塊CAN模塊電路原理圖如圖10-1所示。1.CAN物理層(1)總線網(wǎng)絡(luò)CAN物理層的形式主要有兩種:閉環(huán)總線通信網(wǎng)絡(luò)和開環(huán)總線通信網(wǎng)絡(luò)。CAN閉環(huán)總線通信網(wǎng)絡(luò)如圖10-2所示,它是一種遵循ISO11898-2標(biāo)準(zhǔn)的高速、短距離“閉環(huán)網(wǎng)絡(luò)”總線最大長(zhǎng)度為40米通信速度最高為1Mbps,總線的兩端各要求有一個(gè)1202Ω的電阻,用于避免信號(hào)的反射和回波。CAN協(xié)議簡(jiǎn)介CAN協(xié)議簡(jiǎn)介CAN協(xié)議簡(jiǎn)介CAN開環(huán)總線通信網(wǎng)絡(luò)如圖10-3所示。0203通信節(jié)點(diǎn):CAN總線上可以掛載多個(gè)通信節(jié)點(diǎn),節(jié)點(diǎn)之間的信號(hào)都通過(guò)總線傳輸。由于CAN通信協(xié)議不對(duì)節(jié)點(diǎn)進(jìn)行地址編碼,而是對(duì)數(shù)據(jù)內(nèi)容進(jìn)行編碼,因此只要總線的負(fù)載足夠,理論上網(wǎng)絡(luò)中的節(jié)點(diǎn)個(gè)數(shù)不受限制。差分信號(hào):與使用單條信號(hào)線的電壓表示邏輯的方式不同,差分信號(hào)傳輸時(shí)需要兩條信號(hào)線,通過(guò)這兩條信號(hào)線的電壓差值來(lái)表示邏輯0和1相較于單信號(hào)線的輸方式,使用分信號(hào)傳輸具有抗干擾能力強(qiáng)和時(shí)序定位精確的優(yōu)點(diǎn)。CAN協(xié)議簡(jiǎn)介CAN協(xié)議簡(jiǎn)介CAN協(xié)議中對(duì)其使用的差分信號(hào)線CANHgh和CANLow做了規(guī)定如表10-1所示。2.CAN協(xié)議層(1)時(shí)序與同步CAN協(xié)議屬于異步通信協(xié)議,沒(méi)有時(shí)鐘信號(hào)線,連接在同一個(gè)總線網(wǎng)絡(luò)上的各個(gè)節(jié)點(diǎn)使用約定的波特率進(jìn)行通信。CAN還會(huì)使用“位同步”的方式來(lái)抗干擾、吸收誤差,實(shí)現(xiàn)對(duì)總線電平信號(hào)的正確采樣,確保通信時(shí)序正常。CAN協(xié)議簡(jiǎn)介CAN協(xié)議簡(jiǎn)介為了實(shí)現(xiàn)位同步,CAN協(xié)議把每一個(gè)數(shù)據(jù)位的時(shí)序分解成如圖10-4所示。CAN協(xié)議簡(jiǎn)介各段的作用如表10-2所示。CAN協(xié)議簡(jiǎn)介①硬同步:當(dāng)總線出現(xiàn)從隱性電平到顯性電平的跳變時(shí),節(jié)點(diǎn)將其視為位的起始段(SS),以獲得同步,如圖10-5所示。CAN協(xié)議簡(jiǎn)介②重新同步:當(dāng)節(jié)點(diǎn)檢測(cè)出跳變沿有2Tq的滯后時(shí),PSB1段末尾將會(huì)插入相應(yīng)的長(zhǎng)度(即2Tq)以調(diào)整同步,如圖10-6所示。CAN協(xié)議簡(jiǎn)介當(dāng)節(jié)點(diǎn)檢測(cè)出跳變沿有2Tq的提前時(shí),PSB2段末尾將會(huì)減小相應(yīng)的長(zhǎng)度(即2Tq)以調(diào)整同步,如圖10-7所示。(2)幀結(jié)構(gòu)前面介紹了CAN協(xié)議中1位數(shù)據(jù)的傳輸方式,下面介紹CAN的結(jié)構(gòu)。當(dāng)數(shù)據(jù)包被傳輸?shù)狡渌O(shè)備時(shí),只要設(shè)備按規(guī)定的格式解讀,就能還原出原始數(shù)據(jù),這樣的報(bào)文(Message)就被稱為CAN的數(shù)據(jù)(Frame)。CAN一共規(guī)定了種類型的,本章僅對(duì)最主要的數(shù)據(jù)頓做簡(jiǎn)要介紹。CAN協(xié)議簡(jiǎn)介CAN協(xié)議簡(jiǎn)介數(shù)據(jù)幀構(gòu)成如圖10-8所示,數(shù)據(jù)以1個(gè)顯性位開始,7個(gè)連續(xù)的隱性位結(jié)束,在它們之間還包含仲裁段、控制段、數(shù)據(jù)段、CRC段和ACK段。CAN協(xié)議簡(jiǎn)介仲裁過(guò)程如圖10-9所示。GD32F30x系列微控制器的CAN外設(shè)簡(jiǎn)介1.通信模式CAN總線控制器有4種通信模式,如圖10-10所示。GD32F30x系列微控制器的CAN外設(shè)簡(jiǎn)介2.位時(shí)序與同步對(duì)比標(biāo)準(zhǔn)CAN協(xié)議,GD32CAN控制器的位時(shí)序如圖10-11所示。3.波特率波特率指每秒傳輸碼元的數(shù)目,而比特率為每秒傳輸?shù)谋忍?bit)數(shù)。4.過(guò)濾器I2C總線協(xié)議采用地址來(lái)區(qū)分節(jié)點(diǎn),而在CAN協(xié)議中,消息的標(biāo)識(shí)符與節(jié)點(diǎn)地址無(wú)關(guān)但與消息內(nèi)容有關(guān)。GD32F30x系列微控制器的CAN外設(shè)簡(jiǎn)介0102一個(gè)32位過(guò)濾器,檢查SFID[10:0]、EFID[17:0]、IDE和RTR位。兩個(gè)16位過(guò)濾器,檢查SFID[10:01、RTR、IDE和EFID17:15]。GD32F30x系列微控制器的CAN外設(shè)簡(jiǎn)介根據(jù)過(guò)濾ID長(zhǎng)度分類,CAN過(guò)濾器的工作模式有以下兩種:0102標(biāo)識(shí)符列表模式掩碼模式GD32F30x系列微控制器的CAN外設(shè)簡(jiǎn)介根據(jù)過(guò)濾模式分類,有以下兩種模式:GD32F30x系列微控制器的CAN外設(shè)簡(jiǎn)介如表10-4所示,在掩碼模式下,第一個(gè)寄存器存儲(chǔ)要篩選的ID,第二個(gè)寄存器存儲(chǔ)掩碼,掩碼為1的部分表示該位必須與D中的內(nèi)容一致,篩選的結(jié)果為表中第三行的I值,它是一組包含多個(gè)ID的值,其中x表示該位可以為1或0。CAN數(shù)據(jù)接收和數(shù)據(jù)發(fā)送路徑CAN數(shù)據(jù)接收過(guò)程如圖10-13所示。CAN數(shù)據(jù)接收和數(shù)據(jù)發(fā)送路徑CAN數(shù)據(jù)發(fā)送過(guò)程如圖10-14所示。1.can_initcan_init函數(shù)的功能是初始化CAN外設(shè)。can_parameter_struct結(jié)構(gòu)體成員變量定。2.can_filter_initcan_filter_init函數(shù)的功能是初始化CAN過(guò)濾器。can_flter_parameter_struct結(jié)構(gòu)體成員變量。3.can_message_transmitcan_message_transmit函數(shù)的功能是傳輸CAN報(bào)文。can_trasnmit_message_struct結(jié)構(gòu)體。CAN部分固件庫(kù)函數(shù)4.can_message_receivecan_message_receive函數(shù)的功能是接收CAN報(bào)文。can_receive_message_struct結(jié)構(gòu)體成員變量。CAN部分固件庫(kù)函數(shù)03實(shí)驗(yàn)代碼解析0102CAN.h文件:在CANh文件的“宏定義”區(qū),首先定義了CAN的波特率。在“API函數(shù)聲明”區(qū),聲明了3個(gè)API函數(shù)。CAN.c文件:在“內(nèi)部函數(shù)聲明”區(qū),聲明了ConfigCANO函數(shù),用于配置CANO。CAN文件對(duì)下面按照順序解釋說(shuō)明USBD_LP_CANO_RXOIROHandle函數(shù)中的語(yǔ)句。(1)第1至6行代碼:當(dāng)CANO接收到數(shù)據(jù)時(shí),調(diào)用can_message_receive函數(shù)把報(bào)文從FIFO復(fù)制到接收結(jié)構(gòu)體。(2)第8至13行代碼:報(bào)文成功通過(guò)CAN過(guò)濾器,接收結(jié)構(gòu)體存儲(chǔ)相關(guān)的信息后,對(duì)其再次進(jìn)行簡(jiǎn)單的檢查,檢查其校驗(yàn)是否為標(biāo)準(zhǔn)格式。若是,則將數(shù)據(jù)保存到數(shù)據(jù)緩沖區(qū)。CAN文件對(duì)下面按照順序解釋說(shuō)明ImitCAN函數(shù)中的語(yǔ)句。(1)第5行代碼初始化接收循壞隊(duì)列其長(zhǎng)度與接收循環(huán)隊(duì)列緩沖區(qū)sarrRecBuf相等。(2)第6至9行代碼:將接收緩沖區(qū)sarrRecBuf全部清零。(3)第11行代碼:調(diào)用ClearQucue函數(shù),清空接收循環(huán)隊(duì)列。(4)第12行代碼:調(diào)用ConfigCANO函數(shù),配置CAN的GPIO。CAN文件對(duì)Main.c文件在Proc2msTask函數(shù)中調(diào)用CANTopTask函數(shù),每40ms執(zhí)行次CAN實(shí)驗(yàn)應(yīng)用層模塊任務(wù),如程序清單10-10所示。實(shí)驗(yàn)結(jié)果下載程序并進(jìn)行復(fù)位,可以觀察到開發(fā)板上的LCD屏幕顯示CAN通信實(shí)驗(yàn)的GUI界面。實(shí)驗(yàn)結(jié)果1.將數(shù)據(jù)從計(jì)算機(jī)發(fā)送到開發(fā)板打開配套資料包“\02相關(guān)軟件”文件夾下的“UART轉(zhuǎn)CAN配置軟件exe”,單擊“串口設(shè)置”彈出如圖10-16所示對(duì)話框,設(shè)置端口和波特率,單擊“打開”按鈕。若未能檢測(cè)到串口,請(qǐng)檢查模塊是否亮起黃色LED燈以及端口號(hào)是否與模塊對(duì)應(yīng)。實(shí)驗(yàn)結(jié)果當(dāng)配置軟件顯示如圖10-17右側(cè)所示內(nèi)容時(shí),說(shuō)明模塊連接成功且正常工作。然后參考圖10-17左側(cè)內(nèi)容進(jìn)行配置。實(shí)驗(yàn)結(jié)果單擊“濾波器”欄下的“計(jì)算”按設(shè)置濾波器(過(guò)濾器),進(jìn)入如圖10-18所示的濾波器計(jì)算界面。在“可通過(guò)ID欄”中輸入5A5,“格式”選擇“標(biāo)準(zhǔn)”,“類型”選擇“數(shù)據(jù)幀”,并單擊“添加”按鈕。實(shí)驗(yàn)結(jié)果完成上述設(shè)置后,單擊上方菜單欄“設(shè)置全部”按鈕,右側(cè)顯示區(qū)域出現(xiàn)如圖10-19所示的提示信息,則表示模塊配置完成。實(shí)驗(yàn)結(jié)果單擊“退出設(shè)置”,進(jìn)入發(fā)送界面,如圖10-20所示。實(shí)驗(yàn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租山林荒地合同范本
- 優(yōu)衣庫(kù)加盟店合同范例
- 債務(wù)處置合同范例
- 推動(dòng)耕地土壤酸化治理的路徑優(yōu)化與實(shí)施對(duì)策
- 學(xué)校膳食經(jīng)費(fèi)管理的透明化與公開化策略
- 老舊小區(qū)改造項(xiàng)目進(jìn)度安排與實(shí)施計(jì)劃
- 四川省巴中學(xué)市恩陽(yáng)區(qū)五校2025屆中考五模生物試題含解析
- 廣東省深圳市深圳實(shí)驗(yàn)學(xué)校初中部聯(lián)考2025屆中考生物押題卷含解析
- 廣西北海市2025屆中考猜題生物試卷含解析
- 商丘市重點(diǎn)中學(xué)2025屆中考生物對(duì)點(diǎn)突破模擬試卷含解析
- 檔案工作管理情況自查表
- 初中英語(yǔ)人教版 八年級(jí)上冊(cè) 單詞默寫表 漢譯英
- pcs-9611d-x說(shuō)明書國(guó)內(nèi)中文標(biāo)準(zhǔn)版
- 無(wú)人機(jī)航拍技術(shù)理論考核試題題庫(kù)及答案
- T∕CMATB 9002-2021 兒童肉類制品通用要求
- 工序勞務(wù)分包管理課件
- 工藝評(píng)審報(bào)告
- 中國(guó)滑雪運(yùn)動(dòng)安全規(guī)范
- 畢業(yè)論文-基于51單片機(jī)的智能LED照明燈的設(shè)計(jì)
- 酒廠食品召回制度
- 中職數(shù)學(xué)基礎(chǔ)模塊上冊(cè)第一章《集合》單元檢測(cè)試習(xí)題及參考答案
評(píng)論
0/150
提交評(píng)論