嵌入式应用设计模式

发布者:Shuangfei最新更新时间:2012-06-02 来源: 单片机与嵌入式系统应用关键字:C语言  RTOS  SOC  PLD  VHDL平台 手机看文章 扫描二维码
随时随地手机看文章
  嵌入式应用是指嵌入于各种设备及应用产品内部的计算机应用。嵌入式应用分微控制器(Microcontroller,简称MCU)和嵌入式微处理器(Embedded Microprocessor,简称MPU)的应用。微控制器即国内俗称的单片机,由 Single Chip Computer翻译而来,主要是面向控制,是计算机小型化发展的产物。嵌入式微处理器主要是面向数据处理,有相应的CPU对应。单片机是20世纪80年代初引入我国的。经 20多年的发展,单片机品种不断增多,功能不断增强,应用范围不断扩大,开发时间(Time to Market)要求越来越短。为了节省时间,嵌入式微处理器在16位和32位应用场合得到使用,大量的微机程序可直接引用。在软件开发上,由汇编语言编程、高级语言C语言编程,转向在实时操作系统(Real Time Operating System,简称RTOS)之上编程。在硬件设计上,由使用分立元件和微机接口芯片转向更加集成化的设计模式——CPU+PLD+AD/DA。CPU即 MCU或MPU, PLD即可编程逻辑器件。模数混合的集成电路很难设计生产,现阶段AD/DA即模数和数模转换器等模拟电路还采用传统的设计方法。PLD芯片可以在系统编程ISP(In System Programming),硬件已经软化,随时可以进行修改。1999年全国大学生电子设计竞赛和许多产品的硬件设计已采用这种设计模式。为进一步缩短开发时间、加强管理,平台观念已逐步引入到产品的设计开发过程中。从随意性开发转向平台开发模式是嵌入式应用软硬件设计开发的发展趋势。

