日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

SD卡在記錄汽車CAN總線數(shù)據(jù)中的實現(xiàn)

出處:肖楚海, 梁杰申 發(fā)布于:2011-08-24 19:33:52

 

  CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā)了的,并終成為國際標準(ISO118?8)。是國際上應(yīng)用廣泛的現(xiàn)場總線之一。 在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車計算機控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標準總線,并且擁有以CAN為底層協(xié)議專為大型貨車和重工機械車輛設(shè)計的J1939協(xié)議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應(yīng)用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強和振動大的工業(yè)環(huán)境。在當前的汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)"減少線束的數(shù)量"、"通過多個LAN,進行大量數(shù)據(jù)的高速通信"的需要,1986 年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過ISO11898 及ISO11519 進行了標準化,現(xiàn)在在歐洲已是汽車網(wǎng)絡(luò)的標準協(xié)議。

  設(shè)計以SD卡作存儲載體,實現(xiàn)實時記錄CAN總線上數(shù)據(jù)的記錄儀,具有容量大、體積小、重量輕、接口電路簡單等特點。并且記錄的數(shù)據(jù)文件可以為PC機所識別,通過PC機上的分析軟件對其進行分析和回放,作為歷史數(shù)據(jù)用于數(shù)據(jù)對比。

  1 系統(tǒng)設(shè)計

  SD卡在24mm×32mm×2.1mm的體積內(nèi)結(jié)合了SanDisk快閃記憶卡控制與MLC(Multilevel Cell)技術(shù)和Toshiba(東芝)0.16u及0.13u的NAND技術(shù),通過9針的接口界面與專門的驅(qū)動器相連接,不需要額外的電源來保持其上記憶的信息。而且它是一體化固體介質(zhì),沒有任何移動部分,所以不用擔心機械運動的損壞。

  SD卡應(yīng)用于CAN總線數(shù)據(jù)記錄儀的系統(tǒng)結(jié)構(gòu)圖如圖1所示,CAN總線數(shù)據(jù)儀工作時應(yīng)掛接到汽車CAN總線上,成為一個CAN節(jié)點,以便采集CAN數(shù)據(jù)信息。主控芯片的主要作用是進行數(shù)據(jù)采集并將采集到的CAN數(shù)據(jù)以文件格式存儲在SD卡上。此外,SD卡在數(shù)據(jù)組織結(jié)構(gòu)上與PC機格式兼容,這里選用FAT32文件系統(tǒng),使記錄數(shù)據(jù)可以直接供Windows操作系統(tǒng)下的應(yīng)用程序使用。

 


  2  硬件接口設(shè)計

  硬件平臺的控制采用NXP公司的ARM7芯片LPC2368, 該芯片是基于ARM7TDMI-S內(nèi)核的32位微控制器,可在高達72 MHz的頻率下操作,功能強大且成本低,具有高達512 KB的片內(nèi)Flash、32 KB的SRAM,內(nèi)部具有豐富的系統(tǒng)外圍設(shè)備控制器,包括SD控制器和CAN控制器。

  SD卡支持2種工作模式:SD模式和SPI模式。SD模式允許4線高速數(shù)據(jù)傳輸,SPI模式允許簡單通用的SPI通道接口, 但讀寫速度大大降低。由于CAN總線數(shù)據(jù)傳輸速率較高,因此本設(shè)計采用SD模式的4線高速數(shù)據(jù)傳輸功能。

  LPC2368與SD卡接口電路如圖2所示,使用SD通信協(xié)議將SD和LPC2368相連實現(xiàn)數(shù)據(jù)傳輸。CMD傳輸SD控制器的命令及相關(guān)參數(shù)和SD卡對命令的響應(yīng)信號,DAT0、DAT1、DAT2、DAT3傳輸讀寫數(shù)據(jù),CLK為時鐘信號,并由主控芯片來控制SD卡的電源。

  3  軟件設(shè)計

  3.1  SD卡底層讀寫

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


  SD卡初始化完成之后如果要使用默認的塊讀寫長度(512 B),就可以進行SD卡的讀寫。當然,也可用CMD16命令來設(shè)置SD卡的塊讀寫長度,可以是1B~512 B之間的任意值。但是對SD卡的寫過程則要求塊長度必須為512 B.無論是SD卡的讀還是寫,都要求在讀寫命令發(fā)送后有數(shù)據(jù)起始令牌FEH,數(shù)據(jù)傳輸結(jié)束有2 B的循環(huán)冗余編碼CRC.本設(shè)計采用默認的塊讀寫長度。

  3.2  FAT32文件系統(tǒng)

  FAT32是Windows系統(tǒng)硬盤分區(qū)格式的一種。這種格式采用32位的文件分配表,使其對磁盤的管理能力大大增強,突破了FAT16對每一個分區(qū)的容量只有2 GB的限制。由于現(xiàn)在的硬盤生產(chǎn)成本下降,其容量越來越大,運用FAT32的分區(qū)格式后,我們可以將一個大硬盤定義成一個分區(qū)而不必分為幾個分區(qū)使用,大大方便了對磁盤的管理。目前已被性能更優(yōu)異的NTFS分區(qū)格式所取代。

  存儲在SD卡中的數(shù)據(jù)為二進制數(shù)據(jù),為了使其能為計算機所識別,SD卡文件系統(tǒng)必須與計算機的文件系統(tǒng)一致。目前Windows系列操作系統(tǒng)中常用的文件系統(tǒng)有FAT16、FAT32及NTFS等。由于汽車CAN網(wǎng)絡(luò)的數(shù)據(jù)量大,并且記錄儀需要記錄長時間的數(shù)據(jù),所以本設(shè)計選擇FAT32作為SD卡的文件系統(tǒng),F(xiàn)AT32支持單個文件4 GB容量,滿足CAN數(shù)據(jù)記錄儀的要求。

  FAT32文件系統(tǒng)由系統(tǒng)引導(dǎo)記錄區(qū)、FAT表區(qū)、文件登記表區(qū)和數(shù)據(jù)區(qū)四部分組成。系統(tǒng)引導(dǎo)記錄區(qū)存儲SD卡有關(guān)磁盤的結(jié)構(gòu)信息,包括扇區(qū)字節(jié)數(shù)、FAT表的數(shù)目和總扇區(qū)數(shù)等;FAT表是FAT32文件系統(tǒng)中用于磁盤數(shù)據(jù)(文件)索引和定位引進的一種鏈式結(jié)構(gòu),它準確記錄著已經(jīng)被占用的簇,并為每個已經(jīng)占用的簇指明存儲后續(xù)內(nèi)容的下一個簇的簇號。文件登記表FDT記錄文件的登記項,每個登記項占32 B,記錄了文件的起始簇號、大小以及創(chuàng)建和修改的時間等;數(shù)據(jù)區(qū)用于存儲文件數(shù)據(jù)。

  SD卡的文件系統(tǒng)主要功能包括創(chuàng)建文件、打開文件、寫文件、讀文件和關(guān)閉文件。在應(yīng)用中,可以根據(jù)實際情況,增刪以上功能,以簡化系統(tǒng)。

  考慮數(shù)據(jù)采集對系統(tǒng)實時性的要求, 對FAT表區(qū)的鏈式結(jié)構(gòu)進行簡化,磁盤的空閑空間是連續(xù)的,采用連續(xù)存儲方式,這樣略去了每次去FAT表搜索空閑簇的過程,滿足系統(tǒng)對實時性的要求。簡化后的鏈式結(jié)構(gòu)是直線鏈, 即寫滿一個扇區(qū)自動寫下一個扇區(qū), 寫滿一個簇自動寫下一個簇。

  3.2.1  文件的創(chuàng)建

  在SD卡上創(chuàng)建文件就是在文件目錄表FDT中申請登記項和向FAT表中的FAT項填寫空閑簇號的過程,流程圖如圖4所示。程序首先在系統(tǒng)引導(dǎo)記錄區(qū)獲取SD卡磁盤的結(jié)構(gòu)信息;接著要檢測文件登記表FDT中是否已經(jīng)存在該文件,如果存在同名的文件,則返回,創(chuàng)建文件失??;然后申請空閑的FDT表項,申請FDT 表項成功后,程序會檢測磁盤剩余的空間是否滿足新創(chuàng)文件數(shù)據(jù)長度的需要,然后尋找個空閑的簇號,并修改對應(yīng)的FDT表項。由于文件都是連續(xù)的,在FAT表中的FAT鏈表是直線鏈即前一簇指向后一簇,根據(jù)文件的大小,向FAT表區(qū)填寫FAT鏈表,直到一個FAT項寫入0x0FFFFFFFH,表示文件結(jié)束。

 

  3.2.2  文件的讀/寫

  SD卡上文件都是以簇為單位存取的,向SD卡上的文件寫數(shù)據(jù)時,首先要根據(jù)文件名查找到該文件的文件登記項,根據(jù)文件登記項中的起始簇號即可找到文件在數(shù)據(jù)區(qū)中第1簇,向數(shù)據(jù)區(qū)對應(yīng)的簇中寫數(shù)據(jù),并且可以在FAT表中找到第2個簇號。根據(jù)第2個簇號又能向第2簇寫數(shù)據(jù)并找到FAT 中的第3個簇號,以此類推,直到FAT表中一項0x0FFFFFFFH,完成寫文件。讀取文件的過程與寫文件類似。

  SD卡在記錄汽車CAN總線數(shù)據(jù)中的應(yīng)用程序流程圖如圖5所示。其中LPC2368以中斷方式將接收到的CAN數(shù)據(jù)以及接收時的時間存儲到數(shù)據(jù)隊列里,并立即跳出中斷,進行主程序的處理或等待下一幀數(shù)據(jù)的接收中斷,從而避免報文的丟失。


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

 


  
關(guān)鍵詞:CAN  CAN總線汽車總線

版權(quán)與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!