999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式車載設備中存儲系統的抗干擾技術研究

2015-07-22 22:13:43魏峰田錦
現代電子技術 2015年14期

魏峰+田錦

摘 要: 在此論述了嵌入式車載終端的存儲系統抗干擾設計方法。以車載終端在現實工作環境中所遇故障為例,分析溫度、文件系統、芯片質量及存儲電路設計等幾種疑似故障原因并列出論證方法,通過改進NANDFLASH的設計電路,增加電容以保障存儲系統端口電壓從而達到穩定電路的目的,可以方便地擴充到同類系統的設計方案中。在實際工作環境中,實驗證明了方案的有效性。

關鍵詞: 嵌入式系統; NANDFLASH; U?boot; BootStrap; 抗干擾

中圖分類號: TN911?34; TP368.2 文獻標識碼: A 文章編號: 1004?373X(2015)14?0052?03

0 引 言

近年來隨著嵌入式技術的發展,在智能公交行業隨處可見嵌入式系統產品。常見的嵌入式Linux系統硬件是由微處理器、外圍存儲器、I/O系統以及外設組成,南京普天研發生產的CPVD?IV型智能調度設備采用AT91SAM9260為主控芯片,以三星公司生產的64 MB的K9F1208UOD作為NANDFLASH,以K4s561632J為SDRAM所組成的一套嵌入式系統方案。

公交車載設備由于工作環境復雜,受溫度、車況、電源和道路等條件影響故障幾率很高。針對在商業使用初期出現的問題以及造成的干擾,歷經各種方案分析和實驗驗證,從而確定故障的問題所在并進行集成電路的改進和完善。

1 嵌入式系統啟動過程分析

嵌入式設備開機后BootStrap引導加載NANDFLASH中U?boot程序,然后解壓Linux內核,啟動文件系統和應用程序,從而使終端進入工作狀態[1]。

1.1 Bootstrap啟動過程

AT91SAM9260具有片內和片外2種引導方式,由于本系統采用外部NANDFLASH引導,所以設置BMS=0;系統上電后,MCU會自動將NANDFLASH的前4 KB代碼(Bootstrap)拷貝到SRAM中運行[2]。Bootstrap首先進入main()函數中執行hw_init()初始化硬件:關閉看門狗器件,避免因為初始化硬件造成無法喂狗而頻繁重啟,然后配置相關的PLL頻率,使能I?Cache,配置相關的PIOS,使管腳輸出合適的電平啟動周圍外設,并進一步配置Matrix,算法流程圖1所示。

部分代碼如下:

/* Disable watchdog */

writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);

/* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */

pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);

/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */

pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);

/* Configure PLLB */

pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);

圖1 Bootstrap啟動流程圖

初始化硬件后,調用load_NANDFLASH(IMG_ADDRESS, IMG_SIZE, JUMP_ADDR)函數從內存空間中調用U?boot映像到JUMP_ADDR地址中運行。函數參數定義如下:

#define IMG_ADDRESS 0x20000

/* Image Address in NANDFLASH */

#define IMG_SIZE 0x30000

/* Image Size in NANDFLASH */

#define MACH_TYPE 0x44B

/* AT91SAM9260?EK */

#define JUMP_ADDR 0x23F00000

/* Final Jump Address */

對于BootStrap的大小,根據AT91SAM9260芯片內存空間設置的大小,限制在4 KB大小,SRAM空間大小分配[3]如圖2所示。

圖2 AT91SAM9260內存分配圖

1.2 U?boot啟動過程分析

U?boot加載后,主要分成兩個階段來啟動:第一段進入Start.S用匯編語言實現MCU體系結構的設備初始化;第二階段進入start_armboot() 用C語言來實現外圍所用到的硬件體系,并在do_bootm()中執行do_bootm_Linux()來調用Linux內核。

2 NANDFLASH系統設計方案

NANDFLASH作為智能調度設備的主體部分,存儲大部分數據信息和引導開機程序鏡像,能否正常工作非常重要。K9F1208為三星公司出產的64 MB的NANDFLASH,在商業領域和工業領域應用廣泛,為Atmel公司設計的標配方案選擇芯片。芯片管腳圖如圖3所示,主要數據線[4]是:

[RE]:連接MCU的NANDOE管腳,控制NANDFLASH讀使能;

[WE]:連接MCU的NANDWE管腳,控制NANDFLASH寫使能;

