1.前言
為搭載Freescale公司的Qorivva系列MPC5643L微控制器的汽車安全開發(fā)套件。采用飛思卡爾特有的模塊化塔式系統(tǒng)開發(fā)平臺的接口。由于只提供簡易usb調(diào)試器和微控制器,這是一塊接近于核心板式的MPC5643L低成本開發(fā)套件。
順便介紹一下:塔式系統(tǒng)是一種多類型多板卡的集成模塊化開發(fā)系統(tǒng),核心思想是模塊化設(shè)備的核心板與底板擴展的即插即用開發(fā),不過飛思卡爾對其進行了更多優(yōu)化。在塔式系統(tǒng)中,兩側(cè)的背板在承載開發(fā)板的同時,提供多個標準的接口,在這兩塊背板的插槽上可以插CPU板和各種外設(shè)模塊板。用兩塊背板的好處是用戶可以根據(jù)自己的需要任意組合購買相應(yīng)的demo板或evb板,實現(xiàn)不同板級產(chǎn)品的協(xié)同工作調(diào)試與驗證,從而提供更好的模塊化,更大的靈活性,并且相同類型的開發(fā)板在不同開發(fā)中還可以復(fù)用,節(jié)省了成本。
2.初見&板載資源分析
來自Mouser,外包裝除了快遞單,上面看不到任何有關(guān)開發(fā)板的細節(jié),再加上快遞大哥的攪和,剛收到快遞時還讓我迷惑了一下。晚上回家打開包裝,里面是一張送貨單,還要這個灰色防靜電袋包裝的開發(fā)板。打開防靜電袋包裝,里面是印有原廠標志的紙袋,紙袋里面是綠色開發(fā)板包裝和一張說明書?纯催@個全家福圖:
還有這個漂亮的綠色盒子,裝有 開發(fā)板的盒子,頗有清新亮麗之感。
開發(fā)板正面圖:
開發(fā)板反面圖:
整個PCB尺寸90x45mm,采用4層板,雙面均焊有元器件。細看這個開發(fā)板,布局非常緊湊,器件排布整齊,絲印清晰簡潔,加之采用深灰色阻焊層,感覺小巧精致又不失檔次。不失飛思卡爾大廠的風范。
開發(fā)板主要資源介紹:
飛思卡爾的塔式系統(tǒng)金手指接口,主芯片為 SPC5643LML Q1,一個板載的USB 接口調(diào)試器,這是個采用MC9S08JM60的開源OSBDM 簡易型 OSJTAG 調(diào)試器。此外還有兩個供用戶編程的按鍵,兩個 LED 指示燈,一個溫度傳感器,一個復(fù)位按鈕。
特別介紹一下板載的這個核心微控制器:Qorivva MPC5643L 32位MCU 基于Power Architecture技術(shù),專為要求汽車安全完整性等級較高的一系列廣泛汽車應(yīng)用而設(shè)計。該芯片通過了ISO 26262標準有關(guān)MCU部分的評估和認證。并符合所有汽車安全完整性等級(ASIL),達到并滿足最嚴格的等級ASIL D。
內(nèi)核方面:MPC5643L內(nèi)有兩個高性能32位 PowerPC e200z4d 內(nèi)核, 主頻最高達 120MHz, 運行性能 >240 MIPS,片內(nèi)1MB 帶 ECC 校驗 FLASH,128KB具有 ECC 校驗 SRAM,工作的環(huán)境溫度 -40℃~125℃,內(nèi)部結(jié)溫范圍 -40℃~150℃。每個處理器有32個64位通用寄存器, 采用哈佛架構(gòu), 32位地址64位數(shù)據(jù)總線, 具有特權(quán)模式和用戶模式,并支持虛擬內(nèi)存管理。
1.指令單元特點:
- 64位組相連高速緩存支持預(yù)取兩條32位指令或四條16位指令;
- 指令預(yù)取緩沖隊列最大支持八條32位指令或十六條16位指令;
- 專用的程序計數(shù)器遞增器來支持指令預(yù);
- 專用的分支地址加法器和分支目標緩沖用于實現(xiàn)分支預(yù)測能力,預(yù)測命中時實現(xiàn)單周期分支轉(zhuǎn)移能力。
2.整數(shù)單元特別支持單周期執(zhí)行絕大多數(shù)整數(shù)指令:
- 32位算術(shù)單元執(zhí)行算術(shù)和比較操作;
- 32位邏輯單元執(zhí)行邏輯操作;
- 32位優(yōu)先譯碼器用于計數(shù)到0的功能;
- 32位桶形移位器執(zhí)行邏輯和循環(huán)移位;
- 32為掩碼單元用于數(shù)據(jù)掩碼和插入功能;
- 分立的有符號和無符號除法單元,讓除法計算不超過14個周期;
- 管道 32x32 硬件乘法器陣列支持 32x32->32 乘法單時鐘完成能力 (兩時鐘延遲)。
3.單精度浮點單元:
- 單周期 32x32 浮點乘法能力 (兩時鐘延遲);
- 標稱9周期(最差12周期) 32x32 浮點除法;
- 特有的平方根和最小最大值計算單元;
- 信號處理支持: APU-SPE 1.1, 支持矢量模式, 每周期兩條浮點數(shù)指令;
4.內(nèi)存存取單元特征:存取單元支持載入,存儲,多載入,多存儲指令:
- 32位有效地址加法器用于數(shù)據(jù)地址計算;
- 管道操作支持單周期的載入和存儲能力;
- 專用的 64位內(nèi)存接口支持保存和恢復(fù)單周期兩個寄存器的能力;
- 2個周期的載入延遲;
- 支持大小端模式;
- 支持未對準數(shù)據(jù)操作;
5.L1 高速緩存特點:
- 4KB 可配置2或4路組相連指令緩存;
- 64位數(shù)據(jù), 32位地址總線加屬性和控制位。
- 6.內(nèi)存管理單元特征:
- 支持虛擬內(nèi)存;
- 32位虛擬和物理地址。
3.CodeWarrior安裝&上電測試
按照開發(fā)板手冊的說明,在上電前先安裝集成開發(fā)環(huán)境。由于處理器采用的是 Power 架構(gòu),官方推薦飛思卡爾公司專門集成開發(fā)環(huán)境CodeWarrior用于MPC55/56系列的CodeWarrior Development Studio for MPC55xx/MPC56xx (Classic IDE) v2.10,好像沒有別的第三方集成環(huán)境可選。相對于當今流行的開發(fā)環(huán)境動輒就是多少G的安裝文件,這個集成開發(fā)環(huán)境不足 250MB 的安裝文件讓人感覺好生的簡練,當然我想這應(yīng)該是因為該系列的MCU為數(shù)不多的緣故吧。
除了集成開發(fā)環(huán)境,還要再介紹一下FreeMaster這個調(diào)試器,F(xiàn)reeMaster是飛思卡爾為嵌入式系統(tǒng)開發(fā)的運行在PC機上的圖形化在線調(diào)試工具,最初是方便在線實時調(diào)試電機應(yīng)用而開發(fā)的,只不過后來大家都發(fā)現(xiàn)了它的好用,所以才在各個領(lǐng)域上發(fā)展起來了。都說飛思卡爾的汽車電子很厲害,看這調(diào)試工具就已為人先了,目前包括汽車電子的很多領(lǐng)域在廣泛地使用這類圖形調(diào)試工具了。很多公司還成立了專業(yè)的上位機圖形調(diào)試開發(fā)團隊。
接下來連接 USB 線上電。和其它帶 USB 板上調(diào)試器的開發(fā)板一樣,上電的第一次就是要先安裝板載調(diào)試器的Windows驅(qū)動,所以這個板也不例外,但是例外的是,不容易找到這個驅(qū)動程序,找到官網(wǎng)卻沒有提供下載,在這塊板的姊妹板TRK-USB-MPC5602P 的中文頁面,“重要提示 – 在插入USB電路板之前, 需從
PEMicro OSBDM網(wǎng)頁下載并安裝最新的OSJTAG驅(qū)動器。”
終于發(fā)現(xiàn)了這個驅(qū)動的下載網(wǎng)頁,不過似乎還是要我繼續(xù)折騰,在這個提供的網(wǎng)站點擊驅(qū)動下載卻總是打不開網(wǎng)頁!反復(fù)試了很多次都沒有能夠打開,后來又讓搜索引擎幫助,找OSJTAG的驅(qū)動倒是不難,試了好幾個都沒有對上這個USB調(diào)試設(shè)備!
真是山重水復(fù), 又來個柳暗花明。隨意地翻看飛思卡爾網(wǎng)的OSBDM資料,意外看到原來這個 OSBDM 在Kinetis系列ARM的開發(fā)板上也有使用,于是就想 ARM 的開發(fā)環(huán)境也會使用到這個驅(qū)動程序,于是很幸運地在 Keil 的網(wǎng)站找到了這個的驅(qū)動,安裝后順利找到和識別了設(shè)備。為此特把這個驅(qū)動下載地址保留在后邊的資料下載區(qū)。
總共有兩個設(shè)備,1個是CDC的串口設(shè)備,一個是調(diào)試器。
上電,有指示燈亮了, 是在調(diào)試器那邊的一個黃燈, 一個綠燈,不知道m(xù)cu的默認代碼是什么,好像什么動靜都沒有。除了按下復(fù)位鍵能夠亮出邊上的一個紅燈,沒有任何反應(yīng)。
看來上電固件測試至此也只能作罷。
4.例程測試
的例程也不好找,官網(wǎng)開發(fā)板頁面也沒有找到,不過搜索引擎幫我找到了一些簡單的例程。下面是集成開發(fā)環(huán)境界面,加載了一個測試溫度傳感器的例程。
簡單的設(shè)計一下編譯配置(可以設(shè)置在 SRAM 里運行),編譯成功。加載調(diào)試的界面:從調(diào)試器能開到其實這個處理器里面的通用寄存器是64位的。很強勁吧?
5.自定義測試
簡單修改一下代碼,目標是點亮板載的 LED 指示燈,通過指令延時翻轉(zhuǎn)輸出端口實現(xiàn)流水燈的顯示。下圖是流水燈顯示的執(zhí)行效果。順便提一下專業(yè)配置工具,Processor Expert軟件是飛思卡爾的一套開發(fā)系統(tǒng),專為創(chuàng)建、配置、優(yōu)化、遷移和生成源代碼的軟件組件而設(shè)計。不過在MPC5643L的網(wǎng)頁并沒有見提到這個工具,特意下載個最新版 Processor Expert Microcontroller Driver Suitet V10.4.0,確實未支持。
6.小結(jié)
以Power e200z4d 為內(nèi)核的 MPC5643L是性能非常強勁處理器,相比ARM的CortexM 和R系列,雖然內(nèi)核有16個通用寄存器,但R13~15卻是專用寄存器,而R8~R12這些高寄存器的使用能力也有限,所以使用 ARM 這些系列編程,為了得到較好的性能,應(yīng)該多使用較小的函數(shù)和較少的參數(shù)傳遞以減少內(nèi)存局部變量的訪問,而這又導(dǎo)致耗時的分支挑戰(zhàn)指令執(zhí)行的增多,影響性能。然而MPC5643L處理器則具有32個通用寄存器,大大提高應(yīng)付復(fù)雜函數(shù)和計算的能力。而內(nèi)核中的指令Cache將訪問FLASH的能力大幅提升,再加上高級的分支預(yù)測執(zhí)行,大幅減少分支指令的消耗,提升了處理器的性能。當然數(shù)量較多的寄存器也會影響到代碼的效率。
此外MPC5643L汽車級符合ISO 26262安全標準的MCU 設(shè)計,滿足最嚴格要求的ASIL D級規(guī)范,為汽車電子安全關(guān)鍵部件提供了不可多得的高性能處理器,F(xiàn)已經(jīng)為電動助力轉(zhuǎn)向(EPS)、PSI5安全氣囊系統(tǒng)、雷達系統(tǒng)、中短距離自動巡航控制、車輛動力和底盤控制、制動與穩(wěn)定控制、主動懸架、電動汽車(HEV)逆變器控制器等設(shè)備所采用,是當之無愧的微控制器里的貴族。
資源下載:
——————本文系21ic原創(chuàng),未經(jīng)許可嚴禁轉(zhuǎn)載——————