上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第2章 基于Cortex-M处理器的系统设计
2.1 概述
Cortex-M处理器有很多优点,对于小型系统设计而言,最突出的就是系统可以较容易地进行Verilog代码仿真或者在FPGA平台上运行。开始工作之前,设计者需要学习一些Cortex-M处理器架构的基本知识,此外,如果使用的是Verilog RTL版本设计资源,还需要掌握Cortex-M处理器中使用的总线协议,如AHB和APB协议。
项目设计的第一步就是要明确应用的需求是什么,比如:
● 选择最适合的Cortex-M处理器类型;
● 确定存储器(ROM和SRAM)的大小;
● 确定系统的运行速度(如时钟速度);
● 确定所需的外围设备。
将Cortex-M处理器设计为专用芯片(ASIC)时,还应考虑以下方面:
● 选择合适的半导体工艺节点;
● 选择工艺节点上可用的存储器类型(注意,在很多小尺寸工艺节点中不支持嵌入式闪存);
● 确定非易失性存储器(Non-Volatile Memory,NVM)数据烧录方式;
● 确定芯片内部电源供电需求;
● 确定芯片封装形式;
● 确定芯片生产测试所需的可测试性设计(Design-for-Test,DFT)需求。
如果芯片面向物联网领域,设计者还应重点关注芯片的安全性和集成了无线通信接口SoC系统的其他挑战性工作。
抛开处理器外部电路,为了使Cortex-M处理器更好地工作,还应该重点考虑以下几个方面:
● 存储器的类型及大小;
● 外围设备;
● 存储器映射;
● 总线系统设计;
● 处理器配置;
● 中断管理和中断类型;
● 事件接口集成;
● 时钟和复位生成;
● 调试集成;
● 系统的电源管理功能;
● 顶层引脚分配和引脚多路复用等。
在本章后续部分,读者将了解上述部分领域的概述。