當(dāng)前位置:首頁(yè) > 汽車(chē)電子 > 汽車(chē)電子
[導(dǎo)讀]提出了用SD卡來(lái)實(shí)現(xiàn)記錄汽車(chē)CAN總線數(shù)據(jù)的設(shè)計(jì),介紹了基于LPC2368的SD卡FAT文件系統(tǒng)的實(shí)現(xiàn)方法,并給出了該設(shè)計(jì)的硬件接口與軟件實(shí)現(xiàn),闡述了SD卡應(yīng)用于大容量數(shù)據(jù)記錄的優(yōu)點(diǎn)。   關(guān)鍵詞: CAN總線;SD卡;FAT文

提出了用SD卡來(lái)實(shí)現(xiàn)記錄汽車(chē)CAN總線數(shù)據(jù)的設(shè)計(jì),介紹了基于LPC2368的SD卡FAT文件系統(tǒng)的實(shí)現(xiàn)方法,并給出了該設(shè)計(jì)的硬件接口與軟件實(shí)現(xiàn),闡述了SD卡應(yīng)用于大容量數(shù)據(jù)記錄的優(yōu)點(diǎn)。
  關(guān)鍵詞: CAN總線;SD卡;FAT文件系統(tǒng);數(shù)據(jù)記錄

  CAN總線是德國(guó)BOSCH公司在20世紀(jì)80年代初,為了解決現(xiàn)代汽車(chē)中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議。它的短幀數(shù)據(jù)結(jié)構(gòu)、非破壞性總線性仲裁技術(shù)以及靈活的通信方式適應(yīng)了汽車(chē)的實(shí)時(shí)性和可靠性要求,備受汽車(chē)生產(chǎn)廠商的青睞。目前,汽車(chē)上的ECU(電控單元)之間使用CAN總線進(jìn)行通信,例如電控燃油噴射系統(tǒng)、電控傳動(dòng)系統(tǒng)、防抱死制動(dòng)系統(tǒng)(ABS)和防滑控制系統(tǒng)(ASR)等,記錄汽車(chē)CAN總線上的數(shù)據(jù)對(duì)于監(jiān)控汽車(chē)ECU間正確通信和研究汽車(chē)CAN網(wǎng)絡(luò)故障的原因具有重要的意義。
  設(shè)計(jì)以SD卡作存儲(chǔ)載體,實(shí)現(xiàn)實(shí)時(shí)記錄CAN總線上數(shù)據(jù)的記錄儀,具有容量大、體積小、重量輕、接口電路簡(jiǎn)單等特點(diǎn)。并且記錄的數(shù)據(jù)文件可以為PC機(jī)所識(shí)別,通過(guò)PC機(jī)上的分析軟件對(duì)其進(jìn)行分析和回放,作為歷史數(shù)據(jù)用于數(shù)據(jù)對(duì)比。
1 系統(tǒng)設(shè)計(jì)
  SD卡應(yīng)用于CAN總線數(shù)據(jù)記錄儀的系統(tǒng)結(jié)構(gòu)圖如圖1所示,CAN總線數(shù)據(jù)儀工作時(shí)應(yīng)掛接到汽車(chē)CAN總線上,成為一個(gè)CAN節(jié)點(diǎn),以便采集CAN數(shù)據(jù)信息。主控芯片的主要作用是進(jìn)行數(shù)據(jù)采集并將采集到的CAN數(shù)據(jù)以文件格式存儲(chǔ)在SD卡上。此外,SD卡在數(shù)據(jù)組織結(jié)構(gòu)上與PC機(jī)格式兼容,這里選用FAT32文件系統(tǒng),使記錄數(shù)據(jù)可以直接供Windows操作系統(tǒng)下的應(yīng)用程序使用。

 


2  硬件接口設(shè)計(jì)
  硬件平臺(tái)的控制核心采用NXP公司的ARM7芯片LPC2368, 該芯片是基于ARM7TDMI-S內(nèi)核的32位微控制器,可在高達(dá)72 MHz的頻率下操作,功能強(qiáng)大且成本低,具有高達(dá)512 KB的片內(nèi)Flash、32 KB的SRAM,內(nèi)部具有豐富的系統(tǒng)外圍設(shè)備控制器,包括SD控制器和CAN控制器。
  SD卡支持2種工作模式:SD模式和SPI模式。SD模式允許4線高速數(shù)據(jù)傳輸,SPI模式允許簡(jiǎn)單通用的SPI通道接口, 但讀寫(xiě)速度大大降低。由于CAN總線數(shù)據(jù)傳輸速率較高,因此本設(shè)計(jì)采用SD模式的4線高速數(shù)據(jù)傳輸功能。
  LPC2368與SD卡接口電路如圖2所示,使用SD通信協(xié)議將SD和LPC2368相連實(shí)現(xiàn)數(shù)據(jù)傳輸。CMD傳輸SD控制器的命令及相關(guān)參數(shù)和SD卡對(duì)命令的響應(yīng)信號(hào),DAT0、DAT1、DAT2、DAT3傳輸讀寫(xiě)數(shù)據(jù),CLK為時(shí)鐘信號(hào),并由主控芯片來(lái)控制SD卡的電源。

