一个完备的嵌入式系统硬件架构有哪几部分构成?
图 1 给出了本文的讨论所基于的硬件平台,实际上,这也是大多数嵌入式系统的硬件平台。它包括两部分:
(1) 以通用处理器为中心的协议处理模块,用于网络控制协议的处理;
(2) 以数字信号处理器(DSP)为中心的信号处理模块,用于调制、解调和数/模信号转换。

本文的讨论主要围绕以通用处理器为中心的协议处理模块进行,因为它更多地牵涉到具体的 C 语言编程技巧。而 DSP 编程则重点关注具体的数字信号处理算法,主要涉及通信领域的知识,不是本文的讨论重点。着眼于讨论普遍的嵌入式系统 C 编程技巧,系统的协议处理模块没有选择特别的 CPU,而是选择了众所周知的 CPU 芯片--80186,每一位学习过《微机原理》的读者都应该对此芯片有一个基本的认识,且对其指令集比较熟悉。80186 的字长是 16 位,可以寻址到的内存空间为 1MB,只有实地址模式。C 语言编译生成的指针为 32 位(双字),高 16 位为段地址,低 16 位为段内编译,一段最多 64KB。

下面是各模块的功能介绍:

(1)协议处理模块中的 FLASH 和 RAM 几乎是每个嵌入式系统的必备设备,前者用于存储程序,后者则是程序运行时指令及数据的存放位置。系统所选择的 FLASH 和 RAM 的位宽都为 16 位,与 CPU 一致。

(2)NVRAM(非易失去性 RAM)具有掉电不丢失数据的特性,可以用于保存系统的设置信息,譬如网络协议参数等。在系统掉电或重新启动后,仍然可以读取先前的设置信息。其位宽为 8 位,比 CPU 字长小。文章特意选择一个与 CPU 字长不一致的存储芯片,为后文中一节的讨论创造条件。

(3)UART 则完成 CPU 并行数据传输与 RS-232 串行数据传输的转换,它可以在接收到[1~MAX_BUFFER]字节后向 CPU 提出中断,MAX_BUFFER 为 UART 芯片存储接收到字节的最大缓冲区。

(4)键盘控制器和显示控制器则完成系统人机界面的控制。以上提供的是一个较完备的嵌入式系统硬件架构,实际的系统可能包含更少的外设。之所以选择一个完备的系统,是为了后文更全面的讨论嵌入式系统 C 语言编程技巧的方方面面,所有设备都会成为后文的分析目标。

(5)实时钟芯片可以为系统定时,给出当前的年、月、日及具体时间(小时、分、秒及毫秒),可以设定其经过一段时间即向 CPU 提出中断或设定报警时间到来时向 CPU 提出中断(类似闹钟功能)。

一个完备的嵌入式系统硬件架构有哪几部分构成?相关推荐

  1. 嵌入式系统硬件处理器架构的发展趋势及比较分析

    嵌入式系统已经广泛地应用到当今各个领域,与我们的生活息息相关,小到掌上的数字产品,大到汽车.航天飞机. 提到嵌入式系统我们很快会联想到单片机,不错,MCU是最基础和常用的嵌入式系统,但是目前像FPGA ...

  2. 嵌入式系统-硬件工程师

    嵌入式硬件开发工程师 嵌入式硬件开发工程师主要编写嵌入式系统硬件总体方案和详细方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM.PROTEL设计软件,有四层板开发经验. 1  工作内容 编 ...

  3. 嵌入式系统硬件体系设计(一)

    目录 嵌入式系统硬件体系设计概论 1.1嵌入式系统及硬件体系概述 1.1.1嵌入式系统概论 1.1.2嵌入式系统的构成 1.2 嵌入式硬件体系的基本构成 1.3硬件体系设计的相关内容简介 嵌入式系统硬 ...

  4. ArtyA7的Hello Word创建Microblaze嵌入式系统硬件工程的问题解决

    Xilinx问题解决-Arty A7 [Timing 38-282] The design failed to meet the timing requirements. [Timing 38-469 ...

  5. 嵌入式系统硬件设计与实践(开发过程)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 如果把电路设计看成是画板子的,这本身其实是狭隘了.嵌入式硬件设计其实是嵌入式系统中很重要的一个部 ...

  6. 嵌入式系统硬件构成-嵌入式系统硬件体系结构

    嵌入式系统核心板组成 嵌入式系统硬件平台结构主要分为2大部分:一部分为系统主板,为嵌入式最小系统,包括ARM CPU.flash存储器.SDRAM.串口.键盘等最基本部分,如上所示.另一部分为系统扩展 ...

  7. 嵌入式系统——ARM架构及分类

    文章目录 一.什么是架构 二.ARM架构分类 Arm-A架构 Armv7-A (1)指令集 (2)处理器模式 (3)通用寄存器 (4)特殊寄存器 Armv8-A 寄存器 指令集 异常模型及处理器模式 ...

  8. 嵌入式系统硬件设计与实践(学习方法)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 刚读书的时候,对什么是嵌入式,其实并不太清楚.等到自己知道的时候,已经毕业很多年了.另外对于计算 ...

  9. 嵌入式系统硬件组成-3.2

    目标:了解ARM片内总线AMBA及特点,ARM处理芯片的片内硬件组成,熟悉内置硬件主要组件的功能及用途,厂商,典型ARM芯片系列,掌握嵌入式处理芯片的选取原则,能根据需求选择合适的ARM芯片. 1.A ...

最新文章

  1. eval语法报错 ie10_IE10报如此错误如何解决?
  2. android ListView 局部刷新
  3. 淘宝flink和storm书籍调研
  4. eslint 设置全局 变量
  5. 爬虫文档学习 xpath bs4 selenium scrapy...
  6. 计算机怎么远程桌面,电脑远程桌面如何连接 电脑远程桌面连接方法【详解】...
  7. How To Set Up a TCP/IP Peer-to-Peer Network Connection
  8. Java基础复习---线程创建
  9. Selenium TestNG Java环境搭建过程中所遇问题汇总
  10. Educoder计算机数据表示实验(HUST)第2关:汉字机内码获取实验
  11. 2020android加固,360加固2020最新脱壳全套图文教程-一一网络
  12. 堆排序算法思路以及Java实现
  13. Trister Community DAOs最新型DAO架构
  14. Redis(九)Redis的过期时间操作以及部分常用命令
  15. 监控服务器时间无法修改怎么办,监控系统时间不对,怎么样修改,谢谢!
  16. 安腾处理器 oracle,英特尔展示下一代安腾处理器Poulson
  17. 弄懂这56个Python技巧,秒变Python大神
  18. 如何去掉网格线及网格区域颜色
  19. 【Pygame基本使用】
  20. Android系统手机USB驱动程序安装教程

热门文章

  1. Python脚本--微信公众号自定义菜单的创建及获取
  2. 数字变化滚动到指定数字的文字特效
  3. apache2 执行ab测试
  4. Xilinx ISE 14.7 安装教程
  5. 高性能mysql主存架构
  6. update与merge
  7. the more wites of color
  8. UVALive 4216 Pole Position
  9. 汇编实验 分类统计字符个数(debug中查看统计结果)
  10. C++ STL 算法精选之查找篇