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