IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> ARM原理学习(一)全可编程SoC设计导论 -> 正文阅读

[嵌入式]ARM原理学习(一)全可编程SoC设计导论

一、引言

1、SoC(System-on-chip)

?传统的计算机系统主板由大量的电子元器件、散热装置以及固定连接器组成,需要使用大量的机械连接装置,以及额外的专用集成电路(Application SpecificIntegrated Circuit,ASIC)器件,这会带来以下几个方面的问题:
(1)增加系统的整体功耗。
(2)增加系统的总成本。
(3)降低系统可靠性。
(4)维护成本较高。
??传统计算机系统由于存在大量芯片与机械连接装置,使用时可能由于机械连接不牢固,造成系统无法正常工作。随着半导体技术的发展,将基于PCB的构造集成至芯片,即将构成计算机基本结构的大量元件集成到一个芯片中,如CPU内核、总线结构、功能丰富的外设控制器以及模数混合器件。
??典型地,ARM公司向其合作伙伴提供了以ARM CPU体系结构为基础的嵌入式处理器物理知识产权( Intellectual Property,IP)核,以该嵌入式处理器结构为核心,可以在单个芯片内搭载功能丰富的外设资源。这种将一个计算机系统集成到单芯片中的结构称为片上系统(System on a Chip,SoC)。在该结构中,集成了ARM CPU核、ARM制定的高级微控制器总线结构( Advanced Microcontroller Bus Architecture,AMBA),以及用于和外部不同设备连接的物理IP核。

2、SoC与MCU及CPU

(1)SoC优势

(1)集成多个功能强大的处理器内核.
(2)集成容量更大的存储器块、不同的I/O资源,以及其他外设.
(3)集成了功能更强大的图形处理器单元( Graphies Processing Unit,GPU)、数字信号处理器( Digital Signal Processor,DSP)以及视频和音频解码器等.
(4)可运行不同的操作系统。典型地有微软公司的windows操作系统、 Linux操作系统和谷歌公司的 Android操作系统。
(5)可以用于更高级的应用,如数字设备的主芯片(智能手机、平板电脑)。

(2)CPU(Central Processing Unit)特点

(1)单个处理器核。
(2)CPU可以用于绝大多数的应用场合,但是需要额外的存储器和外设的支持

(3)MCU(Microcontroller Unit)特点

(1)典型地,它只有一个处理器内核
(2)其内部包含了存储器块、I/O和其他外设
(3)MCU主要用于工业控制领域,如嵌入式应用。

实际上,MCU相当于低级的SoC,MCU与CPU均是SoC的子集。

3、典型SoC

高通 ----------骁龙
英伟达--------图睿
苹果-----------A系列(如A4,A5等,目前ipad2020采用了A12处理器芯片)

4、SoC设计流程SOC设计流程图

(1)IP供应商:如ARM,英特尔等
(2)芯片设计公司:如TI,Xilink,NVDIA,高通,华为海思等(他们主要从事芯片设计工作,一般不参与芯片的加工制造工作)
(3)制造厂:台积电,三星,中芯国际等

??设计开发流程中,首先要制定SoC设计规范,完成软硬件划分,购买硬件IP核设计与软件驱动程序,IP核设计与驱动程序均由IP供应商提供,ARM等公司不参与芯片制造,他们主要靠授权IP核实现盈利。之后由芯片设计公司实现软硬件集成,并在FPGA上进行验证。之后软硬件进行优化与验证,最后交由制造厂加工芯片,设备厂商再进行PCB制备与设备组装。

??实际上,大部分嵌入式软硬件工程师仅仅在从事应用程序开发和验证以及PCB制造与设备组装工作,并不涉及芯片设计开发。在产品开发过程中,我们仅仅通过接口进行调用,内部已经被封装,类似于一个黑盒子,但通过学习ARM架构可以促进我们对于底层的理解,加深我们对于芯片工作原理的认识。

