第一部分:中断系统
1. 什么是中断?
中断是计算机系统中一种由硬件或软件触发的、异步的事件处理机制 。当系统内部或外部发生某个需要处理器立即关注的事件(如按键按下、数据到达、定时器溢出)时,会向CPU发送一个信号。CPU会暂停当前正在执行的程序,保存当前状态,转而去执行一个与该事件对应的特定服务程序(中断服务例程,ISR)。执行完毕后,再恢复原先被暂停的程序继续运行。
- 核心价值 :解决处理器高效轮询(Polling)外设状态造成的资源浪费问题,实现事件驱动的实时响应。
2. 中断的处理流程是什么?
一个完整的中断处理过程遵循一个标准化的硬件与软件协作流程:
-
中断请求:中断源(如外设)产生中断信号(IRQ),并置位相应的中断标志位。
-
中断响应:CPU在每条指令执行结束时,检查是否有未被屏蔽且优先级最高的中断请求。
-
现场保护 :若有合法中断请求,CPU会自动将关键寄存器(如PC程序计数器、状态寄存器等)的值压入堆栈,保存被中断任务的现场。
-
中断源识别 :CPU通过中断向量表(一个存储了各ISR入口地址的数组)跳转到对应中断源的服务程序入口。
-
中断服务 :执行中断服务例程,完成事件处理(如读取数据、清除标志位)。
-
现场恢复:ISR执行完毕后,从堆栈中恢复之前保存的寄存器值。
-
中断返回:CPU执行一条特殊的"中断返回"指令,将程序计数器(PC)恢复到被中断指令的下一条指令,程序继续执行。
第二部分:时钟系统
在时钟树中,各组件共同作用以生成、分配和控制系统所需的各种时钟信号。
-
锁相环 :核心的频率合成器。其作用是将一个低频、稳定的参考时钟(如外部晶振)倍频,生成一个高频、稳定的系统主时钟。它是提升系统运行速度的关键。
-
预分频器 :位于时钟路径前端,用于对输入时钟进行整数分频,以降低频率,为PLL或其他模块提供合适的输入参考频率。
-
相位分数分频器 :一种更精细的分频器。它能实现非整数的分频比(如N.5),用于生成那些频率不是参考时钟整数倍的精确时钟,满足特定外设的时序要求。
-
多路选择器 :时钟路径上的"开关"。用于在多个时钟源(如PLL输出、外部时钟、内部RC振荡器等)之间进行动态切换,以实现时钟源选择 、低功耗模式切换(切换到低速时钟)等功能。
-
CG门 :时钟门控单元。其作用是根据模块的工作状态,动态地开启或关闭 通向该模块的时钟信号。这是现代芯片实现低功耗设计的核心技术之一。当模块空闲时,关闭其时钟以消除动态功耗。
总结关系 :PLL 是发动机,负责升频;分频器 是变速箱,负责调整频率;MUX 是换挡杆,负责选择信号源;CG门 是智能启停开关,负责按需供电(时钟),以节省能源。
第三部分:通信基础
1. 通信模式(根据数据流向)
-
单工通信 :数据只能在一个方向上传输,且方向固定。例如:广播、电视。
-
半双工通信 :数据可以在两个方向上传输,但同一时刻只能进行一个方向的传输。需要"对讲机"式的切换。例如:对讲机、传统的RS-485总线。
-
全双工通信 :数据可以同时在两个方向上独立传输。双方可以同时发送和接收。例如:电话、UART的"发送"和"接收"线独立工作时、以太网。
2. 数据传输方式
-
串行通信 :数据位在单条线路上按时间顺序逐位传输。优点:节省I/O口和线缆,抗干扰能力强,适合长距离。缺点:相对并行通信速度慢。
-
并行通信 :数据的多个位在多条并行的线路上同时传输。优点:理论传输速度快。缺点:需要大量线缆,引脚多,成本高,各线路间易产生干扰和时序不同步,不适合长距离。现代芯片内部总线多用并行,外部接口多转向高速串行。
3. 时钟同步方式
-
异步通信 :通信双方没有统一的时钟信号 。依靠起始位 和停止位 来界定一个字符数据的开始和结束。双方需事先约定相同的波特率(每秒传输的比特数)。数据传输是间断的、以字符为单位。例如:UART。
-
同步通信 :通信双方在同一个时钟信号的控制下进行数据传输。这个时钟信号可以单独一根线传输,也可以编码在数据流中(如曼彻斯特编码)。数据传输是连续的、以数据块(帧)为单位,效率更高。例如:SPI、I2C、USB、以太网。
4. 串口通信的属性归类
通常所说的"串口"特指 UART/USART 通信,它属于:
-
串行通信
-
异步通信
-
在物理上使用独立的TX(发送)和RX(接收)线时,可以实现全双工 。若共用一条数据线(如单总线),则为半双工。
5. 串口通信的电平标准
串口通信的逻辑"1"和"0"在物理线路上有不同的电平表达方式:
-
TTL/CMOS电平:
-
逻辑
1:高电平(如+3.3V或+5V)。 -
逻辑
0:低电平(0V)。 -
应用:芯片间、板卡间的短距离通信(通常小于1米)。
-
-
RS-232标准:
-
逻辑
1:负电压(-3V至-15V,典型-12V)。 -
逻辑
0:正电压(+3V至+15V,典型+12V)。 -
特点:使用正负电压,抗干扰能力更强,传输距离更远(可达15米)。需要通过"电平转换芯片"(如MAX232)与TTL电平相互转换。
-
-
RS-485标准:
-
采用差分信号传输。
-
逻辑
1:A线电压比B线高(差值大于+200mV)。 -
逻辑
0:B线电压比A线高(差值小于-200mV)。 -
特点:抗共模干扰能力极强,支持长距离(可达1200米)和多点通信(总线型网络),通常用于工业环境。
-