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

使用TI-AM1808構建嵌入式導航系統

2012-04-29 00:00:00陳超
電子產品世界 2012年8期

摘要:TI的AM1808處理器具有較為先進的架構。本文探討了利用AM1808構建嵌入式導航系統的過程。并且探討了嵌入式文件系統的組成。在硬件和軟件方面對嵌入式系統構建過程中遇到的問題提出了解決方法。

關鍵詞:AM1808;嵌入式設備;導航系統;嵌入式文件系統

DOI: 10.3969/j.issn.1005-5517.2012.8.012

硬件設計

在硬件設計上,得益于AM808先進的架構,AM1808的硬件設計具有很高的彈性。但是考慮到嵌入式系統成本和體積的要求,簡潔有力的設計更應該在整個設計流程中被體現出來。因此,某些功能必須被禁用,以提高系統的簡潔性和穩定性,并且降低成本。

系統的需求分析

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

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

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

導航的一個重要功能是顯示自身的GPS位置。為了能夠接受GPS模塊發出的定位信息,串口通信必不可少。AM1808具有3個獨立的串口,并且遵守TL16C550規范。每一個串口都具有16字節的硬件FIFO已經增加的錯誤檢測位。UART提供了CPU和GPS模塊之間的數據交換功能。

系統存儲器的設計

系統的存儲器分為兩個部分:FLASH存儲器和DDR內存。

FLASH存儲器存儲一些大容量的永久或者長期數據,這些數據在系統掉電之后還能繼續存在。DDR控制器的存在使得AM1808可以使用DDR RAM來作為系統的內存顆粒。相比較SDRAM來說,DDR內存有價格便宜、速度快、容量大的顯著優點。

因為嵌入式系統對于內存的需求較低,我們選用128MB的系統內存以及128MB的FLASH存儲器就能夠很好地滿足系統數據傳輸的需求。

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

使用J-LINK進行AM1808的檢測調試

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

在設計印刷電路版時,目前最主要用在測試集成電路的副區塊,而且也提供一個在嵌入式系統很有用的調試機制,提供一個在系統中方便的“后門”。當使用一些調試工具像電路內模擬器用JTAG當做訊號傳輸的機制,使得程式設計師可以經由JTAG去讀取整合在CPU上的調試模組。調試模組可以讓程式設計師調試嵌入式系統中的軟件。

在嵌入式系統硬件設計的初期,很重要的一點就是確認系統的CPU和內存可以正常工作。通過系統的JTAG調試接口,J-LINK可以運行監測程序,通過對同CPU的控制,可以確認系統的CPU是否已經正常工作。通過對系統內存的讀寫操作,我們可以知道系統的DDR內存是否正常運行。

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

對于J-LINK的配置,則通過 J-LINK的初始化腳本來實現。初始化腳本提供類似C語言的代碼執行。以下為復位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);

軟件設計

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

AM1808的引導方式

AM1808作為較為先進的ARM9內核嵌入式處理器,其引導方式比之前的ARM9 CPU多了許多功能:例如SD卡引導功能,NAND FLASH引導功能等等。

AM1808具有兩種獨立的引導方式:直接代碼運行引導和腳本文件引導。

直接代碼運行引導指的是CPU運行存儲器中寫入的二進制代碼。這種引導方式具有快捷簡單高效的優點。但是只有NOR FLASH才能支持直接代碼運行引導功能。由于NOR FLASH的缺點,我們的系統中只采用了NAND FLASH作為系統存儲器。因此,NAND FLASH引導功能是系統是否能夠正常啟動的關鍵。

NAND FLASH引導功能屬于腳本文件引導功能。腳本文件引導功能指的是有預先寫入CPU的一小段程序,將寫入NAND FLASH的引導腳本文件進行解析,并且載入內部運行。

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

AM1808也可以配置為SD卡引導啟動。由于NAND FLASH沒有進行預燒寫的操作,SD卡引導啟動是系統初始化程序運行的重要途徑。

通過腳本文件控制系統的升級

對于導航系統來說,數據和程序的升級十分重要。在Linux系統中,可以采用shell腳本來對數據文件進行操作。在RTOS系統或者無操作系統的環境中,由于缺乏Linux的支持,系統的升級較為麻煩。為了能夠便捷地進行數據和程序的升級,需要創建一套類似shell腳本的解釋器,并且提供文件和命令相應的功能。

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

由于需要對文件的訪問提供一致性的接口,就需要在不同的文件系統之間創建統一的訪問函數。考慮到文件訪問函數的通用性,我們選取標準的C文件訪問函數來實現嵌入式的文件訪問。

通過創建“掛載”功能函數,我們得以在不同的路徑上和介質上,通過相同的函數來存取文件。

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

