《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > SD卡在記錄汽車CAN總線數據中的應用
SD卡在記錄汽車CAN總線數據中的應用
肖楚海, 梁杰申
摘要: 提出了用SD卡來實現記錄汽車CAN總線數據的設計,介紹了基于LPC2368的SD卡FAT文件系統的實現方法,并給出了該設計的硬件接口與軟件實現,闡述了SD卡應用于大容量數據記錄的優(yōu)點。
關鍵詞: CAN總線 SD卡
Abstract:
Key words :

  摘  要: 提出了用SD卡來實現記錄汽車CAN總線數據的設計,介紹了基于LPC2368的SD卡FAT文件系統的實現方法,并給出了該設計的硬件接口與軟件實現,闡述了SD卡應用于大容量數據記錄的優(yōu)點。
關鍵詞: CAN總線;SD卡;FAT文件系統;數據記錄

 

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

 


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

3  軟件設計
3.1  SD卡底層讀寫

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


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

 

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


本設計采用SD卡作為外部存儲介質,將實時采集到的CAN數據信息以標準文件的格式保存于SD卡中,具有性能可靠、使用方便、重量輕及存儲容量大等特點,具有廣闊的應用前景。
參考文獻
[1] Philips , LPC2368 User Manual. 2007.
[2] 周立功. ARM微控制器基礎與實踐[M].北京:北京航空航天大學出版社,2005.
[3] 張明亮,張宗杰.淺析FAT32 文件系統[J].計算機與數字工程,2005,33(1):56-59.
[4] SanDisk Corporate. SD memory card specification part 1:physical layer specification version 1. 0[M].2000.

