《嵌入式实验平台.ppt》由会员分享,可在线阅读,更多相关《嵌入式实验平台.ppt(40页珍藏版)》请在三一办公上搜索。
1、第7章 嵌入式实验平台,本章主要内容:Samsung S3C44B0X微处理器UP-NETARM3000嵌入式平台基于UP-NETARM3000平台的实验实例,Samsung S3C44B0X 简介,S3C44B0X的片上功能:2.5V ARM7TDMI内核,带有8K高速缓存器(SAMBAII总线体系结构);外部存储器控制器(FP/EDO/SDRAM控制,片选逻辑);LCD控制器(最大支持256色STN,LCD具有专用DMA);2通道通用DMA、2通道外设DMA并具有外部请求引脚;2通道UART,带有握手协议(支持lrDA1.0,具有16-byte FIFO)1通道SIO;1通道多主IIC-B
2、US控制器;1通道IIS-BUS控制器;5个PWM定时器核1通道内部定时器;看门狗定时器;71个通用I/O口、8通道外部中断源;功耗控制:具有普通、慢速、空闲核停止模式;8通道10位ADC;具有日历功能的RTC;具有PLL的片上时钟发生器。,Samsung S3C44B0X特性1,1.体系结构:集成了手持设备核通用嵌入式系统应用的解决方案;6/32位RISC体系结构核ARM7TDMI处理器内核强大的指令体系;Thumb代码压缩机,最大化代码密度同时保持了32位指令的性能;基于JTAG的片上集成ICE调试支持解决方案;328位硬件乘法器;实现低功耗SAMBAII的新型总线结构。,Samsung
3、S3C44B0X特性2,2.系统管理器:支持大/小端方式;寻址空间:每bank32M字节(共256M字节);支持每bank可编程的8/16/32位数据总线宽度;7个bank具有固定的bank起始地址核可编程的bank大小;1个bank具有可编程的bank起始地址核bank大小;8个存储器bank:6个ROM,SRAM存储器bank;2个ROM/SRAM/DRAM(快速页面,EDO和同步DRAM);所有的存储器bank具有可编程的操作周期;支持外部等待信号延长总线周期;支持掉电时DRAM/SDRAM的自刷新模式;支持均匀/非均匀的DRAM 地址。,Samsung S3C44B0X特性3,3.Ca
4、che存储器和内部SRAM:一体化的8K字节cache;未用的cache空间用来作为0/4/8k字节的SRAM存储空间;支持LRU替换算法;采用保持主存储器与cache内容一致性的“写穿式”策略;写存储器具有4级深度;当cache未命中时,采用“请求数据优先填充”技术。,Samsung S3C44B0X特性4,4.时钟和电源管理:片上PLL使MCU工作时最大达到75MHZ;可以通过软件设置各功能模块的输入时钟;电源模式:正常、慢速、空闲和停止模式:正常模式正常工作模式;慢速模式不加PLL的低时钟频率模式;空闲模式只停止CPU的时钟;停止模式停止所有的时钟;通过EINT7:0或RTC报警中断从停
5、止模式唤醒。,Samsung S3C44B0X特性5,5.中断控制器:30个中断源(看门狗定时器、6个定时器、6个UART、8个外部中断、4个DMA、2个RTC、1个ADC、1个IIC、1个SIO);采用向量化的IRQ中断模式以减少中断的延迟;可选的电平/边沿模式触发外部中断;电平/边沿模式具有可编程的优先级;支持FIQ为紧急的中断请求进行服务。,Samsung S3C44B0X特性6,6.定时器和PWM(脉宽调制):5通道16位具有PWM功能的定时器,1通道16位内部定时器(可进行基于DMA或中断的操作);可编程的占空比周期、频率和优先级;支持外部中断源;能产生死区。7.RTC(实时时钟):
6、充分的时钟特性:毫秒、秒、分钟、小时、日、星期、月、年32.768KHz时钟;定时警报,可用于唤醒CPU;可产生时钟节拍中断。8.通用I/O口:8个外部中断口;71个多功能输入/输出口;,Samsung S3C44B0X特性7,9.UART(异步串行通讯):2通道通用UART,可进行基于DMA或中断的操作;支持5位、6位、7位或8位串行数据传输/接收;支持在发送/接收期间的H/W握手功能;可编程的波特率;支持IrDA1.0(115.2Kbps);支持用于测试的回馈模式;每个通道具有2个内部32字节的FIFO分别用于输入和输出。,Samsung S3C44B0X特性8,10.DMA(直接存储器操
7、作)控制器:2通道通用DMA(直接存储器操作)控制器,不需要CPU干预;2通道DMA桥(外设DMA)控制器;支持I/O到存储器,存储器到I/O,I/O到I/O的6种DMA请求;在同时发生的多个DMA之间具有可编程的优先级顺序;采用猝发式的传输模式以提高FPDRAM、EDODRAM和SDRAM的数据传输速率;支持在外部设备到存储器和存储器到外部设备之间采用fly-by模式。,Samsung S3C44B0X特性9,11.A/D转换器:8通道的ADC;最大500k SPS/10-bit。12.LCD控制器:支持彩色/黑白/灰度LCD屏;支持单路扫描和双路扫描;支持虚拟显示屏功能;系统存储器用来作为
8、显示缓存;用专门的DMA来从系统存储器中获得图象数据;灰度等级:16级灰度;最多256种颜色。,Samsung S3C44B0X特性10,13.看门狗定时器:16位的看门狗定时器;在定时器溢出时发出中断请求或系统复位。14.IIC总线接口:1通道多主IIC总线,可进行基于中断的操作模式;可进行串行,8位,双向数据传输,标准模式速度达到100Kbit/S,快速模式达到400Kbit/S;15.IIS总线接口:1通道音频IIS总线接口,可进行基于DMA的操作;串行,每通道8/16位数据传输;支持MSB-justified数据格式。,Samsung S3C44B0X特性11,16.SIO(同步串行I
9、/O):1通道SIO,可进行基于DMA或中断的操作;可编程的波特率;支持8位串行数据的传输和接收操作。17.工作电压范围:内核2.5V,I/O口:3.0V到3.6V。18.工作频率:最大75MHZ19.封装:160LQFP/160FBGA,Samsung S3C44B0X引脚,下页续,Samsung S3C44B0X引脚,下页续,Samsung S3C44B0X引脚,下页续,Samsung S3C44B0X引脚,下页续,Samsung S3C44B0X引脚,下页续,Samsung S3C44B0X引脚,Samsung S3C44B0X嵌入式结构,嵌入式系统的组成,通常而言,整个嵌入式系统是由嵌
10、入式处理器、嵌入式外围设备、嵌入式操作系统、嵌入式应用软件等几大部分组成。嵌入式系统的核心是嵌入式微处理器,它应具备对实时多任务很强的支持能力,可扩展的处理器结构,还要具有很强的存储区保护功能。嵌入式外围设备用于完成存储、通信、显示、调试等辅助功能。它包括存储器,通信设备,显示设备,调试设备,输入设备。嵌入式操作系统是专门负责管理存储器的分配、中断处理、任务调度等功能的软件模块。嵌入式操作系统通常包括与硬件相关的底层驱动程序、系统内核、设备驱动借口、通信协议、图形用户界面(GUI)等。嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机用户软件。,UP-NET
11、ARM3000嵌入式平台组成 1,1.核心模块:基于ARM7架构的嵌入式芯片三星3C44B0 x芯片8MB SDRAM2MB 线性Flash作为引导ROM2.扩展模块:16M非线性Flash 两个串口、一个USB口 一个JTAG通用接口等 10M以太网口 触摸屏 17键键盘(下页续),UP-NETARM3000嵌入式平台组成 2,320*240 STN彩色LCD16M U盘直流电机、步进电机模块音频模块CAN总线模块A/D、D/A模块I2C接口3配件:JTAG简易仿真器1套并口电缆、串口电缆各一根USB下载电缆一根对等网线一根电源一个,UP-NETARM3000嵌入式平台组成 3,4实验软件包
12、光盘:完全移植好的C/OS-、CLinux开发系统移植好的MiniGUI图形用户界面基于RTOS的通用文件管理模块、通用LCD驱动模块USB通讯驱动模块、标准GUI模块、Unicode汉字库、丰富API函数库实验课件案例源码LCD等公开源码,UP-NETARM3000嵌入式平台硬件资源,开发平台上的核心模板,它可插拔,易于更换。开发平台下的blob、内核(Kernel)及文件系统可以重新烧制,以满足不同的教学需求。,UP-NETARM3000嵌入式平台硬件资源,上图是UP-NETARM3000嵌入式实验平台的核心模板,除了核心摸板以外,还包含了系统的外围设备。系统外围设备的硬件部分包括:液晶显
13、示屏(LCD、触摸屏)、USB通讯模块、网络接口模块、键盘、海量Flash存储器、系统的时钟和日历等。外围设备的硬件部分是保证系统实现指定任务的最底层的部件。,系统安装,1.硬件安装:在进行嵌入式系统开发时需要用到两个平台:一个是开发平台(Host,宿主机),一般由PC机来充当;另一个是目标平台(Target),在这里指嵌入式实验平台。可以通过串行口、并行口和以太网等方式将开发平台与目标平台相连。对于嵌入式Linux系统来说,最简单的开发环境只需要用到宿主机、目标板和串行连接线。,系统安装,2.软件安装:软件安装包括Linux操作系统的安装和开发工具软件的安装。可选用RedHat Linux9
14、.0,选择Custom 定制安装,在选择软件Package 时最好将所有包都安装,需要空间约2.7G。安装完Redhat 后还要安装uclinux 的编译器和开发库以及uclinux 的所有源代码,安装这些软件包总共需要大约800M的磁盘空间。开发工具软件的安装只需将实验平台附带的开发工具光盘插入CDROM,mount进来,执行./install.sh(运行安装脚本),安装脚本程序将自动建立/uclinux 目录,并将所有开发软件包安装到/uclinux目录下,同时自动配置编译环境,建立合适的符号连接。,Clinux开发软件的安装目录,实验基础,1.建立开发环境:硬件连线;安装开发工具软件;在
15、宿主机和目标板之间建立通讯连接,以构建嵌入式Linux的开发运行环境。首先,要在宿主机上运行一个终端仿真程序Minicom。Minicom是一个界面友好且容易使用的串口通信程序,利用它可以很方便地对串行端口进行监视或控制,它是嵌入式Linux开发环境中非常重要的一个组成部分。对Minicom进行串行通信的参数设置。如果一切正常,下面就可以在宿主机的Minicom(超级终端模式)下与目标板建立起正常的通讯,可以将Minicom看成目标板上嵌入式Linux系统的一个超级终端,也就是说在Minicom中输入的所有命令都将交由目标板上的嵌入式Linux系统来进行处理。,实验基础,2.基础编程:嵌入式L
16、inux系统编程一般流程是:先在通用计算机也就是宿主机上编写程序;然后,通过交叉编译,生成目标平台上可运行的的二进制代码格式;最后下载到目标平台上的特定位置上运行.,实验基础,目前在嵌入式系统中最广泛采用的编程语言是C语言,C语言已成为嵌入式系统专用语言。在Linux操作系统下完成C语言基础编程的步骤如下:1)输入源程序2)交叉编译3)链接 4)下载5)调试 6)Makefile文件的编写。,Makefile文件,Makefile被用来告诉Make编译哪些文件、怎样编译和何时编译。在Linux环境下编译多个源文件时使用Makefile就避免了键入复杂的命令行。Makefile中的每条规则包含如
17、下一些内容:目标(target):是make最终需要创建的对象;依赖(dependency):通常是一个列表,指明编译目标时需要用到的其它文件;命令(command):也是一个列表,指明从依赖文件创建出目标对象所需要执行的命令。,键盘与LED驱动实验,1.实验目的:通过这个实验掌握LED数码管及键盘管理器ZLG7289A芯片的原理与应用,并且学会编写接口驱动程序。2.实验原理:ZLG7289A芯片具有SPI串行接口,可同时驱动位共阴式数码管(或64只独立LED),还可连接多达键的键盘矩阵,单块芯片即可完成显示、键盘接口等全部功能。其内部含有译码器,可直接接收BCD码或进制码,并同时具有种译码方
18、式,此外还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。通过ZLG7289A自身所具有的片选信号,可以方便地实现多于 位显示或多于 键的键盘接口。,ZLG7289A引脚功能说明,ZLG7289A指令与通讯,ZLG7289A的控制指令分为二大类:纯指令:包括复位(清除)指令(0A4H)、测试指令(0BFH)、左移指令(0A1H)、右移指令(0A0H)、循环左移指令(0A3H)、循环右移指令(0A2H)等。带有数据的指令:则包括下载数据译码指令、读键盘数据指令和其它诸如:闪烁控制、消隐控制、段点亮指令、段关闭等指令。ZLG7289A采用串行方式与微处理器通讯,串行数据从DATA引脚送入芯片
19、,并由CLK端同步。当片选信号变为低电平后,DATA引脚上的数据在CLK引脚的上升沿被写入ZLG7289A的缓冲寄存器。,电机基础,1.直流电机 晶体管的导通时间也被称为导通角,若改变调制晶体管的开与关的时间,也就是说通过改变导通角的大小,来改变加在负载上的平均电压的大小,以实现对电动机的变速控制,称为脉宽调制(PWM)变速控制。在PWM 变速控制中,系统采用直流电源,放大器的频率是固定,变速控制通过调节脉宽来实现。开发板中直流电机驱动的实现:由于S3C44B0X 芯片自带六路3 对PWM定时器,所以控制部分省去了三角波产生电路、脉冲调制电路和PWM 信号延迟及信号分配电路,取而代之的是S3C
20、44B0X 芯片的定时器0、1 组成的双极性PWM 发生器。,电机基础,2.步进电机步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。它能直接接收数字量的输入,所以特别适合于微机控制。分类:)反应式步进电动机(VR)永磁式步进电动机(PM)混合步进电动机(HB)。,开发板中步进电机控制的实现,本开发板中使用的步进电机为四相步进电机。转子小齿数为64。系统中采用四路I/O 进行并行控制,ARM 控制器直接发出多相脉冲信号,在通过功率放大后,进入步进电机的各相绕组。这样就不再需要脉冲分配器。脉冲分配器的功能可以由纯软件的方法实现。本系统中采用的是四相
21、单、双八拍控制方法,所以步距角为360/512。但步进电机经过一个1/8 的减速器引出,实际的步距角应为360/512/8。开发板中使用EXI/O 的高四位控制四相步进电机的四个相。按照四相单、双八拍控制方法,电机正转时的控制顺序为AABBBCCCDDDA。,LCD实验,S3C44B0X 微处理器中具有内置的LCD控制器,可支持黑白LCD和彩色LCD。LCD控制器可以通过编程支持不同LCD屏的要求。LCD控制器的主要工作是将定位在系统存储器中的显示缓冲区中的LCD图像数据传送到外部LCD驱动器中。内置的LCD 控制器提供了下列外部接口信号:VFRAMEVLINEVCLKVMVD3:0 VD7:4,