系統上電以后,將在所有的存儲器根目錄尋找bl.rc文件。這是系統引導的主腳本入口。系統將初始化NAND FLASH和SD卡,并自動掛載/ mmc和/nand0兩個掛載點。如果SD卡未插入,則只掛載/nand0,并運行/ nand0/bl.rc腳本文件。如果SD卡已經插入并且初始化成功,系統將運行/ 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通常是嵌入式設備中默認都會配置的通信接口。這是因為,很多嵌入式設備沒有顯示屏,無法獲得嵌入式設備實時數據信息,通過UART串口和超級終端相連,打印嵌入式設備輸出信息。并且在對嵌入式系統進行跟蹤和調試時,UART串口了是必要的通信手段。比如:網絡路由器,交換機等都要通過串口來進行配置。UART串口還是許多硬件數據輸出的主要接口,如GPS接收器就是通過UART串口輸出GPS接收數據的。UART緩沖是十分重要的操作。根據AM1808的硬件特點,UART的數據進行了兩次緩沖:硬件FIFO緩沖以及軟件緩沖區。硬件FIFO在硬件層面上對UART接收和發送的數據進行了緩沖操作。軟件緩沖指的是環形緩沖的軟件實現,這在軟件層面上保證了數據流的正常,以及讀取和寫入操作的非同步性。后者對于大量數據的收發效率十分重要。

鍵盤的通信方式

在當前的系統中,我們采用I 2C 鍵盤的通信方式。

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

結語

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

使用J-LINK對AM1808進行調試,使得軟件系統的BUG可以得到發現和修正,大大加速了嵌入式系統的開發速度。

得益于類shell腳本的功能支持,使得嵌入式系統的升級操作得到了極好的實現。在此基礎上實現的C標準文件系統,在嵌入式設備上提供了標準的文件訪問接口。這使得嵌入式文件系統能夠提供多樣化的數據升級介質支持。

綜合以上的幾點,AM1808搭建的嵌入式系統具有一定的通用性,成本低的優點。其應用范圍不止局限在導航系統上。本文提出的嵌入式系統構建方式,對其它的平臺也有一定的參考價值。

參考文獻:

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

[2] 孫天澤,袁文菊,張海峰.嵌入式設計及Linux驅動開發指南-基于ARM9處理器[M].北京: 電子工業出版社,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

主站蜘蛛池模板: 秘书高跟黑色丝袜国产91在线| 国产福利在线观看精品| 一本无码在线观看| 亚洲精品动漫在线观看| 亚洲国产欧美目韩成人综合| 国产精品福利在线观看无码卡| 国模视频一区二区| 免费看的一级毛片| 国产1区2区在线观看| 啦啦啦网站在线观看a毛片| 国产成人91精品免费网址在线| 国产成人亚洲精品无码电影| 亚洲天堂在线视频| 超碰aⅴ人人做人人爽欧美 | 蜜臀AV在线播放| 欧美亚洲国产精品第一页| 亚洲美女一级毛片| 午夜人性色福利无码视频在线观看| 亚洲福利片无码最新在线播放| 免费AV在线播放观看18禁强制| 极品av一区二区| 日韩无码视频播放| 女人爽到高潮免费视频大全| 成人国产精品网站在线看| 精品国产三级在线观看| 看你懂的巨臀中文字幕一区二区 | 无码网站免费观看| 国产一级在线播放| 97超碰精品成人国产| 国产熟女一级毛片| 国产黄在线免费观看| 中文天堂在线视频| 欧美高清国产| 日本亚洲欧美在线| 一区二区三区在线不卡免费| 91小视频在线观看| 国产主播一区二区三区| 久久99精品久久久久纯品| 亚洲视频免费播放| 19国产精品麻豆免费观看| 亚洲无码高清免费视频亚洲| 动漫精品中文字幕无码| 九色综合视频网| 午夜不卡福利| 在线观看亚洲天堂| 一区二区三区高清视频国产女人| 国产女人在线视频| 毛片手机在线看| 久久a毛片| 国产激爽大片在线播放| 亚洲无线国产观看| 亚洲中文字幕无码爆乳| 99re66精品视频在线观看| 午夜视频免费一区二区在线看| 久久久精品无码一区二区三区| 天天摸天天操免费播放小视频| 久爱午夜精品免费视频| 国产高清在线精品一区二区三区| 亚洲无码熟妇人妻AV在线| 99热线精品大全在线观看| 日韩毛片免费视频| 无码网站免费观看| 国产成人一区二区| 欧美三級片黃色三級片黃色1| a级毛片免费播放| 日韩在线第三页| 成人免费视频一区二区三区| jizz在线观看| 久久综合伊人 六十路| 狼友视频一区二区三区| 亚洲国产综合第一精品小说| 中文字幕在线永久在线视频2020| 欧美成人免费一区在线播放| 久久 午夜福利 张柏芝| 国产人妖视频一区在线观看| 免费a在线观看播放| 日韩毛片在线视频| 久久国产精品无码hdav| 二级特黄绝大片免费视频大片| 在线看片中文字幕| 成人在线综合| 免费看黄片一区二区三区|