版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
.z---..--總結(jié)資料題目基于ARM的串口通信系統(tǒng)的設(shè)計系〔院〕信息科學(xué)與工程學(xué)院專業(yè)電子與通信工程班級2012學(xué)生*****學(xué)號***二〇一三年二月二十八日基于ARM的串口通信系統(tǒng)的設(shè)計摘要串口通信是目前單片機(jī)和DSP等嵌入式系統(tǒng)之間,以及嵌入式系統(tǒng)與PC機(jī)或無線模塊之間的一種非常重要且普遍使用的通信方式。在嵌入式系統(tǒng)的硬件構(gòu)造中,通常只有一個8位或16位的CPU,不僅要完成主流程的工作,同時還要處理隨時發(fā)生的各種中斷,因而嵌入式系統(tǒng)中的串口通信程序設(shè)計與PC機(jī)有很大的不同。串行端口的本質(zhì)功能是作為CPU和串行設(shè)備間的編碼轉(zhuǎn)換器,一般微機(jī)內(nèi)都配有通信適配器,使計算機(jī)能夠與其他具有RS232串口的計算機(jī)或設(shè)備進(jìn)展通信。本系統(tǒng)中目標(biāo)機(jī)開發(fā)板的內(nèi)核采用的是三星的S3C2410,工作非??煽?可穩(wěn)定運(yùn)行在203MHz的時鐘頻率下。其外設(shè)非常豐富,功能強(qiáng)大,完全可以滿足設(shè)計需要。串口線采用常用的RS232型接口模式,能實現(xiàn)計算機(jī)與開發(fā)板間的數(shù)據(jù)傳輸與控制。關(guān)鍵詞:ARM;串口通信;串行端口;RS232-.zTheDesignOfSerialmunicationSystembasedonARMAbstractSerialmunicationbetweentheSCMandDSPembeddedsystems,aswellasbetweentheembeddedsystemandaPCorwirelessmoduleisaveryimportantandwidelyusedmeansofmunication.Inthehardwarestructureoftheembeddedsystem,thereisusuallyonlyan8-bitor16-bitCPU,whichnotonlypletestheworkofthemainflow,butalsodealswithvariousinterruptsoccuratanytime.ThusembeddedsystemserialmunicationprogramdesignhasabigdifferencefromPC.TheessentialfunctionoftheserialportisencodingconverterbetweentheCPUandserialdevices,andthegeneralmicroputerisequippedwithamunicationadapter,whichenablesaputertomunicatewithtaputerwithRS232serialportorotherequipment.Thedevelopmentboardofthetargetmachine'skernelusesinthissystemistheSamsungS3C2410.Itworksveryreliable,andhasstableoperationinthe203MHzclockfrequency.Itsperipheralsareveryrich,powerful,andcanfullymeetthedesignneeds.SeriallineusesRS232interfacemode,andcanrealizesdatatransferandcontrolbetweentheputerandthedevelopmentboard.Keywords:ARM;Serialmunication;Serialport;RS232目錄TOC\o"1-3"\h\u91101設(shè)計目的3320672設(shè)計要求3217513設(shè)計內(nèi)容4294013.1S3C2410與串口通信概述4288373.1.1S3C2410處理器概述4239593.1.2串口通信5239833.2方案設(shè)計232443.3電路設(shè)計7134973.3.1電源設(shè)計758423.3.2晶振電路7137823.3.3復(fù)位電路825763.3.4JTAG接口9138293.3.5存儲器設(shè)計9171343.3.6串口電路1025083.4軟件設(shè)計11196013.4.1Bootloader工作原理11239523.4.2第一階段12943.4.3第二階段131設(shè)計目的以嵌入式芯片S3C2410為核心的最小嵌入式系統(tǒng)構(gòu)建方法,給出了S3C2410的復(fù)位電路、電源電路、存儲器電路和串口電路等硬件組成。在ADS環(huán)境下自制的最小Boobtloader程序開發(fā)并調(diào)試。2設(shè)計要求串口通信是嵌入式設(shè)備必備的通信方式之一,選用ARM芯片和電平轉(zhuǎn)換芯片完成出口通信的設(shè)計,并設(shè)計完整物理接口。根據(jù)設(shè)計題目的要求,選擇確定ARM芯片型號、電平轉(zhuǎn)換芯片型號,完成系統(tǒng)硬件設(shè)計和程序設(shè)計。3設(shè)計內(nèi)容3.1S3C2410與串口通信概述3.1.1S3C2410處理器概述S3C2410是Samsung公司基于ARM920T內(nèi)核的嵌入式微處理器.本文以S3C2410為核心,配置了最根本外圍電路構(gòu)成了最小的嵌入式系統(tǒng),并在ADS上開發(fā)了啟動程序,完成硬件初始化,配置運(yùn)行環(huán)境,串日調(diào)試功能。Samsung公司推出的16/32位RISC處理器S3C2410A,為手持設(shè)備和一般類型應(yīng)用提供了低價格、低功耗、高性能小型微控制器的解決方案。為了降低整個系統(tǒng)的本錢,S3C2410A提供了以下豐富的內(nèi)部設(shè)備:分開的16KB的指令Cache和16KB數(shù)據(jù)Cache,MMU虛擬存儲器管理,LCD控制器〔支持STN&TFT〕,支持NANDFlash系統(tǒng)引導(dǎo),系統(tǒng)管理器〔片選邏輯和SDRAM控制器〕,3通道UART,4通道DMA,4通道PWM定時器,I/O端口,RTC,8通道10位ADC和觸摸屏接口,IIC-BUS接口,IIC-BUS接口,USB主機(jī),USB設(shè)備,SD主卡&MMC卡接口,2通道的SPI以及內(nèi)部PLL時鐘倍頻器。S3C2410A采用了ARM920T內(nèi)核,0.18um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲器單元。它的低功耗、精簡和出色的全靜態(tài)設(shè)計特別適用于對本錢和功耗敏感的應(yīng)用。同樣它還采用一種叫做AdvancedMicrocontrollerBusArchitecture(AMBA)新型總線構(gòu)造。S3C2410A的顯著特性是它的CPU核心,是一個由AdvancedRISCMachines〔ARM〕**設(shè)計的16/32位ARM920TRISC處理器。ARM920T實現(xiàn)了MMU,AMBABUS和Harvard高速緩沖體系構(gòu)造。這一構(gòu)造具有獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,每個都是由8字長的行〔line〕構(gòu)成。通過提供一系列完整的系統(tǒng)外圍設(shè)備,S3C2410A大大減少了整個系統(tǒng)的本錢,消除了為系統(tǒng)配置額外器件的需要。本文檔將介紹S3C2410A中集成的以下片上功能:●1.8V/2.0V內(nèi)核供電,3.3V存儲器供電,3.3V外部I/O供電;●具備16KB的I-Cache和16KB的D-Cache/MMU;●外部存儲控制器〔SDRAM控制和片選邏輯〕●LCD控制器〔?大支持4K色STN和256K色TFT〕提供1通道LCD專用DMA?!?通道DMA并有外部請求引腳?!?通道UART(IrDA1.0,16字節(jié)T*FIFO,和16字節(jié)R*FIFO)/2通道SPI●1通道多主IIC-BUS/1通道IIS-BUS控制器。●兼容SD主接口協(xié)議1.0版和MMC卡協(xié)議2.11兼容版。●2端口USB主機(jī)/1端口USB設(shè)備〔1.1版〕●4通道PWM定時器和1通道內(nèi)部定時器●看門狗定時器●117個通用I/O口和24通道外部中斷源。●功耗控制模式:具有普通,慢速,空閑和掉電模式?!?通道10比特ADC和觸摸屏接口●具有日歷功能的RTC●具有PLL片上時鐘發(fā)生器3.1.2串口通信串口通信的概念,即串口按位〔bit〕發(fā)送和接收字節(jié)通信協(xié)議是指通信雙方按照約定的數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟等規(guī)程來進(jìn)展數(shù)據(jù)傳輸本次采用異步通信,其特點(diǎn)是通信雙方以一個字符(包括特定附加位)作為數(shù)據(jù)傳輸單位,且發(fā)送方傳送字符的間隔時間是不定的。在傳輸一個字符時總是從起始位開場,以停頓位完畢。如圖1所示:圖1串行數(shù)據(jù)幀格式S3C2410的UART提供3個獨(dú)立的異步串行通信端口,每個端口可以基于中斷或者DMA進(jìn)展操作。換句話說,UART控制器可以在CPU和UART之間產(chǎn)生一個中斷或者DMA請求來傳輸數(shù)據(jù)。UART在系統(tǒng)時鐘下運(yùn)行可支持高達(dá)230.4K的波特率,如果使用外部設(shè)備提供的UE*TCLK,UART的速度還可以更高。每個UART通道各含有兩個16位的接收和發(fā)送FIFO。S3C2410的UART包括可編程的波特率,紅外接收/發(fā)送,一個或兩個停頓位插入,5-8位數(shù)據(jù)寬度和奇偶校驗。每個UART包括一個波特率發(fā)生器、一個發(fā)送器、一個接收器和一個控制單元,如圖11-1所示。波特率發(fā)生器的輸入可以是PCLK或者UE*TCLK。發(fā)送器和接收器包含16位的FIFO和移位存放器,數(shù)據(jù)被送入FIFO,然后被復(fù)制到發(fā)送移位存放器準(zhǔn)備發(fā)送,然后數(shù)據(jù)按位從發(fā)送數(shù)據(jù)引腳T*Dn輸出。同時,接收數(shù)據(jù)從接收數(shù)據(jù)引腳R*Dn按位移入接收移位存放器,并復(fù)制到FIFO。特性R*D0,T*D0,R*D1,T*D1,R*D2,和T*D2基于中斷或者DMA操作UARTCh0,1,和2具有IrDA1.0&16字節(jié)FIFOUARTCh0和1具有nRTS0,nCTS0,nRTS1,和nCTS1支持發(fā)生/接收握手3.2方案設(shè)計本系統(tǒng)是以嵌入式芯片S3C2410為核心的最小嵌入式系統(tǒng)構(gòu)建方法,給出了S3C2410的復(fù)位電路、調(diào)試接口、電源電路、存儲器電路和串口電路等硬件組成。 圖2通信系統(tǒng)的組成框圖3.3電路設(shè)計3.3.1電源設(shè)計S3C2410工作時內(nèi)核需要1.8V電壓,I/O端口和外設(shè)需要3.3V電壓.VDDi/VDDiarm引腳口是供S3C2410內(nèi)核的1.8V電壓;VDDalive引腳是功能復(fù)位和端口狀態(tài)存放器電壓.M12引腳RTCVDD是RTC模塊的1.8V電壓,用電池供電保證系統(tǒng)的掉電后保持實時時鐘.VDDOP引腳是I/O端口3.3V電壓;VDDMOP引腳是存儲器I/O端口電壓;還有一系列VSS引腳需要接到電源地上.3.3V電壓從SV用AMS1117-3.3轉(zhuǎn)換得到如圖3所示;1.8V從3.3V通過MIC5207-1.8轉(zhuǎn)換得到。如圖3所示。圖3電源電路3.3.2晶振電路S3C2410內(nèi)部有時鐘管理模塊,有2個鎖相環(huán),其中MPLL能夠產(chǎn)生CPU卞頻FCLK,AHB總線外設(shè)時鐘HCLK和APB總線外設(shè)時鐘PCLK;UPLL產(chǎn)生USB模塊的時鐘。OM3,OM2都接地時,主時鐘源和USB模塊時鐘源都由外接晶振產(chǎn)生。在*TIpll和*TOpll之間連接主晶振,可以選擇12MHz品振,通過內(nèi)部存放器的設(shè)置產(chǎn)生不同頻率的FOLK,HCLK和PCLK;在*TIrtc和*TOrtc上需要接32.768kHz的晶振供RTC模塊使用.同時在MPLLCAP和UPLLCAP上也要外接5pF的環(huán)路濾波電容。晶振電路如圖4所示。圖4晶振電路3.3.3復(fù)位電路S3C2410的J12引腳為nRESET復(fù)位引腳,nRESET上給4個FOLK時間的低電平后就可以復(fù)位.可以設(shè)計如圖5所小的復(fù)位電路,其中上電復(fù)位是靠RC電路特性完成,開關(guān)二極管1N4148在手動復(fù)位時對電容起快速放電的作用,因此可以把復(fù)位電平快速拉到OV。反響門74HC14可以起到延時作用,保證有足夠的復(fù)位時間。圖5復(fù)位電路3.3.4JTAG接口S3C2410有標(biāo)準(zhǔn)的JTAG接口,TCI(H6)為測試時鐘輸入;TDI(J1)為測試數(shù)據(jù)輸入;TDO(JS)為測試數(shù)據(jù)輸出;TMS(J3)為測試模式選擇,TMS用來設(shè)置JTAG接日處于*種特定的測試式;nTRST(H5)為測試復(fù)位,輸入引腳,低電平有效。其nTRST,TMS,TCK,TDI需要接10K的上拉電阻。通過,JTAG日可以完成芯片測試或在線編程。3.3.5存儲器設(shè)計S3C2410有32根數(shù)據(jù)線和27根地址線,因此地址線的尋址*圍為128M;但是S3C2410還有8根存儲器芯片片選信號線nGCSO--nGCS7,因此總的尋址空間為128M*8=1G。NandFlash啟動模式下復(fù)位時S3C2410的存儲器映射如圖6所示。如當(dāng)物理地址O*08000000-0*10000000內(nèi)的地址則nGCSl自動為低電平,以此類推。通過圖6可知SDRAM只能連接在nGCS6和nGCS7片選引腳上。S3C2410提供了SDRAM的接口,其中包括nSRAS:行信號鎖存;nSCAS:列信號鎖存;nSCS(就是nGCS6):片選信號;圖6DQM[3:0]:數(shù)據(jù)屏蔽;SCLI[1:0];時鐘;SCKE:時鐘有效;nBE[3:0]:高/低字節(jié)有效;nWBE[3:0]:寫有效。MT48LC16M16A2P是4塊16位32M的SDRAM存儲器。MT48LC16M16A2P的行地址13位為A0--A12,列地址9位為CAO-CA8,行和列地址是復(fù)用的。MT48LC16M16A2P包括4個塊,通過BA0,BA1的組合選擇塊。MT48LC16M16A2P是16位存儲器,因此數(shù)據(jù)線為DQO--DQ15,還有CS片選,CLK時鐘,CKE時鐘使能,RAS行鎖存,CAS列鎖存,WE寫使能等引腳.圖7表示MT48LC16M16A2P和S3C2410的連接方法,其中BA0,BA1需要連接ADD24和ADDR25,通過S3C2410的說明可知,因為內(nèi)存總大小是64M因此塊選擇信號必須使用ADDR24和ADDR25。S3C2410內(nèi)部有NANDFlash控制器,支持從NADNFlash啟動.圖7是K9F120864MFlash芯片和S3C2410的連接方式.S3C2410采用一組內(nèi)部存放器來完成NANDFlash的操作.圖7存儲器連接電路3.3.6串口電路S3C2410的DART提供了二個同步串行IO日,圖8是O的連接方式。串口數(shù)據(jù)的收發(fā)有查詢方式、中斷方式和DMA方式等,這些可以在UCONO存放器中設(shè)置。UT*H0把要發(fā)送的數(shù)據(jù)寫入此存放器。UR*H0讀此存放器獲得串日接收的數(shù)據(jù)。串日一般可以用程序運(yùn)行信息的輸出和程序調(diào)試。圖8串口連接電路3.4軟件設(shè)計在本系統(tǒng)中,指紋圖像識別局部的算法主要通過S3C2410芯片來完成。當(dāng)S3C2410的OM0,OM1引腳接低電平時S3C2410就從NADNFlash啟動.在NANDFlash啟動模式下上電后NANDFlash控制器自動將NANDFlash的最前面的4k區(qū)域拷貝到所謂的"steppingstone"單面.這一過程完全由硬件自動實現(xiàn)."steppingstone〞實際上是S3C2410內(nèi)部的一個SRAM,因為NADNFlash不支持程序片內(nèi)運(yùn)行,因此必須把NANDFlash內(nèi)的指令拷貝到SRAM或SDRAM中才可以運(yùn)行.在拷貝完前4k代碼后,NANDFlash控制器自動將“steppingstone〞映射到arm地址空間0*00000000開場的前4k區(qū)域.在映射過程完成后NANDFlash控制器將pc指針直接指向arm地址空間的0*00000000位置,準(zhǔn)備開場執(zhí)行“steppingstone〞上的代碼。而“steppingstone〞上從NANDFlash拷貝過來的4k代碼,是程序員寫的bootloader的前4k代碼。bootloader之前寫好,并己經(jīng)被燒寫到NANDFlash的。*00000000開場區(qū)域。3.4.1Bootloader工作原理Bootloader是引導(dǎo)操作系統(tǒng)的程序,也是開發(fā)階段目標(biāo)板和PC機(jī)的通信工具。Bootloader一般都放在NANDFlash的起始位置,這樣上電后Bootbader的第一個指令被自動執(zhí)行。由于BootLoader的實現(xiàn)依賴于CPU的體系構(gòu)造,因此大多數(shù)BootLoader都分為stage1和stage2兩大局部.依賴于CPU體系構(gòu)造的代碼,比方設(shè)備初始化代碼等,通常都放在stagel中,而目通常都用匯編語言來實現(xiàn),以到達(dá)短小精悍的目的。而stage2則通常用C語言來實現(xiàn),這樣可以實現(xiàn)復(fù)雜的功能,而目代碼會具有更好的可讀性和可移植性。階段1和階段2的工作流程如圖9。圖9程序流程圖3.4.2第一階段第一階段的卞要工作是硬件設(shè)備初始化,加載BootLoader的stage2,準(zhǔn)備RAM空;拷貝BootLoader的stage2到RAM空間中;設(shè)置好堆棧;跳轉(zhuǎn)到stage2的C入日點(diǎn)下面介紹ADS環(huán)境下開場制作簡單Bootloader的方法.先建立工程命名為myBoot,定義出程序的根本構(gòu)造如下:AREAmvBoot,CODE,READONLY;聲明一個代碼段,名稱為mvBooLENTRY;程序入口聲明,程序的開場執(zhí)行位置__ENTRY;入口名稱為_ENTRY…………;中間寫主要代碼END;程序完畢在myBoot工程的Settings中做一些設(shè)置.首先設(shè)置Target/TargetSettings/postLink中選擇“ARMfromELF"。Linker/ArmLinker/0utput/LinkType選Simple簡單連接方式;ROBase設(shè)置為0*30008000代碼段連接地址。實際上ROBASE指定了程序的靜態(tài)連接地址。程序真正被執(zhí)行時所在的內(nèi)存地址叫做運(yùn)行地址。如果連接時用到絕對地址的話運(yùn)行地址和地址保持一致時程序才能正常運(yùn)行,這種代碼叫做與位置有關(guān)代碼。如果連接時沒有涉及到絕對地址則連接地址和運(yùn)行地址不一樣程序也可以正常運(yùn)行,這種代碼叫做位置無關(guān)的代碼.但是Bootloader一開場時被加載在0*00位置開場運(yùn)行,這會不會和ROBas。設(shè)置地址沖突呢?實際上是會沖突的,解決沖突的方法就采用位置無關(guān)代碼(PIC)。實際上Boodloader的絕大局部代4i最后想讓它運(yùn)行在0*30000800開場的SDRA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【培訓(xùn)課件】綠城奢侈品培訓(xùn)-化妝品
- 汗腺炎的臨床護(hù)理
- 《信息級聯(lián)》課件
- 皮膚型紅斑狼瘡的臨床護(hù)理
- 《機(jī)械設(shè)計基礎(chǔ)》課件-第2章
- 《機(jī)械設(shè)計基礎(chǔ)》課件-第3章
- 部編版八年級語文下冊全冊教學(xué)教案
- 《供配電講義》課件
- JJF(陜) 007-2019 金相顯微鏡校準(zhǔn)規(guī)范
- 整合課堂內(nèi)外學(xué)習(xí)的策略計劃
- 2024年江西省公務(wù)員考試《行測》真題及答案解析
- 軍事理論-綜合版智慧樹知到期末考試答案章節(jié)答案2024年國防大學(xué)
- 冰銅熔煉的理論基礎(chǔ)
- 獨(dú)立重復(fù)試驗事件
- 安全安全質(zhì)量保證體系
- 材料設(shè)備的接保檢運(yùn)措施
- 食用酒精生產(chǎn)工藝工廠設(shè)計
- 泌尿外科病例分析
- 脫硫除塵常用備品備件清單
- 2022年度國際象棋波爾加習(xí)題庫一步殺習(xí)題120題
- 石化、電廠工藝管道安裝施工方案
評論
0/150
提交評論