CPK-RA6M4評(píng)估板入門指南
要點(diǎn)
CPK-RA6M4是用于RA6M4單片機(jī)的評(píng)估板套件。該套件可通過靈活配置軟件包(FSP)和e2 studio IDE,對(duì)RA6M4 MCU群組的特性進(jìn)行無縫評(píng)估,并對(duì)嵌入系統(tǒng)應(yīng)用程序進(jìn)行開發(fā)。本文檔是《瑞薩RA MCU基礎(chǔ)知識(shí)》的配套文檔,旨在將該指南中有關(guān)硬件操作的部分在CPK-RA6M4評(píng)估板上進(jìn)行實(shí)現(xiàn)。
在使用本文檔之前,推薦您先學(xué)習(xí)《瑞薩RA MCU基礎(chǔ)知識(shí)》,以了解更多關(guān)于RA MCU的基礎(chǔ)知識(shí)以及其他相關(guān)知識(shí),這樣有助于您在本文所述的硬件實(shí)操中更快上手。
開發(fā)環(huán)境
e2 studio:2021-04版
FSP:v3.1.0
目錄
首次使用瑞薩CPK-RA6M4評(píng)估板
下載并測試示例
Hello World! – Hi Blinky!
使用實(shí)時(shí)操作系統(tǒng)
使用“靈活配置軟件包”通過USB端口發(fā)送數(shù)據(jù)
5. 使用“靈活配置軟件包”通過USB端口發(fā)送數(shù)據(jù)
本章內(nèi)容基于《瑞薩RA MCU 基礎(chǔ)知識(shí)》中的章節(jié)10使用“靈活配置軟件包”通過USB端口發(fā)送數(shù)據(jù)所作。
您將在本章中學(xué)到以下內(nèi)容:
如何使用RA產(chǎn)品家族微控制器的“靈活配置軟件包”的中間件來設(shè)置USB傳輸。
如何在主機(jī)工作站上接收MCU發(fā)送的數(shù)據(jù)。
在本部分,我們將使用瑞薩RA產(chǎn)品家族微控制器的“靈活配置軟件包”(FSP)的USB中間件,在每次按下用戶按鈕S1時(shí),將用戶LED(紅色)的當(dāng)前狀態(tài)作為文本字符串通過USB端口發(fā)送到Windows工作站。與第4章不同的是,我們?cè)诖藢?shí)驗(yàn)中不使用實(shí)時(shí)操作系統(tǒng)和信號(hào)量,而使用全局變量來指示按鈕開關(guān)已激活和紅色LED(紅色)的狀態(tài)已更改。
LED狀態(tài)(ON或OFF)更新、USB端口的寫操作,以及保存按鈕按下時(shí)的信息的全局變量更新將在IRQ00的回調(diào)例程中完成。端口的寫操作將觸發(fā)USB傳輸,將LED的相關(guān)信息發(fā)送給主機(jī)。返回到hal_entry()函數(shù)內(nèi)部的無限循環(huán)后,將處理USB事件,并通過將全局變量設(shè)置為“false”和將下一個(gè)字符串及下一個(gè)LED電平分配給各自的變量來準(zhǔn)備LED狀態(tài)的下次更新。錯(cuò)誤!未找到引用源。詳細(xì)描繪了該程序的流程和中斷回調(diào)函數(shù)的流程。
該端口的大部分設(shè)置將在FSP配置器的圖形界面中完成,應(yīng)用程序程序員只需完成極少的編程工作。在執(zhí)行該練習(xí)中的編程任務(wù)時(shí),可再次體驗(yàn)到FSP給用戶提供的便利,即便在構(gòu)建如USB之類的復(fù)雜通信系統(tǒng)時(shí)也非常方便。
5.1 使用FSP配置器設(shè)置USB端口
如果在完成上次練習(xí)后已關(guān)閉e2 studio,請(qǐng)?jiān)俅未蜷_并創(chuàng)建一個(gè)新項(xiàng)目。到目前為止您應(yīng)該已經(jīng)掌握了RA的相關(guān)知識(shí),這里將不再贅述每個(gè)步驟,因?yàn)榇蟛糠中枰獔?zhí)行的任務(wù)在之前的實(shí)驗(yàn)中已經(jīng)做過介紹。將新項(xiàng)目命名為CPK_RA6M4_USBProject,在進(jìn)入“Device and Tools Selection”(器件和工具選擇)屏幕后,選擇CPK-RA6M4作為電路板,我們將再次使用該評(píng)估板進(jìn)行實(shí)驗(yàn)。在“Project Type Selection”(項(xiàng)目類型選擇)頁面,確保“Flat (Non-TrustZone) Project”(簡單(非 TrustZone)項(xiàng)目)處于啟用狀態(tài),并確保“RTOS Selection”(RTOS選擇)下的“No RTOS”(無RTOS)條目已激活。最后,在“Project Template Selection”(項(xiàng)目模板選擇)頁面上選擇“Bare Metal – Minimal”(裸機(jī)–最小化),然后單擊“Finish”(完成)。
在項(xiàng)目配置器已創(chuàng)建項(xiàng)目并顯示FSP配置器后,直接轉(zhuǎn)到“Stacks”(堆)選項(xiàng)卡。首先,我們需要添加用于連接到用戶按鈕S1的外部中斷的模塊。在“HAL/Common Stacks”(HAL/通用堆棧)窗格上,單擊“New Stack”(新堆),然后選擇“Driver → Input → External IRQ Driver on r_icu”(驅(qū)動(dòng)程序→輸入→r_icu上的外部IRQ驅(qū)動(dòng)程序)。
圖5-1:首先添加S1中斷的驅(qū)動(dòng)程序
在“Properties”(屬性)視圖中,將中斷的“Name”(名稱)修改為g_external_irq00,確保它的“Channel”(通道)為 0,以作為中斷使用的通道。啟用“Digital Filtering”(數(shù)字濾波)并將“Trigger”(觸發(fā)器)設(shè)置為“Falling”(下降)。這有助于消除開關(guān)的抖動(dòng)。最后,需要提供用于該中斷的回調(diào)函數(shù)的名稱:將其命名為external_irq00_callback,并將“Priority”(優(yōu)先級(jí))改為14,因?yàn)槲覀円_保USB中斷的優(yōu)先級(jí)高于按鈕(參見圖5-3)。
圖5-2:以上是IRQ00的必要設(shè)置
圖5-3:需要將USB外設(shè)通信設(shè)備類驅(qū)動(dòng)程序的中間件添加到系統(tǒng)中
接下來,將USB外設(shè)通信設(shè)備類(PCDC)的中間件添加到系統(tǒng)中:創(chuàng)建新堆棧,并選擇“Middleware →USB → USB PCDC driver on r_usb_pcdc”(中間件→USB→r_usb_pcdc上的USB PCDC驅(qū)動(dòng)程序)(參見圖5-4)。
圖5-4:USB FS需要使用48 MHz的時(shí)鐘,因此需要相應(yīng)地更改時(shí)鐘生成電路。必要的更改已突出顯示
此操作將四個(gè)模塊添加到項(xiàng)目中:用于全速USB端口的實(shí)際PCDC驅(qū)動(dòng)程序(用于實(shí)現(xiàn)應(yīng)用程序級(jí)USB PCDC接口),以及r_usb_basic上的基本USB驅(qū)動(dòng)程序。堆中還顯示兩個(gè)具有粉紅色橫條的模塊。這些模塊用于添加可選的直接內(nèi)存訪問控制器(DMAC)驅(qū)動(dòng)程序,以傳輸或接收數(shù)據(jù)。我們將使用USB寫入API函數(shù)直接發(fā)送狀態(tài)消息,因此無需添加它們。關(guān)于模塊的其他色彩色條的含義,只需記住以下規(guī)則:灰色標(biāo)記僅可由一個(gè)其他模塊實(shí)例引用的模塊實(shí)例,藍(lán)色標(biāo)記可由多個(gè)其他模塊實(shí)例(甚至跨多個(gè)堆)引用的通用模塊實(shí)例。通過彩色條中的小三角形,可以展開或折疊模塊樹。
將USB端口作為PCDC設(shè)備來實(shí)現(xiàn),可以將USB端口用作虛擬COM端口,從而簡化主機(jī)端的接收器設(shè)置,因?yàn)樵谧?cè)到Windows后,便可通過終端應(yīng)用程序進(jìn)行數(shù)據(jù)通信。這就是我們與評(píng)估板進(jìn)行對(duì)話的方式。
添加所有堆棧后,“Stacks”(堆)窗格的外觀如圖5-5所示:
圖5-5:添加USB驅(qū)動(dòng)程序后“堆”窗格的外觀
只需要對(duì)基本USB驅(qū)動(dòng)程序的“Properties”(屬性)做出兩處更改。突出顯示“g_basic0 USB Driver on r_usb_basic”(r_usb_basic 上的 g_basic0 USB驅(qū)動(dòng)程序)模塊,并在“Properties”(屬性)視圖的“Common”(通用)下,將“Continuous Transfer Mode”(連續(xù)傳輸模式)從“Disabled”(已禁用)切換為“Enabled”(已啟用),將“DMA Support”(DMA支持)從“Enabled”(已啟用)切換為“Disabled”(已禁用)。記錄“g_basic0 USB Driver on r_usb_basic”(r_usb_basic 上的 g_basic0 USB驅(qū)動(dòng)程序)部分的“USB Descriptor”(USB描述符)的名稱:g_usb_descriptor。稍后將創(chuàng)建一個(gè)具有該名稱的結(jié)構(gòu),以描述系統(tǒng)USB的功能,因此應(yīng)記住這個(gè)名稱。圖5-6顯示了修改后模塊的屬性。
圖5-6:進(jìn)行必要更改后的連續(xù)傳輸設(shè)置。記錄“USB Descriptor”(USB描述符)的名稱
圖5-7顯示了在完成所有更改后“Stacks”(堆)選項(xiàng)卡的外觀。
圖5-7:完成所有增加內(nèi)容和修改后,“Stacks”(堆)選項(xiàng)卡的外觀
在“Stacks”(堆)選項(xiàng)卡中完成所有設(shè)置后,現(xiàn)在需要設(shè)置USB端口的正確操作模式。為此,請(qǐng)切換到“Pins”(引腳)選項(xiàng)卡,在“Pin Selection”(引腳選擇)窗格中,首先展開“Peripherals”(外設(shè))下拉列表,然后展開“Connectivity: USB”(連接:USB)列表。在“Pin Configuration”(引腳配置)窗格中,將“Operation Mode”(操作模式)從“Custom”(自定義)修改為“Device”(器件),作為要使用的模式。注意,輸入/輸出引腳分配將相應(yīng)改變。
圖5-8:USB端口將使用器件模式,請(qǐng)進(jìn)行相應(yīng)更改
現(xiàn)在還差一步就完成了端口的設(shè)置。最后一步是啟用“USB clock (UCLK)”(USB 時(shí)鐘 (UCLK)),用作全速 (FS) USB 模塊的工作時(shí)鐘,并將其設(shè)置為所需的48 MHz頻率。為此,激活“Clocks”(時(shí)鐘)選項(xiàng)卡,可通過該選項(xiàng)卡配置時(shí)鐘生成電路。首先啟用USB時(shí)鐘,方法為:將靠近窗格底部的UCLK從“Disabled”(已禁用)更改為“Enabled”(已啟用),并選擇PLL2作為源。接下來,啟用PLL2,它是USB模塊的專用PLL,并選擇高速片上振蕩器(HOCO)作為源。將PLL2的乘數(shù)值更改為30,以便將PLL2的頻率更改為240 MHz。再使用UCLK的除數(shù)5,此時(shí)UCLK的頻率已正確設(shè)置為48 MHz。這里,采用Arm Cortex-M33內(nèi)核的RA MCU系列凸顯了巨大的優(yōu)勢(shì):微控制器上還有第二個(gè)PLL,可以將USB的時(shí)鐘頻率設(shè)置為48 MHz,同時(shí)以最高速度200MHz運(yùn)行MCU。
如果不確定要更改哪些字段,請(qǐng)參見圖5-5。
至此,已經(jīng)完成了必須在FSP配置器中進(jìn)行的設(shè)置。保存配置,然后單擊屏幕右上角的“Generate Project Content”(生成項(xiàng)目內(nèi)容)按鈕,以提取文件并創(chuàng)建所需的設(shè)置。最后一步,再次切換到C/C++透視圖。
-
mcu
+關(guān)注
關(guān)注
146文章
17148瀏覽量
351188 -
瑞薩
+關(guān)注
關(guān)注
35文章
22309瀏覽量
86305 -
評(píng)估板
+關(guān)注
關(guān)注
1文章
544瀏覽量
29318 -
RA6M4
+關(guān)注
關(guān)注
0文章
51瀏覽量
449
原文標(biāo)題:CPK-RA6M4評(píng)估板入門指南-第5章(1)
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論