第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处理器更好地工作,还应该重点考虑以下几个方面:

● 存储器的类型及大小;

● 外围设备;

● 存储器映射;

● 总线系统设计;

● 处理器配置;

● 中断管理和中断类型;

● 事件接口集成;

● 时钟和复位生成;

● 调试集成;

● 系统的电源管理功能;

● 顶层引脚分配和引脚多路复用等。

在本章后续部分,读者将了解上述部分领域的概述。