在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

瑞薩MCU小百科 ? 來源:未知 ? 2022-12-13 17:25 ? 次閱讀

例程編寫

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

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

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

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

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

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

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

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

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

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

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

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

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

在線程中使用一個狀態機,根據每次的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設備后,拿到的event會變為USB_STATUS_CONFIGURED,這時候FSP已經幫我們枚舉好了設備,可以直接進行控制。下一步是發送SetLineCoding和SetControlLineState來配置串口,例如波特率和奇偶校驗位等。使用hostControlTransfer發起一個控制傳輸。

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

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

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

剛好模板工程中的按鍵也是開啟使用的狀態,我們增加一個回調來按鍵發送串口數據。

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

編譯下載,使用一個micro usb轉USB-A的otg連接線,就可以接入一個usb串口設備使用了。剛好手上還有上次參加開發者大會的活動獲得的板子,于是在上面簡單寫了一個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目錄下,然后將需要構建的文件加入到構建中。需要包括core、osal、port、class四個文件夾下的文件,其中core是協議棧的核心實現部分,osal是操作系統抽象層,port存放移植需要實現的內容,class則是針對不同的usb設備類型編寫的驅動代碼。osal/usb_osal_rtthread.c文件表明CheeryUSB對RT-Thread系統是有完善支持的。

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

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

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

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

性能測試

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

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

代碼與參考資料

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

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

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

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

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

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

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

1

END

1

往期推薦

1

瑞薩RA產品家族初學者指南

2

RA6M4通過DTC實現ADC多次采樣

3

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

