[忆语游心] Patrick's Parabox
『玩这游戏只要办三件事:递归、递归,还是递归——』
我在大学里都学了啥?
唔唔……现在想想,学习之余的时间做了很多事情呢。
集创赛『信诺达杯』初赛经验分享
博主无竞赛专业知识,仅分享心得体会,内容不免有疏漏。欢迎评论指正。
前言
为什么集创赛要报信诺达杯呢?因为看错了。画着版图导着管,突然就被赛事联系人抓走了
前段时间终于把信诺达杯的初赛方案交上去了。这个赛题是我和队友一起从无到有、摸爬滚打,才逐渐摸清的,简单说一点心得吧。
赛题分析
MT8880是具有MPU和IO接口的可以进行编码和译码的DTMF收发机芯片,通过数据总线和使能信号,在时钟沿对内部寄存器进行读写,可以实现功能模式的转换和数据收发的时序控制。
在发送模式中,通过数据总线写入发送寄存器中的数据,在经过数模转换器后产生对应的DTMF信号,内部行列计数器可以精准定时传输脉冲串信号。
在接收模式中,经过输入端差分放大器对输入的DTMF进行采样,经过滤波器和检测装置的解码,在迟滞电路中产生迟滞信号,输出信号中断,并在接收寄存器存储译码后的数字信号。
同时,通过对控制寄存器进行改写,可以实现在接收模式,单音发送模式,双音多频发送模式,突发模式,暂停模式等模式间进行切换。
这是一片数模混合芯片,需要测试的参数繁多,且功能测试复杂。因此,秉持“由易入难”的思想,先分析数字 ...
记一次无技术手册开发墨水屏驱动的过程
我是不是花钱找罪受?哈哈,怎么会呢。
[忆语游心] 写在前面
No Game, No Life.
成都之旅
傍水映月、细雨静夜。
计算机原理与嵌入式系统笔记:第十四篇
试题为回忆版,可能有疏漏/错误
选择:
绪论 嵌入式系统设计流程
前变址
立即数判断
简答题:
直接映射和全相连的概念、二者优缺点
补码计算、CPSR位判断
AMBA总线
分析题:
MIPS数据通路、流水线寄存器位宽、信号含义
EDF调度表
编程题:
While-Do结构的FIR滤波器/循环书写
总体是不算太难的。考场里最快交卷的时间是开考后一个半小时。
概念考察的不少,需要好好背一背。主要是理解。
信号数量、位宽啥的不用背,图上一般都会有,含义其实也能通过看图上面的MUX来判断。
2024.7.4 成绩下发。平时97,期末89,总分91,排名前15%。感觉老师改卷是偏松的。考的最好的一门 最好的应该是电工实习,战胜100%的人
计算机原理与嵌入式系统笔记:第十三篇
多进程与多速率系统
任务与进程
任务(task) 是一个密切相连的操作组合的功能描述。
任务也可定义为若干进程或线程的组成。
进程(process) 是一个程序的单次执行。
两次运行相同的程序,可以创建两个不同进程
每个进程拥有自己的状态:
寄存器状态
存储器状态
操作系统管理进程
为什么需要多进程?多任务本身即是多进程,多进程有助于在时间复杂系统中应用。
多速率系统
多速率(multirate) 的嵌入式计算系统很常见,程序设计必须满足多种速率对计算的时间要求。
任务之间可以是同步或不同步
同步的任务可以以不同的速率发生
根据任务的实际计算需求,进程运行在不同的速率
进程的时间约束
进程的时间约束会影响可用的调度策略,进程有两个重要的约束:
释放时间(release time):也叫起始时间(initiation time),进程处于准备执行状态的时刻,此时未取得CPU控制,也没有开始运行。
截止时限(deadline):指明计算何时必须结束。
非周期性进程由一个事件触发;周期性进程在每个周期都执行,在周期开始时初始化。
进程的速率约束
进程的速率约束指 ...
计算机原理与嵌入式系统笔记:第十二篇
程序组件与程序模型
嵌入式软件常用的三个组件结构:
状态机(State machine)
循环缓冲区(Circular buffer)
队列(Queue)
状态机适合于交互式系统,循环缓冲区和队列应用于数字信号处理系统。
状态机
有限状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型,分为两种:
Moore机:输出只由当前状态确定
Mealy机:输出依赖于当前状态和输入
循环缓冲区
流数据通常用于信号处理领域的程序设计中,数据定期传送,新数据按规律到达,且每个数据生命周期有限,需要程序立即处理。循环缓冲区是便于程序高效处理流数据的一种数据结构。数据窗口尺寸不变,只是随时间滑动。
索引指向循环缓冲区的下一个被替换的数据位置(input)和当前使用的数据位置(use)。
12345678910111213141516171819202122232425262728293031#define CMAX 6 /* filter order */int circ[CMAX]; /* circular buffer */int pos; /* pos ...
计算机原理与嵌入式系统笔记:第十一篇
CPU总线
计算系统包括微处理器(CPU)、输入输出设备(I/O Devices)和存储器。
总线(bus) 是系统组件之间的公共连接,是CPU与存储器和设备进行通信的机制,定义它们之间通信的协议。
协议(protocol) 定义了设备之间如何通信。
四周期握手协议
设备1升高查询信号的输出电平,告诉设备2准备监听数据。
当设备2准备好接收数据时,它使应答信号为高电平。这时设备1和设备2已准备好发送或接收数据。
一旦数据传送完毕,设备2使应答信号为低电平,表示已经接收完数据。
检测到应答信号变低,设备1降低其查询信号的输出电平
典型总线结构
总线的基本操作是读和写,典型的总线结构包括以下组件:
Clock:时钟,用于总线各组件之间的同步。
R/W:当总线读时,R/W为1;当总线写时,R/W为0。
Address:是一个a位信号束(bundle),传输访问的地址。
Data:是一个n位信号束,用于传输CPU发送或者接收的数据。
Data ready:数据就绪,表示数据信号束上的值有效。
传输由CPU控制,R/W和地址是单向信号,CPU决定地址和方向。
总线操作的时序图与顺序图
...