嵌入式系统设计实训报告_第1页
嵌入式系统设计实训报告_第2页
嵌入式系统设计实训报告_第3页
嵌入式系统设计实训报告_第4页
嵌入式系统设计实训报告_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

1、上海海洋大学嵌入式系统设计项目实训报告(2016-2017第_1_学期)专业:计算机科学与技术实训项目:嵌入式应用一一电子相册实训时间:_2016隼_12M26日实训成员:孙嘉晨1351127力1351137指导老师:池涛计算机科学技术系2015年11月制一、实训目的通过电子相册的制作,了解S3c2440芯片的构造,了解外围SDRAM及NANDFLASH的存储结构。学会运用定时器中断及通过LCD显示图片,加强自身对嵌入式的理解,提升自身的实践能力。二、实训内容以S3c2440芯片为核心,通过外围SDRAM及NANDFLASH存储实现照片的存储,结合定时器中断,实现LCD显示图片,完成简易电子相

2、册的设计。三、实训设备硬件:mini2440硬件平台软件:bmp2h.exe软件进行图片转换CodeWarriorforARMDeveloperSuite软件四、实训设计方案(包括项目功能需求分析,方案设计,完成时间规划)需求分析:在上世纪末本世纪初,电子相册呈现迅速发展白势头,普及型数码相机的分辨率由200万象素增长到现在的8001500万象素,价格也由300美元左右下降到现在的120美元左右。随着数码相机的日益普及,作为一种以数字照片的保存、回放和浏览为核心功能的产品一一电子相册自然迎合了消费者的需求。方案设计:软件设计:代码包含2个模块,LCD模块包含两个文件,进行图片的显示与编辑;Ti

3、mer模块包含6个文件,其中timer.c和timer.h文件完成定时器的初始化,interrupt.h和interrupt.c文件完成定时器中断函数的初始化,isrservice.h和isrservice.c文件完成定时器中断处理,pic.c和pic.h等文件是由图片生产的C语言数组文件硬件方面选择了S3c2440为核心的架构。基于ARM的微处理器具有低功耗、低成本、高性能等特点,ARM采用RISC(精简指令集计算机)架构和流水线结构,使用了大量的寄存器,具有极高的工作效率。其中,RISC架构具有如下特点:固定长度的指令格式,指令归整、简单,基本寻址方式只有23种,使用单周期指令,便于流水线

4、操作。因此选择此硬件方案的优势有如下:(1)系统芯片功能强大,实现的功能多,对于新的多媒体格式支持性好,只需要安装更新的软件;(2)硬件电路简单,可采用标准电路,不需耗费过多的资源(人力,资金等);(3)可以在硬件上增加模块,留作二次开发使用,极为方便;(4) S3c2440是一个比较成熟的芯片,技术积累齐全;(5) S3c2440支持丰富的存储卡接口。完成时间规划:第一天分析实训项目实现过程,完成软件方面内容,编写代码。第二天实现硬件分析,完成硬件连接,对项目进行测试。第三天完成实训内容,提交报告。五、实训项目实现代码结构逻辑:Main.c文件Timer模块S3C2440简介:TFTLCD模

5、块Samsung公司推出的32位RISC处理器S3c2440A,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。S3c2440为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。采用272脚FPGA封装,内含一个ARM920T内核。为了降低系统成本,S3C2440A提供了以下丰富的片内外围。ARM9-S3c2440处理器,ARM920T核由ARM9TDMI、存储管理单元,MMU和高速缓存三部分组成。其中MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成。ARM92T0有两个内部协处理器:CP14和CP15。C

6、P14用于调试控制CP15用于存储系统控制以及测试控制。总的资源如下:?内核工作电压为1.2V,内存工作电压兼容1.8V/2.5V/3.3V,外围I/O口使用3.3V,集成16KB的指令缓存和16KB的数据缓存,带MMUI(MemoryManagementUnit),支持SRAM和SDRAM等内存。?LCD控制器接口(最高支持4K色的STN和256K色的TFT)?4通道DMA控制器?3通道UART?2通道SPI接口?IIC总线接口?IIS音频编解码数据接口?AC97音频接口?MMC/SD存储卡接口?2通道USB传输接口和1个复用的USB设备接口?4通道PWM(脉宽调制)定时器和1个看门狗定时器

