积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 嵌入式硬件 >> 相关文章
  相关分类: 相关文章 | ARM | 新产品 | 下载 | MIPS | X86 |
有助于嵌入式系统顺利开发的硬件独立性设计方案
 
作者:Axel Zimmermann   来源:电子工程专辑    点击数:216   更新时间:2008-7-17
您可以添加到网摘 让更多人关注此文章:

    所有嵌入式系统最终都要连接到外部传感器与执行器或内部功能模块与外设等硬件,以实现输入输出、数据存储及通信功能。每种设计方案中的每个硬件都有其自己的特性,需要设计人员认真对待。


设计方案中使用的硬件如果发生任何变化,即便是仅仅添加或去除一个输入或输出端口,也会影响到嵌入式软件,有时甚至会造成非常严重的影响。如果在设计过程后期才做出上述变动,那么就可能导致产品不能及时上市。解决这一问题的办法,就是在系统设计过程中确保完全的硬件独立性。


硬件独立性设计(design-out the hardware)就是指将所有控制和算法软件与硬件接口软件相分离。我们应有效地设计与硬件有关的逻辑封装器和接口,这样不管什么时候用逻辑部件来替换正在使用中的特定硬件,也不会影响控制和算法软件。


通过便于理解的逻辑接口(函数、宏、符号)将硬件提取出来,这不仅有助于提高设计的可移植性,而且还能使开发人员集中精力解决实际的应用问题,甚至在明确采用什么硬件之前就能开始设计工作。这听起来似乎比较简单,您可能认为现在您或您的工作团队正是这么做的。


不过,我们不妨来认真研究一下当前的设计项目(或者曾经喜欢的项目),看看要是更换其中的微控制器,会出现什么情况。如果改用不同的微控制器,尤其是不同厂商的微控制器的话,要是会对项目造成严重影响,那么您在设计过程中就没有实现硬件独立性。


为了成功实现硬件独立性设计,我们必须在设计过程中保持清醒的头脑。我们不必等硬件完全设计好了再开始开发嵌入式软件,也不必等到明确所有要求后最终确定硬件选择,而是可以将设计方案中的硬件选择与设计方案相分离,这样在市场崭露头角的时候我们就可以开始设计工作,从而有助于赢得关键客户。说到底,有哪些设计项目中硬件是真的一成不变的呢?最后总是会出现硬件变动的情况。


用这种方法开始设计工作有助于提高整体灵活性,这既是由于硬件几乎随时“能够”替换,同时也是由于我们不用担心硬件的替换问题了。此外,由于硬件特定的功能位于封装器与接口中,因此这有助于简化调试工作,也增加了不同项目之间 IP 的重复利用率。


“硬件独立性设计” 是什么意思?


最简单地说,嵌入式系统的硬件独立性设计就是在逻辑上把嵌入式应用软件与所有硬件直接相连的软件相分离。所谓“所有”硬件就是指物理设计或选定微控制器发生变化时可能发生的任何变化因素。


显然这包括选定微控制器中支持硬件的所有器件,如模数转换器(ADC)和通信接口(UART、SPI、I2C、USB、CAN 等)。不过如果物理系统设计还包括传感器与执行器,那么它们的变动也会影响软件,因此必须确保其 为硬件独立性设计。


此外,不要忘了输入/输出端口与嵌入式存储器等常见元件。如果它们发生变动,也会影响应用(比方说用于记录数据日志或存储配置选择的非易失性存储器,或提供内部上拉或内置驱动电路的输入端口)。总之,所有硬件都要做到独立系统设计。


有的读者可能会想,硬件独立性设计方案到底有什么新颖之处?几千年以前,睿智的所罗门国王曾经说过:“太阳下面没有什么东西是新的。”嵌入式系统硬件独立性设计背后的理念实际并不是什么新东西。自从现代嵌入式系统设计出现以来(我认为大约是在 1980 年吧),工程师一直在围绕硬件构建封装器与接口。


