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

使用TI-AM1808構(gòu)建嵌入式導(dǎo)航系統(tǒng)

2012-04-29 00:00:00陳超
電子產(chǎn)品世界 2012年8期

摘要:TI的AM1808處理器具有較為先進(jìn)的架構(gòu)。本文探討了利用AM1808構(gòu)建嵌入式導(dǎo)航系統(tǒng)的過程。并且探討了嵌入式文件系統(tǒng)的組成。在硬件和軟件方面對(duì)嵌入式系統(tǒng)構(gòu)建過程中遇到的問題提出了解決方法。

關(guān)鍵詞:AM1808;嵌入式設(shè)備;導(dǎo)航系統(tǒng);嵌入式文件系統(tǒng)

DOI: 10.3969/j.issn.1005-5517.2012.8.012

硬件設(shè)計(jì)

在硬件設(shè)計(jì)上,得益于AM808先進(jìn)的架構(gòu),AM1808的硬件設(shè)計(jì)具有很高的彈性。但是考慮到嵌入式系統(tǒng)成本和體積的要求,簡潔有力的設(shè)計(jì)更應(yīng)該在整個(gè)設(shè)計(jì)流程中被體現(xiàn)出來。因此,某些功能必須被禁用,以提高系統(tǒng)的簡潔性和穩(wěn)定性,并且降低成本。

系統(tǒng)的需求分析

使用AM1808構(gòu)建嵌入式的導(dǎo)航系統(tǒng),TFT顯示屏是必不可少的組件之一。TFT液晶顯示屏通過顯示不同的海圖和標(biāo)志,來引導(dǎo)船只的正常航行。早先的嵌入導(dǎo)航儀也選用點(diǎn)陣液晶來進(jìn)行數(shù)據(jù)的顯示。相比較點(diǎn)陣液晶,TFT液晶有著低成本,更加豐富的顏色輸出以及更高的刷新速度。基于以上的理由,TFT液晶已經(jīng)慢慢將點(diǎn)陣液晶淘汰。

A M 1 8 0 8最大可以接駁1024*1024分辨率的液晶顯示器。但是其像素時(shí)鐘信號(hào)最高只能到 37.5MHz。當(dāng)前系統(tǒng)中,我們使用800*480分辨率的液晶就能很好地滿足導(dǎo)航功能的現(xiàn)實(shí)需求。

對(duì)于一個(gè)嵌入式系統(tǒng),系統(tǒng)的升級(jí)功能十分的重要。升級(jí)的數(shù)據(jù)來源可以是SD卡或者USB大容量存儲(chǔ)器。為了滿足多樣化的用戶需求,我們同時(shí)需要這兩種接口。AM1808的SD控制器可以訪問SD卡上的數(shù)據(jù),但是不支持高速的SD卡,但標(biāo)準(zhǔn)速度的SD卡已經(jīng)可以很好地滿足系統(tǒng)的需求。在USB方面,AM1808具有兩個(gè)可以使用的USB主機(jī)端口:集成型PHY的USB2.0移動(dòng)(OTG)和集成PHY的USB1.1的OHCI。考慮到存儲(chǔ)器速度的需求,我們使用USB2.0的OTG來實(shí)現(xiàn)USB存儲(chǔ)器的數(shù)據(jù)交換。

導(dǎo)航的一個(gè)重要功能是顯示自身的GPS位置。為了能夠接受GPS模塊發(fā)出的定位信息,串口通信必不可少。AM1808具有3個(gè)獨(dú)立的串口,并且遵守TL16C550規(guī)范。每一個(gè)串口都具有16字節(jié)的硬件FIFO已經(jīng)增加的錯(cuò)誤檢測(cè)位。UART提供了CPU和GPS模塊之間的數(shù)據(jù)交換功能。

系統(tǒng)存儲(chǔ)器的設(shè)計(jì)

系統(tǒng)的存儲(chǔ)器分為兩個(gè)部分:FLASH存儲(chǔ)器和DDR內(nèi)存。