瑞薩電子 (TSE: 6723)

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

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

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


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

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


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

    關注

    146

    文章

    17370

    瀏覽量

    352914
  • 瑞薩
    +關注

    關注

    35

    文章

    22313

    瀏覽量

    86862
  • RA6M4
    +關注

    關注

    0

    文章

    51

    瀏覽量

    488

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

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RA-Eco-RA4E2-64PIN-V1.0開發板試用】1、開發板開箱與環境搭建

    RA-Eco-RA4E2-64PIN-V1.0開發板 簡介: 以R7FA4E2B93CFM為主控芯片,擁有豐富的外設,集成度高功能非常強大,具有優越的性能和低功耗。 100MHz Arm? Cortex?-
    發表于 12-16 17:48

    RA-Eco-RA4E2-64PIN-V1.0開發板試用】點燈并使用串口下載程序

    很榮幸獲得本次RA4E2開發板使用機會。 主要資源: 基于帶有TrustZone的100MHz Arm? Cortex?-M33內核 128KB的閃存和40KB的SRAM 4KB數據閃
    發表于 12-15 22:00

    RA-Eco-RA4E2-64PIN-V1.0開發板試用】+初次見面+MDK生成代碼+點燈

    的軟硬件情況,完成軟硬件開發環境的搭建,完成點燈試驗。后續會依次完成舵機PWM控制、CAN通訊等測評。 測評申請鏈接:RA-Eco-RA4E2-64PIN-V1.0開發板評測試用 -
    發表于 12-15 21:55

    RA8D1試用活動】RA8D1B-CPKCOR開發板移植linux

    RA8D1試用活動】RA8D1B-CPKCOR開發板移植linux
    的頭像 發表于 11-16 01:02 ?346次閱讀
    【<b class='flag-5'>RA</b>8D1試用活動】<b class='flag-5'>RA</b>8D1B-CPKCOR<b class='flag-5'>開發板</b>移植linux

    野火GD32H759開發板產品概述

    野火GD32H759開發板基于中國首款Arm Cortex-M7內核的超高性能微控制器——兆易創新GD32H759IMK6芯片進行設計,主頻高達600MHz,采用BGA176封裝,配備
    的頭像 發表于 11-13 17:31 ?1880次閱讀
    野火GD32<b class='flag-5'>H</b>759<b class='flag-5'>開發板</b>產品概述

    RA-Eco-RA2E1-48PIN-V1.0開發板試用】開發板介紹和環境搭建

    前言 非常感謝官方以及RA生態社區給予的評測機會,下面我將就此款開發板做一系列評測,希望大家多多交流 開發板簡單介紹
    發表于 11-09 17:16

    RA-Eco-RA2E1-48PIN-V1.0開發板試用】開發板介紹&amp;環境搭建

    前言 非常感謝官方以及RA生態社區給予的評測機會,下面我將就此款開發板做一系列評測,希望大家多多交流 開發板簡單介紹
    發表于 11-09 17:09

    有獎試用!!RA-Eco-RA4E2-64PIN-V1.0開發板試用活動開始報名

    有獎試用!!RA-Eco-RA4E2-64PIN-V1.0開發板試用活動開始報名
    的頭像 發表于 11-09 01:02 ?352次閱讀
    有獎試用!!<b class='flag-5'>RA-Eco-RA4</b>E2-64PIN-V1.0<b class='flag-5'>開發板</b>試用活動開始報名

    RA-Eco-RA2E1-48PIN-V1.0開發板試用】1、開箱+環境搭建

    RA-Eco-RA2E1-48PIN-V1.0開發板 簡介: 以R7FA2E1A72DFL為主控芯片,擁有豐富的外設,集成度高功能非常強大,具有優越的性能和低功耗。 48MHz ARM? Cortex?-M23低功耗
    發表于 10-24 11:17

    ?Banana Pi BPi-M4 Zero 開源硬件開發板評測試: 全志科技H618 方案設計 ,板載4G 內存,32G eMMC

    ?Banana Pi BPi-M4 Zero 開源硬件開發板評測試: 全志科技H618 方案設計 ,板載4G 內存,32G eMMC
    的頭像 發表于 10-15 12:04 ?799次閱讀

    試用活動 | 100套!!瑞薩RA6E2/RA4E2開發板評測活動

    活動簡介: 瑞薩RA6E2/RA4E2開發板評測活動是一個針對瑞薩電子推出的通用微控制器(MCU)RA6E2 和
    的頭像 發表于 09-10 11:18 ?713次閱讀
    試用活動 | 100套!!瑞薩<b class='flag-5'>RA6</b>E2/<b class='flag-5'>RA4</b>E2<b class='flag-5'>開發板</b><b class='flag-5'>評測</b>活動

    Banan Pi BPI-M4 Berry 全志科技H618開發板燒錄鏡像教程

    Banan Pi BPI-M4 Berry 全志科技H618開發板燒錄鏡像教程
    的頭像 發表于 07-02 16:13 ?990次閱讀
    Banan Pi BPI-<b class='flag-5'>M4</b> Berry 全志科技<b class='flag-5'>H</b>618<b class='flag-5'>開發板</b>燒錄鏡像教程

    Banana Pi BPI-M4 Berry開源硬件開發板采用全志H618芯片設計

    BPI-M4 Berry 開發板作為一款強大的單板計算機(SBC),充分挖掘了全志 H618 系統級芯片(SoC)的功能,為開發人員提供了令人印象深刻的性能和豐富的特性。與樹莓派
    的頭像 發表于 07-01 14:37 ?1117次閱讀
    Banana Pi BPI-<b class='flag-5'>M4</b> Berry開源硬件<b class='flag-5'>開發板</b>采用全志<b class='flag-5'>H</b>618芯片設計

    基于瑞薩電子RA系列的野火耀陽RA8D1開發板產品簡介

    野火耀陽RA8D1開發板是一款功能強大的開發板,適用于各種嵌入式應用開發。它采用瑞薩電子的RA系列R7FA8D1BHECBD微控制器作為主控
    的頭像 發表于 05-29 14:19 ?954次閱讀
    基于瑞薩電子<b class='flag-5'>RA</b>系列的野火耀陽<b class='flag-5'>RA</b>8D1<b class='flag-5'>開發板</b>產品簡介

    fpga開發板是什么?fpga開發板有哪些?

    FPGA開發板是一種基于FPGA(現場可編程門陣列)技術的開發平臺,它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實現各種數字電路和邏輯功能。FPGA開發板通常包括FPGA芯片、時鐘模塊、電源模塊、輸入輸出接口等組
    的頭像 發表于 03-14 18:20 ?2284次閱讀
    主站蜘蛛池模板: 色激情五月 | 欧美成人午夜不卡在线视频 | 亚洲激情四射 | 午夜大片在线观看 | 国产一区在线播放 | 国产高清免费 | 黄录像欧美片在线观看 | 天天做天天爱天天综合网2021 | 成人伊人青草久久综合网 | 奇米888在线看奇米999 | 亚洲va中文字幕 | 日本久久高清视频 | 在线网站你懂得 | 窝窝午夜看片成人精品 | 欧美天天色 | 男女交性视频免费 | 日本xxxxx69 | 亚洲美女爱爱 | 免费国产成人午夜私人影视 | 亚洲欧洲日韩综合 | 色婷婷中文字幕 | 国产69久久精品成人看 | 韩国r天堂 | 4虎成人| 欧美日本一道免费一区三区 | 亚洲综合啪啪 | 免费看黄色的网站 | 婷婷色天使在线视频观看 | 激情综合婷婷 | 色婷婷中文字幕 | 99精品热视频 | 性久久久久久久久 | 久久福利网 | 搞逼综合网 | 午夜免费视频观看在线播放 | 性欧美高清极品猛交 | 亚州1区2区3区4区产品乱码2021 | 久久婷婷国产精品香蕉 | 免费在线你懂的 | 亚洲一区中文字幕在线 | 国产麻豆成人传媒免费观看 |