3  軟件設(shè)計(jì)
3.1  SD卡底層讀寫(xiě)

  SD卡的讀寫(xiě)操作都是基于命令的,主控芯片通過(guò)向SD卡發(fā)送相應(yīng)的命令并讀取相應(yīng)的響應(yīng)來(lái)實(shí)現(xiàn)對(duì)SD卡的控制,在對(duì)SD卡讀寫(xiě)之前,首先要對(duì)SD控制器進(jìn)行初始化,完成各項(xiàng)參數(shù)的配置,包括控制器與CPU數(shù)據(jù)傳輸?shù)腄MA方式、傳輸速率和讀寫(xiě)數(shù)據(jù)塊長(zhǎng)度等,之后需要對(duì)SD卡進(jìn)行初始化,這是確保SD卡正常數(shù)據(jù)讀寫(xiě)的前提。SD卡的初始化流程如圖3所示。


  SD卡初始化完成之后如果要使用默認(rèn)的塊讀寫(xiě)長(zhǎng)度(512 B),就可以進(jìn)行SD卡的讀寫(xiě)。當(dāng)然,也可用CMD16命令來(lái)設(shè)置SD卡的塊讀寫(xiě)長(zhǎng)度,可以是1B~512 B之間的任意值。但是對(duì)SD卡的寫(xiě)過(guò)程則要求塊長(zhǎng)度必須為512 B。無(wú)論是SD卡的讀還是寫(xiě),都要求在讀寫(xiě)命令發(fā)送后有數(shù)據(jù)起始令牌FEH,數(shù)據(jù)傳輸結(jié)束有2 B的循環(huán)冗余編碼CRC。本設(shè)計(jì)采用默認(rèn)的塊讀寫(xiě)長(zhǎng)度。
3.2  FAT32文件系統(tǒng)
  存儲(chǔ)在SD卡中的數(shù)據(jù)為二進(jìn)制數(shù)據(jù),為了使其能為計(jì)算機(jī)所識(shí)別,SD卡文件系統(tǒng)必須與計(jì)算機(jī)的文件系統(tǒng)一致。目前Windows系列操作系統(tǒng)中最常用的文件系統(tǒng)有FAT16、FAT32及NTFS等。由于汽車(chē)CAN網(wǎng)絡(luò)的數(shù)據(jù)量大,并且記錄儀需要記錄長(zhǎng)時(shí)間的數(shù)據(jù),所以本設(shè)計(jì)選擇FAT32作為SD卡的文件系統(tǒng),F(xiàn)AT32最大支持單個(gè)文件4 GB容量,滿足CAN數(shù)據(jù)記錄儀的要求。
  FAT32文件系統(tǒng)由系統(tǒng)引導(dǎo)記錄區(qū)、FAT表區(qū)、文件登記表區(qū)和數(shù)據(jù)區(qū)四部分組成。系統(tǒng)引導(dǎo)記錄區(qū)存儲(chǔ)SD卡有關(guān)磁盤(pán)的結(jié)構(gòu)信息,包括扇區(qū)字節(jié)數(shù)、FAT表的數(shù)目和總扇區(qū)數(shù)等;FAT表是FAT32文件系統(tǒng)中用于磁盤(pán)數(shù)據(jù)(文件)索引和定位引進(jìn)的一種鏈?zhǔn)浇Y(jié)構(gòu),它準(zhǔn)確記錄著已經(jīng)被占用的簇,并為每個(gè)已經(jīng)占用的簇指明存儲(chǔ)后續(xù)內(nèi)容的下一個(gè)簇的簇號(hào)。文件登記表FDT記錄文件的登記項(xiàng),每個(gè)登記項(xiàng)占32 B,記錄了文件的起始簇號(hào)、大小以及創(chuàng)建和最后修改的時(shí)間等;數(shù)據(jù)區(qū)用于存儲(chǔ)文件數(shù)據(jù)。
  SD卡的文件系統(tǒng)主要功能包括創(chuàng)建文件、打開(kāi)文件、寫(xiě)文件、讀文件和關(guān)閉文件。在應(yīng)用中,可以根據(jù)實(shí)際情況,增刪以上功能,以簡(jiǎn)化系統(tǒng)。
  考慮數(shù)據(jù)采集對(duì)系統(tǒng)實(shí)時(shí)性的要求, 對(duì)FAT表區(qū)的鏈?zhǔn)浇Y(jié)構(gòu)進(jìn)行簡(jiǎn)化,磁盤(pán)的空閑空間是連續(xù)的,采用連續(xù)存儲(chǔ)方式,這樣略去了每次去FAT表搜索空閑簇的過(guò)程,滿足系統(tǒng)對(duì)實(shí)時(shí)性的要求。簡(jiǎn)化后的鏈?zhǔn)浇Y(jié)構(gòu)是直線鏈, 即寫(xiě)滿一個(gè)扇區(qū)自動(dòng)寫(xiě)下一個(gè)扇區(qū), 寫(xiě)滿一個(gè)簇自動(dòng)寫(xiě)下一個(gè)簇。
