基于S3C2416芯片开发及其应用(嵌入式大作业)_第1页
基于S3C2416芯片开发及其应用(嵌入式大作业)_第2页
基于S3C2416芯片开发及其应用(嵌入式大作业)_第3页
基于S3C2416芯片开发及其应用(嵌入式大作业)_第4页
基于S3C2416芯片开发及其应用(嵌入式大作业)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题目:针对某一个或一类CPU,提出以其为核心的嵌入式系统完整开发方案。要求:1相应CPU介绍;2硬件开发平台选择与介绍;3软件开发平台选择与介绍;4典型应用实例介绍;5相关参考文献。题目:基于S3C2416芯片开发及其应用目录摘要 11CPU介绍 21.1芯片简介 21.2芯片特性 21.3芯片架构框图 71.4芯片引脚分配 82硬件开发平台选择与介绍 92.1ICOOL2416概述 92.2ICOOL2416开发板硬件资源说明 103软件开发平台选择与介绍 123.1嵌入式Linux系统简介 123.2嵌入式Linux交叉开发环境的搭建 133.2.1嵌入式Linux交叉开发软件环境的搭建 133.2.2超级终端的配置 133.3Linux操作系统移植 134典型应用实例介绍 154.1纸币清分机 15硬件设计 15软件系统设计与实现 164.2多功能公交车载终端系统 17硬件整体设计 17系统软件设计与实现 17参考文献 19摘要随着现代计算机和互联网技术的快速开展,嵌入式系统已然成为当前软件开发领域最热的焦点之一。ARM凭借其高性能低功耗等特征,正在逐渐成为目前应用最广泛的32位嵌入式处理器。其中S3C2416是一款低功耗、高性能、低本钱的SAMSUNGARM9〔ARM926EJ〕处理器,最具性价比优势的芯片,S3C2440最完美的替代者,可应用于消费类电子、低功耗产品和高性能控制设备。Linux是一套免费使用和自由传播的类Unix操作系统,其具有模块化程度高;源码公开;广泛的硬件支持;平安性及可靠性好等优点,得到非常广泛的应用。本文针对S3C2416芯片,阐述了其构成与特性。并介绍了一款基于此芯片的硬件开发平台——ICOOL2416开发板,以及相应的Linux开发平台的搭建。最后介绍了基于S3C2416的两个应用实例。关键词:嵌入式;S3C2416;Linux;开发平台;1CPU介绍1.1芯片简介S3C2416是Samsung推出的一款可以完美替代S3C2440、S3C2410的16/32位RISC微处理器。应用于消费类电子、低功耗产品和高性能控制设备。S3C2416基于ARM926EJ内核,65nm工艺制程,采用新的高性能微控制器总线〔AMBA〕架构设计,具有低功耗、高性能和低本钱的特性[1]。有列表比照方下:比拟工程2410244024432416ARM版本ARM920TARM920TARM920TARM926EJ总线架构单总线单总线单总线双总线主频200M400M400M/533M400M/533M内存SDRAMSDRAMSDRAMDDRSDRAMDDRDDRH多媒体能力无无无2DFLASHSLCSLCSLCSLC/MLCUSBDevice2.0串口3333启动方式不支持SD卡启动不支持SD卡启动不支持SD卡启动支持SD卡启动引脚间距0.8mm0.8mm0.50mm0.65mm价格(美元)55?31.2芯片特性S3C2416提供一整套完整的系统外设,最大限度的减少系统额外本钱和额外组件。芯片集成以下片上功能:1、ARM926EJ内核,主频400MHz,16KBI/D-Cache和MMU功能2、支持外部存储器mSDR、mDDR、DDR2、SDRAM3、LCD控制器,最高支持256K色显示,提供1通道LCD专用DMA4、6通道DMA控制器并有外部请求引脚5、4通道UART(IrDA1.0,64-ByteTxFIFO,and64-ByteRxFIFO)6、1通道高速SPI7、1通道IC总线接口〔支持多主机〕8、支持IIS/AC97音频接口9、兼容支持高速MMC和SD接口协议10、2路USBHost/1路USBDevice11、4通道PWM定时器/1通道内部定时器/看门狗定时器12、10通道12位ADC和触摸屏接口13、RTC时钟,带日历功能14、138个通用I/O端口,16路外部中断源15、5种电源管理模式:工作、空闲、待机、深度待机和休眠模式16、芯片内有PLL时钟发生器〔1〕系统管理●两个独立的内存总线-一个用于ROM/SRAM总线〔ROMBANK0〜BANK5〕和一个DRAM总线〔mSDR/mDDR/DDR2SDRAMBANK0〜Bank1〕●地址空间:64M字节BANK0〜BANK5,128M字节的SDRAMBANK0〜bank1●支持从各种类型ROM启动〔NOR/NANDFlash,EEPROM或其它〕●所有存储器具备完整可编程访问周期〔2〕NANDFlash启动引导〔BootLoader〕●支持从NANDFlash启动●支持启动后NANDflash作为存储器●支持高级NANDflash〔3〕时钟和电源管理●片上MPLL和EPLL:EPLL产生时钟用于USBHost,IIS,UART等模组MPLL产生时钟用于MCU在1.3V电压下,运行在最高速度400MHz●用软件可以有选择的提供时钟给各功能模块●电源管理模式:工作、空闲、待机、深度待机和休眠模式工作模式:正常工作模式空闲模式:只有CPU时钟停止待机模式:所有时钟都停止深度待机模式:CPU电源控制,所有时钟停止休眠模式:关闭核心包括所有外设的电源●EINT[15:0]或RTC闹钟中断触发从睡眠模式中唤醒〔4〕中断控制器●71个中断源:1个看门狗,5个定时器,12个UART,16个外部中断,6个DMA,2个RTC,2个ADC,1个IIC,1个SPI,2个SDI,2个USB,4个LCD,1个电池故障,1个NAND,1个AC97和1个IIS,1个PCM,1个2D●外部中断源中电平/边沿模式●可编程边沿和电平的极性●支持快速中断请求〔FIQ〕给其他紧急的中断请求〔5〕带脉宽调制〔PWM〕的定时器●4通道16位具有PWM功能定时器,1通道16位基于DMA或基于中断运行的内部定时器●可编程的占空比,频率和极性●支持外部时钟源〔6〕RTC●完整时钟特性:毫秒、秒、分、时、星期、日、月和年●工作在32.768KHz时钟频率●闹钟中断和时钟节拍中断〔7〕通用输入/输出端口●16个外部中断端口●138个复用输入/输出端口〔8〕DMA控制器●6通道DMA控制器●支持存储器到存储器,IO口到存储器,存储器到IO口和IO口到IO口的传输●采用触发传输模式来提高传输速率〔9〕UART●4通道基于DMA或基于中断运行的UART●支持5位、6位、7位、或8位串行数据发送/接收●支持UART运行在外部时钟〔UEXTCLK〕●可编程波特率高达3Mbps●支持IrDA1.0●每个通道都包含内部64位发送FIFO和64位接收FIFO〔10〕LCD控制器●支持彩色TFT的1、2、4或8bpp(位/像素)调色显示●支持彩色TFT的16,24bpp非调色真彩显示●支持在24bpp模式下最大16M色的TFT●支持多种屏幕尺寸:典型屏幕尺寸:640x480,320x240,160x160等最大数据缓冲区4Mb最大虚拟屏幕尺寸在64K色下:2048x2048,其他尺寸●支持2个叠加窗口的LCD〔11〕ADC和触摸屏接口●10通道多路复用ADC●最高500KSPS和10位分辨率●内置FET直接用于触摸屏接口〔12〕看门狗定时器●16位看门狗定时器●中断请求或者系统复位超时〔13〕IIC总线接口●1通道多主机IIC总线●串行,8位,可在标准模式100Kbit/s下或快速模式400Kbit/s下进行双向数据传输〔14〕IIS音频接口●1通道基于DMA运行的音频接口●支持5.1声道●每个数据传输通道串行,8-/16-/24-位●支持IIS格式和MSB对齐数据格式〔15〕AC97音频接口●1通道基于DMA运行的AC97接口●16位立体声音响〔16〕PCM音频接口●单声道,16bit的PCM,1通道音频接口〔17〕USBHost(主机)●2个USBHost端口●遵从OHCIRev.1.0●兼容USB规格1.1版本〔18〕USBDevice(设备)●1个USBDevice设备端口●9个USBDevice设备端点●兼容USB2.0标准〔19〕SD/MMC主机接口●兼容SD标准主机规格〔版本2.0〕●专用DMA访问支持●兼容SD存储卡协议2.1版本●兼容SDIO卡协议1.0版●兼容的HS-MMC协议4.2版●512BytesFIFOforTx/Rx●支持CE-ATA模式〔20〕SPI接口●兼容1通道串行外设接口2.11协议版本〔1ch.高速SPI接口〕●2×8位的移位存放器的Tx/Rx●基于DMA或基于中断的操作〔21〕2D●线/点绘图●位块传送,颜色扩展●最大2040*2040的图像尺寸●窗口剪辑●90°/180°/270°/X-flip/Y-flip旋转●共256个3-operandRasterOperation(ROP)●Alpha混合●支持16/24/32-bpp颜色格式〔22〕工作电压范围●核心电压:1.3V下400MHzTBD下266MHz●ROM/SRAM电压:1.8V/2.5V/3.0V/3.3V●SDRAM电压:1.8V/2.5V●I/O口电压:1.8V/2.5V/3.3V〔23〕封装●330引脚FBGA封装14x141.3芯片架构框图图1.1S3C2416X框图1.4芯片引脚分配图1.2S3C2416X芯片引脚分配〔330引脚FBGA,0.65mm间距〕2硬件开发平台选择与介绍S3C2416是低功耗,高性能、低本钱的SAMSUNG〔ARM926EJ〕处理器,最具本钱优势。市面上基于此款芯片的开发板种类繁多,如深圳友坚恒天科技的UT-S3C2416,保定佳冀电子的TX2416A,广州斯道信息技术的ICOOL2416等等。〔广州斯道信息技术,成立于2004年,是一家集移动通讯,医疗系统,嵌入系统设备,工业控制器研发、生产、销售为一体的民营高科技企业,主要从事2G/3G智能,MID,嵌入式控制板,工业控制板系列产品的研发和销售。技术力量雄厚,软硬件开发团队一流。〕ICOOL2416,价格廉价,功能齐全,在淘宝上大概400元左右即可买到,因此这里选择这款开发板。2.1ICOOL2416概述ICOOL2416是斯道推出的一款低价高品质核心板加底板的ARM926开发板,主频400Mhz,最高533Mhz,外频可以跑到DDR2400,并且支持TF卡裸机启动烧录。该开发板性价比好功能全。主处理器采用三星的S3C2416,内存选用三星的K4T51163DDR2266〔BGA封装〕,CPU主频可以跑到533Mhz,该CPU有2D加速功能。该板外置存储有NAND/TFcard.电源全部采用Torex的DC2DC,具有良好的功耗。该板布局合理,接口丰富,十分适用于开发工业控制、车载电子、媒体播放,金融终端,游戏机等终端设备;也可适用于高校教学、嵌入式培训、个人研究学习和DIY等。ICOOL2416具有双LCD接口、4线电阻触摸屏接口、RJ4510/100M自适应标准网络接口、2个标准DB93线调试串口、USB2.0从接口、4路主USB1.1接口、3.5mm音频输出口和输入口、标准AV端子(TV)输出、TF卡座等常用接口;另外还引出4路TTL串口、1个20pinIO扩展接口等;在板的还有时钟电池、1个蜂鸣器、3个按键、4个原汁原味的模式选择脚等等,这些都极大地方便了开发者的使用[2]。图2.1ICOOL2416开发板外观2.2ICOOL2416开发板硬件资源说明〔一〕CPU处理器SamsungS3C2416,ARM926,主频400MHz,最高533MHz〔二〕DDRRAM内存64MByteDDR2266RAM〔三〕FLASH存储256M/512M/1GB/2GB/4GB/NandFlash〔标配256MSLCNAND〕〔四〕声卡Wolfson专业声卡WM8960〔五〕LCD显示CPU集成4线电阻式触摸屏接口,可直接连接四线电阻触摸屏,电容触摸屏需I2C或者SPI模式,我们已经在LCD接口上引出了I2C方便用户扩展用,配的7寸屏就是5点触摸电容屏。支持点阵黑白、点阵灰度、CSTN、64K~1600KTFTLCD,尺寸从2.2寸到24寸,TFTLCD屏幕分辨率可以到1024x768象素;标配7寸TFTLCD,分辨率800x480,带5点触摸电容屏;〔六〕标准接口资源1路SPI1路10/100M以太网RJ45接口2路DB9RS2323线串口(另有4个TTL电平串口引出)1路USB2.0从接口4路USBHost1.1接口1路3.5mm立体声音频输出接口1路3.5mm单声道音频输入接口2路8ohm喇叭接口(1W功率)1路TF卡座(最大支持容量32G)5V/2A直流电压输入6个自定义按键1路PWM控制的LCD背光调节1路PWM控制的蜂鸣器1路可调电阻的ADC检测板载实时时钟备份电池〔七〕外扩接口资源4路串口座(DB92个加上4个2.0mm间距,白色直插式卡座)双LCD接口(50pin0.5mmLCD接口和40pin2.0mm双排座)1个20pin2.0mm双排座IO接口1个20pin2.0mm双排座GPIO接口〔八〕PCB规格尺寸底板尺寸:180x100(mm)核心板尺寸:80x55〔mm〕〔九〕操作系统支持Linux3.0.1+Qtopia-2.2.0+QtE-4.7WindowsCE.NET6.0(R3)标准接口资源3软件开发平台选择与介绍S3C2416支持SD卡裸机启动这一特性,只要把目标文件拷贝到SD卡中,便可在开发板上极快极简地自动安装各种嵌入式系统(WindowsCE6.0/Linux等)。当前,嵌入式操作系统的种类比拟多,其中Linux操作系统由于其开源特性和良好的稳定性赢得了斐然的成绩。嵌入式Linux系统的开发包一般括以下几个局部:嵌入式Linux交叉开发环境的搭建,bootloader移植,Linux内核移植,根文件系统的制作与移植,Linux的驱动开发,应用程序的开发[4]。3.1嵌入式Linux系统简介对于高性能的嵌入式微处理器,为了能够最大化的发挥其性能以及支持上层更加复杂化、高级的应用开发,往往都需要有嵌入式操作系统的支持。嵌入式操作系统是嵌入式应用系统的重要组成局部,它具有很强专用性,结合实际系统需求进行合理的裁减利用,能够把底层硬件虚拟化并对资源进行有效的管理。目前主流的嵌入式操作系统有嵌入式Linux、Vxworks、winCE等[5]。Linux最初是专门为基于Intel处理器的个人计算机而设计的。Linux的前身是由LinusTorvald维护开发的Unix操作系统的内核。目前人们习惯性的用Linux来表示以Linux内核为根底的整个操作系统。Linux操作系统是对群众免费的,源码对公众开放,降低了开发的门槛,同时其还具有内核可裁剪、兼容Unix等特性,使其成为了嵌入式开发的首选。Linux操作系统主要具有以下优势:模块化程度高;源码公开;广泛的硬件支持;平安性及可靠性好;具有优秀的开发工具;有很好的网络支持;与UNIX完全兼容。顾名思义,嵌入式Linux操作系统就是用于嵌入式系统中的Linux操作系统。将Linux用于嵌入式系统,并不是原封不动的照搬,而需要根据具体嵌入式系统的特点,有针对性的对Linux内核进行修改、裁剪和补充。考虑到一般嵌入式系统的硬件资源有限,因此一般定制的嵌入式Linux系统的内核都比拟小,小那么只有几百K,大也只有几M,加上文件系统、应用程序等所占用的存储空间也很小。嵌入式Linux系统虽小但却是实时操作系统,且具有多任务、多进程的系统特征,因此在嵌入式领域应用广泛[6]。3.2嵌入式Linux交叉开发环境的搭建所谓的交叉开发就是指在PC机上进行程序的编辑、编译、调试,生成可执行文件,然后烧写到目标系统中运行、验证。嵌入式Linux交叉开发环境分为硬件环境和软件环境。开发需要的硬件设备包括三个局部宿主机、目标机和连接设备,宿主机就是装有Windows操作系统的PC机,目标机就是需要开发的设备,连接设备就是JTAG线、DB9串口线、网线、USB线等,主要用于宿主机与目标机之间的通信。交叉开发的硬件环境仅需要一台普通的PC机,主要是软件环境的搭建。3.2.1嵌入式Linux交叉开发软件环境的搭建嵌入式开发的宿主机一般为装有Windows操作系统的PC机,因此在嵌入式Linux软件开发之前首先需在PC机上安装一个Linux操作系统。常用的方式有两种:安装双系统;Windows系统中安装虚拟机。3.2.2超级终端的配置超级终端主要是通过串口实现板卡与用户之间的信息交流。用户可以通过超级终端上的串口打印信息了解板卡的工作状况,同时用户可以在超级终端上输入命令对处理器进行操作。无超级终端也可使用终端仿真程序SecureCRT。3.3Linux操作系统移植基于S3C2416的Linux操作系统的移植方式为先从SD启动,然后依次烧写U-boot、LinuxKernel、文件系统。实现Bootloader的移植,Linux内核移植、文件系统的移植。3.4设备驱动开发设备驱动程序其实就是Linux内核的一局部,作为操作系统与嵌入式系统硬件设备之间的接口,直接与底层硬件打交道。设备驱动为应用层程序屏蔽了硬件的细节,应用程序可以把硬件设备当作设备文件,像操作普通文件一样对其进行操作。Linux操作系统将设备分为三种根本类型:字符设备、块设备和网络接口设备。字符设备是一个能够像字节流一样被访问的设备,如串口、键盘、CAN总线等。系统中能够随机访问固定大小数据片的设备称作块设备,最常见的块设备如硬盘和Flash。Linux设备驱动一般由几个固定的功能模块构成:初始化模块,用于向内核注册设备;卸载模块时删除设备驱动程序的模块;对相应设备进行操作的功能函数模块等。设备驱动作为Linux系统的重要组成局部,其加载方式有两种:静态加载,即直接将设备驱动程序编译到内核中去,系统启动时直接调用;动态加载,即将设备驱动程序独立编译成模块,系统运行以后需要使用相应设备时进行动态安装。静态加载意味着每一次修改驱动程序都需要对Linux内核进行重新编译下载,不是很方便,因此自己编写的设备驱动程序一般采用动态加载的模式,不仅可以节约系统启动时间而且方便调试。典型应用实例介绍4.1纸币清分机纸币清分机,也就是对纸币的混点、面额、分版、正反面、新旧程度、真伪等方面进行鉴别或者清分的设备。更高级一点的纸币清分机,还具有计数、计值、挑残、ATM配钞、多面值清分,以及高精度识别高仿假币的功能。纸币清分系统虽然同样也包含图像识别环节,但是与一般的图像识别系统还是有显著的不同。首先它要求必须有很强的实时性,并对很多图像特性的识别也同样要有极高的准确性[7]。硬件设计本实例主要讲解基于S3C2416芯片的纸币清分机硬件系统的设计方案,主要工作流程包括:图像传感器采集纸币图像得到模拟信号,然后经过放大、A/D转换和FPGA协调之后得到数字图像,再经由缓存后进入到主CPU-S3C2416,通过图像识别原理,实现其对面向、面值、新旧分级、破损程度等特征的一系列识别,最后将结果送至控制CPU,用来对识别结果进行相应的显示和清分。其中大致包括以下几个局部:主控模块、图像采集模块、图像处理模块、检测模块、分析显示模块等,结构大致如图4.1所示。图4.1纸币清分机硬件架构S3C2416清分机控制板是目前国内外市场上基于S3C2416面向用户开发的接口最为丰富、功能最为强大的一款开发板,而且底板可以根据用户的需要进行OEM调整设计。其硬件组成大致如图4.2所示:图4.2S3C2416清分机控制板硬件组成4.1.2软件系统设计与实现由第三章可知,不可能直接在嵌入式系统上安装编译器和链接器。因此只能选择在通用计算机中安装Linux系统,然后再进行编辑和编译代码、链接程序,最后再将目标程序加载到目标板上进行运行。这一系列的工作,就需要在交叉开发环境中来完成。具体步骤如下:一、构建嵌入式Linux系统〔1〕建立交叉开发环境〔2〕建立控制板BootLoader〔3〕移植Linux内核〔4〕制作YAFFS根文件系统二、烧录Linux到控制板〔6〕烧写镜像文件〔7〕设置U-BOOT环境变量〔8〕通过TFTP传输并写入映像文件三、Linux设备驱动程序〔9〕LINUX设备驱动设计〔10〕LINUX设备驱动加载〔11〕LINUX设备驱动测试四、系统启动〔12〕测试系统运行情况4.2多功能公交车载终端系统使用三星ARM9处理器S3C2416,采用嵌入式Linux操作系统,实现了公交车自动语音报站、车辆实时监控、智能调度、数据无线传输等功能。整个系统主要由车载终端设备、GPRS网络及控制中心组成[8]。硬件整体设计公交车的系统要求决定了车载终端的复杂性。本车载终端硬

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论