




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、題 目: S3C2410X最小系統設計 已知技術參數和設計要要求:嵌入式處理器選擇S3C2410X處處理器;最小系統包括電源、時時鐘、復位、存儲儲器、JTAG接接口JTAG接口選擇14針針插頭存儲器容量要求至少16MB的的flah和16MB的的SDRAM。外部提供5V電源要求完成的主要任務: (包括課程設設計工作量及其技技術要求,以及說說明書撰寫等具體體要求)r。1、存儲器等主要元器器件選擇2、電源電路、時鐘電電路、復位電路、存儲器擴展電路路、JTAG接口口電路v。3、protel電路路圖5、不少于3000字的課課程設計報告時間安排:20102011學年第1學期1314周指導教師簽名: 201
2、0年11月11日z。教研室主任簽名: 年 月 日d。目錄TOC o 1-2 h z u HYPERLINK l _Toc 摘要 PAGEREF _Toc h 1B。 HYPERLINK l _Toc 1.S3C2410基基本外圍電路設計計 PAGEREF _Toc h 1S。 HYPERLINK l _Toc 1.1系統框圖 PAGEREF _Toc h 1R。 HYPERLINK l _Toc 1.2 電源電路 PAGEREF _Toc h 1Z。 HYPERLINK l _Toc 1.3 晶振電路 PAGEREF _Toc h 2g。 HYPERLINK l _Toc 1.4 復位電路 P
3、AGEREF _Toc h 23。 HYPERLINK l _Toc 1.5 JTAG接口口 PAGEREF _Toc h 2S。 HYPERLINK l _Toc 1.6SDRAM存儲儲器 PAGEREF _Toc h 2j。 HYPERLINK l _Toc 1.7NAND Flash 存存儲器 PAGEREF _Toc h 3h。 HYPERLINK l _Toc 1.8 串口電路 PAGEREF _Toc h 3k。 HYPERLINK l _Toc 2.S3C2410啟啟動過程 PAGEREF _Toc h 4p。 HYPERLINK l _Toc 3.簡單Boot loader的制
4、作 PAGEREF _Toc h 4o。 HYPERLINK l _Toc 3.1 Boot loader工作原理 PAGEREF _Toc h 4y。 HYPERLINK l _Toc 3.2第一階段 PAGEREF _Toc h 4P。 HYPERLINK l _Toc 3.3第二階段 PAGEREF _Toc h 5b。 HYPERLINK l _Toc 3.4程序的下載和調調試 PAGEREF _Toc h 5V。 HYPERLINK l _Toc 4.心得體會 PAGEREF _Toc h 5v。 HYPERLINK l _Toc 參考文獻: PAGEREF _Toc h 6d。 P
5、AGE 6S3C2410最小系系統設計摘要:介紹了以嵌入式式芯片S3C2410為核核心的最小嵌入式式系統構建方法,給給出了S3C2410的復復位電路、電源電電路、存儲器電路路和串口電路等硬硬件組成。還介紹紹了在ADS環境境下自制的最小Boot loader程程序開發和調試方方法。2。關鍵字:嵌入式;S3C2410;ADS;Boot loaderC。S3C2410是Samsung公公司基于ARM920T內內核的嵌入式微處處理器。本文以S3C2410為核心,配置了最基本外圍電路構成了最小的嵌入式系統,并在ADS上開發了啟動程序,完成硬件初始化,配置運行環境,串口調試功能。通過本文可以從底層了解S3
6、C2410的特性和工作原理,并對Boot loader程序會有深入的認識,為嵌入式系統的學習做鋪墊。N。1.S3C2410基基本外圍電路設計計S3C2410 1.1系統框圖復位電路串口電路電源、晶振SDRAMNand FlashJTAG圖1 系統框圖Fig.1 Diagram of SystemO。1.2 電源電路S3C2410工作時內內核需要1.8V電電壓,I/O端口口和外設需要3.3V電電壓1。VDDi/VDDiarm引引腳是供S3C2410內核核的1.8V電壓壓;VDDalive引引腳是功能復位和和端口狀態寄存器器電壓。 M12引引腳RTCVDD是是RTC模塊的1.8V電電壓,用電池供電
7、電保證系統的掉電電后保持實時時鐘鐘。VDDOP引腳是是I/O端口3.3V電電壓;VDDMOP引腳是存儲器器I/O端口電壓壓;還有一系列VSS引引腳需要接到電源源地上。3.3V電電壓從5V用AMS1117-3.3轉換得到到如圖2所示;1.8V從從3.3V通過MIC5207-1.8轉換得到到如圖3所示。l。圖3 3.3V轉1.8VFig.3 3.3V to 1.8V圖2 5V轉3.3VFig.2 5V to 3.3V7。1.3 晶振電路S3C2410內部有時時鐘管理模塊,有有2個鎖相環,其其中MPLL產生生CPU主頻FCLK、AHB總線外設設時鐘HCLK和和APB總線外設設時鐘PCLK;UPLL產
8、生USB模模塊的時鐘。OM3、OM2都接地時時主時鐘源和USB模模塊時鐘源都由外外接晶振產生1。在XTIpll和XTOpll之間間連接主晶振,可可以選擇12MHz晶晶振,通過內部寄寄存器的設置產生生不同頻率的FCLK、HCLK和PCLK;在XTIrtc和和XTOrtc上上需要接32.768 kHz的晶振供供RTC模塊使用用。同時在MPLLCAP和和UPLLCAP上上也要外接5pF的的環路濾波電容。晶晶振電路如圖4所所示。Z。圖4 晶振電路Fig.4 Crystal Circuit1.4 復位電路圖5 復位電路Fig.5 Reset CircuitS3C2410的J12引引腳為nRESET復復位
9、引腳,nRESET上上給4個FCLK時時間的低電平后就就可以復位。可以以設計如圖5所示示的復位電路,其其中上電復位是靠靠RC電路特性完完成,開關二極管管1N4148在手手動復位時對電容容起快速放電的作作用,因此可以把把復位電平快速拉拉到0V。反響門門74HC14可可以起到延時作用用,保證有足夠復復位時間。R。1.5 JTAG接口口S3C2410有標準的的JTAG接口,TCK(H6)為為測試時鐘輸入;TDI(J1)為為測試數據輸入;TDO(J5)為為測試數據輸出;TMS(J3)為為測試模式選擇,TMS用用來設置JTAG接接口處于某種特定定的測試模式;nTRST(H5)為為測試復位,輸入入引腳,低
10、電平有有效。其中nTRST、TMS、TCK、TDI需要接10K的的上拉電阻。通過過JTAG口可以以完成芯片測試或或在線編程。9。1.6SDRAM存儲儲器1S3C2410有32根根數據線和27根根地址線,因此地地址線的尋址范圍圍為128M;但是S3C2410還有有8根存儲器芯片片片選信號線nGCS0nGCS7,因因此總的尋址空間間為128M*8=1G。Nand Flash啟啟動模式下復位時時S3C2410的存存儲器映射如圖6所所示。如當訪問物物理地址0 x0 x內內的地址則nGCS1自自動為低電平,以以此類推。k。通過圖6可知SDRAM只只能連接在nGCS6和和nGCS7片選選引腳上。S3C24
11、10提提供了SDRAM的的接口,其中包括括nSRAS:行行信號鎖存;nSCAS:列信號鎖存;nSCS1:0(就是是nGCS6:7):片選信信號;DQM3:0:數據屏蔽蔽;SCLK1:0:時鐘;SCKE:時鐘有效;nBE3:0:高/低字節有效;nWBE3:0:寫有有效。下面以2片片HY57V為例例介紹SDRAM和和S3C2410的的連接方法。HY57V是是4塊16位32M的的SDRAM存儲儲器,用2片可以以構成32位的64M存存儲器。HY57V的的行地址13位RA0RA12,列地地址9位CA0CA8,行和列列地址是復用的。HY57V包包括4個塊,通過過BA0、BA1的的組合選擇塊。HY57V是是
12、16位存儲器,因因此數據線為DQ0DQ15,還有有CS片選,CLK時時鐘,CKE時鐘鐘使能,RAS行行鎖存,CAS列列鎖存, WE寫寫使能等引腳。圖圖7表示了HY57V和和S3C2410的的連接方法,其中中BA0、BA1需需要連接ADD24和和ADDR25,通通過S3C2410的的說明可知,因為為內存總大小是64M因因此塊選擇信號必必須使用ADDR24和和ADDR25。因因為HY57V的的行列地址復用,因因此S3C2410必必須知道行列地址址各多少位,這個個需要在BANKCON6寄寄存器的SCAN字字段指定。W。圖7 SDRAM連接圖Fig.7 SDRAMConnection圖6 存儲器映射圖
13、Fig.6 Map of MemoryQ。1.7NAND Flash 存儲器2S3C2410內部有NAND Flash控制制器,支持從NADN Flash啟動動。圖8是K9F1208 64M Flash芯芯片和S3C2410的連連接方式。S3C2410采用用一組內部寄存器器來完成NAND Flash的操操作。E。圖9 UART連接圖Fig.9 UART Connection圖8 NAND Flash連接圖Fig.8NAND Flash ConnectionD。1.8 串口電路3S3C2410的UART提提供了三個同步串串行IO口,圖9是是COM0的連接接方式。串口數據據的收發有查詢方方式、中斷
14、方式和和DMA方式等,這這些可以在UCON0 (UART channel 0 control register )寄存器中設置置。UTXH0 (UART channel 0 transmit buffer register )把要發送的數數據寫入此寄存器器。URXH0 (UART a。channel 0 receive buffer register )讀此寄存器獲獲得串口接收的數數據。串口一般可可以用作程序運行行信息的輸出和程程序調試。2。2.S3C2410啟啟動過程1當S3C2410的OM0、OM1引腳接低低電平時S3C2410就從從NADN Flash啟啟動。在NAND Flash啟動動
15、模式下上電后NAND Flash控制制器自動將NAND Flash的最最前面的4k區域域拷貝到所謂的“steppingstone”里面。這一過程完全由硬件自動實現。“steppingstone”實際上是S3C2410內部的一個SRAM,因為NADN Flash不支持程序片內運行,因此必須把NAND Flash內的指令拷貝到SRAM或SDRAM中才可以運行。在拷貝完前4k代碼后,NAND Flash控制器自動將“steppingstone”映射到arm地址空間0 x開始的前4k區域。在映射過程完成后NAND Flash控制器將pc指針直接指向arm地址空間的0 x位置,準備開始執行“steppi
16、ngstone”上的代碼。而“steppingstone”上從NAND Flash拷貝過來的4k代碼,是程序員寫的boot loader的前4k代碼。 boot loader之前寫好,并已經被燒寫到NAND Flash的0 x開始區域。I。3.簡單Boot loader的制作3.1 Boot loader工作原理4圖10 流程圖Fig.10 Flow ChartBoot loader是是引導操作系統的的程序,也是開發發階段目標板和PC機機的通信工具。Boot loader一一般都放在NAND Flash 的的起始位置,這樣樣上電后Boot loader的的第一個指令被自自動執行。由于 Boot
17、 Loader 的實現依賴于 CPU 的體系系結構,因此大多多數 Boot Loader 都分為 stage1 和 stage2 兩大部分。依賴賴于 CPU 體體系結構的代碼,比比如設備初始化代代碼等,通常都放放在 stage1 中,而且通常都都用匯編語言來實實現,以達到短小小精悍的目的。而而 stage2 則通常用C語言言來實現,這樣可可以實現給復雜的的功能,而且代碼碼會具有更好的可可讀性和可移植性性。階段1和階段段2的工作流程如如圖10。C。3.2第一階段第一階段主要工作是硬硬件設備初始化,加加載 Boot Loader的的stage2,準準備RAM 空間間;拷貝 Boot Loader的
18、的stage2到到RAM空間中;設置好堆棧;跳跳轉到 stage2 的 C 入口點點。L。下面介紹ADS環境下下開始制作簡單Bootloader的的方法。先建立工程命名為myBoot,定定義出程序的基本本結構如下:AREA myBoot, CODE, READONLY ;聲明一個代碼段,名稱為myBootK。ENTRY ;程序入口聲聲明,程序的開始始執行位置y。 _ENTRY ;入口名稱為_ENTRY6。 ;中間寫寫主要代碼F。 END ;程程序結束H。在myBoot工程的的Settings中中做一些設置。首首先設置TargetTarget Setting post Link中選擇擇ARM f
19、romELF,表示在鏈接生生成映像文件后,再再調用FromELF命命令映像文件轉換換成其他格式的文文件。LinkerArm LinkerOutputLink Type選Simple 簡單連接方式;RO Base設設置為0 x 代碼碼段連接地址。實實際上RO BASE指指定了程序的靜態態連接地址。程序序真正被執行時所所在的內存地址叫叫做運行地址。如如果連接時用到絕絕對地址的話運行行地址和鏈接地址址保持一致時程序序才能正常運行,這這種代碼叫做與位位置有關代碼。如如果連接時沒有涉涉及到絕對地址那那么連接地址和運運行地址不一樣程程序也可以正常運運行,這種代碼叫叫做位置無關的代代碼。但是Bootload
20、er一一開始時被加載在在0 x00位置開開始運行,這會不不會和RO Base設設置地址沖突呢?實際上是會沖突突的,解決沖突的的辦法就采用位置置無關代碼(PIC)。實實際上Boodloader的的絕大部分代碼最最后想讓它運行在在0 x開始的SDRAM里里,只有第一階段段代碼運行在0 x00開開始的SRAM里里,因此把階段1用用位置無關的匯編編代碼實現整個程程序就正常運行了了。RW Base是是數據段的開始位位置,如果不指定定數據段就緊接著著代碼段放置。如如果自己設置的話話程序里還需要自自己處理加載數據據段到實際數據段段RW Base的的搬移操作,否則則具有初始值的變變量的初始值不起起作用。在Op
21、tions-Image entry point指指定代碼的入口_ENTRY。G。程序的第一步要設置中中斷向量表。S3C2410有7種種中斷,中斷入口口地址在0 x00開開始處,每個中斷斷占用4可字節,正正好可以放一個跳跳轉指令。程序如如下:S。bResetHandler ;復位中斷,也也是整個程序的入入口,b指令是根根據當前PC進行行跳轉,因此可以以實現位置無關代代碼5。在ResetHandler中需要做的工作有:關閉看門狗、關閉所有中斷、設置主頻、初始化SDRAM、設置中斷堆棧,最后搬移代碼到SDRAM中。最后一步跳轉到C程序的入口函數main中。u。3.3第二階段6這階段代碼用C語言編編寫
22、,從main函函數開始。這個階階段的主要任務有有串口初始化、MMU的的初始化、USB初初始化、以太網初初始化等。Bootloader工工作時顯示屏可能能還沒有工作,或或者目標板根本就就沒有顯示屏或鍵鍵盤等設備,因此此人機交互一般通通過串口來實現。因因此必須初始化串串口,通過串口打打印運行信息或者者接收用戶輸入。用用串口連接到PC上上,用專用或通用用的串口軟件來接接收信息或輸入信信息。USB口、以太網可以實現現快速的文件傳輸輸,其他程序或操操作系統內核可以以通過USB或以以太網口快速的下下載到目標板上。S。3.4程序的下載和調調試編譯工程后會得到一個個bin文件,這這就是在目標板上上運行最后文件
23、。Bootloader一般用JTAG口來燒寫,因為Bootloader之前板子上其他任何接口(串口、USB、以太網)都是不可用的,Bootloader是板子上運行的第一個程序。PC機上通過JTAG口燒寫文件可以用sjf2410.exe這個程序,運行方式如下sjf2410 /f:myBoot.bin。如果JTAG口連接正常的話,會發現CPU,然后根據提示選擇相應的位置燒寫就可以了。燒寫完復位板子后可以在PC上通過串口看到Bootloader的運行情況。O。4.心得體會本次課程設計對S3C2410工作作必須的外圍電路路,以及ADS下下S3C2410的程序設設計方法做了詳細細的介紹,有不足足的地方請老師指指正。h。參考文獻:1 SAMSUNG ELECTRONICS. S3C2410 MICROPROCESSOR data sheet. 2003.q。2 陳文智.嵌嵌入式系統開發原原理與實踐M.北京:清華大大學出版社,2005.p。3 畢衛紅,王王帥,郝科卿等.ADS環境下基于S3C24
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中化學探究式教學
- 江蘇省淮安市淮陰區淮陰中學2025屆高三六校第一次聯考英語試卷含解析
- 中式烹調師(初級)練習題庫(附參考答案)
- 市場調查與預測模擬題(附參考答案)
- 2025屆甘肅省金昌市金川高級中學高三下學期一模英語試題(原卷版+解析版)
- 船舶壓載水管理系統的工作原理與操作考核試卷
- 舞臺燈光與空間氛圍的營造考核試卷
- 搬運設備智能維護與遠程支持考核試卷
- 海洋能發電站工程技術發展趨勢考核試卷
- 紙制品三維建模與仿真考核試卷
- 城市道路日常養護作業服務投標文件(技術方案)
- 《互換性復習》課件
- 《光伏系統設計培訓》課件
- 休閑農業與鄉村旅游規劃
- 2025屆江蘇省常州市高級中學高三第二次模擬考試語文試卷含解析
- 2024年第三屆職業技能競賽(井下作業工賽項)理論考試題庫(含答案)
- 超高清視聽內容制作實施方案
- 2024中國華電集團限公司校招+社招高頻難、易錯點練習500題附帶答案詳解
- 康復醫學教材
- 光伏電站施工創優規劃方案
- 23J916-1 住宅排氣道(一)
評論
0/150
提交評論