5、SoC基本结构在这里插入图片描述

?如上图所示,针对于一个SoC器件主要由以下部分组成:
(1)一个ARM处理器,如 Cortex-M0
(2)高级微控制器总线结构( Advanced Microcontroller Bus Architecture,AMBA)
(3)来自ARM或者第三方的IP核
(4)一些SoC提供更复杂的结构,如:包含总线桥的多总线系统、DMA引擎、时钟生成器单元,以及电源管理单元等。

6、可编程SoC技术

??Xilinx公司的ZYNQ 7000系列就是集成了ARM与FPGA的可编程SoC.
??全可编程SoC可分为基于软核与硬核两种全可编程SoC。
(1)基于软核的全可编程SoC:在FPGA中并不存在这样一个CPU,而是通过使用FPGA内的通用逻辑资源,对所描述的CPU功能进行综合与实现后,在FPGA内部实现一个与专用SoC内CPU功能一样的处理器结构,是一种RTL级代码,简化为传输门的形式。
(2)基于硬核的全可编程SoC:如ZYNQ-7000中存在的A9处理器,是真正存在的处理器核,在硅片上已经做好了,只可通过AMBA规范连接CPU与外设,无法观察到CPU内部。
全可编程SoC设计流程见下图:
在这里插入图片描述
??采用 Xilinx7系列FPGA实现 Cortex-M0全可编程系统设计的过程。如图1.9所示,在构建全可编程SoC系统时,包含两个开发环境:
1)Xilinx的 Vivado2016.1集成开发环境

在该集成开发环境中,实现的主要功能包括:
(1)对 Cortex-M0处理器硬件系统的描述,包括:Cortex-M0处理器、时钟、总线、存储器和外设,描述方法采用HDL和IP核混合设计方法。
注:这种描述方法属于寄存器传输级( Register Transfer Level,RTL)描述。
(2)对所描述的系统进行行为级仿真。通过仿真,及时发现系统描述中存在的缺陷。
(3)对系统进行详细描述和综合。通过详细描述和综合,将RTL描述转换成逻辑网表。
(4)对设计分配物理和时序约東。在本书介绍的内容中,物理约束主要是引脚位置和电气标准;时序约東,目标是保证整个 Cortex-MO嵌入式系统正常运行所需的时序,主要包括建立时间和保持时间。
(5)对设计进行实现。实现过程包括转换、映射以及布局布线。转换将逻辑网表变成 Xilinx可以识别的网表格式;映射将 Xilinx可以识别的网表格式对应到Xilinx具体的FPGA器件;布局布线就是在FPGA器件内选择所使用的逻辑设计资源,并使用FPGA内的互联资源将所使用的逻辑设计资源进行连接。
(6)时序收敛。时序收敛的目标是保证整个硬件系统工作时,不会出现竞争冒险和亚稳定工作状态等时序问题。通过对设计进行布局布线后仿真(时序仿真),读者可以分析所设计的系统在考虑时序(延迟等)时,能否正常工作。当不满足时序收敛条件时,读者需要修改时序约束条件。
(7)生成比特流文件。将实现后的设计转换成可以配置成FPGA的比特流文件。
(8)下载比特流文件。将生成后的比特流文件下载到FPGA内,用于在FPGA内生成全可编程SoC硬件系统结构。
(9)逻辑分析和调试。通过使用Xinx提供的在线逻辑分析工具,分析设计的逻辑功能,以便在出现运行故障时,帮助定位引起故障的原因。

2)Keil的u Vision5集成开发环境
在该开发环境中,可以使用汇编语言、C语言编写驱动、用户应用程序,以及选择使用RTX操作系统。并且,通过该集成开发环境提供的编译器、汇编器和链接器等工具生成可以用于配置 Cortex-M0硬件系统内存储器的十六进制文件。该文件就是所设计软件的机器码描述。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 14:14:35  更:2021-08-14 14:15:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 2:47:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计