FLASH存儲(chǔ)器存儲(chǔ)一些大容量的永久或者長期數(shù)據(jù),這些數(shù)據(jù)在系統(tǒng)掉電之后還能繼續(xù)存在。DDR控制器的存在使得AM1808可以使用DDR RAM來作為系統(tǒng)的內(nèi)存顆粒。相比較SDRAM來說,DDR內(nèi)存有價(jià)格便宜、速度快、容量大的顯著優(yōu)點(diǎn)。

因?yàn)榍度胧较到y(tǒng)對(duì)于內(nèi)存的需求較低,我們選用128MB的系統(tǒng)內(nèi)存以及128MB的FLASH存儲(chǔ)器就能夠很好地滿足系統(tǒng)數(shù)據(jù)傳輸?shù)男枨蟆?/p>

對(duì)于FLASH存儲(chǔ)器來說,NOR FLASH和NAND FLASH都能提供長效的數(shù)據(jù)存儲(chǔ)。但NOR FLASH相比NAND FLASH而言,具有成本高,容量小的缺點(diǎn)。雖然NOR FLASH可以提供字節(jié)編程的功能,但對(duì)于嵌入式的數(shù)據(jù)存儲(chǔ)來說,成本和容量是考量的首要兩個(gè)要素。因此,系統(tǒng)使用NAND FLASH來進(jìn)行數(shù)據(jù)的存儲(chǔ)。由于NAND FLASH具有的一些缺陷如只能按塊擦除,原生可能存在壞塊等,我們引入著名的YAFFS文件系統(tǒng)來進(jìn)行數(shù)據(jù)的管理和文件系統(tǒng)的實(shí)現(xiàn)。

使用J-LINK進(jìn)行AM1808的檢測(cè)調(diào)試

J-Link是SEGGER公司為支持仿真ARM內(nèi)核芯片推出的JTAG仿真器。配合IAR EWARM,ADS,KEIL,WINARM,RealView等集成開發(fā)環(huán)境支持所有ARM7/ARM9內(nèi)核芯片的仿真,通過RDI接口和各集成開發(fā)環(huán)境無縫連接,操作方便、連接方便。

在設(shè)計(jì)印刷電路版時(shí),目前最主要用在測(cè)試集成電路的副區(qū)塊,而且也提供一個(gè)在嵌入式系統(tǒng)很有用的調(diào)試機(jī)制,提供一個(gè)在系統(tǒng)中方便的“后門”。當(dāng)使用一些調(diào)試工具像電路內(nèi)模擬器用JTAG當(dāng)做訊號(hào)傳輸?shù)臋C(jī)制,使得程式設(shè)計(jì)師可以經(jīng)由JTAG去讀取整合在CPU上的調(diào)試模組。調(diào)試模組可以讓程式設(shè)計(jì)師調(diào)試嵌入式系統(tǒng)中的軟件。

在嵌入式系統(tǒng)硬件設(shè)計(jì)的初期,很重要的一點(diǎn)就是確認(rèn)系統(tǒng)的CPU和內(nèi)存可以正常工作。通過系統(tǒng)的JTAG調(diào)試接口,J-LINK可以運(yùn)行監(jiān)測(cè)程序,通過對(duì)同CPU的控制,可以確認(rèn)系統(tǒng)的CPU是否已經(jīng)正常工作。通過對(duì)系統(tǒng)內(nèi)存的讀寫操作,我們可以知道系統(tǒng)的DDR內(nèi)存是否正常運(yùn)行。

對(duì)于通常的ARM9來說,JTAG調(diào)試接口則較為復(fù)雜,需要對(duì)J-LINK進(jìn)行定制操作以后才可以正常訪問ARM9內(nèi)核:復(fù)位ICE部件,設(shè)置正確的ICE信息等等。初始化完成以后,J-LINK就可以提供完整的調(diào)試功能。

對(duì)于J-LINK的配置,則通過 J-LINK的初始化腳本來實(shí)現(xiàn)。初始化腳本提供類似C語言的代碼執(zhí)行。以下為復(fù)位ICE的代碼范例:

JTAG_StoreIR(2);

v = 0x01000000;

JTAG_StoreDR(v, 32);

BitPos = JTAG_StoreDR(v, 32);

v = JTAG_GetU32(BitPos);

v = 0x00FFFFFF;

v |= 0x81000001;

JTAG_StoreDR(v, 32);

v = 0xFFFFFFFE;