7、?8通道10位ADC和一个触控屏接口?实时时钟?130个GPIO口和24通道外部中断源接口?片上PLL时钟发生锁相环硬件系统框图如下:电源SDRAM时钟电路LCD显示ARMS片S3C2440NandFlashSDRAM存储接口原理图:SDRAM:同步动态随机存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。SDRAM从发展到现在已经经历了四代,分另1J是:第一代SDRSDRAM,第二代DDRSDRAM,第三代DDR2SDRAM,第四代DDR3SDRA

8、M.(显卡上的DDR已经发展到DDR5)第一代SDRAM采用单端(Single-Ended)时钟信号,第二代、第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。SDRAM之所以成为DRARM就是因为它要不断进行刷新(Refresh)才能保留住数据,因此它是DRAM最重要的操作。那么要隔多长时间重复一次刷新,目前公认的标准是,存储体中电容的数据有效保存期上限是64ms(毫秒,1/1000秒),也就是说每一行刷新的循环周期是64ms。这样刷新速度就是:行数量/64ms。我们在看内存规格时,经常会看到4096RefreshCycles/64ms或8192RefreshC

9、ycles/64ms的标识,这里的4096与8192就代表这个芯片中每个Bank的行数。刷新命令一次对一行有效,发送间隔也是随总行数而变化,4096行时为15.625人(微秒,1/1000毫秒),8192行时就为7.81259sHY57V561620为8192refreshcycles/64ms。本设计采用32M的HY57V56162来设计SDRAM存储电路,它的单片内存规格为256Mbit4M*16bit*4Banks,即容量为32MB的16位SDRAM。使用S3c2410的nGCS6片选信号HY57V56162的数据总线与上S3c2410的低16位相连。操作地址的最小值变为0x000000

10、04,所以将S3c2410的ADDR2-ADDR14顺序与HY57V56162的A0-A12相连。为了能够正确访问HY57V56162高/低位字节数据,又将HY57V56162的LDQM和UDQM分别与nBE0:nWBE0:DQM0和nBE1:nWBE1:DQM1相连,HY57V56162的BA0、BA1是SDRAM内部BANK选择地址线代表着SDRAM内存的最高地址,因为两片HY57V56162组成了64M的内存,也就是说要26根地址线来实现寻址,所以将BA0、BA1分另I与S3c2410的ADDR24和ADDR25引脚相连。原理图如下图所示:23456"DDELADDR13A11

11、KCLMVVPYSTSCGLSCGLADDRn0/GPA0ADDR1ADDR2ADDR3ADDR4ADDR5ADDR6ADDR7ADDR8ADDR9ADDR10ADDR11ADDR12ADDR13ADDR14ADDR15ADDR16/GPA1ADDR17/GPA2ADDR18/GPA3ADDR19/GPA4ADDR20/GPA5ADDR21/GPA6ADDR22/GPA7ADDR23/GPA8ADDR实验代码:ADDRE/GPA1T-VD0VD1VD2VD3VD4VD5VD601234567890VD711111111112VD8DDDDDDDDDDDVD9VVVVVVVVVVV091HH01

12、23NNNNIIIIAAAAUU45。6NNKKNIIlliAAccATTPP071Ml5LDATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8DATA9DATA10DATA11DATA12DATA13DATA14DATA15VDDMCPVDDMCPVDDMCPVDDMCPVDDMCPVDDMCPVDDMCPVDDOP(3.3)VDDOP(3.3)VDDOP(3.3)VDDOP(3.3)R/nBALE/GPA18CL日GPA17nFC日GPA22nFC日GPA202410LNGCS0nRESETVDD33ERPnFC日GPA19NANDFLASH存储接口原

13、理图:vd.3,C19nRESETNand-flash内存是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内,存;K,的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快等优点,;,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相Title机、MP3随身听记忆卡、体积小巧的U盘等。NOR和NAND是现在市场上两种主要的非易失;::二Date.22-Jun-2012File:D.ProgramFilesDesignExplorer234567闪存技术。Intel于1988年首先开发出NORflash技术,彻底改变了原先

