760 likes | 927 Views
嵌入式开发系统概况. 嵌入式开发系统概况和设备驱动. 开发平台硬件资源 开发平台软件资源 嵌入式开发平台的硬件布局 嵌入式系统开发流程 集成开发环境 可以练习的实验项目. 开发平台硬件资源. 1 ) CPU : ARM7TDMI 结构芯片 S3C44B0X ,工作频率 60MHz ; 2 ) BIOS : 2M , NOR FLASH ; 3 )内存: 8M , SDRAM ; 4 )海量存储器: 16M , NAND Flash ; 5 )键盘: 17 键数字小键盘; 6 )显示: 320×240 、 256 色 LCD ,带四线电阻式触摸屏;
E N D
嵌入式开发系统概况和设备驱动 • 开发平台硬件资源 • 开发平台软件资源 • 嵌入式开发平台的硬件布局 • 嵌入式系统开发流程 • 集成开发环境 • 可以练习的实验项目
开发平台硬件资源 • 1)CPU:ARM7TDMI结构芯片S3C44B0X,工作频率60MHz; • 2)BIOS:2M,NOR FLASH; • 3)内存:8M,SDRAM; • 4)海量存储器:16M,NAND Flash; • 5)键盘:17键数字小键盘; • 6)显示:320×240 、256色LCD,带四线电阻式触摸屏; • 7)USB接口:D12芯片,USB 1.1标准; • 8)串口:2路,最高波特率115200 b/s; • 9)网络接口:RTL8019,10M以太网; • 10)CAN接口:波特率125Kb、250Kb、500Kb、1Mb;
11)调试接口:JTAG,14针、20针; • 12)电机:直流电机,步进电机(带1/64减速器); • 13)A / D:ARM自带8路10位A /D,满量程2.5V,4路电位器,4路扩展; • 14)D / A:10位,满量程4.096V; • 15)LED: 8个,共阴,与键盘同由ZLG7289芯片驱动; • 16)音频输出:IIS总线,UDA1341芯片,44.1KHz音频; • 17)扩展插槽:2个,提供系统总线以及空余资源接口;
嵌入式微处理器 • 嵌入式微处理器(EMPU)、嵌入式微控制器(MCU)、嵌入式DSP处理器(EDSP)、嵌入式片上系统(SOC) • ARM、MIPS、68K、DSP、…… • ARM7、ARM9、ARM11、XSCALE、…… • 本开发系统的选择:ARM7TDMI结构芯片S3C44B0X
ARM-Advanced RISC Machines • ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 • ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。
ARM微处理器的特点 • 采用RISC架构的ARM微处理器一般具有如下特点: • 1、体积小、低功耗、低成本、高性能; • 2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件; • 3、大量使用寄存器,指令执行速度更快; • 4、大多数数据操作都在寄存器中完成; • 5、寻址方式灵活简单,执行效率高; • 6、指令长度固定;
ARM微处理器系列 • ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。 • - ARM7系列 • - ARM9系列 • - ARM9E系列 • - ARM10E系列 • - SecurCore系列 • - Inter的Xscale • - Inter的StrongARM
ARM7微处理器系列 • ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点: • - 具有嵌入式ICE-RT逻辑,调试开发方便。 • - 极低的功耗,适合对功耗要求较高的应用,如便携式产品。 • - 能够提供0.9MIPS/MHz的三级流水线结构。 • - 代码密度高并兼容16位的Thumb指令集。 • - 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。 • - 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。 • - 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。 • ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。
ARM7TDMI结构 • T取至THUMB,表示支持16bit的高代码密度的THUMB指令集。THUMB指令集是ARM指令集的子集,并且压缩到16bit字长。在系统中合理地交叉使用ARM和THUMB指令集,可以使系统在达到设计要求的同时,尽可能地减小代码量。 • D取至Debug,表示支持Debuging功能。 • M取至Multiplier,表示具备32bit硬件乘法器。 • I取至ICE,表示支持Embedded-ICE接口,可进行在线仿真。
ARM微处理器的寄存器结构 • ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括: • - 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。 • - 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
ARM微处理器的工作状态 • 从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: • 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令; • 第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。 • 当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。
ARM处理器模式 • ARM微处理器支持7种运行模式,分别为: • ─ 用户模式(usr):ARM处理器正常的程序执行状态 • ─ 快速中断模式(fiq):用于高速数据传输或通道处理 • ─ 外部中断模式(irq):用于通用的中断处理 • ─ 管理模式(svc):操作系统使用的保护模式 • ─ 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 • ─ 系统模式(sys):运行具有特权的操作系统任务。 • ─ 未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
Samsung S3C44B0X • Samsung S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件: • 8KB Cache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主I2C总线控制器、1个IIS总线控制器,5通道PWM定时器及一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。
开发平台软件资源 • 1)UarmJtag并口仿真器驱动程序; • 2)23个实验案例源代码 • 3)UCOS-II操作系统、文件系统、驱动程序、API函数的库文件;
嵌入式操作系统 • 近200种操作系统,WinCE、Linux、Vxworks、QNX、Nucleus、…… • 适于学习的源代码开放的操作系统:Linux、C/OS • Linux:层次结构且内核完全开放、网络功能强大、完整开发工具、广泛的硬件支持、遵循通用国际标准,便于程序的移植 • C/OS:源代码公开、实时内核、易懂、易学、易用
嵌入式系统设计 嵌入式系统开发实践 嵌入式软硬件协同设计 嵌入式系统编程 嵌入式操作系统 微处理器与接口设计 基础平台:ARM/DSP/FPGA/SOPC
集成开发环境 • ARM SDT 2.5开发环境 • ADS1.2 开发环境 • 集成开发环境的使用,参看实验指导讲义
可以练习的实验项目 • 实验一A:ARM SDT 2.5开发环境 • 实验一B:ADS1.2 开发环境 • 实验一C:超级终端设置及BIOS功能使用 • 实验二 ARM的串行口实验 • 实验三 键盘及LED驱动实验 • 实验四 D/A接口试验 • 实验五 ARM的A/D接口实验 • 实验六 电机转动控制实验 • 实验七 LCD的驱动控制实验 • 实验八 触摸屏程序设计 • 实验九 CAN总线通讯实验 • 实验十 定时器中断和驱动程序实验
实验十一 BOOTLOADER实验 • 实验十二A C/OS-II在ARM微处理器上的移植及编译 • 实验十二B 完善的C/OS-Ⅱ开发框架 • 实验十三 音频实验 • 实验十四 绘图的API函数 • 实验十五 系统的消息循环 • 实验十六 文件的使用 • 实验十七 列表框控件的使用 • 实验十八 文本框控件 • 实验十九 多任务和系统时钟 • 实验二十 UDP通讯实验 • 实验二十一 综合实验 • 实验二十二 模拟电子画板实验--触摸屏应用 • 实验二十三 基于ARM的多通道仪表信号采集实验——多任务与A/D转换
可选课题 • GPS通讯与路况信息系统 • 车辆照明模拟实验 • 车内空调系统实验 • 车内音频播放系统 • 车速控制和刹车系统 • 系统综合实验(看人数情况)
实验方式及要求 • 4-6人一组,每组选定一个课题项目 • 课题内部进行任务规划与分配 • 对课题进行功能、性能方面的分析 • 完成硬件及操作系统裁减的规划设计 • 在开发平台上实现操作系统的移植与裁减 • 完成课题各个任务模块的分析 、模拟与仿真 • 系统调试 • 实验过程及经验总结
嵌入式系统开发流程 • 系统功能、性能分析 • 系统方案总体设计 • 硬件平台的选择与裁减 • 操作系统的选择与裁减 • 最小系统的设计与验证 • 应用程序的设计 • 性能指标优化 • 开发经验总结
GPS通讯与路况信息系统 • 1.背景 • 全球定位系统(Global Positioning System),通常简称GPS,是一个中距离圆型轨道卫星定位系统。它可以为地球表面绝大部分地区提供准确的定位和高精度的时间基准。 • 车辆自动导航系统,它根据GPS接收机提供的车辆当前位置和用户输入的车辆目的地,参照电子地图计算合适的行驶路线并在行驶中以适当的方式给驾驶员提供必要的信息。
2.车辆GPS导航系统的功能: • 及时显示汽车在预先制定的电子地图中的位置、行驶速度以及与目的地距离; • 输入目的地后主动生成一条去目的地的最佳行驶路线,并在转弯时用语言提醒用户,使其去任何地方不用问路就可直接到达; • 随时可查询沿途的酒店、商店、加油站、修理厂、车站、码头等处的最新路况信息,为用户提供方便; • 可在汽车遭遇抢劫后,在指定范围内停止发动机的运行,并把汽车所出的位置报告警察;
使用处理流程 • 用户输入目的地。输入方法主要有下面几种。 • 在系统显示的电子图上直接点击选取地点; • 借助外接键盘,以类似PC机的中文输入法将地名输入导航系统; • 确定位置。 • 行驶路线。在用户输入了目的地之后,导航系统根据电子地图上存储的地图信息,就可以自动算出一条最合适的路线,指示给用户; • 行驶中的导航。在必要时刻向驾驶员提示信息。比如,车辆行驶到系统推荐路线中应转弯的路口前,系统应提示驾驶员:“200m后请向左转” 。
3.系统总体设计 • 由于实验平台没有配备GPS模块,本实验通过模拟实现。在LCD上显示模拟电子地图,实验者在触屏上直接点击选取目的地,然后实验者从PC机键盘输入汽车当前位置,通过串口传到ARM,用以模拟GPS模块接收到的从地面控制中心传来的汽车位置数据。导航系统将传回的数据与电子地图对比,得到汽车的当前位置,然后计算出一条最佳行车路线,并显示在LCD上。
4.硬件平台选择与剪裁 • 剪裁后的硬件: • CPU: ARM7TDMI结构芯片S3C44B0X; • BIOS:2M , NOR FLASH; • 内存:8M , SDRAM; • 海量存储器:16M , NAND FLASH; • USB接口:D12芯片,USB 1.1标准; • 显示:320*240像素、256色LCD,带4线电阻式触摸屏;
5.操作系统的移植与裁剪 • 5.1 操作系统的选择 • 5.2 操作系统的移植 • 5.3 操作系统的裁剪 • 文件系统的建立; • 必要的外设的驱动程序; • 实现基于Unicode的汉字字库; • 绘图等实用API;
6.最小系统的设计与验证 • 6.1 最小系统的设计 • 6.2 最小系统的验证
7.应用程序设计 • 7.1 程序功能 • 7.2 界面设计 • 7.3 程序流程
8.指标优化 • 时间指标 • 资源占用指标 • 系统稳定性
9.总结 • 在实验课题设计中,实现了哪些部分,使用到了哪些知识,掌握了哪些。 • 在方案设计与系统调试过程中遇到的问题与解决方案 • 系统方案中还存在的缺陷 • 对该课题提出的创新性的见解 • 在实验中,希望能加强掌握的知识与实验有哪些?
车辆照明模拟实验 • 背景 • 智能化的汽车照明系统又称适应性的照明系统(Adaptive Lighting Systems),它包括自适应前照灯系统AFS(Adaptive Frontlighting Systems)、改进的的信号照明和车内照明控制三部分。
适应性的前方照明系统AFS • 适应性的前方照明系统AFS是EUREKA的1403号项目,欧洲的汽车公司、车灯公司和光源公司共同承担了这个项目,美国和日本的一些公司也参与了此一项目。AFS具有弯道照明BL(Bending Light)、高速公路照明ML(Motorway Light)/乡间照明CL(Country Light)/城镇照明TL(Town Light)和恶劣天气照明AL(Adverse Weather Light)等功能。在城区驾驶时路面情况复杂,因而光形较宽,又由于车速不快,因而照射的距离不要很远。在高速公路,车速快,因而ML光束照射得远。在弯道处,BL应该给弯道以良好的照明。
实验要求: • 本次实验主要设计模拟AFS系统的部分功能。通过处理器对车速信息和方向信息的采集来控制车灯的照明方向和强度。同时接收控制信息,对车灯进行控制。
实验模拟条件: • 由于实验板上资源有限,对于AFS系统只能作简单的模拟,用8个共阴极LED模拟两个前大灯,点亮不同的LED表示不同的照明焦点。从正中间起对8个LED作对称编号,1号LED用于模拟正常前大灯,2号LED用于模拟高速行驶时的远光灯,3号LED用于模拟转向时的侧光灯,4号LED用于模拟转向时的信号灯。因为没有复杂的传感器,所以对道路情况和天气情况的传感转变为对油门和车速的传感。用AD1模拟方向盘,采样其值用作对3号和4号LED的控制,用AD2模拟油门,当油门超过一定值时认为进入高速行驶路段,点亮远光灯。 • 利用键盘作为用户输入,模拟车内控制信息。
车内空调系统 • 背景: • 汽车空调系统作为影响汽车舒适性的主要总成之一,为汽车提供制冷、取暖、除霜、空气过滤和温度控制功能 。
实验要求: • 车内智能空调系统将可以采样车内温度,读取用户输入温度,根据两个温度的差别,确定供暖风和还是冷风,并根据所需温差的大小控制风力的大小。同时,可以根据用户的需要,改变供风的风向和状态。
实验模拟条件: • 鉴于实验开发板上的资源有限,在模拟空调系统时,用直流电机的转动模拟空调压缩机运转,用步进电机的转动模拟空调风向的变化。用两个AD转换器分别表示车内温度和用户输入温度,用键盘的上下调整风向变化。空调运行状态的信息显示在LCD上。
车内音频播放 • 背景: • MP3等多种音乐格式的广泛流行。设计一套适宜人们放松精神,缓解疲劳的音频播放系统是十分必要的。播放系统需要可以显示音乐列表、按照驾驶员的控制播放音乐、方便的调节音量和切换歌曲、并且播放系统带有传感器,当出现复杂道路情况,车速变化频繁时自动停止播放以免干扰司机驾驶。
实验要求: • 1.能够对.wav文件实现单声道,多声道选择播放 • 2.能够自动存储播放列表. • 3.自由调整播放声音大小 • 4.当车开动后能自动关闭播放,以免妨碍司机开车 • 5.自由控制播放与停止.
实验模拟条件: • 实验箱已经能够满足音频播放的硬件要求
输入 主控器 输出 执行 检测 控制框图 Screen IIS 总线 D/A MCU FLASH 播放器 Keyboard 物理框图
车速控制和刹车系统 • 背景及规划: • 速度控制系统,英文为Speed Control System;又称为巡航控制系统(Crusle Control System),缩写为CCS. • 速度控制系统是一种减轻驾车者疲劳的装置。当汽车在长距离的高速公路行驶时,启动速度控制系统就可以自动将汽车固定在特定的速度上,免除驾车者长时间脚踏油门踏板之苦。另外,还有节省燃料和减少排放的好处,因为汽车都有对应的经济速度,当驾驶者将速度控制系统调置在经济速度上就可以起到省油的作用.
实验模拟条件: • 指令开关部分可以通过按键模拟。(车速调置开关、制动踏板、恢复开关) • 车速传感器可以用一个模拟信号,经ad转换模拟。 • 油门执行模块用直流电机和步进电机模拟。系统设计主要完成ECU控制部分的设计,可以在ucos操作系统下实现。