v = 0x00FFFFFF;

v |= 0x81000000;

JTAG_StoreDR(v, 32);

軟件設(shè)計(jì)

軟件設(shè)計(jì)在AM1808上得益于簡潔有力的硬件設(shè)計(jì)。軟件設(shè)計(jì)除了充分利用硬件的性能之外,也需要對(duì)硬件的缺陷具有良好的魯棒性,同時(shí)必須對(duì)用戶提供方便使用的接口。

AM1808的引導(dǎo)方式

AM1808作為較為先進(jìn)的ARM9內(nèi)核嵌入式處理器,其引導(dǎo)方式比之前的ARM9 CPU多了許多功能:例如SD卡引導(dǎo)功能,NAND FLASH引導(dǎo)功能等等。

AM1808具有兩種獨(dú)立的引導(dǎo)方式:直接代碼運(yùn)行引導(dǎo)和腳本文件引導(dǎo)。

直接代碼運(yùn)行引導(dǎo)指的是CPU運(yùn)行存儲(chǔ)器中寫入的二進(jìn)制代碼。這種引導(dǎo)方式具有快捷簡單高效的優(yōu)點(diǎn)。但是只有NOR FLASH才能支持直接代碼運(yùn)行引導(dǎo)功能。由于NOR FLASH的缺點(diǎn),我們的系統(tǒng)中只采用了NAND FLASH作為系統(tǒng)存儲(chǔ)器。因此,NAND FLASH引導(dǎo)功能是系統(tǒng)是否能夠正常啟動(dòng)的關(guān)鍵。

NAND FLASH引導(dǎo)功能屬于腳本文件引導(dǎo)功能。腳本文件引導(dǎo)功能指的是有預(yù)先寫入CPU的一小段程序,將寫入NAND FLASH的引導(dǎo)腳本文件進(jìn)行解析,并且載入內(nèi)部運(yùn)行。

這樣的引導(dǎo)方式相比直接代碼運(yùn)行引導(dǎo)來說較為麻煩:引導(dǎo)腳本必須寫入NAND FLASH的特殊區(qū)塊,并且寫入符合要求的ECC校驗(yàn)值,并避開可能存在的NAND FLASH壞塊。由于腳本文件的讀取和執(zhí)行都需要一定的時(shí)間,所有引導(dǎo)腳本啟動(dòng)相比直接代碼運(yùn)行啟動(dòng)要掩飾1-2秒的時(shí)間。但是相比只能由NOR FLASH支持的直接代碼引導(dǎo)功能來說,無論在價(jià)格和系統(tǒng)配置的簡潔性上,NAND FLASH引導(dǎo)都較為優(yōu)秀。

AM1808也可以配置為SD卡引導(dǎo)啟動(dòng)。由于NAND FLASH沒有進(jìn)行預(yù)燒寫的操作,SD卡引導(dǎo)啟動(dòng)是系統(tǒng)初始化程序運(yùn)行的重要途徑。

通過腳本文件控制系統(tǒng)的升級(jí)

對(duì)于導(dǎo)航系統(tǒng)來說,數(shù)據(jù)和程序的升級(jí)十分重要。在Linux系統(tǒng)中,可以采用shell腳本來對(duì)數(shù)據(jù)文件進(jìn)行操作。在RTOS系統(tǒng)或者無操作系統(tǒng)的環(huán)境中,由于缺乏Linux的支持,系統(tǒng)的升級(jí)較為麻煩。為了能夠便捷地進(jìn)行數(shù)據(jù)和程序的升級(jí),需要?jiǎng)?chuàng)建一套類似shell腳本的解釋器,并且提供文件和命令相應(yīng)的功能。

在SD和USB上,由于普遍使用的是FAT文件系統(tǒng),采用著名的FATFS文件系統(tǒng)來提供文件的存儲(chǔ)功能。在NAND FLASH上,由于NAND FLASH的特點(diǎn)和缺陷,我們使用專門的NANF FLASH文件系統(tǒng):YAFFS來進(jìn)行文件的操作。

