介紹
該方案的主控型號為RL78/G14系列的R5F104LJ,64pin。其Flash ROM 256k,RAM 24k,Data Flash 8k。主要用到的資源為Data Flash、串口以及高速片上振蕩器。-20~85℃范圍內(nèi)高速片上振蕩器的誤差為±1%。
RL78/G14微控制器平衡了業(yè)界最低水平的消費電流(CPU:66 μA/MHz,待機(STOP):240 nA)和51.2 DMIPS(32 MHz)的高計算性能。內(nèi)置的高功能定時器支持使用三相互補的PWM輸出的三相電機控制。它們有一個片上振蕩器、數(shù)據(jù)閃存、A/D和D/A轉(zhuǎn)換器、比較器等。內(nèi)置的安全功能(檢測硬件非法操作的功能)能夠支持家用電器安全標(biāo)準(zhǔn)(IEC/UL 60730)。這些微控制器具有廣泛的30至100引腳陣容和高達512KB的片上閃存,可用于各種應(yīng)用,如電機控制和消費及工業(yè)設(shè)備。
主要內(nèi)容
一、實現(xiàn)目標(biāo)示意
1將兩塊開發(fā)板及上位機如上圖示意,通過串口連接。
2串口助手發(fā)送信息給A板(消息接收協(xié)議自定)。
1)A板內(nèi)未保存序號,則接受當(dāng)前序號,保存到dataflash中,然后返回A板保存的序號發(fā)給串口助手;
2)A板保存了序號,則回復(fù)電腦自己的序號,并將接收到的序號發(fā)送給B板,B板接收序號;
3)如果B板本身無序號,則保存接收到的序號,然后將B板的序號回復(fù)給A板,A板再將接收到的B板序號回復(fù)給上位機;
4)如果B板本身有序號,則不處理當(dāng)前序號,并將B板本身的序號回復(fù)給A板,A板再將接收到B板的序號回復(fù)給上位機。
二、軟件配置
開發(fā)環(huán)境:CS+ for CC
芯片型號:R5F104LJ
1. 工程配置
1)啟動CS+ for CC,新建工程
按照下圖箭頭指向的順序所示,完成工程的新建。
2)雙擊“Clock Generator”,進行時鐘配置
【1】Pin assignment
按照下圖箭頭指向的順序所示,設(shè)置PIOR register,默認:PIOR = 0x00 (設(shè)置外設(shè)對應(yīng)的IO重定向寄存器)。
【2】Clock setting
按照下圖箭頭指向的順序所示,使用內(nèi)部振蕩器為32MHz,其余不變。
【3】On-chip debug setting
按照下圖箭頭指向的順序所示,選擇使用在線調(diào)試,具體根據(jù)個人所用的仿真器進行設(shè)置,此處我用的是E2 lite(黃色方框內(nèi))。
3)雙擊“Serial”,進行串行通訊接口配置
【1】SAU0→Channel0/2
按照下圖箭頭指向的順序所示,設(shè)置[SAU0],點擊[Channel 0]選項卡,設(shè)置[UART0]; 選擇“Transmit/receive function“;點擊[Channel 2]選項卡,設(shè)置[UART1]; 選擇“Transmit/receive function“。
【2】SAU0→UART0/1
A.按照下圖箭頭指向的順序所示,設(shè)置接收。分別設(shè)置“數(shù)據(jù)長度”,“數(shù)據(jù)傳輸方向”,“校驗位”,“波特率”,此處皆為默認設(shè)置,后續(xù)可根據(jù)實際情況更改。
注意:此處不取消接收錯誤callback函數(shù)設(shè)置(黃色方框內(nèi))。
B.按照下圖箭頭指向的順序所示,設(shè)置發(fā)送。分別設(shè)置“數(shù)據(jù)長度”,“數(shù)據(jù)傳輸方向”,“校驗位”,“波特率”,此處皆為默認設(shè)置,后續(xù)可根據(jù)實際情況更改。
由于任務(wù)是兩塊板子之間的連接,所以我們還要照葫蘆畫瓢地再配置一下UART1。
4)點擊“Generate Code”,生成代碼。
根據(jù)設(shè)置生成的代碼如黃方框所示。
2. 添加庫
Data flash,直譯數(shù)據(jù)閃存,其實就是單片機留給用戶存儲自己數(shù)據(jù)的地方,類似于有些51單片機內(nèi)部的EEPROM,在CS+中也是可以直接配置生成庫函數(shù)的,但是不能直接使用!需要安裝FDL庫。
1)新建一個新的文件夾,命名為lib用來存放庫文件
右擊File→Add→Add New Category,將之前下載的庫文件加入其中,同理將EE.c和EE.h也加入file中,如下圖所示。
2)雙擊“CC-RL(Build Tool)”,在“Common Options”中進行一些更改。
【1】將庫文件加入其中后,我們可以對黃色方框內(nèi)進行查看,看庫路徑是否正確。
【2】將紅色方框內(nèi)的優(yōu)化選項更改一下。
3)“CC-RL(Build Tool)”中“Compile Options”
按照下圖箭頭指向的順序所示,設(shè)置”Memory Model”、”C Language”
4)“CC-RL(Build Tool)”中“Link Options”
按照下圖箭頭指向的順序所示,設(shè)置“Section”、“Others”。
3. 代碼調(diào)用及編寫
1)基于代碼生成工具生成的程序框架及函數(shù),實現(xiàn)UART通訊。
此處有一點需要注意:在r_main.c中增加“#include "EE.h" ”(即黃色方框內(nèi)容),可以較為方便的調(diào)用定義及申明。
2)啟動串口
修改《r_main.c》文件,在主程序中增加R_UART1_Start();R_UART0_Start();。
3)串口發(fā)送代碼編寫
4)判斷發(fā)送的信息是否符合通信協(xié)議
三、運行現(xiàn)象
1)代碼編譯成功后運行,點擊view→memory→memory1
在“Move when Stop”后面方框內(nèi)輸入0xf1000,點擊“move”,跳轉(zhuǎn)到對應(yīng)位置。
2)如果我們發(fā)現(xiàn)此位置有值,我們需要用RFP先擦除。
3)再次運行程序,查看0xf1000處是否為空白(FF),空白即可開始實驗。
4)打開串口工具,打開串口,在發(fā)送端輸入c0 41 0d 0a程序運行后點擊發(fā)送。黃色方框內(nèi)不要忘記勾上。
5)實驗現(xiàn)象
【1】發(fā)送41,A板處于空閑狀態(tài),A板接收并發(fā)送41給電腦。
【2】在memory中查看,A板0xf1000處已被寫入41。
【3】發(fā)送42,A板已有內(nèi)存值且兩值不等,A板將自己的內(nèi)存值41發(fā)給電腦并把42發(fā)送給B板,B板空閑接收42,并發(fā)送42返回值。(如果發(fā)送的值與A板內(nèi)存儲的相同,那么就不會繼續(xù)發(fā)送到B板。)
【4】發(fā)送43,A板已有內(nèi)存值且兩值不等,A板將自己的內(nèi)存值41發(fā)給電腦并把43發(fā)送給B板,B板已有內(nèi)存值且兩值不等,B板返回42給A板,將43丟給下一塊板。
審核編輯:湯梓紅
-
微控制器
+關(guān)注
關(guān)注
48文章
7714瀏覽量
152637 -
振蕩器
+關(guān)注
關(guān)注
28文章
3875瀏覽量
139652 -
瑞薩
+關(guān)注
關(guān)注
36文章
22323瀏覽量
87181 -
定時器
+關(guān)注
關(guān)注
23文章
3259瀏覽量
115884 -
信息管理系統(tǒng)
+關(guān)注
關(guān)注
0文章
31瀏覽量
10080
原文標(biāo)題:基于瑞薩RL78/G14系列信息管理系統(tǒng)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
【視頻】瑞薩電子RL78/G14 MCU直流無刷電動工具解決方案
RL78/G14快速原型開發(fā)板的關(guān)鍵特性有哪些?
瑞薩電子發(fā)表RL78/G14系列即時控制微控制器
RL78/G14硬件的詳細中文用戶手冊資料免費下載

評論