此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
性一交一乱一区二区洋洋av| 日韩午夜黄色| 亚洲精品视频在线看| 影音先锋久久精品| 国产伊人精品| 国精产品99永久一区一区| 国产欧美日韩精品一区| 国产精品亚洲片夜色在线| 国产精品国产三级国产aⅴ9色| 欧美日韩一区二区在线播放| 欧美女同视频| 欧美日韩久久不卡| 欧美色网一区二区| 国产精品福利在线观看| 欧美色中文字幕| 国产精品人成在线观看免费 | 欧美精品乱码久久久久久按摩| 免费在线一区二区| 欧美电影在线观看完整版| 欧美激情第10页| 欧美精品亚洲二区| 欧美日韩高清在线播放| 亚洲欧美久久久| 欧美久久综合| 欧美日韩美女在线| 欧美日韩一区二区国产| 国产精品久久网站| 国产在线一区二区三区四区| 在线成人激情| 99精品国产一区二区青青牛奶 | 亚洲精品永久免费精品| 日韩午夜黄色| 亚洲欧美一区二区精品久久久| 欧美一区=区| 亚洲欧洲日本mm| 中文一区二区| 欧美一区精品| 久久综合给合久久狠狠色 | 日韩亚洲欧美成人一区| 亚洲男同1069视频| 亚洲国产精品成人一区二区| 99视频精品免费观看| 亚洲欧美综合国产精品一区| 久久久久国产精品一区| 欧美国产一区视频在线观看| 欧美午夜欧美| 韩国美女久久| 日韩一二在线观看| 久久国产天堂福利天堂| 一本在线高清不卡dvd| 欧美一级淫片aaaaaaa视频| 免费短视频成人日韩| 欧美视频一区二区三区| 国内伊人久久久久久网站视频| 亚洲精品裸体| 欧美一区精品| 制服丝袜激情欧洲亚洲| 久久久蜜桃一区二区人| 欧美日韩一区二区三区在线| 国内精品嫩模av私拍在线观看 | 亚洲精品久久在线| 亚洲欧美在线播放| 亚洲久久一区| 欧美一区二区三区播放老司机 | 亚洲高清不卡av| 亚洲一二三四区| 老司机免费视频久久| 欧美小视频在线| 1000部国产精品成人观看| 中文高清一区| 亚洲青涩在线| 欧美一区亚洲| 欧美日韩中文字幕在线视频| 黑人巨大精品欧美一区二区| 亚洲视频二区| 99这里只有久久精品视频| 久久国产精品久久久久久| 欧美日韩国产综合视频在线观看中文| 国产香蕉97碰碰久久人人| 夜夜嗨av色一区二区不卡| 亚洲激情视频| 久久久久久久网站| 国产精品久久久亚洲一区| 亚洲日本无吗高清不卡| 亚洲第一网站免费视频| 性久久久久久久久| 欧美日韩视频在线第一区| 在线欧美日韩| 欧美在线免费观看| 亚洲欧美在线x视频| 欧美日韩国产高清| 在线观看日产精品| 久久都是精品| 欧美在线看片a免费观看| 国产精品久久7| 亚洲九九爱视频| 亚洲欧洲视频在线| 久久综合九色综合久99| 国产午夜精品福利| 亚洲欧美日韩国产一区二区| 亚洲性视频网址| 欧美日韩影院| 亚洲美女啪啪| 日韩视频一区| 欧美激情一区在线观看| 亚洲第一福利在线观看| 欧美有码在线观看视频| 欧美一级电影久久| 国产精品日韩精品| 亚洲无玛一区| 亚洲综合电影| 国产精品看片资源| 亚洲视屏一区| 亚洲欧美偷拍卡通变态| 国产精品露脸自拍| 亚洲系列中文字幕| 亚洲在线一区| 国产精品乱码妇女bbbb| 亚洲欧美日韩国产中文| 欧美伊人久久| 国产日韩一区| 亚洲电影av在线| 牛牛精品成人免费视频| 亚洲高清不卡在线| 亚洲麻豆视频| 欧美日韩免费高清一区色橹橹| 亚洲美女91| 亚洲尤物在线视频观看| 国产精品你懂的| 亚洲欧美一区在线| 久久精精品视频| 好吊色欧美一区二区三区视频| 久久精品国产亚洲一区二区三区| 猛干欧美女孩| 亚洲日本乱码在线观看| 亚洲视频一区二区| 国产精品美女久久久久久2018| 亚洲欧美日韩成人| 久久久久久久999| 在线精品亚洲| 一本色道久久综合| 国产精品久久久久毛片软件| 欧美一二三视频| 米奇777在线欧美播放| 亚洲激情在线视频| 亚洲无线一线二线三线区别av| 国产精品男gay被猛男狂揉视频| 欧美一级播放| 欧美国产精品中文字幕| 日韩视频在线一区二区三区| 欧美一级理论片| 影音先锋一区| 一区二区三区国产精华| 国产精品推荐精品| 亚洲国产99精品国自产| 欧美片在线观看| 亚洲欧美国产另类| 免费观看30秒视频久久| 一区二区精品在线| 久久精品一区二区国产| 91久久香蕉国产日韩欧美9色| 亚洲性色视频| 激情综合亚洲| 亚洲一级在线| 激情欧美亚洲| 亚洲一区二区综合| 好吊日精品视频| 亚洲午夜国产成人av电影男同| 国产亚洲欧美另类中文| 亚洲毛片播放| 国产视频一区在线| 亚洲毛片av| 国产一区二区三区久久久| 99在线|亚洲一区二区| 国产欧美日韩激情| 在线亚洲欧美视频| 一色屋精品视频在线看| 亚洲一区免费视频| 在线观看91久久久久久| 午夜精品久久久| 亚洲国产精品高清久久久| 欧美一区亚洲一区| 亚洲免费精彩视频| 噜噜噜躁狠狠躁狠狠精品视频 | 久久久av水蜜桃| 中文久久乱码一区二区| 欧美电影电视剧在线观看| 午夜精品久久久久久久蜜桃app| 欧美国产日韩xxxxx| 性欧美激情精品| 欧美视频在线视频| 亚洲精品国精品久久99热| 国产三区二区一区久久| 一区二区三区精品在线| 在线播放视频一区| 久久国产88| 亚洲手机在线| 欧美精品 国产精品| 久久超碰97人人做人人爱| 国产精品久久久久三级|