国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

【開發(fā)板評測筆記】Renesas RA6M4開發(fā)板之USB-H(下)

瑞薩嵌入式小百科 ? 來源:未知 ? 2022-12-13 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

例程編寫

編寫的例程是使用FSP提供的usb hcdc中間件,實現(xiàn)了一個可使用usb串口設(shè)備的usb主機。

首先在RT-Thread Studio上新建一個基于開發(fā)板的項目,選擇CPK-RA6M4開發(fā)板,建立一個模板工程。編譯下載后,可以看到LED燈在閃爍,同時可以在串口終端上使用rtt的FinSH控制臺。

下一步,打開RASC,在stacks頁面,添加一個usb hcdc的驅(qū)動棧。

b74ebe82-7ac7-11ed-8abf-dac502259ad0.png

這時候會提示有錯誤,usb模塊使用的UCLK時鐘頻率不是48MHz的,需要在Clocks頁面進行配置。將PLL2時鐘源選擇為HOCO,分頻系數(shù)調(diào)到2,倍頻系數(shù)調(diào)到24,即可得到240Mhz的輸出時鐘。將UCLK的時鐘源選擇為PLL2,再進行5倍分頻,即可得到usb模塊需要的48MHz時鐘了。

b77ff196-7ac7-11ed-8abf-dac502259ad0.png

然后我們可以在Pins的頁面中查看USB_FS0組件的引腳相關(guān)設(shè)置。根據(jù)原理圖,需要將USB_VBUSEN設(shè)置為P500引腳,USB_OVRCURA設(shè)置為P501引腳,USB_VBUS是usbd使用的,用于檢測usb是否有供電接入,這里不設(shè)置應該也是沒關(guān)系的。

b7a18aae-7ac7-11ed-8abf-dac502259ad0.png

保存點擊Generate Project Content按鈕,RASC會幫我們更新工程中的FSP代碼,ra 、ra_cfg、ra_gen三個文件夾的內(nèi)容會有所改變。下一步是將更新后的FSP代碼加入到工程編譯。如果項目資源管理器中設(shè)置了對不參與構(gòu)建的文件進行隱藏,那么新文件在項目資源管理器中是看不到的,需要打開導航器,在導航器中對需要加入構(gòu)建的文件或文件夾點擊右鍵->資源配置->添加構(gòu)建。我們需要將ra/fsp/src/r_usb_basic和r_usb_hcdc中的文件加入構(gòu)建,在r_usb_basic的src文件夾下還有driver和hw兩個文件夾,都需要加入構(gòu)建。這時編譯會報有頭文件找不到,在工程配置中手動添加一個頭文件路徑即可。

由于rtt還未對這款開發(fā)板的usb host進行支持,所以不需要打開rtt設(shè)置中的usb主機模式開關(guān),如果打開了,還會有因宏命名與FSP中的重名導致的編譯警告。

到這里,前期的配置準備工作就已經(jīng)完成了,需要開始寫代碼了。在src文件夾下新建一個usbh_cdc_demo.c文件用于編寫我們的例程。

根據(jù)FSP中的API文檔介紹,需要一直調(diào)用R_USB_EventGet接口來保持底層usb驅(qū)動棧的正常工作。所以我們創(chuàng)建一個線程來進行這個操作。

b7c479ec-7ac7-11ed-8abf-dac502259ad0.jpg

在線程中使用一個狀態(tài)機,根據(jù)每次的event來進行不同的操作,這也是瑞薩提供的例程的寫法。

b7dd6290-7ac7-11ed-8abf-dac502259ad0.jpgb7fbd05e-7ac7-11ed-8abf-dac502259ad0.jpgb81ddb36-7ac7-11ed-8abf-dac502259ad0.jpgb8498c2c-7ac7-11ed-8abf-dac502259ad0.jpgb8b4b8f8-7ac7-11ed-8abf-dac502259ad0.jpg

在插入usb設(shè)備后,拿到的event會變?yōu)閁SB_STATUS_CONFIGURED,這時候FSP已經(jīng)幫我們枚舉好了設(shè)備,可以直接進行控制。下一步是發(fā)送SetLineCoding和SetControlLineState來配置串口,例如波特率和奇偶校驗位等。使用hostControlTransfer發(fā)起一個控制傳輸。