由于需要對(duì)文件的訪問提供一致性的接口,就需要在不同的文件系統(tǒng)之間創(chuàng)建統(tǒng)一的訪問函數(shù)。考慮到文件訪問函數(shù)的通用性,我們選取標(biāo)準(zhǔn)的C文件訪問函數(shù)來實(shí)現(xiàn)嵌入式的文件訪問。

通過創(chuàng)建“掛載”功能函數(shù),我們得以在不同的路徑上和介質(zhì)上,通過相同的函數(shù)來存取文件。

腳本文件由系統(tǒng)的引導(dǎo)文件解釋執(zhí)行。腳本命令可以由S D卡或者NAND FLASH上的文件提供,也可以由串口2的控制臺(tái)輸入(921600,N,8,1)。

系統(tǒng)上電以后,將在所有的存儲(chǔ)器根目錄尋找bl.rc文件。這是系統(tǒng)引導(dǎo)的主腳本入口。系統(tǒng)將初始化NAND FLASH和SD卡,并自動(dòng)掛載/ mmc和/nand0兩個(gè)掛載點(diǎn)。如果SD卡未插入,則只掛載/nand0,并運(yùn)行/ nand0/bl.rc腳本文件。如果SD卡已經(jīng)插入并且初始化成功,系統(tǒng)將運(yùn)行/ mmc/bl.rc腳本文件。

腳本文件的范例:

umount /nand0

format nand0

mount nand0 /nand0 rw

wblinit /mmc/blinit.ais

fashbl /mmc/bl.bin

cp /mmc/rc/btnand.rc /nand0/bl.rc

cp /mmc/bllogo.gz /nand0/bllogo. jpg

外部接口的通訊方式

外部接口的通信主要介紹串口的硬件和軟件通信方式,以及鍵盤接口的通信方式。

串口的通信方式

UART通常是嵌入式設(shè)備中默認(rèn)都會(huì)配置的通信接口。這是因?yàn)椋芏嗲度胧皆O(shè)備沒有顯示屏,無法獲得嵌入式設(shè)備實(shí)時(shí)數(shù)據(jù)信息,通過UART串口和超級(jí)終端相連,打印嵌入式設(shè)備輸出信息。并且在對(duì)嵌入式系統(tǒng)進(jìn)行跟蹤和調(diào)試時(shí),UART串口了是必要的通信手段。比如:網(wǎng)絡(luò)路由器,交換機(jī)等都要通過串口來進(jìn)行配置。UART串口還是許多硬件數(shù)據(jù)輸出的主要接口,如GPS接收器就是通過UART串口輸出GPS接收數(shù)據(jù)的。UART緩沖是十分重要的操作。根據(jù)AM1808的硬件特點(diǎn),UART的數(shù)據(jù)進(jìn)行了兩次緩沖:硬件FIFO緩沖以及軟件緩沖區(qū)。硬件FIFO在硬件層面上對(duì)UART接收和發(fā)送的數(shù)據(jù)進(jìn)行了緩沖操作。軟件緩沖指的是環(huán)形緩沖的軟件實(shí)現(xiàn),這在軟件層面上保證了數(shù)據(jù)流的正常,以及讀取和寫入操作的非同步性。后者對(duì)于大量數(shù)據(jù)的收發(fā)效率十分重要。

鍵盤的通信方式

在當(dāng)前的系統(tǒng)中,我們采用I 2C 鍵盤的通信方式。

鍵盤由單片機(jī)進(jìn)行掃描和控制,單片機(jī)將讀取到的鍵值由I2C通路送到CPU進(jìn)行處理。I 2 C的中斷觸發(fā)處理,引入了和串口相同的軟件緩沖機(jī)制。這樣可以保證按鍵的數(shù)據(jù)是及時(shí)并且有效的。并且能夠提供鍵盤的緩沖操作。

結(jié)語

使用AM1808構(gòu)建的嵌入式導(dǎo)航系統(tǒng),無論在硬件還是軟件上,都具有簡潔有力的特征。這首先得益于AM1808先進(jìn)的架構(gòu)設(shè)計(jì)。其次,在系統(tǒng)的配置上采用適宜的硬件設(shè)計(jì),不但降低了系統(tǒng)的總體成本,也增加了系統(tǒng)的可靠性。

