嵌入式系统设计实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM原理及应用 第九讲 嵌入式系统开发实例
1
本节提要
1 嵌入式数控系统设计实例 2 ARM MP3设计实例
2
嵌入式系统设计流程
产品定义:需求分析 软硬件划分 迭代与实现 详细的硬件与软件设计 系统测试 系统维护与升级
3
➢ 嵌入式系统的软硬件划分原则
性能原则 性价比原则 资源利用率原则
15
选择处理器—数控系统处理器
现在可用的数控系统有单个CPU,两个CPU,三个CPU 高档数控一般采用两个CPU实现,更有甚者采用三个
CPU,我们这个项目为中低档数控,单个处理器可以 实现 Arm7的性能满足系统的需要,同时由于需要IO的实 现,以及伺服电机的控制,所以采用ARM7+FPGA的 结构 。 ARM芯片价格低廉。
开发平台:操作系统相关的开发平台 相关外设的选择
FLASH,PROM(容量,boot速度),RAM(容量,速度)
成本、功耗、产品上市时间
6
详细的硬件与软件设计流程
硬件设计流程
芯片选型-关键电路试验-原理图绘制-原理图评审-印制板-样板试制 -硬件功能测试-硬件稳定性测试
软件设计流程
软件代码编制准备-软件代码编制-软件单元代码走读-代码单元测 试-单元代码修改-单元代码回归测试
13
需求分析——识别处理器
如果已有的系统系统实现了相似的功能,重用该结构是个很好的选 择
如果这是个全新的项目,考虑这些功能是否能用一个处理器实现.单 个处理器最容易实现和调试的
如果该应用需要用多个处理器,最好选用能够满足需求的最少处理 器实现
在多处理器设计中,把控制和管理用一个处理器实现,这样简化了操 作.系统中其他处理器处理系统中的工作负载.
选择操作系统
1. 操作系统支持的微处理器 2. 操作系统的性能 3. 操作系统的软件组件、中间件和设备驱动程序 4. 操作系统的调试工具、开发环境、在线仿真器(ICE)、编译器、汇编器、
连接器、调试器以及模拟器等。
5
5.操作系统的标准兼容性 6.操作系统的技术支持程度 7.操作系统是提供源代码还是目标代码 8. 操作系统的许可使用情况
硬件/软件平台支持的公司的产品 提供该平台公司的发展目标是什么? (当然不希望选择的平台没有一个
清晰的升级途径) 该平台是否有合适的开发工具 来自百度文库可以使用该平台开发的开发人员有多少?对开发人员培训的费用是多少 预留性能 (例如,不能选用一个CPU资源使用 80%,预留未来 增加的空
间 该平台需要完善吗?一个良好的平台比一个需要完善的平台要便宜得多 平台的设备驱动程序 (是否能够提供用户开发的设备驱动程序) 平台支持那些通讯协议(如.平台平台是否支持 TCP/IP, HTTP, UDP等)
报警 自诊断功能
11
非功能需求-数控系统
非功能需求 物理环境-车间,工作环境恶劣 用户-一般是车间操作员,操作水平有高有低 质量保证--用在工业控制环境质量要求高,同时 现在市场竞争激烈,如果质量不好很难在市场上站 住脚
12
非功能需求-QOS
QOS 数控系统响应性高,主要是对突发事件的反应(如撞刀,急停) 数控系统具有可确定性。因为可确定性主要是确保条件/事件 出现和由此引起的动作开始/结束的时间在一个准确的时间间 隔内。在CNC系统中,条件/事件是由操作员的指令(紧急停 止,移动x轴等)或是机床的状态(如刀具破损等)引起的。 实际上,需要满足时间约束的情况主要是和系统安全(如对突 发事件的反应等)以及切削精度(更高的精度影响插补周期) 有关,因此数控系统具有硬实时任务。硬实时任务指必须满足 最后期限的限制,否则会给系统带来不希望的破坏或者致命的 错误。 性能高-需要进行许多复杂的运算 可靠性-可靠性要高,在加工过程中不出现问题,至少一个月 之内不能死机,出现故障, 安全程度高
7
嵌入式数控系统设计实例
需求分析—(数控系统需求分析) 架构设计—(数控系统架构分析) 详细设计—(数控系统的详细设计) 系统测试 —(数控系统的测试)
8
需求分析——功能需求
数控系统是一种自动阅读输入载体上事先给定的数据, 并将其译码,从而使机床移动和加工零件的控制系统. 它的工作原理是通过各种输入方式,接受加工零件的 各种数据信息,经过译码、处理、插补,生成各坐标 轴的参考位置,把各轴的参考位置送到轴控制器中, 驱动轴的运动,使各个坐标轴能精确地运动到所要求 的位置。
9
需求分析
功能需求—数控系统
CNC
反馈
机床控制器
速度
控制装置
人 位置

M
PLC

功能
功能
面 状态
指令
PLC
开/关
反馈 速度 位置
机床 轴
输入 输出
冷却 主轴
….
CNC机床控制模型
10
需求分析-数控系统的功能
输入输出 输入/输出/通讯功能 字符图形显示功能 程序编制功能
数据处理 插补功能 进给功能 主轴速度功能 刀具功能 补偿功能 辅助功能
➢ 软硬件协同设计
1. 硬件工程师考虑的问题
① 硬件开发的投入及时间 ② 以缩小电路规模,抑制功耗为目的的设计会降低通用性和可维护性。
2.软件工程师考虑的问题
较多的源代码可以确保软件的可维护性
4
嵌入式系统详细设计
选择处理器
1. 处理器的性能必须足够执行任务和支持产品生命周期 2. 支持软件创建、调试、系统集成、代码调整和优化功能的软件 3. 开发人员拥有处理器或处理器系列产品的开发经验
按照这种方式设计的多处理器系统,可以从一个小的系统扩充为一 个大的系统,通过增加处理器.因此客户可以从简单的处理器入手, 随着系统负载的增加而增加
14
挑选操作系统和硬件
平台的特殊需求(该平台是否需要实时操作系统的支持) 对该硬件和软件平台的使用情况? 支持该硬件和软件平台公司的财务状况如何? (当然不能选择不能提供
17
操作系统平台的选取
通用操作系统 (window unix/linux)本质上是不可预测的,导致实时处理 的不可靠性(即使是相对较慢,计算简单的任务)。通用系统 都是多任务系统,意味着它们允许计算机同时运行几个进程。 它们通过分时技术允许多个任务并发,在所有活动任务间分配 资源。分时的一个直接后果是实时精度不能保证, 很多时候,程序员使用软件中断满足任务的最后期限,这就是 强迫操作系统在一个给定的时间响应中断并提供服务,然而由 于中断的分辨率很低(如linux是100hz),这个方法只在任 务实时性较低的情况下使用(也就是说任务的速率比中断的速 率还要低)。还有就是对操作系统底层的修改,如提高中断频 率,改变任务的优先级等方法可以提高一些操作系统的实时精 度,但是这样的改变对操作系统的性能有一定的损坏。
相关文档
最新文档