subsystem

subsystem 看做是总线上挂载的子cpu 或者 fpga

先是方框图

看看由哪几个主要模块组成.

各个模块的 连接逻辑 从属逻辑 模块功能

控制流 数据流 寄存器 中断 fifo  dma


 

初始化时钟 一般由系统总的时钟控制器控制

设置寄存器  模式选择 

时序相关 波特率设置

设置fifo 一般有中断触发阀值 来通知子系统状态 

使能中断 cpu侧接收中断  子系统侧发送中断 中断优先级

使能dma dma控制器侧 配置通道  子系统侧发送请求 一般使能dma后 中断由dma控制器接管,不会再触发普通中断 dma一般分为单片连续内存运输 和多片链式内存运输  

中断处理函数



发送的触发条件

接收的触发条件

发送完成标识

接收完成标识

清除中断方法

错误触发条件

错误处理

 

先去除所有边角功能,一般这些功能也是默认关闭的

组建一个最小功能,在一项项加上去


轮询,不用中断 fifo dma ,简单无脑,缺点,占用cpu时间,时效低,易丢失

用中断 不用fifo dma,也较简单,少占用cpu时间,缺点,当系统繁忙时候,中断被高优先级打断,作为从机或者异步传输时候,会响应慢,丢失数据所以会有中断pace这一说法

用fifo,用dma,配置较复杂 ,一个datasheet 最复杂三块 dma 网口 usb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值