[RB]:NANDFLASH讀/忙控制管腳,連接MCU的PC13管腳,并通過10 KΩ上拉電阻接入3.3 V電壓。

圖3 NANDFLASH管腳圖

3 故障現象及理論分析

在產品應用初期,現場開機工作時候出現故障:LCD顯示屏出現“白屏”現象,無任何顯示信息,且串口無任何調試信息;而同一產品在實驗室啟動正常,能顯示諸如gprs,gps等圖標。此故障占設備總數的30%,嚴重地阻礙了產品的交付使用。從使用環境、芯片質量和電路設計等方面分析出現此類故障原因有以下幾種:

3.1 高溫導致系統工作不正常

由于公交車工作環境比較惡劣,顛簸比較厲害,而且夏季太陽高溫直曬,很容易造成設備故障。認為高溫是故障的原因之一,理由如下:

(1) 車載設備出現故障高發原因在6月以后,為夏季高溫時間,且設備很容易受太陽直射;

(2) 車載設備安裝位置靠近發動機位置,發動機工作致使車蓋位置溫度燙手;

(3) 由于防水的原因,設備外殼采用鋁制外殼,結實且密不透風,很容易將外面高溫導入設備內部;

(4) 經測試高溫時設備內部達到60 ℃左右,有可能造成MCU無法正常工作。

針對高溫問題,分別采取以下措施和方法驗證:

(1) 修改設備安裝位置,遠離發動機、水箱和光照強的地方,避免高溫傳導造成設備內問題提升;

(2) 進行高溫實驗,隨機抽取10~20臺設備連續高溫24 h以上驗證超高溫后能否正常工作。

經連續3個批次高溫驗證,實驗數據如表1所示。

表1 高溫老化測試數據

經實驗數據可以得出結論,過高溫可以出現部分延遲啟動但不是出現此類故障原因的主要問題,此原因排除。

3.2 YAFFS2文件系統存在BUG

YAFFS2文件系統具有可讀/寫、能夠識別并標識 NANDFLASH壞塊的功能,如果判別存儲器為壞的情況下工作不會正常。針對此類問題專門撰寫一個針對數據的循環打開讀/寫的程序來驗證設備,發現經過3 h以上的不斷循環讀/寫后,在串口終端會發出NANDFLASH出現大量“bad block…”等信息,并使系統無法正常啟動。由于啟動信息會出現,不是需要解決的故障原因。通過破壞性測試檢測出YAFFS2文件系統的脆弱性,此版本軟件無法長時間進行讀/寫,此后修改為可讀/寫的JFFS2文件系統[5],避免了因為大量壞塊信息導致無法對NANDFLASH進行讀/寫的YAFFS2的BUG。

3.3 NANDFLASH質量不過關

針對此類問題,對出現故障設備采取更換NANDFLASH措施,實驗效果如舊,經同類比較此原因排除。

3.4 電路抗干擾能力不強

針對上述原因排除,將注意力轉到集成電路本身,由于電路屬于Atmel經典設計方案,經過全世界無數生產廠家使用驗證不存在設計方案錯誤問題,只能根據代碼走向流程來進行大膽假設,認為NANDFLASH根本工作。針對這種問題,輸入不同電源電壓,比較不同結果,數據如表2所示。

表2 嵌入式系統電源供給效果顯示

根據不同電壓數據可以得出,提升電源電壓后嵌入式系統穩定工作,與設備工作現場故障現象相似。根據公交公司反饋情況最后得出由于公交車蓄電池老化,導致電池供電不穩,為故障的主要原因。在于蓄電池從逐漸啟動到正常供電過程中,由于過程漫長而NANDFLASH由于已經處在故障狀態,導致嵌入式系統無法正常工作。

4 FLASH電路改進及測試結果分析

由上述理論研究和實驗結果可以證明,改變NANDFLASH供給電源成為主要的解決問題的關鍵。分析AT91SAM9260與NANDFLASH連接的管腳,當[RB]輸入的電平為高時可以從NANDFLASH讀數據,為低則存儲器處于忙狀態,系統無法讀取數據,處于錯誤狀態,此為問題所在。解決問題關鍵在于解決[RB]電平干擾,采取外接100 pF電容方案能夠解決電壓故障,并通過電容充電可以使系統啟動正常[6],電路如圖4所示。

圖4 NANDFLASH保護電路圖

保護電路修改后,模擬現場電池環境供給,串口輸出:

Start AT91Bootstrap...