一、 软件开发

  单片机生产厂家不断增多,单片机品种层出不穷。单片机广泛选择是当今产品开发的一个重要环节。每个单片机系列的指令系统不同,与指令系统对应的汇编助记符就不同。汇编语言的不兼容性使得在一种单片机上编制的程序,在另一种单片机上不能运行,单片机重新选型后程序必须重新编制。汇编语言的难记、难读及易搞混,每个汇编程序员深有同感。自己编制的程序过一段时间修改时,往往要重读很大部分,经过长时间回忆才能找到问题所在。修改别人留下的汇编源程序,若程序的注释说明不详细、程序的思路不清晰、子程序使用不够多的话,还不如自己重新编制。

  用C语言编程是单片机软件开发的必然趋势。C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。 C语言有功能丰富的库函数、运算速度快、编译效率高、可移植性好,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。采用C语言也不必对单片机和硬件接口的结构有很深入的了解,编译器可以自动完成变量存储单元的分配,编程者专注于应用软件部分的设计即可,这样大大加快了软件的开发速度。采用C语言可以很容易地进行单片机的程序移植工作,有利于产品中单片机的重新选型。采用C语言,可针对单片机常用的接口芯片编制通用的驱动函数,针对常用的功能模块、算法等编制相应的函数。这些函数经过归纳整理可形成专家库函数,供广大的单片机爱好者使用、完善,这样可大大提高国内单片机软件设计水平。C语言可读性的特点,更容易使大家借鉴前人的开发经验,提高自己的软件设计水平。对于C语言生成代码的时空效率,一般来讲,程序代码长度增加20%,程序执行速度约减慢20%。这在片内程序存储器不断扩大、晶振频率不断提高的今天,已不是主要考虑的问题。况且,这是和优秀的汇编程序员编制代码的比较。当然,非常注重代码效率的场合可以是以C语言为主,汇编语言为辅。汇编语言掌握到只要可以读懂程序,在时间要求比较严格的模块中进行程序的优化即可。在可移植性方面,单片机C语言都符合ANSI C标准,差别主要是有关片内资源的不同配置及使用,这可以通过采用不同的头文件,经过少量的加工就可以实现。随着国内单片机开发工具研制水平的提高,现在的单片机仿真器普遍支持C语言程序调试,为单片机编程使用C语言提供了便利的条件。单片机的C语言相对微机的C语言要好学得多,它没有微机 C语言有关文件的使用,也不必掌握标准输入输出设备有关的格式要求。北京航空航天大学出版社出版的《单片机的C语言应用程序设计》(修订版)教材是专为没有C基础的人编写的,大量的实例可引导大家进入单片机C时代。嵌入式微处理器是以C、C++甚至JAVA语言进行编程的,并普遍采用RTOS。

  在嵌入式应用中使用RTOS是由于嵌入式应用一般是计算机实时系统,有两个重要特性:实时性和可靠性。实时性标准常用“系统响应时间”来衡量,即当一外部事件发生,系统能在多少时间内响应事件。RTOS分强实时和弱实时两种。强实时RTOS用于对时间要求比较严格的场合。可靠性标准常用系统平均无故障运行时间,即平均的故障间隔时间MTBF来衡量。操作系统(OS)是一组计算机程序的集合,用来有效地控制和管理计算机的硬件和软件资源,即合理地对资源进行调度,并为用户提供方便的应用接口。它为应用支持软件提供运行环境,即对程序开发者提供功能强、使用方便的开发环境。OS的前身就是监控程序,类似于单片机仿真器的监控程序。RTOS是多任务的,每个用户的应用程序可以设计成多个不同的任务,这些任务可以并发执行,提高系统的吞吐量,更有效地利用系统资源。常用的任务调度算法为:优先级加轮询、非抢占式优先级调度、按优先级抢占的调度算法。任务间通信与同步机制为:邮箱、队列、信号量、事件标志。划分任务时,任务之间的通信要尽可能少,这样可以简化设计。基于任务的设计可扩展、可管理、可大大提高系统的可靠性。RTOS提供给用户的是各种系统调用。中断、时间基准及定时的管理都由RTOS完成。采用RTOS编程可大幅度缩短程序的开发时间。RTOS一般都可裁剪、移植,适用于多种硬件环境,可以和应用程序一起固化到应用系统中。随着后PC时代的来临,微软维纳斯计划推出Windows CE,我国女娲计划推出自主版权的Hopen实时多任务操作系统。 “3C”结合的信息家电问世,RTOS引起国内业界的极大关注。国内已引入pSOS、 VRTX、VxWorks、QNX、Nucleus等RTOS以及 CMX和RTXC小型适合单片机的带源代码的RTOS。免费公开内核的RTLinux和 μCOS也是使用的热点。清华大学出版社出版了《工业控制计算机实时操作系统》。国际上很有名的有关μCOS的专著《Micro C/OS-ii The Real Time Kernel》不久将在国内翻译出版。 RTOS会更加深入人心,嵌入式应用软件开发由汇编、C向 RTOS发展。 [page]