b8cbc660-7ac7-11ed-8abf-dac502259ad0.jpgb8f915fc-7ac7-11ed-8abf-dac502259ad0.jpg

所有配置工作都結(jié)束后,就可以使用R_USB_Read和R_USB_Write兩個接口來接收和發(fā)送串口數(shù)據(jù)了。簡單地在FinSH中添加一個命令來方便我們測試。

b911f888-7ac7-11ed-8abf-dac502259ad0.jpg

剛好模板工程中的按鍵也是開啟使用的狀態(tài),我們增加一個回調(diào)來按鍵發(fā)送串口數(shù)據(jù)。

b939f7c0-7ac7-11ed-8abf-dac502259ad0.jpgb94f5a7a-7ac7-11ed-8abf-dac502259ad0.jpgb97f0270-7ac7-11ed-8abf-dac502259ad0.jpg

編譯下載,使用一個micro usb轉(zhuǎn)USB-A的otg連接線,就可以接入一個usb串口設(shè)備使用了。剛好手上還有上次參加開發(fā)者大會的活動獲得的板子,于是在上面簡單寫了一個usbd_cdc的程序,將它們連接起來。

b991623a-7ac7-11ed-8abf-dac502259ad0.pngb9f380c8-7ac7-11ed-8abf-dac502259ad0.png

CheeryUSB移植嘗試

打開RT-Thread Settings,在里面找到CherryUSB軟件包,添加到工程中,保存后,RT-Thread會自動從github上拉取CheeryUSB的源碼放置到packages/CherryUSB-latest目錄下,然后將需要構(gòu)建的文件加入到構(gòu)建中。需要包括core、osal、port、class四個文件夾下的文件,其中core是協(xié)議棧的核心實現(xiàn)部分,osal是操作系統(tǒng)抽象層,port存放移植需要實現(xiàn)的內(nèi)容,class則是針對不同的usb設(shè)備類型編寫的驅(qū)動代碼。osal/usb_osal_rtthread.c文件表明CheeryUSB對RT-Thread系統(tǒng)是有完善支持的。

ba234984-7ac7-11ed-8abf-dac502259ad0.png

usb host的部分,CherryUSB的作者還沒出教程,這部分的文檔也還沒有,只能繼續(xù)觀察已有的代碼來猜測著移植。一開始像直接借助FSP的usb_basic來做移植,直接使用R_USB_Open、R_USB_Read等API,結(jié)果發(fā)現(xiàn)FSP已經(jīng)封裝得很好了,細節(jié)操作都沒暴露出來,把整個設(shè)備枚舉的過程都隱藏了起來,每個API的操作也都加了很多條件判斷,不便于移植。那就只能看寄存器手冊,通過直接操作寄存器來完成操作了。

自己對USB協(xié)議只能說稍有了解,對CheeryUSB和瑞薩系列芯片的寄存器也都不熟悉,移植起來確實非常困難,只能一直讀FSP的代碼,對著寄存器手冊去理解。

后續(xù)時間也不充裕,還是沒能成功移植CheeryUSB,只能再到后面等待其他大佬來搞了。

性能測試

原本想要做的功能是usb hmsc的,也就是可以外接U盤等存儲設(shè)備,如果是這樣的話,就可以進行一些讀寫測速來測試性能指標了。但是現(xiàn)在換成了usb hcdc,手上現(xiàn)有的usb串口工具波特率調(diào)不到很高,也沒有使用DMA來做傳輸,感覺測試不到最快傳輸速度,所以這個環(huán)節(jié)只能略過了。

ba55d62e-7ac7-11ed-8abf-dac502259ad0.png

代碼與參考資料

源碼已經(jīng)開源到了github上,感興趣的同學可以識別下方二維碼或復制下方鏈接在瀏覽器中打開,前往github網(wǎng)頁上查看參考。

cpk-ra6m4-usbh-cdc-demo

ba668adc-7ac7-11ed-8abf-dac502259ad0.png

