基于ARM的串口通信系統的設計.doc_第1頁
基于ARM的串口通信系統的設計.doc_第2頁
基于ARM的串口通信系統的設計.doc_第3頁
基于ARM的串口通信系統的設計.doc_第4頁
基于ARM的串口通信系統的設計.doc_第5頁
已閱讀5頁,還剩11頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論