二、 硬件设计

  单片机,即一个芯片就是一个计算机,代表着计算机小型化的理想。随着超大规模高速集成电路 VHSIC(Very High Speed Integrated Circuit)的发展,专用集成电路 ASIC(Application Special Integrated Circuit)设计已使片上系统 SOC(System On a Chip)的设计与制造正在或已经成为现实。单片机和SOC是硬件设计高度集成化的产物。高度集成可以增加系统的可靠性、缩小体积并降低成本。集成电路产品的集成度,目前仍然保持每18个月增长一倍的发展速度(摩尔定律),而产品的生命周期却日趋缩短,因此,迫切要求提高ASIC芯片的设计速度。其中最重要的是尽可能重复运用已有的设计成果,采用具有知识产权的功能单元块,即IP核(Intelligence Property Core)。因此,必须重视IP核的开发和重用。在设计方法上运用电子设计自动化(EDA)工具,使用 VHDL和 Verilog硬件描述语言HDL(Hardware Description Language)进行硬件的设计。VHDL支持行为级描述,并有IEEE 87和IEEE 93标准,设计效率明显高于Verilog,更加受欢迎。从集成电路的观点看,单片机是IP核,常用接口芯片 8255、8250、8279等也有类似功能的IP核。8051单片机得到Philips、Atmel等众多厂商的支持也得益于其IP核的互换和转让。内含CPU的可编程逻辑器件已列入集成电路生产厂家的生产计划。模数混合的集成电路还存在设计制造难度。目前,嵌入式应用硬件设计采用满足要求的单片机是理想的选择,采用CPU+PLD+AD/DA模式是明智的选择。可编程逻辑器件的发展经历了由GAL/PAL、EPLD向 CPLD/FPGA(复杂可编程逻辑器件/现场可编程逻辑器件)发展,集成度越来越高。Lattice、Altera、Xilinx、AMD等公司提供可编程逻辑器件和EDA设计工具,支持HDL文本输入和原理图输入,配备编辑、编译、仿真、综合、芯片编程等功能。通过在系统编程ISP(In System Programming)或称在线下载,利用微机并口配有的下载电缆和可编程器件的JTAG接口相连,即可修改系统中PLD部分的设计,实现硬件设计的软化。系统定制电路部分的设计已从ASIC集成电路设计的殿堂变成电子工程师的必备知识。集成电路的设计和电子电路的设计在融合。当然,单片机外接的简单逻辑也可采用逻辑表达式和 ABEL语言设计GAL芯片或PSD器件实现。PSD器件上含有PLD、FLASH、EEPROM、RAM等,是单片机较理想的外接芯片。现内置 FLASH的单片机也有带JTAG或类似接口的产品,支持在线程序下载,生产厂家有 TI、Atmel、Microchip等。只须简单的下载开发工具,大大方便了程序的开发和现场的修改。在线修改是电子设计的革命,是发展方向。硬件电路设计采用VHDL语言是发展趋势。VHDL语言是电子工程师的必备知识,VHDL语言比C语言还容易掌握。

  国内出版的VHDL书有:西安电子科技大学出版社的《VHDL硬件描述语言与数字逻辑电路设计》(修订版)、电子科技大学出版社的《VHDL实用教程》和清华大学出版社的《VHDL简明教程》及《VHDL语言100例详解》等。

三、 平台模式

  随着计算机技术、微电子技术和网络技术、软件技术的不断发展,人类社会正逐步进入后PC时代,嵌入式应用是当今计算机发展的一个热点。嵌入式应用的从业人员来自各行各业,技术背景参差不齐,很多还是非电子类专业。应用的设计带有很大的自主性、随意性。低水平重复劳动是制约产品设计水平的关键因素。20年来嵌入式应用的发展,国内业界已成一定气候,嵌入式应用设计亟待从随意性设计转入平台开发模式。

  平台开发模式,即在一个设计集团中,实行严格的标准化、系列化、规范化设计,将某一类产品领域的基本硬件结构及基本软件形成产品的“统一机芯”,即基础平台,并将基础平台相关的周边扩展电路及应用软件进行优化、筛选,形成基础平台的平台库资源。在开发新产品时,利用基础平台,并选择平台库中的相关资源进行。

  嵌入式应用设计亟待发展软/硬IP产业,完善软/硬IP功能库。专家库函数是广义的软IP,网络应用使用的TCP/IP协议软件是典型的软 IP。在平台方式下,基础软硬件工作可解决在平台之中。常用的外围接口芯片8255、8250、8279等都可以做成类似功能的硬IP,软件库函数可包含它们的驱动程序。键盘可规范成8键、4×4键、8×8键设计,LED显示可规范成8个或16个数码管。显示和键盘扫描可编成标准程序。嵌入式应用的从业人员可互相借鉴交流 IP,建设自己的开发平台。

  基于平台观念的设计工具有我国东大阿尔派公司的NEST2000通用型嵌入式系统设计平台和美国I- Logix公司的基于UML的面向嵌入式应用的软件开发环境——Rhapsody。NEST2000面向信息终端类产品设计,采用32位微处理器作为核心,支持FLASH、DRAM、SRAM等存储器,具有LCD显示、触摸屏、语音、键盘、红外调制解调器、条形码阅读器、IC卡等多种外围接口模块,其支撑软件包括RTOS、网络协议(TCP/IP)、图形用户接口(GUI)、嵌入式数据库系统以及JAVA平台等。硬件模块可以方便地根据用户的需求进行选择使用,软件平台提供它们的驱动程序,在RTOS之上提供给用户应用程序接口(API),可以最快速度地完成产品应用软件的开发。Phapsody采用迭代增量式软件开发方法,支持可视化建模,支持基于模型调试。更令人惊讶的是,改变模型,代码随之改变,并可自动生成可读性好,可直接使用的C、C++、 JAVA语言代码。随着平台观念逐步深入人心,愿嵌入式应用的设计人员都能建设平台、使用平台,借鉴前人的设计开发经验,利用自己的技术储备,以最快的速度推出新产品。