https://github.com/VxTeemo/cpk-ra6m4-usbh-cdc-demo

更多參考資料

Renesas USB MCU USB Basic Host and Peripheral Driver using.pdf

ba7bbba0-7ac7-11ed-8abf-dac502259ad0.png

https://oss-club.rt-thread.org/uploads/20220406/12e477786db53794f1bb48c6c1b66fd9.pdf

CPK-RA6M4用戶手冊

ba93d50a-7ac7-11ed-8abf-dac502259ad0.png

https://oss-club.rt-thread.org/uploads/20220406/bd0c6707ec63aa179b2a337d5dbd2233.pdf

RA6M4 datasheet

baaa05aa-7ac7-11ed-8abf-dac502259ad0.png

https://oss-club.rt-thread.org/uploads/20220406/0fa9ca3da04f687db684a4e6f9230725.pdf

RA6M4_Group_User’s_Manual_Hardware.pdf

bac401e4-7ac7-11ed-8abf-dac502259ad0.png

https://oss-club.rt-thread.org/uploads/20220406/92c2218e2db4b08cff4b6f34cb61268b.pdf

CPK-RA6M4 MCU評估板原理圖.pdf

badcc788-7ac7-11ed-8abf-dac502259ad0.png

https://oss-club.rt-thread.org/uploads/20220406/460d66bee9aa09a6036f302890ebc737.pdf

bafbec4e-7ac7-11ed-8abf-dac502259ad0.svg

向左滑動查看更多

bafbec4e-7ac7-11ed-8abf-dac502259ad0.svg

ba55d62e-7ac7-11ed-8abf-dac502259ad0.png

心得體會

bb36fe24-7ac7-11ed-8abf-dac502259ad0.png

拿到開發(fā)板后,感覺還是具有一定挑戰(zhàn)性的,首先是usb這個外設(shè)并沒有現(xiàn)成的驅(qū)動,而且我自己對usb協(xié)議也不算很熟悉。在摸索了一段時間后,最初的目標是打算做一個usb存儲設(shè)備的主機,可以用來讀取U盤等usb存儲設(shè)備,在FSP中添加了usb hmsc的棧時發(fā)現(xiàn)必須要帶操作系統(tǒng)而現(xiàn)在支持的只有FreeRTOS,并且使用的文件系統(tǒng)是FATFS。RT-Thread里面使用的文件系統(tǒng)是elm chan FatFs,嘗試加進去之后做下移植,以前只移植過有完善支持的文件系統(tǒng),對這種情況還是不大處理得了,于是作罷。先完成一個usb hcdc的例程。

在編寫例程的過程中,也去了解了一下CherryUSB(詳見github官網(wǎng)),這是一個非常優(yōu)秀的usb device/host驅(qū)動,于是便嘗試將RA6M4也添加支持。觀察了一下工程結(jié)構(gòu),需要在port文件夾下編寫移植代碼,之前群里也有人說RA6M4的usb IP是叫做fsdev,里面確實有這么一個文件夾,只有usb device的實現(xiàn),里面操作的寄存器和現(xiàn)在這款單片機是對不上的,到處搜了一圈也沒有關(guān)于fsdev和RA6M4 usb IP相關(guān)的內(nèi)容,只能繼續(xù)憑著感覺移植。總體來說這次的評測體驗還是非常不錯的。

芯片中還有設(shè)計用于存儲數(shù)據(jù)的8KB Data Flash,可以不用將ROM做數(shù)據(jù)空間使用了,無需外接SPI存儲芯片就可以實現(xiàn)方便的非易失數(shù)據(jù)存儲,也不需要考慮和代碼共用空間產(chǎn)生的種種問題,甚至還能更好地實現(xiàn)平衡磨損,這個設(shè)計還是很不錯的。

在RASC中新增了usb的stack之后,rt-thread studio并不能自動識別新增文件并加入到構(gòu)建中,其他的模塊好像是沒問題的,不知道是不是usb驅(qū)動這邊多了一層hw和driver文件夾的原因。需要手動添加構(gòu)建就可以解決。

