最近在研究K60的USB和以太网部分,因为自己一直想搞搞,尤其是前一段时间玩了玩我前几篇博客里提到的那个Tower系统的demo,里面有一个USB鼠标和Web服务器的例程,还是挺有意思的,所以又跟宝贝似的拿出了塔式瞅了瞅,看了看USB和以太网部分的板卡即塔式系统中的TWR_SER部分,结合其datasheet研究了一番,有了点小发现小心得。本篇博客是第一次专门写某个芯片的了,其实也算是一种工程经验和心得体会,毕竟老写代码编程之类的,都会觉着腻歪,以前有写过一些硬件设计心得,那么本篇就算是我探索的另外一种模式吧,希望看了本篇博客的网友有所收获,呵呵~ 我们知道K60塔式的以太网部分用的物理层芯片是KSZ8041,在运行在RMII通信模式下,需要该芯片与k60的时钟保持同步(同频同相),所以简单的处理方式就是直接把K60的时钟输入与KSZ8041时钟输入直接连到一块儿(前提是要用有源晶振,我自己画的板子采用就是这种方式,50M有源晶振),不过在塔式系统里采用了一种零延迟时钟缓冲器芯片NB2304,同时给两个时钟输入端提供同步的时钟信号,提高了系统的稳定性(哎,俺的山寨板子的用法就显得真有点丢人了,哈哈),而且还可以倍频和分频。好了,废话不多说了,下面就开始正题: NB2304(NXP荣誉出品,咳咳,又开始给NXP插广告了,勿拍砖,呵呵),零延迟时钟缓冲器,其实其内部就是简单的一个锁相环(PLL),而且有两种型号NB2304A*1(输出等于输入),NB2304A*2(可以倍频和分频),塔式系统上用的后者,采用TWR_SER板卡上的25M有源晶振倍频至50MHz分别给K60和KSZ8041提供时钟,作为它们的时钟源。下面上图,看看NB2304内部框图,然后就一目了然了(其实结构很简单,本篇博客之所以提出来就是为了让些初级硬件设计的网友知道有这种芯片,方便以后开发设计,嘿嘿):
|