亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于英飛凌XMC4500的高效CAN總線數(shù)據(jù)存儲系統(tǒng)設(shè)計(jì)

        2015-10-04 04:24:52孫彥超徐宏宇
        關(guān)鍵詞:系統(tǒng)

        孫彥超,徐宏宇

        (沈陽航空航天大學(xué)電子信息工程學(xué)院,沈陽 110136)

        嵌入式設(shè)備節(jié)點(diǎn)越來越多地被用在控制和數(shù)據(jù)測量方面。嵌入式設(shè)備節(jié)點(diǎn)的運(yùn)行狀態(tài)、運(yùn)算的數(shù)據(jù)以及采集的數(shù)據(jù)等,通常需要被記錄下來。而這些數(shù)據(jù)往往具有實(shí)時性,設(shè)備運(yùn)行的時間長,產(chǎn)生的數(shù)據(jù)量龐大。利用傳統(tǒng)的數(shù)據(jù)記錄方法,不僅需要耗費(fèi)大量的人力和時間,也極大地影響了生產(chǎn)效率。

        CAN總線是汽車車身控制的標(biāo)準(zhǔn)總線,也被廣泛用于工業(yè)控制中。借助CAN總線可以實(shí)現(xiàn)不同設(shè)備節(jié)點(diǎn)之間的實(shí)時通信,也可以通過CAN總線來對節(jié)點(diǎn)數(shù)據(jù)進(jìn)行存儲和分析[1]。在對節(jié)點(diǎn)數(shù)據(jù)進(jìn)行存儲分析方面,如果在沒有性能較高的數(shù)據(jù)接收處理上位機(jī)設(shè)備,如PC機(jī)、平板電腦等時,可以有兩種方案:(1)將數(shù)據(jù)通過運(yùn)營商手機(jī)網(wǎng)絡(luò)或者WIFI模塊或以太網(wǎng)傳遞給云端主機(jī),進(jìn)行存儲分析處理;(2)通過滿足性能要求的下位機(jī)節(jié)點(diǎn),如高性能的FPGA、MCU,通過一定的策略來實(shí)現(xiàn)CAN總線數(shù)據(jù)的實(shí)時接收和存儲,以便于以后上位機(jī)處理。其中,方案1成本較高,并且可能滿足不了高速的數(shù)據(jù)接收和發(fā)送需要;方案2中利用高性能的FPGA方案絕對是可以實(shí)現(xiàn)的,但是相對于MCU開發(fā)來說利用FPGA周期相對較長,并且外圍硬件電路設(shè)計(jì)與PCB布線較復(fù)雜。在存儲介質(zhì)的選擇方面,綜合成本、讀寫速度兩個方面SD卡是絕佳的選擇[2],并且SD卡可插拔,易于上位機(jī)進(jìn)行數(shù)據(jù)提取[3],且容易更換。

        目前國外已經(jīng)有著名的CAN總線工具開發(fā)公司——瑞典的Kvaser公司,推出了名為Kvaser Memorator Professional的CAN總線分析儀產(chǎn)品,支持將CAN總線上的數(shù)據(jù)存儲到SD卡中,但價格較高。國內(nèi)目前沒有成熟穩(wěn)定的可以將CAN總線上的數(shù)據(jù)記錄到SD卡上的產(chǎn)品。國內(nèi)對于CAN總線上的數(shù)據(jù)存儲到SD卡的研究,大多使用的是通過SPI總線來讀寫SD卡,對于需要快速存儲數(shù)據(jù)的場合,采用SPI總線來讀寫SD卡的方式是不可行的。

        利用含有SD卡接口外設(shè)的微控制器的SD卡接口來讀寫SD卡,比通過SPI總線來讀寫SD卡的讀寫速度要快很多。本文提出采用含有SD卡接口的英飛凌的 XMC4500單片機(jī)(基于ARM-Cortex M4架構(gòu))來做為讀寫SD卡的控制器,設(shè)計(jì)了相應(yīng)的硬件電路,詳細(xì)描述了設(shè)計(jì)的軟件算法、數(shù)次試驗(yàn)的研究發(fā)現(xiàn)和方案的實(shí)驗(yàn)結(jié)果。

        英飛凌的XMC4500單片機(jī)有高效的4線SD卡接口和CAN總線接口的,主頻120 MHz,數(shù)據(jù)處理能力強(qiáng),并且支持當(dāng)今常見的大容量的Class 6和Class 10 SDHC卡。由于小容量的SD卡以及Class 6以下的SD卡均已經(jīng)停產(chǎn),所以以往的只支持這種類型的SD卡的方案已經(jīng)不實(shí)用。XMC4500的SDMMC接口時鐘最高48 MHz,有兩個512字節(jié)的緩沖區(qū),最高對SD卡的寫入速率可以達(dá)到24MB/s[5]。所以利用XMC4500可以構(gòu)建一個穩(wěn)定、高速、高實(shí)時性的CAN總線節(jié)點(diǎn)數(shù)據(jù)存儲系統(tǒng)。

        1.系統(tǒng)總體構(gòu)成

        系統(tǒng)總體構(gòu)成如圖1所示。由XMC4500接收CAN總線網(wǎng)絡(luò)上的相應(yīng)節(jié)點(diǎn)的數(shù)據(jù),通過SDMMC接口將數(shù)據(jù)寫入到SDHC卡中,然后通過特定的處理把得到的文本文件通過EXCEL或者M(jìn)ATLAB等數(shù)據(jù)分析軟件對數(shù)據(jù)進(jìn)行分析。

        圖1 系統(tǒng)的總體構(gòu)成

        2.系統(tǒng)硬件組成

        2.1 電源電路

        TI的LM5007是TI公司推出的低成本的、高效的Buck電壓降壓開關(guān)穩(wěn)壓器,可以接受9-75 V的電壓輸入,輸出電壓范圍為2.5-73 V。如圖2所示,本文采用TI的LM5007電源轉(zhuǎn)換芯片,可以使得系統(tǒng)電源電壓輸入范圍在12-40 V之間,并且轉(zhuǎn)換得到的5 V電源具有低紋波的優(yōu)點(diǎn)。如圖3所示,系統(tǒng)通過英飛凌的IFX1117MEV33來將5 V轉(zhuǎn)換為3.3 V,給XMC4500供電。

        2.2 CAN總線收發(fā)電路

        CAN總線收發(fā)電路部分,選取性能可靠的英飛凌TLE6250G作為XMC4500的CAN總線外接收發(fā)器。TLE6250G是英飛凌的高速CAN收發(fā)器,可以應(yīng)用于苛刻的汽車電子領(lǐng)域,具有卓越的EMC性能,具有很寬的溫度范圍(-40℃至150℃),并且有過溫保護(hù)。具體電路結(jié)構(gòu)如圖4所示。

        圖2 LM5007穩(wěn)壓電路

        圖3 IFX1117穩(wěn)壓電路

        2.3 SD卡接口電路

        SDHC卡的訪問需要時鐘線、指令控制線和數(shù)據(jù)線[6]。時鐘線和指令控制線分別為MMC_CLK和MMC_CMD。XMC4500通過其SDMMC接口連接SD卡,并且可以提供四條數(shù)據(jù)線為SD卡傳送數(shù)據(jù),其中四條數(shù)據(jù)線為MMC_DAT0~MMC_DAT3。為保證指令和數(shù)據(jù)傳輸?shù)姆€(wěn)定性,數(shù)據(jù)線和指令線均上拉[7],單片機(jī)相應(yīng)的引腳采用Open-drain模式。具體電路如圖5所示。

        圖4 XMC4500外接CAN總線收發(fā)器電路

        3 系統(tǒng)軟件設(shè)計(jì)

        3.1 軟件執(zhí)行流程

        程序固件代碼通過DAVE3.1.10和VIM編寫,通過tasking燒寫入XMC4500。程序主要包括相應(yīng)的模塊接口初始化、內(nèi)存分配操作、中斷的配置和數(shù)據(jù)存儲幾個部分,具體流程見圖6。

        圖5 SD卡接口電路

        圖6 軟件執(zhí)行流程

        3.2 SDMMC接口的初始化和FATFS文件系統(tǒng)的初始化

        SDMMC接口的初始化主要包括SDMMC接口時鐘的初始化和SDMMC接口引腳的初始化。

        CAN總線初始化主要包括CAN總線接收和發(fā)送節(jié)點(diǎn)的配置,CAN總線接口的分配,CAN總線波特率的設(shè)置。CAN總線的接收中斷要賦予較高的優(yōu)先級,使其可以接收到所有CAN總線網(wǎng)絡(luò)上的節(jié)點(diǎn)發(fā)出來的數(shù)據(jù)。

        SD卡初始化主要是XMC4500檢測SD卡是否插入SD卡接口及檢測插入的SD卡是否支持。如果初始化SD卡失敗,需要嘗試再對其進(jìn)行初始化。因?yàn)椴⒉荒芡耆_保SD卡可以一次初始化成功,也并不能確保使用的SD卡是可用的。

        FATFS是一個小型的FAT文件系統(tǒng),它不依賴于具體的硬件平臺,只提供SD卡操作的抽象層的接口,是一個較為通用的文件系統(tǒng)[8]。

        軟件采用FATFS文件系統(tǒng)和XMC4500的SDMMC接口的I/O操作來完成數(shù)據(jù)寫入到SD卡中,形成數(shù)據(jù)記錄文件。

        使用FATFS文件系統(tǒng),需要首先為文件名的路徑分配內(nèi)存,以存儲文件的路徑。其次需要為打開文件分配內(nèi)存。否則,寫入文件的時候會導(dǎo)致寫入數(shù)據(jù)失敗。

        使用f_mount()函數(shù)來掛載文件系統(tǒng)。使用f_open()函數(shù)來打開文件,如果文件不存在則可以創(chuàng)建文件。

        3.3 數(shù)據(jù)處理

        FATFS文件系統(tǒng)可以創(chuàng)建擴(kuò)展名為.txt格式的文件。所有FATFS文件系統(tǒng)寫入到SD卡的文件中的數(shù)據(jù)是字符,而CAN總線接收到的數(shù)據(jù)是數(shù)值數(shù)組。所以需要把CAN總線接收到的數(shù)據(jù),在程序中通過類型轉(zhuǎn)換變成字符數(shù)組。比如CAN總線某一時刻接收到的數(shù)據(jù)(不考慮 ID號),為{0x01,0x20,0x33,0x45,0x67,0xaa,0xbc,0xfe},為了盡量減小文件數(shù)據(jù)寫入壓力,將他們轉(zhuǎn)換為{‘0’,‘1’,‘2’,‘0’,‘3’,‘3’,‘4’,‘5’,‘6’,‘7’,‘a(chǎn)’,‘a(chǎn)’,‘b’,‘c’,‘f’,‘e’}。

        擴(kuò)展名為".csv"格式的文件,以純文本的形式存儲表格數(shù)據(jù)。擴(kuò)展名為".txt"的文件通過重命名為".csv"格式,可以利用excel表格打開。擴(kuò)展名為".csv"的格式的文件中的數(shù)據(jù)以逗號進(jìn)行分隔,如果數(shù)據(jù)是換行符,則接下來的數(shù)據(jù)換行顯示。

        通過對".csv"格式的文件進(jìn)行研究,程序在對CAN總線節(jié)點(diǎn)接收到的數(shù)值數(shù)組轉(zhuǎn)換成字符數(shù)組的過程中,在轉(zhuǎn)換的數(shù)據(jù)之間加逗號,并且在一幀數(shù)據(jù)之后加換行符。例如假如CAN總線節(jié)點(diǎn)接收到的一幀數(shù)據(jù)為:{0x01,0x20,0x33,0x45,0x67,0xaa,0xbc,0xfe},轉(zhuǎn)換之后為{‘0’,‘1’,‘,’,‘2’,‘0’,‘,’,‘3’,‘3’,‘,’,‘4’,‘5’,‘,’,‘6’,‘7’,‘,’,‘a(chǎn)’,‘a(chǎn)’,‘,’,‘b’,‘c’,‘,’,‘f’,‘e’,‘ ’,‘ ’}。也就是說,如果CAN總線一幀數(shù)據(jù)是8字節(jié),則寫入到SD卡的數(shù)據(jù)記錄文件中的數(shù)據(jù)是25字節(jié),如果需要存儲CAN總線數(shù)據(jù)的ID號,對于標(biāo)準(zhǔn)幀(ID號為11bit)和擴(kuò)展幀(ID號為29bit),一幀數(shù)據(jù)存儲到數(shù)據(jù)記錄文件中的大小分別為28字節(jié)和30字節(jié)。

        3.4 數(shù)據(jù)寫入

        FAT 文件系統(tǒng)以“簇”作為數(shù)據(jù)單元[9-10],SD 卡的一個扇區(qū)大小為512字節(jié)[11-12]。FATFS文件系統(tǒng)建議每次寫入數(shù)據(jù)的量最好等于所使用的SD卡的簇的大?。?3]。

        經(jīng)試驗(yàn),SD的簇大小為4K的時候,寫入速度最快。所以將SD卡格式化成簇大小為4K,并且每次向SD卡寫入4K字節(jié)的數(shù)據(jù)。

        數(shù)次實(shí)驗(yàn)證明,SD卡在連續(xù)寫入若干字節(jié)(幾十K以上),會出現(xiàn)一個大的寫入間隔(SD卡垃圾回收時間),這一個間隔也許會持續(xù)數(shù)十毫秒至一百毫秒左右。如果在這個寫入間隔期間,CAN總線節(jié)點(diǎn)有數(shù)據(jù)發(fā)出,需要一個軟件上的數(shù)據(jù)緩沖區(qū)來存儲數(shù)據(jù)。

        通過對執(zhí)行效率和代碼數(shù)據(jù)結(jié)構(gòu)的分析,采用循環(huán)緩沖隊(duì)列(Circular Buffer)來存儲處理后的CAN總線的數(shù)據(jù)幀,可以使系統(tǒng)持續(xù)接收CAN總線傳來的數(shù)據(jù),在緩沖隊(duì)列中的數(shù)據(jù)多于4K時,再進(jìn)行SD卡的寫入操作。文獻(xiàn)[14]采用的程序流程是不足以滿足持續(xù)快速地處理CAN總線上傳來的數(shù)據(jù)要求的。

        4 實(shí)驗(yàn)驗(yàn)證

        4.1 實(shí)驗(yàn)平臺的搭建

        為了測試存儲系統(tǒng)的實(shí)時性、通用性和穩(wěn)定性,特使用兩個XMC4500硬件平臺,如圖7所示。其中,硬件平臺(一)(XMC4500(一))用于產(chǎn)生隨機(jī)數(shù),通過CAN總線發(fā)送數(shù)據(jù)幀(均為擴(kuò)展幀)給硬件平臺(二)(XMC4500(二)),同時硬件平臺(一)通過XMC4500的USB接口與PC機(jī)相連[15],PC機(jī)上的上位機(jī)程序?qū)崟r將收到的數(shù)據(jù)存儲為文本,用于在實(shí)驗(yàn)停止后和硬件平臺(二)通過SD卡接口寫入到SD卡中的文本文件的內(nèi)容進(jìn)行比對。

        圖7 測試所用的硬件平臺

        4.2 系統(tǒng)性能測試

        4.2.1 系統(tǒng)實(shí)時性存儲壓力測試

        在測試系統(tǒng)實(shí)時性時,硬件平臺(一)每200 μs發(fā)送一幀數(shù)據(jù)給硬件平臺(二),測試系統(tǒng)在若干萬CAN總線擴(kuò)展幀數(shù)據(jù)存儲至SD卡(每次寫4K數(shù)據(jù)至SD卡)之后,是否存在丟失數(shù)據(jù)的情況。通過比對硬件平臺(一)和硬件平臺(二)所產(chǎn)生的文本文件是否內(nèi)容一致來進(jìn)行評判。測試情況如表1所示,由表1可知,系統(tǒng)具有較高的實(shí)時性存儲能力。

        4.2.2 系統(tǒng)通用性測試

        在測試系統(tǒng)通用性時,硬件平臺(一)通過CAN總線分別以不同的波特率向硬件平臺(二)發(fā)送擴(kuò)展幀,測試硬件平臺(二)存在SD卡中的數(shù)據(jù)文件與PC機(jī)上得到的硬件平臺(一)所發(fā)送的數(shù)據(jù)文件是否一致。測試情況如表2所示。由表2可知,系統(tǒng)對不同CAN總線波特率的節(jié)點(diǎn)具有通用性,而不是只適用于CAN總線波特率為1 000 Kb/s的節(jié)點(diǎn)。

        表1 系統(tǒng)實(shí)時性測試

        表2 系統(tǒng)通用性測試

        4.2.3 系統(tǒng)穩(wěn)定性測試

        在測試系統(tǒng)穩(wěn)定性時,測試系統(tǒng)在若干小時的持續(xù)寫入的情況下的表現(xiàn)。測試時使用的CAN總線的波特率為1 000 Kb/s,硬件平臺(一)每200 μs發(fā)送一幀數(shù)據(jù)。評判標(biāo)準(zhǔn)同上。測試結(jié)果如表3所示。由表3可知,系統(tǒng)在總線高負(fù)荷的情況下,仍然具有長時間內(nèi)的高穩(wěn)定性。

        表3 系統(tǒng)的穩(wěn)定性能測試

        4.3 數(shù)據(jù)記錄文件的后續(xù)處理

        如圖8所示,將一個用硬件平臺(二)存儲了6個小時的單個文本文件,分割成了單個大小為1 600 kB的小文件。因?yàn)榭紤]到經(jīng)過若干小時的數(shù)據(jù)寫入,若用excel軟件來分析硬件平臺(二)在SD卡上存儲的單個記錄文件,文件的行數(shù)會遠(yuǎn)遠(yuǎn)超過excel表格的單個文件的行數(shù)限制;若用MATLAB來分析數(shù)據(jù),則一次讀入整個文件,即使在PC機(jī)內(nèi)存夠用的情況下,也會嚴(yán)重影響MATLAB運(yùn)行效率。故系統(tǒng)采用在PC機(jī)上將文件進(jìn)行按行分割,然后再進(jìn)行數(shù)據(jù)分析。其中按行分割文本文件的軟件來自于互聯(lián)網(wǎng)。

        圖8 文件按行分割結(jié)果

        單個文件用excel表格解析后的結(jié)果如圖9所示,第1列為CAN總線的幀的ID號,第2列到第9列為提取的8字節(jié)的CAN總線幀的數(shù)據(jù)段的內(nèi)容。記錄的數(shù)據(jù)均為16進(jìn)制,可以通過excel的HEX2DEC函數(shù)把數(shù)據(jù)轉(zhuǎn)換成10進(jìn)制,以便于數(shù)據(jù)的處理。

        圖9 單個文件用excel表格解析

        5 結(jié)論

        分析可得,系統(tǒng)對SD卡平均寫入速率至少可以達(dá)到1.2 Mbps。使用XMC4500可以構(gòu)建出一個簡單、穩(wěn)定、可靠、高效率的CAN總線數(shù)據(jù)記錄設(shè)備。可以大大減輕測試記錄人員的負(fù)擔(dān),也可為系統(tǒng)數(shù)據(jù)的準(zhǔn)確實(shí)時記錄方面提供良好的技術(shù)支持。

        [1]農(nóng)建毅.基于CAN的車輛行駛記錄儀[J].工業(yè)控制計(jì)算機(jī),2008,21(2):76 -79.

        [2]肖楚海,梁杰申.SD卡在記錄汽車CAN總線數(shù)據(jù)中的應(yīng)用[J].信息化縱橫,2009(18):14-16.

        [3]蘇義鑫,程敏,何力.基于AT89C52單片機(jī)的SD卡讀寫設(shè)計(jì)[J].世界電子元器件,2008(5):65-68.

        [4]劉慧豐,李遠(yuǎn)哲,單建兵,等.基于SD卡的CAN總線數(shù)據(jù)存儲設(shè)備的設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2014,22(04):1236 -1239.

        [5]XMC4500 microcontroller series for industrial application reference manual[Z].V1.3 Infineon Technolo-gies AG,2013.

        [6]魏來,周穗華,劉旭東.基于SD卡的水聲信號采集系統(tǒng)設(shè)計(jì)[J].海洋技術(shù),2010,29(2):51-55.

        [7]鄧劍,楊曉非,廖俊卿.FAT文件系統(tǒng)原理及實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2005,33(9):105 -108.

        [8] Fatfs module application note r0.11[Z].ChaN,2015.

        [9]付秀全,陳杭,葉樹明.基于MSP430F1611和SD卡的心電數(shù)據(jù)存儲系統(tǒng)的低功耗設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009,(4):45 -51.

        [10] SD specifications part a2,SD host controller standard specification,Version 2.00[Z].2007.

        [11] SD memory card security specification,Version 1.01[Z].2001.

        [12] The multimediacard system specification,Version 4.0[Z].2004.

        [13] SD specifications part 1,physical layer specification,Version 2.00[Z].2006.

        [14]盧鐵軍,童亮,賈銀良.基于XMC4500的汽車CAN網(wǎng)絡(luò)檢測卡設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2014,22(6):1905-1907.

        [15] Installation and test GUI of infineon USB driver[Z].Infineon Technologies AG,2014.

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        国产黑丝美腿在线观看| 日日噜噜夜夜狠狠久久无码区 | 久久精品国产四虎| 国产三级视频在线观看视主播| 亚洲精品国产av一区二区| 男女动态视频99精品| 国产女优一区在线观看| av区无码字幕中文色| 麻豆精品国产精华液好用吗| 日韩人妻无码一区二区三区| 四虎影视一区二区精品| 久久久精品2019免费观看| 亚洲日本一区二区在线| 日日噜噜夜夜狠狠视频| 中文字幕精品一区二区2021年| 无码区a∨视频体验区30秒| 97自拍视频国产在线观看| 青青草中文字幕在线播放| 欧美丰满熟妇xxxx性ppx人交| 熟妇高潮一区二区三区| 国产精品久久久久久久专区| 日韩av在线不卡观看| 国产精品国产三级国产专播下| 国产区精品一区二区不卡中文 | 国产午夜福利小视频合集| 国产一区二区三区小说| 欧美一级鲁丝片免费一区| 国产成人av三级三级三级在线| 大陆老熟女自拍自偷露脸| 欧美日韩视频在线第一区| 玖玖资源站无码专区| 东京热加勒比在线观看| 经典亚洲一区二区三区| 自拍偷自拍亚洲精品第按摩| 国产伦人人人人人人性| 夜夜嗨av一区二区三区| 国内视频一区| 亚洲最大一区二区在线观看| 国产女人的高潮国语对白| 精品无码久久久久久久动漫| a级国产精品片在线观看|