現(xiàn)在大部分設(shè)備都已經(jīng)使用type-c接口了,micro usb的設(shè)備越來越少,現(xiàn)在手上有一堆type-c轉(zhuǎn)USB-A的轉(zhuǎn)接頭,但是為了這次測試,還是需要另外購買micro usb轉(zhuǎn)USB-A的轉(zhuǎn)接頭。micro usb接口相比type-c接口確實是有更穩(wěn)定、兼容性更強等優(yōu)點,但個人還是希望能升級到type-c接口。

1

END

1

往期推薦

1

瑞薩RA產(chǎn)品家族初學者指南

2

RA6M4通過DTC實現(xiàn)ADC多次采樣

3

[瑞薩RA產(chǎn)品家族]器件生命周期管理密鑰安裝應用筆記

瑞薩電子 (TSE: 6723)

科技讓生活更輕松,致力于打造更安全、更智能、可持續(xù)發(fā)展的未來。作為全球微控制器供應商,瑞薩電子融合了在嵌入式處理、模擬電源及連接方面的專業(yè)知識,提供完整的半導體解決方案。成功產(chǎn)品組合加速汽車、工業(yè)、基礎(chǔ)設(shè)施及物聯(lián)網(wǎng)應用上市,賦能數(shù)十億聯(lián)網(wǎng)智能設(shè)備改善人們的工作和生活方式。

更多信息,敬請訪問renesas.com

bb7ab43e-7ac7-11ed-8abf-dac502259ad0.gif


原文標題:【開發(fā)板評測筆記】Renesas RA6M4開發(fā)板之USB-H(下)

