工藝要求:鉚接為塑膠產品,把6個銅釘熱鉚接到塑膠品塑膠產品規定孔內,鉚接面與塑膠產品表面精度為±0.2mm。
標簽: 單片機控制
上傳時間: 2013-10-11
上傳用戶:笨小孩
第一部分:設計概述隨著現代化進程的逐步加深,數字城市化進一步推進,一方面,超市的規模越來越大,商品的種類日益繁多;另一方面,人們的生活節奏越來越快,時間觀念越來越強,對購物環境的要求也越來越高,如何從眼花繚亂的商品中快速選擇所需物品,如何使購物環境更為舒適便利,讓購物變成一種休閑享受,鑒于上述的需要,我們設計了這款E-購系統。人們在大商場中選購商品時,特別是游客到達一個新的旅游景點超市時,由于對商場的布局不太了解,導致很多的時間浪費在尋找自己所需要的商品上,甚至有時因為找不到商品而失去了購物的心情。有了這款E-購系統,顧客就可以輕松了解商場的布局和自己感興趣商品的位置,購物的同時還可以享受美妙的音樂,增添了購物的樂趣,從而為商家吸引回頭客奠定了基礎。這款系統相較于以往傳統具有類似功用的導購系統有了很大的改進,商品導購方面有同類商品和同廠商品查詢功能,讓顧客獲得更加豐富的信息,購得最適合自己的商品;購物舒適度方面不僅增加了商場環境實時檢測功能,讓顧客對自己所處的環境有理性的認識,同時E-購系統的隨身音樂播放功能,讓顧客從此遠離傳統超市環境的嘈雜,取而代之的是購物過程中輕松的音樂,這一點對于壓力越來越大的城市人群來說,的確是件好事;在快速付賬方面增加了所購商品總價結算模塊,不僅給顧客以購物參考,也為將來的輕松結賬鋪平了道路。本系統可以應用于大中型商場或者超級市場。考慮到需要高系統性能、低系統成本、功能強大易用的開發環境,并可以根據自己的需要來調整嵌入式系統的特性、性能以及成本,我們選用單片機PIC30F,再加上適合軟件系統開發調試的集成開發環境,為開發提供了方便。第一部分:設計概述隨著現代化進程的逐步加深,數字城市化進一步推進,一方面,超市的規模越來越大,商品的種類日益繁多;另一方面,人們的生活節奏越來越快,時間觀念越來越強,對購物環境的要求也越來越高,如何從眼花繚亂的商品中快速選擇所需物品,如何使購物環境更為舒適便利,讓購物變成一種休閑享受,鑒于上述的需要,我們設計了這款E-購系統。人們在大商場中選購商品時,特別是游客到達一個新的旅游景點超市時,由于對商場的布局不太了解,導致很多的時間浪費在尋找自己所需要的商品上,甚至有時因為找不到商品而失去了購物的心情。有了這款E-購系統,顧客就可以輕松了解商場的布局和自己感興趣商品的位置,購物的同時還可以享受美妙的音樂,增添了購物的樂趣,從而為商家吸引回頭客奠定了基礎。這款系統相較于以往傳統具有類似功用的導購系統有了很大的改進,商品導購方面有同類商品和同廠商品查詢功能,讓顧客獲得更加豐富的信息,購得最適合自己的商品;購物舒適度方面不僅增加了商場環境實時檢測功能,讓顧客對自己所處的環境有理性的認識,同時E-購系統的隨身音樂播放功能,讓顧客從此遠離傳統超市環境的嘈雜,取而代之的是購物過程中輕松的音樂,這一點對于壓力越來越大的城市人群來說,的確是件好事;在快速付賬方面增加了所購商品總價結算模塊,不僅給顧客以購物參考,也為將來的輕松結賬鋪平了道路。本系統可以應用于大中型商場或者超級市場。考慮到需要高系統性能、低系統成本、功能強大易用的開發環境,并可以根據自己的需要來調整嵌入式系統的特性、性能以及成本,我們選用單片機PIC30F,再加上適合軟件系統開發調試的集成開發環境,為開發提供了方便。
上傳時間: 2013-11-14
上傳用戶:3294322651
摘要:BRT(BuS Rapid Transit)這一新型的運營系統,在未來的城市公共交通中必然扮演重要角色。本文主要介紹基于CAN總線的鉸接裝置控制系統的設計。關鍵詞:客車;鉸接裝置;CAN總線;控制系統
上傳時間: 2013-10-18
上傳用戶:qq10538412
AVR mega128開發板 聯系 楊迪 15336417867 0531-55508458 QQ:1347978253 http://www.easyele.cn 產品概述:AVR mega128開發板是AVRVi開發的基于Atmega128單片機的綜合學習開發系統,板載學習資源,集成JTAG仿真器和ISP下載功能,核心板可拆卸獨立使用,是你學習AVR單片機,參加各類電子設計競賽,快速搭建產品的不二選擇。AVR mega128開發板亦可以作為單片機培訓,高校實驗室,課程設計等的實驗器材。為了更好的支持客戶的學習和開發,此開發板板通訊接口升級為USB接口,方便計算機沒有串口的朋友,學習起來更加簡捷。貨號:EasyAVRM128SK-A 規格: 套 重量:300克 單價498/套。 參數特色: 1.采用核心板和主板分離的形式,在系統的學習之后,可以把核心板直接用于產品中,快速搭建系統。 2.開發板上集成了AVR JTAG ICE仿真器和AVR ISP編程器,超高性價比。 3.您只需要再擁有一臺計算機,而不需要購買仿真器和編程器就可以學習開發了。 4.信號調理電路,輸入0~10V,軌至軌信號調理。 5.系統資源適中,性價比高。 6.豐富的學習資源,完善的產品支持。 7.EasyAVR教給你從開發環境建立,軟件編譯,到下載,傳真,硬件設計等一系列電子工程師必備的技能,真正學以致用。 AVR mega128開發板板上資源: M128 所有引腳引出,可以利用杜邦頭很方便的進行接插擴展,標準2.54針距,可以直接插在萬用板上使用,便于進行實驗 m128 DB Core 自帶5V、3V3 雙路電源穩壓 m128 DB Core 外部晶振多種選擇,既可以使用板上已經焊接好的14.7456M的晶振,也可以自己根據自己的需求擴展,晶振的切換通過跳線實現m128 DB Core 帶有JTAG ISP 標準接口 m128 DB Core 自帶一路標準RS232-TTL轉換電路,方便實現串口通信 AVR mega128 開發板底板:板載JTAG 仿真器 板載STK500 下載內核 2路獨立可調的信號調理電路,可控增益G=0.1-10 2路RS232 串行接口 1路RS485 接口 8 路LED 顯示 4 位動態7 段數碼管,利用74HC595進行驅動 4 位獨立按鍵 板載IIC 總線PCF8563 實時鐘芯片 板載IIC 總線EEPROM AT24c01 1 路有源蜂鳴器 1 路18B20 溫度傳感器接口,支持單總線器件。(12820可選:10元每個) 1602LCD 接口(送1602液晶) 12232、12864 LCD 接口(LCD12864可選:80元每個) 想找一份好工作嗎? 你想成為一名電子設計工程師嗎? 你對電子設計有濃厚興趣,而沒有工具嗎? 看了很久的程序方面的書籍,卻沒有實踐的機會嗎? 需要開發產品,想快速入門? 想參加電子設計大賽,機器人大賽嗎? 這個性價比高的專業工具是你的不二選擇,它不僅僅是一個AVR mega128 開發板,他還是一個強大的開發工具,通過它進行學習后,對電子產品的設計有進一步的認知,建立起學習ARM,DSP,FPGA的良好基礎。AVR mega128 開發板集成了AVR學習板,AVR開發板,AVR編程器,AVR仿真器,AVR核心板的功能,并且可以分開獨立使用。 銷售清單: 1、調試好的AVR mega128開發板一塊(板載JTAG ISP 二合一,已經寫入自檢程序) 2、ATmega128核心板一塊 3、USB供電線一條 4、標準串口(RS232)通訊線纜一條 5、資料光盤一張 6、使用說明書(實驗講義)一本 7、保修卡即訂單清單一份 8、贈送LCD1602液晶一塊
上傳時間: 2013-11-10
上傳用戶:zm7516678
AVR mega16開發板 聯系 楊迪 15336417867 0531-55508458 QQ:1347978253 http://www.easyele.cn本產品是我公司自主研發生產的,AVR Mega16開發板是以ATMEL的Mega16單片機為核心,高性能低定價的單片機開發工具,產品集成AVR JTAG ICE仿真器和STK500 ISP編程器,用戶只需要再擁有一臺計算機即可進行系統的學習,操作簡單,使用方便,兼容開發型號:ATmega32,AVR mega16開發板可以做為學習板 仿真器 編程器使用,三種功能與一體,不需要單獨買仿真器 編程器,省時,省事,省錢。貨號:EasyAVR-M16規格: 套 重量:400克 單價298/套。AVR mega16開發板板載資源: 1.5V供電接口,輸入7~9V 內正外負,送電源 2.板載AVR JTAG ICE USB接口 3.板載AVR ISP USB接口 4.Atmega16芯片,片內資源豐富 5.USB1.1 通訊接口 6.RS232 串行通訊口 7.RS485通訊接口 8.8個獨立按鍵 9.4位一體七段數碼管 HC595驅動 10.8個獨立LED 11.1路有源蜂鳴器,也可接無源蜂鳴器 12.實時鐘PCF8563 13.1IIC總線EEPROM AT24c01 14.1-wire單總線 15.晶振和復位電路 16.可選的有源晶振電路 17.AD電壓調整電位器 18.電位器參考電壓和待測電壓調整 19.4個8位撥碼開關 20.32Pin MCU外接端子 所有引腳標注 21.12864液晶接口 22.1602液晶接口 23.標準KF396尼龍接線端子 24.透明防滑硅膠腳墊 AVR mega16開發板實驗例程: 模數轉換(AD): 單通道AD采集,七段數碼管顯示結果 雙通道分時采集,利用串口將結果傳至PC 蜂鳴器: 按鍵檢測,蜂鳴器鳴叫 PCF8563定時,蜂鳴器1s鳴叫一次 鍵盤: 按鍵檢測,蜂鳴器鳴叫 按鍵檢測,LED顯示 LED: 跑馬燈程序 按鍵檢測,LED顯示 定時器: 定時器T1實現1秒定時,利用七段數碼管顯示 內部EEPROM: 利用EEPROM記錄開機次數,七段數碼管顯示結果 WDT: 看們狗定時器簡單實驗 DS18B20: DS18B20檢測溫度,七段數碼管顯示結果 DS18B20檢測溫度,利用串口將結果傳至PC SPI: 利用SPI驅動SPI器件74HC595,實現七段數碼管的顯示 TWI: 利用TWI驅動TWI器件24C01 利用TWI驅動TWI器件PCF8563 24C01: 24C01讀寫,利用JTAG察看結果 24C01讀寫,利用串口將結果傳至PC AVR mega16開發板說明書下載:EasyAVR-M16-SK-3in1.pdf,內容詳細,讓您學習起來事半功倍,深入了解單片機電路的設計,找到好工作沒問題,詳細介紹電路設計和如果學習開發等內容,即使不買板子也值得你收藏。 物品清單: 1.AVR mega16開發板 (板載JTAG ISP 二合一) 2.9V 直流電源 3.USB通訊線纜 4.開發板說明書 5.資料光盤 原理圖 開發軟件 范例程序
上傳時間: 2013-10-23
上傳用戶:dancnc
JTAG仿真器 mega16開發板 聯系 楊迪 15336417867 0531-55508458 QQ:1347978253 http://www.easyele.cn 有了mega16開發板 JTAG仿真器就可以開始學習強大的AVR單片機,不用再單獨買編程器,仿真器。本產品是AVRVI設計生產的AVR學習開發生產工具,以Atmega16為核心,集成AVR JTAG ICE仿真器和STK500 ISP編程器,用戶只需要再擁有一臺計算機即可進行系統的學習。同時mega16開發板器 JTAG仿真器還提供精致的說明書,讓您事半功倍,深入了解單片機電路的設計,找到好工作沒問題,詳細介紹電路設計和如果學習開發等內容,即使不買板子也值得你收藏。mega16開發板 JTAG仿真器的貨號:EasyAVR-M16 規格: 套 重量:400克。單價298/套 mega16開發板 JTAG仿真器開發板板載資源列表(部分): 1.1路有源蜂鳴器,也可接無源蜂鳴器 2.實時鐘PCF8563 3.1IIC總線EEPROM AT24c01 4.1-wire單總線 5.晶振和復位電路 6.可選的有源晶振電路 7.AD電壓調整電位器 8.電位器參考電壓和待測電壓調整 9.mega16開發板 JTAG仿真器擁有4個8位撥碼開關 0.32Pin MCU外接端子 所有引腳標注 11.12864液晶接口 12.1602液晶接口 13.mega16開發板 JTAG仿真器有標準KF396尼龍接線端子 14.透明防滑硅膠腳墊 mega16開發板 JTAG仿真器的三個關鍵特點:開發板集成常用資源:LED、按鍵、七段數碼管、RS232、LCD接口等;開發板上集成了AVR JTAG ICE仿真器和AVR ISP編程器;信號調理電路,輸入0~10V,軌至軌信號調理。購買mega16開發板 JTAG仿真器是,我們會以優惠的價格提供給客戶一些可選配件:18B20 10元;1602字符液晶 20元;12864 圖形液晶帶字庫 80元;串口通訊線纜 5元;有源晶振 5元;杜邦頭連線10條 5元,以上全配只需要加100元,如需要5V 小型步進電機另加20元。歡迎大家咨詢選購。 開發板系列我公司還出售: mega128四合一開發板 498/套 ATMEL 原裝 ATSTK500開發板 750/塊 ATmega8 開發板 學習板 Mini Mega8 核心板 87/塊 ATmega48 開發板 學習板 Mini Mega48 核心板 84/塊 ATMega88 開發板 學習板 mini mega88 核心板 91/塊 ATmega16 開發板 AVR學習板 Mega16 核心板 106/塊 ATmega32 開發板 學習板 Mini M32 核心板 116/塊 ATmega128 開發板 學習板 Mini M128 核心板 147/塊 ATmega64 開發板 學習板 Mini M64 核心板 144/塊
上傳時間: 2013-10-19
上傳用戶:tou15837271233
學習單片機總結寶典 基于本人學習單片機的痛苦經歷,特編寫本教程,以此獻給廣大 的單片機初學者,希望您能從中受益。 作者提示:本教程乃最通俗易懂之單片機教材也,如果您還是看 不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程*_* 拿到這本教程您首先就會想,什么是 IAP 教學法?是不是一種什么全新的教學方法?當然不是, 我可沒有那么大的本事,其實這只是我杜撰的一個新名詞,意思就是In Applications Program(在應 用中編程),當然這只是針對單片機教學,說法是否正確,還得您說了算。 至于為什么要提這種說法,那我倒想說幾句。大家都知道,學習電子技術是一件非常無聊和枯燥 的事情,為什么會有這種想法,就是因為我們傳統的教學方法只重理論而忽略了實踐,要一個人記住那 些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的 學習了一些電子基礎知識。 接下來我們應該進一步掌握些什么知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可 不是一件容易的事,倒不是因為單片機很難學,而實在是我們身邊很難找到一本專為單片機入門者而編 寫的教材。翻一下傳統的單片機教材,都好象是為已經懂單片機的人而寫的,一般總是以單片機的結構 為主線,先講硬件原理,然后是指令,接著講軟件編程,再是系統擴展和外圍器件,最后舉一些實例(隨 便說一點:很多書中的實例都是有錯誤的),很少涉及單片機的基礎知識,如果按照此種學習方法,想 進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。孰不知,單片機不象模擬電路 和數字電路那樣,只要搞懂了電路原理,再按照產品要求設計好相應的電路就可以了。它是一種以簡單 的硬件結構,復雜而有靈活的軟件系統來完成設計的通用性產品,不同的設計者只會使用其不同的功能, 幾乎沒有人會把它的全部指令都使用起來,所以學習使用單片機只能靠循序漸進的積累,而不可能先把 它全部掌握了再去做產品開發(當然天才就例外了*_*)。
上傳時間: 2013-10-15
上傳用戶:小碼農lz
P87LPC767 OTP 單片機原理 P87LPC767 是20 腳封裝的單片機適合于許多要求高集成度低成本的場合可以滿足許多方面的性能要求作為Philips 小型封裝系列中的一員P87LPC767 提供高速和低速的晶振和RC 振蕩方式可編程選擇具有較寬的操作電壓范圍可編程I/O 口線輸出模式選擇可選擇施密特觸發輸入LED 驅動輸出有內部看門狗定時器P87LPC767 采用80C51 加速處理器結構指令執行速度是標準80C51 MCU 的兩倍特性 操作頻率為20MHz 時除乘法和除法指令外加速80C51 指令執行時間為300600ns VDD=4.5 5.5V 時時鐘頻率可達20MHz VDD=2.7 4.5V 時時鐘頻率最大為10MHz 4 通道多路8 位A/D 轉換器在振蕩器頻率fosc=20MHz 時轉換時間為9.3μs 用于數字功能時操作電壓范圍為2.7 6.0V 4K 字節OTP 程序存儲器128 字節的RAM 32Byte 用戶代碼區可用來存放序列碼及設置參數 2 個16 位定時/計數器每一個定時器均可設置為溢出時觸發相應端口輸出 內含 2 個模擬比較器 全雙工通用異步接收/發送器UART 及I2C 通信接口 八個鍵盤中斷輸入另加2 路外部中斷輸入 4 個中斷優先級 看門狗定時器利用片內獨立振蕩器,無需外接元件,看門狗定時器溢出時間有8 種選擇 低電平復位使用片內上電復位時不需要外接元件 低電壓復位選擇預設的兩種電壓之一復位可在掉電時使系統安全關閉也可將其設置為一個中斷源 振蕩器失效檢測看門狗定時器具有獨立的片內振蕩器因此它可用于振蕩器的失效檢測 可配置的片內振蕩器及其頻率范圍和RC 振蕩器選項(用戶通過對EPROM 位編程選擇) 選擇RC 振蕩器時不需外接振蕩器件 可編程 I/O 口輸出模式準雙向口,開漏輸出,上拉和只有輸入功能可選擇施密特觸發輸入 所有口線均有20mA 的驅動能力 可控制口線輸出轉換速度以降低EMI,輸出最小上升時間約為10ns 最少 15 個I/O 口,選擇片內振蕩和片內復位時可多達18 個I/O 口 如果選擇片內振蕩及復位時,P87LPC767 僅需要連接電源線和地線 串行 EPROM 編程允許在線編程2 位EPROM 安全碼可防止程序被讀出 空閑和掉電兩種省電模式提供從掉電模式中喚醒功能低電平中斷輸入啟動運行典型的掉電電流為1μA 低功耗 4MHz-20MHz,1.7-10mA@3.3v 100KHz-4MHz,0.044-1.7mA@3.3v 20KHz-100KHz,9-44μA@3.3v 20 腳DIP 和SO 封裝
上傳時間: 2013-11-06
上傳用戶:xcy122677
C8051F單片機 C8051F系列單片機 單片機自20世紀70年代末誕生至今,經歷了單片微型計算機SCM、微控制器MCU及片上系統SoC三大階段,前兩個階段分別以MCS-51和80C51為代表。隨著在嵌入式領域中對單片機的性能和功能要求越來越高,以往的單片機無論是運行速度還是系統集成度等多方面都不能滿足新的設計需要,這時Silicon Labs 公司推出了C8051F系列單片機,成為SoC的典型代表。 C8051F具有上手快(全兼容8051指令集)、研發快(開發工具易用,可縮短研發周期)和見效快(調試手段靈活)的特點,其性能優勢具體體現在以下方面: 基于增強的CIP-51內核,其指令集與MCS-51完全兼容,具有標準8051的組織架構,可以使用標準的803x/805x匯編器和編譯器進行軟件開發。CIP-51采用流水線結構,70%的的指令執行時間為1或2個系統時鐘周期,是標準8051指令執行速度的12倍;其峰值執行速度可達100MIPS(C8051F120等),是目前世界上速度最快的8位單片機。 增加了中斷源。標準的8051只有7個中斷源Silicon Labs 公司 C8051F系列單片機擴展了中斷處理這對于時實多任務系統的處理是很重要的擴展的中斷系統向CIP-51提供22個中斷源允許大量的模擬和數字外設中斷一個中斷處理需要較少的CPU干預卻有更高的執行效率。 集成了豐富的模擬資源,絕大部分的C8051F系列單片機都集成了單個或兩個ADC,在片內模擬開關的作用下可實現對多路模擬信號的采集轉換;片內ADC的采樣精度最高可達24bit,采樣速率最高可達500ksps,部分型號還集成了單個或兩個獨立的高分辨率DAC,可滿足絕大多數混合信號系統的應用并實現與模擬電子系統的無縫接口;片內溫度傳感器則可以迅速而精確的監測環境溫度并通過程序作出相應處理,提高了系統運行的可靠性。 集成了豐富的外部設備接口。具有兩路UART和最多可達5個定時器及6個PCA模塊,此外還根據不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。外設接口在不使用時可以分別禁止以降低系統功耗。與其他類型的單片機實現相同的功能需要多個芯片的組合才能完成相比,C8051單片機不僅減少了系統成本,更大大降低了功耗。 增強了在信號處理方面的性能,部分型號具有16x16 MAC以及DMA功能,可對所采集信號進行實時有效的算法處理并提高了數據傳送能力。 具有獨立的片內時鐘源(精度最高可達0.5%),設計人員既可選擇外接時鐘,也可直接應用片內時鐘,同時可以在內外時鐘源之間自如切換。片內時鐘源降低了系統設計的復雜度,提高了系統可靠性,而時鐘切換功能則有利于系統整體功耗的降低。 提供空閑模式及停機模式等多種電源管理方式來降低系統功耗 實現了I/O從固定方式到交叉開關配置。固定方式的I/O端口,既占用引腳多,配置又不夠靈活。在C8051F中,則采用開關網絡以硬件方式實現I/O端口的靈活配置,外設電路單元通過相應的配置寄存器控制的交叉開關配置到所選擇的端口上。 復位方式多樣化,C8051F把80C51單一的外部復位發展成多源復位,提供了上電復位、掉電復位、外部引腳復位、軟件復位、時鐘檢測復位、比較器0復位、WDT復位和引腳配置復位。眾多的復位源為保障系統的安全、操作的靈活性以及零功耗系統設計帶來極大的好處。 從傳統的仿真調試到基于JTAG接口的在系統調試。C8051F在8位單片機中率先配置了標準的JTAG接口(IEEE1149.1)。C8051F的JTAG接口不僅支持Flash ROM的讀/寫操作及非侵入式在系統調試,它的JTAG邏輯還為在系統測試提供邊界掃描功能。通過邊界寄存器的編程控制,可對所有器件引腳、SFR總線和I/O口弱上拉功能實現觀察和控制。 C8051F系列單片機型號齊全,可根據設計需求選擇不同規模和帶有特定外設接口的型號,提供從多達100個引腳的高性能單片機到最小3mmX3mm的封裝,滿足不同設計的需要。 基于上述特點,Silicon Labs 公司C8051F系列單片機作為SoC芯片的杰出代表能夠滿足絕大部分場合的復雜功能要求,并在嵌入式領域的各個場合都得到了廣泛的應用:在工業控制領域,其豐富的模擬資源可用于工業現場多種物理量的監測、分析及控制和顯示;在便攜式儀器領域,其低功耗和強大的外設接口也非常適合各種信號的采集、存儲和傳輸;此外,新型的C8051F5xx系列單片機也在汽車電子行業中嶄露頭角。正是這些優勢,使得C8051單片機在進入中國市場的短短幾年內就迅速風靡,相信隨著新型號的不斷推出以及推廣力度的不斷加大,C8051系列單片機將迎來日益廣闊的發展空間,成為嵌入式領域的時代寵兒 此系列單片機完全兼容MCS-51指令集,容易上手,開發周期短,大大節約了開發成本。C8051F系統集成度高,總線時鐘可達25M
上傳時間: 2013-11-24
上傳用戶:testAPP
at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131