原创 【博客大赛】我的疑问也可能是你的疑问

2014-7-26 20:09 1989 15 19 分类: MCU/ 嵌入式

我的疑问也可能是你的疑问

之你真的看懂AMBA总线协议了吗

一)问题的来源

离开了学校这座象牙塔,步入了社会这个大熔炉,第一站就是公司,都不曾给你喘气的机会。在公司的头三个月基本上是培训,涉及到公司的文化,公司的日常制度,由于是软件和硬件结合的公司(IC设计,硬件设计芯片,嵌入式负责开发应用平台、驱动),所以对保密制度更加关切。这些方面培训结束后基本上都是在培训设计技术方面的内容。

我的第一个培训课题是uart,主要是看uart手册、然后汇报,最后测试公司现有的IP,修改IP实现附加功能,别小看了这个过程,看起来不难,然而真正去做的时候发现很多方面并不是很懂,懂得也不是很深,譬如软硬件中断,软硬件流控制,FIFO深度如何设定,寄存器读写,ARM公司的APB中线;这些东西融合到一块,就不在是小问题,而是五味俱全的设计。

    我的第二个培训课题是总线,包括公司自定义总线和ARM公司的AMBA总线,还有开源总线OCP,关于公司的总线涉及到保密制度,在此不多述,而ARM公司的AMBA总线包括AHBASBAPB(现在出的3.0版还有AXI),我侧重的是AHB总线,其他方便的内容如果你感兴趣可以自行补脑。第一阶段是看总线协议然后汇报;看着总线手册感觉不是很难,但是让你几套总线对比看,对比优缺点的时候,难度就上来了,为什么这样设计而不是那样设计,里面可有学问了。看完和汇报完之后是做设计,将公司的总线协议转换为AHB协议,曾经的以为看懂,在设计的时候又都变成了问题,难怪有人说,考验你懂不懂,就考你能不能说出来给别人听,写出来给别人看,做出来给别人演示。在做协议转换的时候遇到了很多的问题,虽然我有疑问,但是我仍然带着疑问做起了设计,给我培训的导师说没关系,你现在是培训,问题越多越好,你想的就会深,学到的自然会多,下面举几个例子。

二)我的疑问,也可能是你的疑问

20140726090310820001.jpg

 

看上图的协议,我的问题是在发cmdA(包括地址,transburst等相关的cmd)时,HREADY此时是不是1,或者问题提炼为,在master发送第一个cmd的时候需要slaveHready1才能发送吗,或者换种说法,slave需要在默认的情况下将Hready拉高吗。关于这个问题,我在本论坛里看过别人的会答,也在其他论坛看过相应的解答,大家意见不同,有的说AMBA并没有规定是不是1,各持己见!

20140726090317178002.jpg

我的问题二是,上图的nonseqseq意义何在,如果masternonseq发成了seq会不会错,因为每次发送cmd的时候也伴有地址,所以个人觉得nonseq发成了seq不会造成slave的接收错误,那么nonseq意义是不是仅仅表示一个新的cmd开始了?还是另有深意!

上面大概是我的两个主要疑问,还请论坛里的嵌入式牛人,或者IC设计牛人,或者对ARM公司的AMBA总线理解深刻的人看到后不吝解答!

三)带着疑问的设计

    虽然我有疑问,但是带着疑问我做起了设计,下面是大概的设计架构,和其中的一个状态机,另一个状态机类似。现在的架构和状态机都不够成熟,就在我现在写的时候就感觉到了。后续我会提供更为成熟的架构和思想,我觉得交流自己的心得,才能有新得!

20140726090323196003.jpg

20140726090329508004.jpg

四、总结

就是这样,协议这东西,每个人理解力不同,理解的结果就不同,设计出来的就不同,如果你的设计和其他人的设计都依赖于某个协议,你的设计要依靠其他人的设计才能存活的话,那么你和其他人必须讨论一下你们对协议理解的是不是相同,否则做出来的产品就糟糕了,我们公司的老大就举过这样的例子。

好了就写这么多了,还望有会的小伙伴回答我一下上面的问题!

 

 

 

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

sunyzz 2014-8-4 21:10

是soc的,苏州MTK子公司

用户1206368 2014-8-4 09:53

楼主公司是做soc的吗?不知道是哪家?

sunyzz 2014-8-1 21:45

用visio

用户466443 2014-7-31 20:29

很不错,不过我看不懂,所以只好提一个买椟还珠的问题: 最后那张图用什么软件画的?
相关推荐阅读
sunyzz 2017-08-19 10:38
【博客大赛】AVALON总线介绍
1、AVALON总线简介Avalon总线是一种协议较为简单的片内总线,是ALTERA公司定义的片上互联总线,该总线可以将诸如NIOS II的CPU与其他外设连接起来,进而进行数据交换。AVALON总线...
sunyzz 2017-08-17 21:36
【博客大赛】不要轻易做职场滥好人
小A毕业于国内普通高校,但是他聪明,勤奋,能干,动手能力强,可是即便有这些优点也不能让小A轻轻松松找到一份好工作。这不,去年9月份小A好不容易找到一份工作,然后立马就入职了C公司,生怕C公司过两天不要...
sunyzz 2017-08-16 21:15
【博客大赛】IC设计低功耗技术四
五:工艺层面的降低功耗前面几节都是在讨论设计人员如何在前期阶段,中期阶段降低功耗,涉及到软件层面的,硬件层面的,这些技巧基本都是前辈总结出来的,或者根据理论推论出来的。但是到了后期,想降低功耗基本就要...
sunyzz 2017-08-14 22:35
【博客大赛】IC设计之低功耗技术三
四:RTL(寄存器传输)级的低功耗设计4.1 状态机的设计状态机编码中一般有两种方式,普通的二进制编码,特殊的格雷码,格雷码的特点是两个数据之间的跳变时只会有一个bit在toggle,显然比起多bit...
sunyzz 2017-08-12 16:51
【博客大赛】IC设计之低功耗技术二
三、架构层面的降低功耗系统的实现有很多的方式,每种方式对功耗的影响都不相同,本节主要介绍架构对功耗的影响。3.1 高级门口电路 在同步电路系统中,时钟占据了大部分的动态功耗,因而在一些情况下,如果有些...
sunyzz 2017-08-12 10:37
【博客大赛】IC 设计之低功耗技术一
一、前言随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。节能是全球化的热潮,如计算机里的许多芯片过去用5V供电,现在用3.3V,1.8V,甚至更低的电压。目前的低功耗设计主要从芯片...
EE直播间
更多
我要评论
4
15
关闭 站长推荐上一条 /3 下一条