文章出處:【微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    147

    文章

    18923

    瀏覽量

    397976
  • 瑞薩
    +關(guān)注

    關(guān)注

    37

    文章

    22481

    瀏覽量

    90847
  • RA6M4
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    1012
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    探索Renesas FPB - RA2E2快速原型開發(fā)板:硬件設(shè)計與應用指南

    開發(fā)板就是這樣一款值得關(guān)注的產(chǎn)品,它為RA2E2 MCU組的特性評估和嵌入式系統(tǒng)應用開發(fā)提供了強大的支持。今天,我們就來深入了解一這款開發(fā)板
    的頭像 發(fā)表于 12-29 16:30 ?615次閱讀

    探索Renesas FPB - RA6E2:快速原型開發(fā)板的深度解析

    ,為開發(fā)者提供了一個理想的平臺,用于評估RA6E2 MCU組的特性并開發(fā)嵌入式系統(tǒng)應用。今天,我們就來深入了解一這款開發(fā)板。 文件下載:
    的頭像 發(fā)表于 12-29 15:15 ?411次閱讀

    Renesas FPB-RA0E2 v1快速原型開發(fā)板使用指南

    Renesas FPB-RA0E2 v1快速原型開發(fā)板使用指南 在嵌入式系統(tǒng)開發(fā)領(lǐng)域,快速原型開發(fā)板是工程師們驗證設(shè)計和
    的頭像 發(fā)表于 12-26 17:30 ?842次閱讀

    Renesas FPB - RA2T1快速原型開發(fā)板:開啟高效設(shè)計之旅

    原型開發(fā)板就是這樣一款值得關(guān)注的產(chǎn)品。今天,我們就來詳細了解一這款開發(fā)板。 文件下載: Renesas Electronics FPB-RA
    的頭像 發(fā)表于 12-26 16:20 ?283次閱讀

    RA4M2-SENSOR開發(fā)板評測】基礎(chǔ)架構(gòu)與環(huán)境感知

    收到了 RA 生態(tài)工作室寄來的 RA4M2-SENSOR 開發(fā)板,主控芯片為 R7FA4M2AD3CFL 本系列評測的第一篇,我們將啟動 “
    的頭像 發(fā)表于 12-10 17:13 ?2138次閱讀
    【<b class='flag-5'>RA4M</b>2-SENSOR<b class='flag-5'>開發(fā)板</b><b class='flag-5'>評測</b>】基礎(chǔ)架構(gòu)與環(huán)境感知

    RA-Eco-RA6M4開發(fā)板評測開發(fā)環(huán)境搭建

    開發(fā)環(huán)境: IDE:MKD 5.38a Renesas RA Smart Configurator:v5.9.0 開發(fā)板RA-Eco-RA6M4
    發(fā)表于 11-09 21:16

    RA-Eco-RA6M4開發(fā)板評測】基于 RA6M4 MCU的工業(yè)生產(chǎn)線安全監(jiān)測系統(tǒng)移植nanoMODBUS

    根據(jù)工業(yè)生產(chǎn)線安全監(jiān)測系統(tǒng)需求,詳見項目介紹【RA-Eco-RA6M4開發(fā)板評測】基于 RA6M4 MCU的工業(yè)生產(chǎn)線安全監(jiān)測系統(tǒng)項目介紹 ,今天主要實現(xiàn)在
    發(fā)表于 09-15 22:32

    RA-Eco-RA6M4開發(fā)板評測】Keil開發(fā)環(huán)境搭建+實現(xiàn)板載LED點燈

    開發(fā)板介紹】 RA-Eco-RA6M4-100PIN-V1.0開發(fā)板,主控芯片為R7FA6M4AF3CFP。 瑞薩電子 RA6M4 微控制
    發(fā)表于 08-24 18:59

    【干貨分享】在 RA-Eco-RA6M4開發(fā)板上實現(xiàn) ADC 電壓的 LabVIEW 數(shù)據(jù)采集

    本文介紹了RA-Eco-RA6M4-100PIN-V1.0開發(fā)板通過LabVIEW上位機實現(xiàn)ADC電壓數(shù)據(jù)采集的項目設(shè)計,采用串口發(fā)送和串口中斷查詢兩種方案。
    的頭像 發(fā)表于 08-21 08:05 ?1581次閱讀
    【干貨分享】在 <b class='flag-5'>RA-Eco-RA6M4</b><b class='flag-5'>開發(fā)板</b>上實現(xiàn) ADC 電壓的 LabVIEW 數(shù)據(jù)采集

    RA-Eco-RA6M4開發(fā)板評測】——8.獲取RA6M4開發(fā)板芯片內(nèi)部溫度傳感器值

    (\"\\\\r\\\\n測量RA-Eco-RA6M4開發(fā)板芯片溫度\\\\r\\\\n\"); while(1) { R_ADC_convert(); V1 = ( 3.3
    發(fā)表于 07-27 14:39

    RA-Eco-RA6M4開發(fā)板評測】介紹、環(huán)境搭建、工程測試

    RA-Eco-RA6M4開發(fā)板評測】介紹、環(huán)境搭建、工程測試 本文介紹了 RA-Eco-RA6M4-100PIN-V1.0 開發(fā)板的基本信
    發(fā)表于 07-25 11:48

    RA-Eco-RA6M4開發(fā)板評測】+初識篇

    RA-Eco-RA6M4開發(fā)板是一款基于 Arm? Cortex?-M33 內(nèi)核的開發(fā)工具,且具有1MB 閃存、192kB支持奇偶校驗 SRAM 以及64kb ECC SRAM。 該
    發(fā)表于 07-16 19:06

    RA-Eco-RA6M4開發(fā)板評測】——2.串口打印

    ;delay_ms(200);LED3_OFF; printf(\"歡迎試用瑞薩電子RA-Eco-RA6M4開發(fā)板評測\\\\r\\\\n\"); printf(\"摒棄
    發(fā)表于 07-16 13:20

    RA-Eco-RA6M4開發(fā)板評測】開箱+Keil環(huán)境搭建+點燈

    【開箱】 瑞薩 RA6M4 開發(fā)板使用 R7FA6M4AF3CFP 100PIN 芯片,片上資源豐富,參數(shù)如下 處理器 內(nèi)核 主頻 Flash Data Flash SRAM 封裝
    發(fā)表于 07-16 08:45

    有獎試用!!RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動報名

    RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動
    的頭像 發(fā)表于 03-13 12:10 ?1461次閱讀
    有獎試用!!<b class='flag-5'>RA-Eco-RA4M</b>2-100PIN-V1.0<b class='flag-5'>開發(fā)板</b>試用活動報名