3.2.1  文件的創(chuàng)建
  在SD卡上創(chuàng)建文件就是在文件目錄表FDT中申請(qǐng)登記項(xiàng)和向FAT表中的FAT項(xiàng)填寫(xiě)空閑簇號(hào)的過(guò)程,流程圖如圖4所示。程序首先在系統(tǒng)引導(dǎo)記錄區(qū)獲取SD卡磁盤(pán)的結(jié)構(gòu)信息;接著要檢測(cè)文件登記表FDT中是否已經(jīng)存在該文件,如果存在同名的文件,則返回,創(chuàng)建文件失??;然后申請(qǐng)空閑的FDT表項(xiàng),申請(qǐng)F(tuán)DT 表項(xiàng)成功后,程序會(huì)檢測(cè)磁盤(pán)剩余的空間是否滿足新創(chuàng)文件數(shù)據(jù)長(zhǎng)度的需要,然后尋找第一個(gè)空閑的簇號(hào),并修改對(duì)應(yīng)的FDT表項(xiàng)。由于文件都是連續(xù)的,在FAT表中的FAT鏈表是直線鏈即前一簇指向后一簇,根據(jù)文件的大小,向FAT表區(qū)填寫(xiě)FAT鏈表,直到最后一個(gè)FAT項(xiàng)寫(xiě)入0x0FFFFFFFH,表示文件結(jié)束。

 

3.2.2  文件的讀/寫(xiě)
  SD卡上文件都是以簇為單位存取的,向SD卡上的文件寫(xiě)數(shù)據(jù)時(shí),首先要根據(jù)文件名查找到該文件的文件登記項(xiàng),根據(jù)文件登記項(xiàng)中的起始簇號(hào)即可找到文件在數(shù)據(jù)區(qū)中第1簇,向數(shù)據(jù)區(qū)對(duì)應(yīng)的簇中寫(xiě)數(shù)據(jù),并且可以在FAT表中找到第2個(gè)簇號(hào)。根據(jù)第2個(gè)簇號(hào)又能向第2簇寫(xiě)數(shù)據(jù)并找到FAT 中的第3個(gè)簇號(hào),以此類推,直到FAT表中最后一項(xiàng)0x0FFFFFFFH,完成寫(xiě)文件。讀取文件的過(guò)程與寫(xiě)文件類似。
  SD卡在記錄汽車(chē)CAN總線數(shù)據(jù)中的應(yīng)用程序流程圖如圖5所示。其中LPC2368以中斷方式將接收到的CAN數(shù)據(jù)以及接收時(shí)的時(shí)間存儲(chǔ)到數(shù)據(jù)隊(duì)列里,并立即跳出中斷,進(jìn)行主程序的處理或等待下一幀數(shù)據(jù)的接收中斷,從而避免報(bào)文的丟失。


  本設(shè)計(jì)采用SD卡作為外部存儲(chǔ)介質(zhì),將實(shí)時(shí)采集到的CAN數(shù)據(jù)信息以標(biāo)準(zhǔn)文件的格式保存于SD卡中,具有性能可靠、使用方便、重量輕及存儲(chǔ)容量大等特點(diǎn),具有廣闊的應(yīng)用前景。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