使用J-LINK對(duì)AM1808進(jìn)行調(diào)試,使得軟件系統(tǒng)的BUG可以得到發(fā)現(xiàn)和修正,大大加速了嵌入式系統(tǒng)的開發(fā)速度。

得益于類shell腳本的功能支持,使得嵌入式系統(tǒng)的升級(jí)操作得到了極好的實(shí)現(xiàn)。在此基礎(chǔ)上實(shí)現(xiàn)的C標(biāo)準(zhǔn)文件系統(tǒng),在嵌入式設(shè)備上提供了標(biāo)準(zhǔn)的文件訪問接口。這使得嵌入式文件系統(tǒng)能夠提供多樣化的數(shù)據(jù)升級(jí)介質(zhì)支持。

綜合以上的幾點(diǎn),AM1808搭建的嵌入式系統(tǒng)具有一定的通用性,成本低的優(yōu)點(diǎn)。其應(yīng)用范圍不止局限在導(dǎo)航系統(tǒng)上。本文提出的嵌入式系統(tǒng)構(gòu)建方式,對(duì)其它的平臺(tái)也有一定的參考價(jià)值。

參考文獻(xiàn):

[1] AM1806 ARM Microprocessor Datasheet[Z].Texas Instruments Inc.,2011-06

[2] 孫天澤,袁文菊,張海峰.嵌入式設(shè)計(jì)及Linux驅(qū)動(dòng)開發(fā)指南-基于ARM9處理器[M].北京: 電子工業(yè)出版社,2007

[3] SD Specifications Physical Layer Version 3.01[S].SD Group,2010-05-18

[4] IEEE 1149.1 JTAG Testability[S].Semiconductor Group,1997

[5] K9F1G08U0A Datasheet[Z].Samsung Electronics

主站蜘蛛池模板: 伊人AV天堂| 亚洲欧美在线精品一区二区| 久久一色本道亚洲| 99无码中文字幕视频| 最新国产网站| 9久久伊人精品综合| 日韩天堂在线观看| 狠狠色香婷婷久久亚洲精品| 91香蕉视频下载网站| 成人午夜视频网站| 天天色天天综合| 干中文字幕| 久久99这里精品8国产| 欧美色亚洲| 亚洲天堂日本| 久草中文网| 黄色a一级视频| 亚洲高清无在码在线无弹窗| 极品国产在线| 一级毛片免费观看久| 日韩免费成人| 国产青青草视频| 91久久青青草原精品国产| 免费视频在线2021入口| 国产成人区在线观看视频| 伊人91视频| 亚洲色图狠狠干| 亚洲视频欧美不卡| 久久亚洲国产一区二区| 中文字幕在线永久在线视频2020| 国产极品美女在线| 麻豆a级片| 国产美女91视频| 色噜噜在线观看| 国产精品亚洲片在线va| 午夜毛片免费看| 97视频免费看| 国产91麻豆免费观看| 欧美在线天堂| 亚洲精品无码久久毛片波多野吉| 亚洲精品动漫| 色成人亚洲| 中文字幕欧美日韩高清| 无码人中文字幕| 久久综合九九亚洲一区 | 97免费在线观看视频| 思思热在线视频精品| 色综合天天操| 精品五夜婷香蕉国产线看观看| 午夜激情福利视频| 午夜无码一区二区三区| 亚洲视频三级| 亚洲成人一区在线| 日韩中文精品亚洲第三区| аⅴ资源中文在线天堂| 91精品久久久无码中文字幕vr| 日韩精品亚洲精品第一页| 国产白浆视频| 国产在线观看一区二区三区| 青青草国产一区二区三区| 亚洲成在线观看| 九色视频线上播放| 欧美日韩在线观看一区二区三区| 在线观看亚洲国产| 亚洲天堂网在线视频| 亚洲无码免费黄色网址| 五月天久久婷婷| 精品国产成人高清在线| 久久一色本道亚洲| 强奷白丝美女在线观看| 亚洲精品国产乱码不卡| 日韩在线视频网站| 性色一区| 婷婷五月在线| 久久久精品无码一区二区三区| 亚洲品质国产精品无码| 成人免费网站在线观看| 99久久精品国产精品亚洲| 青青青草国产| 亚洲精品欧美重口| 手机永久AV在线播放| 国模极品一区二区三区|