关键字:C语言  RTOS  SOC  PLD  VHDL平台 引用地址:嵌入式应用设计模式

上一篇:嵌入式技术在水库信息智能化系统中的应用
下一篇:基于WSN的燃气表自动抄表系统设计

推荐阅读最新更新时间:2024-03-16 13:00

旗舰SoC新贵 三星S6处理器性能测试
    在高通在去年末透露骁龙810失掉了一大重要客户之后,Exynos 7420版三星GALAXY S6的诞生就很快印证了这一点;几年来三星的旗舰机一直都以骁龙+Exynos两个版本的组合上市,并且以前者为主,而如今在大家都是公版架构处理器的情况下,拥有工艺优势的三星显然对自己的7系列处理器很有信心。 旗舰SoC新贵 三星Exynos 7420性能测试   作为三星旗下首个以64位AArch64运行的处理器,Exynos 7420采用A57+A53的big.LITTLE架构,其中A57的最高频率将达到2.1GHz,A53部分则为1.5GHz,集成的GPU为Mali-T760 MP8(主频900MHz),最高内存带宽可达25.6
[手机便携]
意法半导体推出单片天线匹配 IC,配合Bluetooth® LE SoC 和 STM32 无线MCU
意法半导体推出单片天线匹配 IC,配合Bluetooth® LE SoC 和 STM32 无线MCU,让射频设计变得更轻松、快捷 2023 年 2 月 13 日,中国——意法半导体单片天线匹配 IC系列新增两款优化的新产品,面向BlueNRG-LPS系统芯片(SoC),以及STM32WB1x 和STM32WB5x*无线MCU。单片天线匹配 IC有助于简化射频电路设计。 针对BlueNRG-LPS优化的 MLPF-NRG-01D3和针对STM32WB优化的MLPF-WB-02D3集成了一个外部天线实现最佳射频输出功率和接收灵敏度所需的完整滤波和阻抗匹配电路。 每款器件的天线侧标称阻抗都是50Ω。片级封装面积很小,凸
[单片机]
意法半导体推出单片天线匹配 IC,配合Bluetooth® LE <font color='red'>SoC</font> 和 STM32 无线MCU
Beken博通集成推麻雀一号:Wi-Fi音视频SoC软硬件开发板
日前,Beken博通集成资深软件工程师王凡在B站直播麻雀一号开发板开发指南,2个小时的直播中互动频繁,在线活跃,参与人数一度达5000人,反映业界对智能音视频开发平台的高度关注。 麻雀一号是性价比超高的集成音视频的Wi-Fi开发板平台,内置RT_Thread操作系统,主打Wi-Fi音频、摄像头和拍照功能,配合丰富的组件及例程,降低了多媒体应用的开发门槛。 麻雀一号的其主要技术特点包括 • 采用双层板设计,布局合理; • BK7252 SOC ,主频180MHz; • 搭载PSRAM、TF卡座、五项按键,丰富的外设; • 支持音频/ Wi-Fi/BLE,自带喇叭和麦克风; • 摄像头分辨率:640*480(最大600*800
[手机便携]
Beken博通集成推麻雀一号:Wi-Fi音视频<font color='red'>SoC</font>软硬件开发板
瀚巍完成Pre-A+融资,推出新款UWB SoC,并与英飞凌合作
UWB芯片供应商MKSEMI(瀚巍)宣布完成Pre-A+轮融资,总额为1280万美元,由光速创投领投,知名投资者启明创投和常春藤资本参与。2020年12月30日,瀚巍宣布获得数千万元Pre-A轮融资。本轮融资由OPPO领投,MediaTek、高榕资本、中芯聚源及天使轮股东常春藤资本、快创营(iCamp)跟投。 瀚巍推出了新产品MK8000片上系统(SoC),这是世界上功耗最低、集成度最高的芯片解决方案,目前是以最小的电池和尺寸为高精度传感赋予物联网设备的最佳解决方案。MK8000还使OEM和ODM能够快速设计、集成和部署完整的定位和测向解决方案。 此外,该公司还宣布与领先的半导体解决方案供应商英飞凌以及工业和汽车系统集成商
[物联网]
PICC环境写PIC单片机程序的探讨
简介:一般C语言产生的代码是比较繁琐的,所以要写出高质量、实用的C语言程序,就必须对单片机体系结构和硬件资源作详尽的了解. 目前,Microchip公司生产的PIC系列单片机以其低成本、低功耗、高性能、开发速度快且一次性用户可编程等优点迅速占领了国内市场,成为国内销售量最大的单片机.但国内介绍其C语言开发工具的书籍和文章却比较少,在开发过程中给广大程序员带来了许多困难和不便. Microchip公司没有针对中低档系列PIC单片机的C语言编译器,但很多专业的第三方公司 提供众多支持PIC单片机的C语言编译器,常见的有Hitech、CCS、IAR以及Bytecraft等公司.Hitech公司的PICC编译器稳定可靠,编译生
[单片机]
C语言试题大全四
1.分析输出结果 int arr = {6,7,8,9,10}; int *ptr = arr; *(ptr++)+=123; printf( %d %d , *ptr, *(++ptr)); 输出:8 8 过程:对于*(ptr++)+=123;先做加法6+123,然后++,指针指向7;对于printf( %d %d , *ptr, *(++ptr));从后往前执行,指针先++,指向8,然后输出8,紧接着再输出8 2 分析输出结果 void g(int**); int main() { int line ,i; int *p=line; for (i=0;i 10;i++) { *p=i; g(&p); //
[单片机]
苹果公司即将自行设计iPhone处理器
在WWDC开幕演讲发布iPhone 3G后,纽约时报对苹果公司CEO史蒂夫乔布斯进行了专访,期间乔布斯提到:“P.A.半导体将为iPhone和iPod设计片上系统(SoC)芯片。”终于平息了各界对苹果收购该公司目的的猜测。 多年来,三星一直为苹果制造iPod、iPhone的核心SoC芯片。最近坊间也纷纷传言Intel将为苹果设计的掌上触摸设备提供Atom处理器。苹果于4月份花费2.78亿美元收购了一家小规模的无工厂半导体设计公司P.A. Semi。当时苹果就向外界宣称,此举并不是为了P.A.半导体目前的任何产品,而是希望获得该公司的处理器研发团队。现在,这一举措的最终目的终于真相大白。 在拥有P.A.半导体的
[手机便携]
Microsemi FPGA 助力Ariane Controls开发平台推动智能电网和电动汽车发展
    致力实现智能、安全,以及互连世界的半导体技术领先供应商─美高森美公司(Microsemi Corporation,纽约纳斯达克交易所代号:MSCC)宣布与电力线通信开发商Ariane Controls公司合作,为业界首个支持主要新兴电动汽车充电和相关智能电网标准的开发平台提供FPGA技术。     Ariane Controls的AC-CPM1 AutoGrade J2931评测和开发板充分利用Microsemi ProASIC®3快闪FPGA的性能和灵活性,加快电动汽车和电动汽车供电设备之间的J2931汽车标准通信系统的开发速度。Microsemi ProASIC3 FPGA是行业内唯一能够满足结温要求达135C的
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved