基于STM32單片機(jī)的數(shù)據(jù)記錄裝置設(shè)計(jì)
本裝置采用SPI模式,與STM32的SPll口進(jìn)行連接通信。
SD卡的SPI通信接口使其可以通過SPI通道進(jìn)行數(shù)據(jù)讀寫。從應(yīng)用的角度來看,采用SPI接口的好處在于,sTM32內(nèi)部自帶SPI控制器,不僅給開發(fā)上帶來方便,同時(shí)也降低了開發(fā)成本。
SPI接口的選用是在上電初始時(shí)向其寫入第一個(gè)命令時(shí)進(jìn)行的。
3軟件設(shè)計(jì)
軟件調(diào)試采用KEIL公司RealView MDK4 12,它包括了ULVision4集成開發(fā)環(huán)境與ReilView編譯器,自動(dòng)配置啟動(dòng)代碼。集成Flash燒寫模塊,強(qiáng)大的Simulation設(shè)備模擬,性能分析等功能。系統(tǒng)軟件部分主要包括數(shù)據(jù)接收和數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)接收部分用于與能量管理系統(tǒng)的通信,以CAN中斷接收的方式實(shí)現(xiàn)通信。在數(shù)據(jù)處理和存儲(chǔ)部分程序中,數(shù)據(jù)處理是對(duì)數(shù)據(jù)進(jìn)行處理轉(zhuǎn)換為常用的單位和格式,數(shù)據(jù)存儲(chǔ)部分負(fù)責(zé)將數(shù)據(jù)按一定結(jié)構(gòu)打包存儲(chǔ)。系統(tǒng)啟動(dòng)之時(shí),SD卡的初始化是非常重要的,只有進(jìn)行了正確的初始化,才能進(jìn)行后面的各項(xiàng)操作。在初始化過程中,SPI的時(shí)鐘不能太快,否則會(huì)造初始化失敗。在初始化成功后,應(yīng)盡量提高SPI的速率,在剛開始要先發(fā)送至少74個(gè)時(shí)鐘信號(hào)。
中斷接收流程圖如圖3所示。
數(shù)據(jù)存儲(chǔ)流程圖如圖4所示。
4結(jié)束語
本設(shè)計(jì)提出了一種基于STM32的數(shù)據(jù)存儲(chǔ)裝置的設(shè)計(jì)方案,成功實(shí)現(xiàn)了電動(dòng)汽車電池相關(guān)數(shù)據(jù)的存儲(chǔ),使用CAN通信保證了裝置應(yīng)用的廣泛性,用SD卡作為存儲(chǔ)介質(zhì),滿足了數(shù)據(jù)存儲(chǔ)容量以及速率上的要求,但同時(shí)仍有可以繼續(xù)改進(jìn)的地方,比如可以考慮增加_個(gè)USB口,使裝置可以直接接到電腦上查看,存儲(chǔ)和讀取都將更方便,但由于STM32的USB與CAN共用部分SRAM,需要將USB與CAN的運(yùn)行時(shí)間錯(cuò)開。
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
評(píng)論