本文要说明的是,我们应当把这种方法发挥到逻辑极致,否则我们的项目就仍然会受限于硬件,就不能在需要时灵活地更改硬件。我希望您通过本文能够充分认识到硬件选择对嵌入式设计的影响,并能够了解到在今后设计中消除硬件变化影响的一些小窍门。


从何做起?


开始项目设计时,您至少要有一些基本的想法或要求。我们应着手设计一种独立于硬件的系统。系统应当实现什么功能?最终目标是什么?需要哪些驱动、监控功能?如果加入硬件的话,就要把整个信号链中的各个部分组成一个有机的整体。


您会发现,所有彼此相互连接的硬件实际上都是替换硬件情况下潜在的问题来源。我们要用封装器或接口将所有硬件隔离起来。就马达控制设计而言,我们不妨来看看它的算法,看看要用哪些数据来确定驱动指令。


为了控制算法,不管采用什么硬件,不管是几安培的负载电流,还是每分钟多少转的转速,还是百分比驱动命令,都必须确保逻辑性。


通过硬件和算法相结合,负载电流转换为电压,ADC 对其采样后转换成数字计数,再通过数学函数转换为毫安;上面每个步骤都需要进行“包装”,避免底层硬件改变时影响软件应用。


如果在设计过程中完全遵循上述步骤,那么最终我们就能实现两个目的。首先,我们能明确硬件与最终系统的关系,并了解到类似但不同的新项目如何从现有的设计方案受益。其次,如果需要设计全新的项目,采用完全不同的应用类型,那么仍能参考现有的项目,只需对其加以调整,就能满足新项目的要求,只需根据新式应用替换或删除有关层即可。


以前,微控制器的高级大型电路板支持套件需要专业工作组或电脑天才来做特殊处理,而他们又总是因为工作太忙而难以作出必要的调整,现在,我们可以支持逻辑解构,逐步满足各相关功能需求,确保满足整体需求。


记得上大学时,即便考试答题时没有得出正确的答案,但如果演算过程逻辑清晰、条理分明、系统而有组织,并加以适当注解,那么仍能在考试中获得一定的分数。这个道理与硬件独立性设计方案的道理是一样的。


我们不需要做到特别严格的有组织性,只需将封装器与接口在逻辑上进行集中,就能方便地替代实际硬件。举例来说,如果我们把所有与微控制器直接相关的封装器与接口集中在一个地方,而不是将其分散在不同的文件中,那么就能在最后关头轻松更换微控制器。


[1] [2] [3]  下一页



相关文章
· 针对S698系列处理器的Windows平台集成开发环境[11]
· S3C2410X在无线宽带通信网中的应用[46]
· 浅谈嵌入式软件系统设计中的正交性[32]
· Linux液晶屏驱动开发[67]
· 基于FPGA的智能温度采集控制器[19]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
亚洲行业盛事频繁IR节能创新再成瞩目
IPTV未获得奥运金牌
英特尔将于本月中期推出首款六核处理器
英飞凌在功率电子市场表现抢眼,以高于
LED奥运会大放光芒 功率
三星同意将Symbian股份出售给诺
英特尔收购Opened H
广东省省长黄华华视察研祥集团
EDI/WEDC/WHITE怀特存储
WHITE/WEDC/EDI代理商-
 
热门下载 [更多]
 
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
[ ] 实用电源电路集锦
 
论坛新帖 [更多]
 
[原创]本公司长期超低价批发各...
[原创]本公司长期超低价批发种...
[原创]本公司长期批发各种酒、...
[原创]本公司长期低价批发各种...
[原创]长期低价批发各种母婴用...
[原创]本公司长期批发各种饮料...
verilog设计的一点经验...
Altera FPGA、CPL...
如何开始DSP的开发...
[转帖]如果让我重做一次研究生...

 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网