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