14、由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NANDflash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。NANDflash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。NandFlash读和写操作采

15、用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。NORflash占据了容量为116MB闪存市场的大部分,而NANDflash只是用在8128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、SecureDigital>PCCards和MMC存储卡市场上所占份额最大。64M的K9F1208U0B当前NORFLASH价格比较昂贵,考虑到成本问题,本设计采用了NandFlash作为介质存储电路,将K9F1208U0B的I/O0-7与上S3c2410的数据总线DATA0-7

16、相连,实现数据的读写。S3c2410中NandFlash控制器的R/nB与K9F1208U0B的R/nB相连,可以检查nFCE/GPA22、nFRE/GPA20、nFWE/GPA19分别与K9F1208U0B的CLE、nCE、nRE、new是否相连。分别可以控制K9F1208U0B的地址锁存使能、命令锁存使能、片选使能、读使能和写使能。原理图如下图所示:nRCE9qCLE16ALE17nPWE18qnPRE8-dRrB7-601336I/O7I/O6I/O5R/BI/O4CEI/O3CLEI/O2IEI/O1WE-I/O0RESEWPVSSVCCVSSVCCU2K9F280843LDATA64

17、2LDATA541LDATA432LDATA331LDATA230LDATA129LDATA019.VDD3344LDATA71237:C16CAPLCD电路模块:LCD的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。现在LCD已经替代CRT成为主流,价格也已经下降了很多,并已充分的普及。LCD制造时选用3勺控制IC、滤光片和定向膜等配件,与面板的对蛤度有关,一般而言,对比度能够达到350:1就足够了,但在专业领域这样的对比度平

18、还不够。相对CRT显示器轻易达到500:1甚至更高的对比度而言,只有高档液晶显示器才能达到这样如此程度。LCD是一种介于固态与液态之间的物质,本身是不能发光的,需借助要额外的光源才行。最早的液晶显示器只有上下两个灯管,发展到现在,普及型的最低也是四灯,高端的是六灯。四灯管设计分为三种摆放形式:一种是四个边各有一个灯管,但缺点是中间会出现黑影,解决的方法就是由上到下四个灯管平排列的方式,最后一种是U型的摆放形式,其实是两灯变相产生的两根灯管。六灯管设计实际使用的是三根灯管,将三根灯管都弯成U型,然后平行放置,以达到六根灯管的效果。下2图是S3c2410X芯片内部集成的LCD控制器的外部管脚图和内

19、部方框图,其中内部的寄存器作用如下:REGBANK有17个可编程寄存器组和256*16的调色板存储器,用来设定LCD控制器。LCDCDMA是一个专用DMA,自动从帧存储器传输视频数据到LCD控制器,用这个特殊的DMA,视频数据可不经过CPU干涉就显示在屏幕上。VIDPRCS接受从LCDCDMA来的视频数据,并在将其改变到合适数据格式后,经VD23:0将之送到LCD驱动器,如4/8单扫描或4双扫描显示模式。S3C2440LCD®制器LEND<=VCLK/LCDHCLKLCD-PWREN<=>VLINE/VSYNC/CPVLCDVF0VFRAME/VSYNC/STVLC

20、DVF1<=VM/VDEN/TPLCDVF2VD23-0TIMEGEN由可编程逻辑组成,以支持不同LCD驱动器的接口时序和速率的不同要求。TIMEGEN产生VFRAME、VLINE、VCLK、VM信号等。数据流描述如下:FIFO存储器位于LCDCDMA。当FIFO空或部分空时,LCDCDMA要求从基于突发传输模式的帧存储器中获取数据,存入要显示的图像数据,而这个帧存储器是LCD控制器在RAM中开辟的一片缓冲区。当这个传输请求被存储控制器中的总线仲裁器接收到后,从系统存储器到内部FIFO就会成功传输4个字。由于S3c2410内部集成的LCD控制器如上所以设计的外接LCD电路模块如下图:U5

21、nRESET,121,222,323,424,525,626727,828.9291030113112321333143415351636173718 3819 39.2040VD16VCC33VD17VD181VD19VD0VD20J_VD1VD21hVD2VD22VD3VD23VD4VD5VMTDVD7VCLKVD8TSYMVD9VD10VD11TSYPTDTTSXMVD13VD14,4VD15TSXPLCD640480软件代码:Main.c文件:#include"timer.h"#include"isrservice.h"#include"

