攻城狮必备技能——如何快速有效阅读数据手册

攻城狮必备技能——如何快速有效阅读数据手册

1.简介

以SD2.0协议官方文档为例,详细介绍快速有效阅读数据手册的方法和流程。

SD2.0协议文档链接:SD2.0_Final_bookmark.pdf 提取码:ijwg

2.干货

Step 1:明确目的

有目的地去解决问题是最有效率的!

在开始一个项目或工程前,首先需要明确自己的大目标,自己想要实现什么。

→ ex:比如说,我想要实现SD卡的读写控制,这是我的总目标。

接着需要根据自己的经验,把任务细化成几部分,把总目标分成几个小目标。

→ ex:比如说,要实现SD卡的读写控制,可以细分为这么几个部分:明确SD卡的接口、明确SD卡的通信方式、明确使用注意事项、根据需求确定细节。

然后逐次解决每一个问题,完善需求和项目架构。

Step 2:解决问题

解决问题需要讲究方法!

如何去解决上面所明确的各个问题,这是整个过程的关键,其中有些经验也是只可意会不可言传的,我将从具体的示例尽量讲述清楚整个解题流程。

问题一——明确接口

首先,弄清SD卡的接口,这是需要解决的第一个问题,这样可以确定整个项目对外的接口,奠定项目框架的基础。

明确接口问题,需要弄清接口数目、功能、位宽、电气特性等,这些信息怎么去查找呢?

有关接口信息可以在与 Bus 有关的章节找到,先看表再看图最后看文字描述,表和图能了解大概信息,文字描述则可以了解一些细节或者注意事项,帮助理解。

通过阅读,我们可以了解到SD卡数据通信有两种模式,一种是SD模式,一种是SPI模式。两种模式所用到的总线数目是不一样的,通信方式也是不一样的。我们也可以了解到这两种模式分别的接口功能、位宽、电气特性等,可以画一个框图记录下来。

问题二——根据需求确定细节

在观看手册的过程中,我们可能面临一些选择或困惑,这个时候怎么去解决这些问题呢?

根据需求确定细节做出选择解决困惑,这不是所要解决的第二个问题,而是贯穿整个过程的问题。

比如说,我们现在需要选择SD卡的通信模式——SD模式还是SPI模式呢?首先明确我们的需求,假设我们需要高速传输大量数据,这时我们大概浏览一下 System Features ,我们发现它说明了SD卡能达到的最高传输速度,但是要在同时使用到4条DATA线的条件下,而之前我们已经了解到SD模式才采用了4条DATA线,所以我们得选择SD模式。除此之外,我们可能还会产生新的问题,比如说怎么达到最高传输速度?时钟频率设置多少?等等,这些都是需要确定的细节。

你会逐渐发现,我们需要做的就是尽可能 全面、系统 地找到我们需要的信息,这才是最有效率的解决方案,绝不能像无头苍蝇一样乱撞。

问题三——明确通信方式

这是最难、内容最多、也最关键的一个问题,我们所需要理解的核心问题就是通信方式。

怎么去掌握通信方式呢?

首先看图——流程图、状态图、时序图。流程图了解整个通信过程的具体流程,掌握整体结构;状态图了解通信过程的原理,理解在理论上是如何实现这个通信过程的;时序图解决具体细节问题,发送、接收、延时等等具体的要求规定。看图可以形成一条实现通信的线,从开始到结束。

然后看表——数据格式、寄存器信息、命令(响应)类别及具体描述、校验计算等等,从表格中一般可以了解到一些具体信息,比如弄清需要用到的命令的值、需要接收确定的响应的值、校验计算的过程等。看表可以确定这条通信的线中的节点数值,知道到底需要怎么做。

有不懂就看文字描述——文字描述是最详细的,但全部看的话太费时间了,当我们遇到问题的时候,去文字描述中寻找答案即可。当然,很多细节也是需要从文字描述中确定的,很多bug也是通过再次观看文字描述才恍然大悟从而顺利解决。

明确通信方式就是需要搭建一座桥,从开始到结束,每一个节点、每一个数值都需要精确掌握,这个工作量是非常大的,需要耐心和细心。

问题四——明确使用注意事项

在很多时候,当我们已经完成了整个通信过程的实现,但在验证的时候却什么都没有,反复查看时序等等都没有错误,这时很有可能就是一些使用注意事项被遗忘了。比如说,系统上电后至少需要延时多久等待系统内部复位;或者通信建立后需要等待多久才能开始传输数据,等等之类的细节问题。

这个时候,我们需要检查一下这些相关的地方,比如查看初始化部分的注意事项,还有通信过程中的一些注意事项,具体怎么查就需要根据自己积累的一些经验了。

Step 3:搭建框架

学会系统地梳理信息是一项很重要的技能!

在学完整个手册的内容、实现了自己的需求后,需要懂得去搭建属于自己的框架,当你下次遇到相类似的问题时,就能很快入手、发现问题、解决问题,这就是经验的积累!

攻城狮的经验是怎么积累的,就是每一次攻城所打下来的江山!

3.寄语

偶尔有感而发,可能班门弄斧了,很多不到之处,希望大家能够批评指正。

IT圈最让人着迷的地方,不正是知识的共享吗?

希望每一个人都能保持热爱、拥抱梦想!

你可能感兴趣的:(感想)