基于ARM的串口通信系統(tǒng)的設(shè)計(jì).doc_第1頁(yè)
基于ARM的串口通信系統(tǒng)的設(shè)計(jì).doc_第2頁(yè)
基于ARM的串口通信系統(tǒng)的設(shè)計(jì).doc_第3頁(yè)
基于ARM的串口通信系統(tǒng)的設(shè)計(jì).doc_第4頁(yè)
基于ARM的串口通信系統(tǒng)的設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

題 目基于ARM的串口通信系統(tǒng)的設(shè)計(jì) 系 (院)信息科學(xué)與工程學(xué)院專 業(yè)電子與通信工程班 級(jí)2012學(xué)生姓名XXX學(xué) 號(hào)XXX二一三年二月二十八日基于ARM的串口通信系統(tǒng)的設(shè)計(jì)摘 要串口通信是目前單片機(jī)和 DSP 等嵌入式系統(tǒng)之間,以及嵌入式系統(tǒng)與 PC 機(jī)或無線模塊之間的一種非常重要且普遍使用的通信方式。在嵌入式系統(tǒng)的硬件結(jié)構(gòu)中,通常只有一個(gè)8位或 16位的 CPU, 不僅要完成主流程的工作, 同時(shí)還要處理隨時(shí)發(fā)生的各種中斷, 因而嵌入式系統(tǒng)中的串口通信程序設(shè)計(jì)與 PC 機(jī)有很大的不同。串行端口的本質(zhì)功能是作為 CPU 和串行設(shè)備間的編碼轉(zhuǎn)換器,一般微機(jī)內(nèi)都配有通信適配器,使計(jì)算機(jī)能夠與其他具有RS 232 串口的計(jì)算機(jī)或設(shè)備進(jìn)行通信。本系統(tǒng)中目標(biāo)機(jī)開發(fā)板的內(nèi)核采用的是三星的 S3C2410 ,工作非??煽?可穩(wěn)定運(yùn)行在 203 MHz 的時(shí)鐘頻率下。其外設(shè)非常豐富,功能強(qiáng)大,完全可以滿足設(shè)計(jì)需要。串口線采用常用的 RS 232 型接口模式,能實(shí)現(xiàn)計(jì)算機(jī)與開發(fā)板間的數(shù)據(jù)傳輸與控制。關(guān)鍵詞:ARM;串口通信;串行端口;RS 23213The Design Of Serial Communication System based on ARMAbstractSerial communication between the SCM and DSP embedded systems, as well as between the embedded system and a PC or wireless module is a very important and widely used means of communication. In the hardware structure of the embedded system, there is usually only an 8-bit or 16-bit CPU, which not only completes the work of the main flow, but also deals with various interrupts occur at any time.Thus embedded system serial communication program design has a big difference from PC.The essential function of the serial port is encoding converter between the CPU and serial devices, and the general microcomputer is equipped with a communication adapter, which enables a computer to communicate with ta computer with RS 232 serial port or other equipment .The development board of the target machines kernel uses in this system is the Samsung S3C2410. It works very reliable, and has stable operation in the 203 MHz clock frequency. Its peripherals are very rich, powerful, and can fully meet the design needs. Serial line uses RS 232 interface mode, and can realizes data transfer and control between the computer and the development board.Key words:ARM;Serial communication;Serial port;RS 232目錄1設(shè)計(jì)目的32設(shè)計(jì)要求33 設(shè)計(jì)內(nèi)容43.1 S3C2410與串口通信概述43.1.1 S3C2410處理器概述43.1.2串口通信53.2 方案設(shè)計(jì)63.3 電路設(shè)計(jì)73.3.1 電源設(shè)計(jì)73.3.2晶振電路73.3.3 復(fù)位電路83.3.4 JTAG接口93.3.5 存儲(chǔ)器設(shè)計(jì)93.3.6串口電路103.4 軟件設(shè)計(jì)113.4.1 Boot loader 工作原理113.4.2第一階段123. 4. 3第二階段131設(shè)計(jì)目的以嵌入式芯片S3C2410為核心的最小嵌入式系統(tǒng)構(gòu)建方法,給出了S3C2410的復(fù)位電路、電源電路、存儲(chǔ)器電路和串口電路等硬件組成。在ADS環(huán)境下自制的最小Boobt loader程序開發(fā)并調(diào)試。2設(shè)計(jì)要求串口通信是嵌入式設(shè)備必備的通信方式之一,選用ARM芯片和電平轉(zhuǎn)換芯片完成出口通信的設(shè)計(jì),并設(shè)計(jì)完整物理接口。根據(jù)設(shè)計(jì)題目的要求,選擇確定ARM芯片型號(hào)、電平轉(zhuǎn)換芯片型號(hào),完成系統(tǒng)硬件設(shè)計(jì)和程序設(shè)計(jì)。3 設(shè)計(jì)內(nèi)容3.1 S3C2410與串口通信概述3.1.1 S3C2410處理器概述S3C2410是Samsung公司基于A RM 920T內(nèi)核的嵌入式微處理器.本文以S3C2410為核心,配置了最基本外圍電路構(gòu)成了最小的嵌入式系統(tǒng),并在ADS上開發(fā)了啟動(dòng)程序,完成硬件初始化,配置運(yùn)行環(huán)境,串日調(diào)試功能。Samsung 公司推出的16/32位RISC處理器S3C2410A,為手持設(shè)備和一般類型應(yīng)用提 供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。為了降低整個(gè)系統(tǒng)的成本, S3C2410A提供了以下豐富的內(nèi)部設(shè)備:分開的16KB的指令Cache和16KB數(shù)據(jù)Cache, MMU虛擬存儲(chǔ)器管理,LCD控制器(支持STN&TFT),支持NAND Flash系統(tǒng)引導(dǎo),系統(tǒng) 管理器(片選邏輯和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定時(shí)器,I/O 端口,RTC,8通道10位ADC和觸摸屏接口,IIC-BUS接口,IIC-BUS接口,USB主機(jī),USB 設(shè)備,SD主卡&MMC卡接口,2通道的SPI以及內(nèi)部PLL時(shí)鐘倍頻器。 S3C2410A采用了ARM920T內(nèi)核,0.18um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。 它的低功耗、精簡(jiǎn)和出色的全靜態(tài)設(shè)計(jì)特別適用于對(duì)成本和功耗敏感的應(yīng)用。同樣它還采用 一種叫做Advanced Microcontroller Bus Architecture(AMBA)新型總線結(jié)構(gòu)。 S3C2410A的顯著特性是它的CPU核心,是一個(gè)由Advanced RISC Machines(ARM) 有限公司設(shè)計(jì)的16/32位ARM920T RISC處理器。ARM920T實(shí)現(xiàn)了MMU,AMBA BUS和 Harvard高速緩沖體系結(jié)構(gòu)。這一結(jié)構(gòu)具有獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,每 個(gè)都是由8字長(zhǎng)的行(line)構(gòu)成。 通過提供一系列完整的系統(tǒng)外圍設(shè)備,S3C2410A大大減少了整個(gè)系統(tǒng)的成本,消除了 為系統(tǒng)配置額外器件的需要。本文檔將介紹S3C2410A中集成的以下片上功能: 1.8V/2.0V內(nèi)核供電,3.3V存儲(chǔ)器供電,3.3V外部I/O供電; 具備16KB的I-Cache和16KB的D-Cache/MMU; 外部存儲(chǔ)控制器(SDRAM 控制和片選邏輯) LCD 控制器(大支持 4K 色 STN 和 256K 色 TFT)提供 1 通道 LCD 專用 DMA。4 通道 DMA 并有外部請(qǐng)求引腳。3 通道 UART(IrDA1.0,16 字節(jié) Tx FIFO,和 16 字節(jié) Rx FIFO)/2 通道 SPI1 通道多主 IIC-BUS/1 通道 IIS-BUS 控制器。兼容 SD 主接口協(xié)議 1.0 版和 MMC 卡協(xié)議 2.11 兼容版。2 端口 USB 主機(jī)/1 端口 USB 設(shè)備(1.1 版)4 通道 PWM 定時(shí)器和 1 通道內(nèi)部定時(shí)器 看門狗定時(shí)器 117 個(gè)通用 I/O 口和 24 通道外部中斷源。 功耗控制模式:具有普通,慢速,空閑和掉電模式。 z 8 通道 10 比特 ADC 和觸摸屏接口 具有日歷功能的 RTC 具有 PLL 片上時(shí)鐘發(fā)生器3.1.2串口通信串口通信的概念,即串口按位(bit)發(fā)送和接收字節(jié) 通信協(xié)議是指通信雙方按照約定的數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟等規(guī)程來進(jìn)行數(shù)據(jù)傳輸 本次采用異步通信 ,其特點(diǎn)是通信雙方以一個(gè)字符(包括特定附加位)作為數(shù)據(jù)傳輸單位,且發(fā)送方傳送字符的間隔時(shí)間是不定的。在傳輸一個(gè)字符時(shí)總是從起始位開始,以停止位結(jié)束。如圖1所示: 圖1 串行數(shù)據(jù)幀格式S3C2410的UART提供3個(gè)獨(dú)立的異步串行通信端口,每個(gè)端口可以基于中斷或者DMA進(jìn)行操作。換句話說,UART控制器可以在CPU和UART之間產(chǎn)生一個(gè)中斷或者DMA請(qǐng)求來傳輸數(shù)據(jù)。UART在系統(tǒng)時(shí)鐘下運(yùn)行可支持高達(dá)230.4K的波特率,如果使用外部設(shè)備提供的UEXTCLK,UART的速度還可以更高。每個(gè)UART通道各含有兩個(gè)16位的接收和發(fā)送FIFO。S3C2410的UART包括可編程的波特率,紅外 接收/發(fā)送,一個(gè)或兩個(gè)停止位插入,5-8位數(shù)據(jù)寬度和奇偶校驗(yàn)。每個(gè)UART包括一個(gè)波特率發(fā)生器、一個(gè)發(fā)送器、一個(gè)接收器和一個(gè)控制單元,如圖11-1所示。波特率發(fā)生器的輸入可以是PCLK或者UEXTCLK。發(fā)送器和接收器包含16位的FIFO和移位寄存器,數(shù)據(jù)被送入FIFO,然后被復(fù)制到發(fā)送移位寄存器準(zhǔn)備發(fā)送,然后數(shù)據(jù)按位從發(fā)送數(shù)據(jù)引腳TxDn輸出。同時(shí),接收數(shù)據(jù)從接收數(shù)據(jù)引腳RxDn按位移入接收移位寄存器,并復(fù)制到FIFO。特性 RxD0, TxD0, RxD1, TxD1, RxD2, 和TxD2基于中斷或者DMA操作 UART Ch 0, 1, 和 2 具有 IrDA 1.0 & 16 字節(jié) FIFO UART Ch 0 和 1 具有 nRTS0, nCTS0, nRTS1, 和 nCTS1 支持發(fā)生/接收握手3.2 方案設(shè)計(jì)本系統(tǒng)是以嵌入式芯片S3C2410為核心的最小嵌入式系統(tǒng)構(gòu)建方法,給出了S3C2410的復(fù)位電路、調(diào)試接口、電源電路、存儲(chǔ)器電路和串口電路等硬件組成。 圖2 通信系統(tǒng)的組成框圖3.3 電路設(shè)計(jì)3.3.1 電源設(shè)計(jì)S3C2410工作時(shí)內(nèi)核需要1. 8 V電壓,I/ O端口和外設(shè)需要3. 3 V電壓. VDDi/VDDiarm引腳口是供S3C2410內(nèi)核的1. 8 V電壓;VDDalive引腳是功能復(fù)位和端口狀態(tài)寄存器電壓. M12引腳RTCVDD是RT C模塊的1. 8 V電壓,用電池供電保證系統(tǒng)的掉電后保持實(shí)時(shí)時(shí)鐘.VDDOP引腳是I/ O端口3. 3V電壓;V DDM OP引腳是存儲(chǔ)器I/ O端口電壓;還有一系列VSS引腳需要接到電源地上.3. 3 V電壓從SV用A M S 1117- 3. 3轉(zhuǎn)換得到如圖3所示;1.8V從3. 3 V通過MIC5207-1. 8轉(zhuǎn)換得到。如圖3所示。圖 3 電源電路3.3.2晶振電路S3C2410內(nèi)部有時(shí)鐘管理模塊,有2個(gè)鎖相環(huán),其中M PLL能夠產(chǎn)生CPU卞頻FCLK,AHB總線外設(shè)時(shí)鐘HCLK和APB總線外設(shè)時(shí)鐘PCLK; UPLL產(chǎn)生USB模塊的時(shí)鐘。OM3,OM2都接地時(shí),主時(shí)鐘源和U SB模塊時(shí)鐘源都由外接晶振產(chǎn)生。在XTIpll和XTOpll之間連接主晶振,可以選擇12 MHz品振,通過內(nèi)部寄存器的設(shè)置產(chǎn)生不同頻率的FOLK, H CLK和PCLK;在XT Irtc和XTOrtc上需要接32.768 kHz的晶振供RTC模塊使用.同時(shí)在MPLLCAP和UPLLCAP上也要外接5pF的環(huán)路濾波電容。晶振電路如圖4所示。圖 4 晶振電路3.3.3 復(fù)位電路S3C2410的J12引腳為nRESET復(fù)位引腳,nRESET上給4個(gè)FOLK時(shí)間的低電平后就可以復(fù)位.可以設(shè)計(jì)如圖5所小的復(fù)位電路,其中上電復(fù)位是靠RC電路特性完成,開關(guān)二極管1N4148在手動(dòng)復(fù)位時(shí)對(duì)電容起快速放電的作用,因此可以把復(fù)位電平快速拉到OV。反響門74H C 14可以起到延時(shí)作用,保證有足夠的復(fù)位時(shí)間。圖5 復(fù)位電路3.3.4 JTAG接口 S3C2410有標(biāo)準(zhǔn)的JTAG接口,TCI(H6)為測(cè)試時(shí)鐘輸入;TDI(J1)為測(cè)試數(shù)據(jù)輸入;TDO(JS)為測(cè)試數(shù)據(jù)輸出;TMS(J3)為測(cè)試模式選擇,TMS用來設(shè)置JTA G接日處于某種特定的測(cè)試式;nTRST ( H 5)為測(cè)試復(fù)位,輸入引腳,低電平有效。其nTRST,TMS,TCK,TDI需要接10K的上拉電阻。通過,JTAG日可以完成芯片測(cè)試或在線編程。3.3.5 存儲(chǔ)器設(shè)計(jì)S3C2410有32根數(shù)據(jù)線和27根地址線,因此地址線的尋址范圍為128 M;但是S3C2410還有8根存儲(chǔ)器芯片片選信號(hào)線nGCSO- nGCS7,因此總的尋址空間為128M * 8= 1G。Nand Flash啟動(dòng)模式下復(fù)位時(shí)S3C2410的存儲(chǔ)器映射如圖6所示。如當(dāng)訪問物理地址Ox08000000- 0x10000000內(nèi)的地址則nGCSl自動(dòng)為低電平,以此類推。通過圖6可知SDRAM只能連接在nGCS6和nGCS7片選引腳上。S3C2410提供了SDRAM的接口,其中包括nSRAS:行信號(hào)鎖存;nSCAS:列信號(hào)鎖存;nSCS(就是nGCS 6 ):片選信號(hào); 圖 6DQM3:0:數(shù)據(jù)屏蔽 ; SCLI 1: 0;時(shí)鐘;SCKE:時(shí)鐘有效;nBE 3: 0:高/低字節(jié)有效;nWBE 3:0:寫有效。MT48LC16M16A2P是4塊16位32M的SDRAM存儲(chǔ)器。MT48LC16M16A2P的行地址13位為A 0-A 12,列地址9位為CAO- CA8,行和列地址是復(fù)用的。MT48LC16M16A2P包括4個(gè)塊,通過BA0,BA1的組合選擇塊。MT48LC16M16A2P是16位存儲(chǔ)器,因此數(shù)據(jù)線為 DQO-DQ15,還有CS片選,CLK時(shí)鐘,CKE時(shí)鐘使能,RAS行鎖存,CAS列鎖存,WE寫使能等引腳.圖7表示MT48LC16M16A2P和S3C2410的連接方法,其中BA0, BA1需要連接ADD24和 A DDR25,通過S3C2410的說明可知,因?yàn)閮?nèi)存總大小是64M因此塊選擇信號(hào)必須使用A DDR24和ADDR25。S3C2410內(nèi)部有NAND Flash控制器,支持從NADN Flash啟動(dòng).圖7是K9F1208 64M Flash芯片和S3C2410的連接方式.S3C2410采用一組內(nèi)部寄存器來完成NAND Flash的操作.圖 7 存儲(chǔ)器連接電路3.3.6串口電路S3C2410的DART提供了二個(gè)同步串行IO日,圖8是COMO的連接方式。串口數(shù)據(jù)的收發(fā)有查詢方式、中斷方式和DMA方式等,這些可以在UCONO寄存器中設(shè)置。UTXH0把要發(fā)送的數(shù)據(jù)寫入此寄存器。URXH0讀此寄存器獲得串日接收的數(shù)據(jù)。串日一般可以用程序運(yùn)行信息的輸出和程序調(diào)試。圖 8 串口連接電路3.4 軟件設(shè)計(jì)在本系統(tǒng)中,指紋圖像識(shí)別部分的算法主要通過S3C2410芯片來完成。 當(dāng)S3C2410的OM0,OM1引腳接低電平時(shí)S3C2410就從NADN Flash啟動(dòng).在NAND Flash啟動(dòng)模式下上電后NAND Flash控制器自動(dòng)將NAND Flash的最前面的4k區(qū)域拷貝到所謂的 steppingstone單面.這一過程完全由硬件自動(dòng)實(shí)現(xiàn). steppingstone”實(shí)際上是S3C2410內(nèi)部的一個(gè)SRA M,因?yàn)镹ADN Flash不支持程序片內(nèi)運(yùn)行,因此必須把NAND Flash內(nèi)的指令拷貝到SRAM或SDRAM中才可以運(yùn)行.在拷貝完前4k代碼后,NAND Flash控制器自動(dòng)將“steppingstone”映射到arm地址空間0x00000000開始的前4k區(qū)域.在映射過程完成后NAND Flash控制器將pc指針直接指向arm地址空間的0x00000000位置,準(zhǔn)備開始執(zhí)行“steppingstone”上的代碼。而“steppingstone”上從NAND Flash拷貝過來的4k代碼,是程序員寫的boot loader的前4k代碼。 boot loader之前寫好,并己經(jīng)被燒寫到NAND Flash的。x00000000開始區(qū)域。3.4.1 Boot loader 工作原理 Boot loader是引導(dǎo)操作系統(tǒng)的程序,也是開發(fā)階段目標(biāo)板和 PC機(jī)的通信工具。Boot loader一般都放在NAND Flash的起始位置,這樣上電后Bootbader的第一個(gè)指令被自動(dòng)執(zhí)行。由于Boot Loader的實(shí)現(xiàn)依賴于CPU的體系結(jié)構(gòu),因此大多數(shù)Boot Loader都分為stage1和stage2兩大部分.依賴于CPU體系結(jié)構(gòu)的代碼,比如設(shè)備初始化代碼等,通常都放在stagel中,而目通常都用匯編語(yǔ)言來實(shí)現(xiàn),以達(dá)到短小精悍的目的。而stage2則通常用C語(yǔ)言來實(shí)現(xiàn),這樣可以實(shí)現(xiàn)復(fù)雜的功能,而目代碼會(huì)具有更好的可讀性和可移植性。階段1和階段2的工作流程如圖9。 圖 9 程序流程圖3.4.2第一階段第一階段的卞要工作是硬件設(shè)備初始化,加載Boot Loader的stage2,準(zhǔn)備RAM空;拷貝Boot Loader的stage2到RAM空間中;設(shè)置好堆棧;跳轉(zhuǎn)到stage2的C入日點(diǎn)下面介紹ADS環(huán)境下開始制作簡(jiǎn)單Bootloader的方法. 先建立工程命名為myBoot,定義出程序的基本結(jié)構(gòu)如下: AREA mvBoot, CODE, READONLY;聲明一個(gè)代碼段,名稱為mvBooL ENTRY ;程序入口聲明,程序的開始執(zhí)行位置 _ ENTRY ;入口名稱為_ENTRY ;中間寫主要代碼 END ;程序結(jié)束在myBoot工程的Settings中做一些設(shè)置.首先設(shè)置Target/ Target Settings/post Link 中選擇“ARM fromELF。Linker/Arm Linker/0utput/Link Type選Simple簡(jiǎn)單連接方式;RO Base設(shè)置為0x30008000代碼段連接地址。實(shí)際上RO BA SE指定了程序的靜態(tài)連接地址。程序真正被執(zhí)行時(shí)所在的內(nèi)存地址叫做運(yùn)行地址。如果連接時(shí)用到絕對(duì)地址的話運(yùn)行地址和鏈接地址保持一致時(shí)程序才能正常運(yùn)行,這種代碼叫做與位置有關(guān)代碼。如果連接時(shí)沒有涉及到絕對(duì)地址那么連接地址和運(yùn)行地址不一樣程序也可以正常運(yùn)行,這種代碼叫做位置無關(guān)的代碼.但是Bootloader一開始時(shí)被加載在0x00位置開始運(yùn)行,這會(huì)不會(huì)和RO Bas。設(shè)置地址沖突呢?實(shí)際上是會(huì)沖突的,解決沖突的辦法就采用位置無關(guān)代碼( PIC)。實(shí)際上Boodloader的絕大部分代4i最后想讓它運(yùn)行在0x30000800開始的SDRAM單,只有第一階段代碼運(yùn)行在0x00開始的SRAM單,因此把階段1用位置無關(guān)的匯編代碼實(shí)現(xiàn)整個(gè)程序就正常運(yùn)行了。RW Base是數(shù)據(jù)段的開始位置,如果不指定數(shù)據(jù)段,就緊接著代碼段放置。在Options-Image entry point指定代碼的入口_ENT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論