22、;uart.h"#include"lcd.h"#include"pic.h"#include"pic1.h"#include"pic2.h"#include"pic3.h"#include"pic4.h"#include"led.h"voidIO_Init(void);unsignedintflag=0;intMain(void)IO_Init();while(1)switch(flag)case 1:Paint_Bmp(pic);break;c

23、ase 2:Paint_Bmp(pic1);break;case 3:Paint_Bmp(pic2);break;case 4:Paint_Bmp(pic3);break;case 5:Paint_Bmp(pic4);break;default:break;return0;voidIO_Init(void)Timer0_Init();Timer0_Interrupt_Init();Isr_Init();Lcd_Init();Lcd.c文件:#include"2440addr.h"#include"Icd.h"#defineLOW21BITS(n)(n)&

24、amp;0x1fffff)/Togetlower21bits#defineLcd_Enable()rLCDCON1|=1volatileunsignedshortLCD_BUFFER240320;externunsignedchar_CHS口;staticvoidLcd_Config(void)rGPCCON=0xaaaa02a9;rGPDCON=0xaaaaaaaa;rLCDCON1=(CLKVAL_TFT<<8)|(3<<5)|(BPPMODE_TFT<<1);rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<1

25、4)|(VFPD<<6)|(VSPW);rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD);rLCDCON4=(HSPW);rLCDCON5=(FRM565_TFT<<11)|(INVVCLK_TFT<<10)|(INVVLINE_TFT<<9)|(INVVFRAME_TFT<<8)|(HWSWP);rLCDSADDR1=(unsignedint)LCD_BUFFER>>22)<<21)|LOW21BITS(unsignedint)LCD_BUFFER&

26、gt;>1);rLCDSADDR2=LOW21BITS(unsignedint)LCD_BUFFER+(LCD_YSIZE_TFT*LCD_XSIZE_TFT*2)>>1);rLCDSADDR3=(0<<11)|(LCD_XSIZE_TFT/1);voidLcd_PowerEnable(intpowerEnable)rGPGCON=rGPGCON&(3<<8)|(3<<8);rGPGDAT=rGPGDAT|(1<<4);rLCDCON5=rLCDCON5&(1<<3)|(powerEnable<

27、<3);voidPutPixel(unsignedintx,unsignedinty,unsignedshortc)(if(x<320)&&(y<240)LCD_BUFFER(y)(x)=c;voidPaint_Bmp(constunsignedcharbmp口)(intx,y;unsignedshortc;intp=0;for(y=0;y<240;y+)(for(x=0;x<320;x+)(c=bmpp+1|(bmpp<<8);if(x<320)&&(y<240)LCD_BUFFERyx=c;p=p+2;v

28、oidLcd_Init(void)(Lcd_Config();Lcd_Enable();Lcd_PowerEnable(1);Lcd.h文件:#ifndef_LCD_H_#define_LCD_H_/0=normal1=inverted/Halfwordswapcontrol/设置为TFT屏/设置为16bpp模式#defineMVAL(0)#defineINVVDEN(1)#defineHWSWP(1)#definePNRMODE(3)#defineBPPMODE(12)#defineLCD_XSIZE_TFT(320)#defineLCD_YSIZE_TFT(240)#defineCLKVA

29、L_TFT(7)# defineVBPD(14)# defineVFPD(11)# defineVSPW(2)# defineHBPD(37)# defineHFPD(19)#defineHSPW(29)#defineHOZVAL_TFT(320-1)#defineLINEVAL_TFT(240-1)#defineBPPMODE_TFT(12)#defineFRM565_TFT(1)# defineINVVCLK_TFT(1)# defineINVVLINE_TFT(1)# defineINVVFRAME_TFT(1)# defineINVVD_TFT(0)# defineINVVDEN_TFT(0)# definePWREN_TFT(0)externvoidLcd_Init(void);externvoidLcd_PowerEnable(intpowerEnable);externvoidPaint_Bmp(constunsignedcharbmp口);#

温馨提示

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

评论

0/150

提交评论