顯示已經MCU已經從NANDFLASH讀出數據并串口輸出,電路修改正常。

5 創新點

通過MCU的控制端口直接與NANDFLASH外圍管腳相連是通用標準電路,本方案通過修改NANDFLASH的外圍控制電路,增加[RB]管腳電壓控制保護,從而達到消除系統電源不穩定狀態下的干擾問題。

6 結 語

本文以智能車載產品為基礎,討論并解決在實際工作中嵌入式系統設備所出現的穩定性問題。為了進行更深入的研究和開發,還需要對嵌入式系統的底層驅動和功能進行開發,以便實現更多的功能。隨著信息技術的快速發展,嵌入式系統中存儲技術應用必將更穩定,并在智能交通領域得到廣泛應用。

參考文獻

[1] 孫紀坤,張小全.嵌入式Linux系統開發技術詳解:基于ARM[M].北京:人民郵電出版社,2006.

[2] 程前,陳思泰.基于AT91SAM9260的嵌入式系統的Bootloader啟動流程[EB/OL].[2015?02?15].http://www.docin.com.

[3] 劉淼.嵌入式系統接口設計與Linux驅動程序開發[M].北京:北京航空航天大學出版社,2006.

[4] Anon.ARM的啟動代碼(2):AT91SAM9260啟動詳解 [EB/OL].[2011?08?23].http://blog.csdn.net/coolbacon/article.

[5] 宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社,2008.

[6] 安毅,蔡伯根.基于ARM的嵌入式大容量存儲設備的設計[J].微計算機信息,2008(17):146?148.

[7] 楊忻愷,張為公,于兵,等.基于DSP的車載視頻監控存儲系統的設計[J].電子器件,2009(4):805?808.

主站蜘蛛池模板: 久草中文网| 综合天天色| 亚洲人成网站色7799在线播放| 国产凹凸视频在线观看| 久久久久久午夜精品| 成人在线综合| 亚洲精品成人片在线观看| 91小视频在线观看免费版高清| 九九免费观看全部免费视频| 都市激情亚洲综合久久| 98精品全国免费观看视频| 丁香综合在线| 国产成人AV综合久久| 欧美啪啪网| 欧美区一区二区三| 亚洲六月丁香六月婷婷蜜芽| 国产欧美视频在线观看| 国产成人久久综合一区| 亚洲人成网7777777国产| 欧美第一页在线| 青青青国产免费线在| 国产国产人免费视频成18| 国产第一页亚洲| 美女无遮挡被啪啪到高潮免费| 丝袜久久剧情精品国产| 性69交片免费看| 免费激情网址| 岛国精品一区免费视频在线观看 | 真人高潮娇喘嗯啊在线观看 | 激情影院内射美女| 日本不卡视频在线| 亚洲国产成熟视频在线多多 | 搞黄网站免费观看| 伊大人香蕉久久网欧美| 国产日韩欧美精品区性色| 直接黄91麻豆网站| 久久精品亚洲专区| 亚洲人精品亚洲人成在线| 99久久国产精品无码| 永久免费av网站可以直接看的 | 国产午夜一级淫片| 欧美综合成人| 在线色国产| 色综合久久88色综合天天提莫| 亚洲无码37.| 日韩欧美视频第一区在线观看| 亚洲精品国产综合99久久夜夜嗨| 日本在线视频免费| 老司国产精品视频| 国产三级韩国三级理| 欧美亚洲第一页| 伊人久久久大香线蕉综合直播| 极品私人尤物在线精品首页 | 亚洲天堂网视频| 午夜国产精品视频黄| 国产精品污视频| 国产激爽爽爽大片在线观看| 国产一级无码不卡视频| 亚洲AⅤ永久无码精品毛片| 国产亚洲欧美在线视频| 国产青榴视频| 丝袜亚洲综合| 欧美在线伊人| 国产亚洲欧美日韩在线观看一区二区 | 72种姿势欧美久久久久大黄蕉| 久久香蕉国产线看观| 久热这里只有精品6| 色综合成人| 国产精品免费电影| 色天天综合| 午夜视频在线观看区二区| 欧美福利在线| 国产精品一区在线观看你懂的| 999精品色在线观看| 国产xxxxx免费视频| 毛片在线区| 中文字幕亚洲乱码熟女1区2区| 国内视频精品| 国产第三区| 伊人国产无码高清视频| 亚洲精品在线影院| 国产精品永久不卡免费视频|