使用Microchip的CIP来实现线性回授移位暂存器LFSR

更多猛料?欢迎关注老杳个人微信号:laoyaoshow
来源: CTIMES   发布者:CTIMES
热度110票   时间:2016年12月31日 03:54
在各种应用及领域中,有非常多的机会去使用到线性回授移位暂存器(Linear Feedback Shift Registers, LFSR) 。例如近似的随机乱数序列PRBS (Pseudo Random Bit Sequence)、CRC (Cyclic Redundancy Check)的计算?最长序列(MLS)的产生,另外还有扰频器(Scrambler) /解扰器(Descrambler)等等。

LFSR主要实作分为二种架构,因抽头回授的位元而有所不同,分别为Fibonacci (图一)及Galois (图二)。一般使用上,或许会认为使用软体(Software)的方式来实现即可。这是非常普遍的作法,并不需要大费周张去寻求特别的实现方法,但是却忽略掉使用软体方式来实现时,有可能因为中断 (INT)的发生? 程式码的分岐(Branch, Jump) 而造成LFSR输出信号的不稳定、以及发生跳动(Jitter)的现象。



图一 : Fibonacci LFSR Galois LFSR
同时也因为是由软体来控制LFSR , 所以也不能减少CPU的负载,也因为软体 程式必须一直执行,所以无法减低功耗。因此使用Microchip CIP (Core Independent Peripherals}所提供CLC (Configurable Logic Cell)再加上CCP (PWM) with Timer的功能,即可非常容易的用纯硬体架构来实现LFSR功能,解决当应用场合非常注重高速信号、Jitter及功耗的情况。



图三 : CLC綦本架构及功能
-个最基本的Microchip GIP CLC架构 如图三所示,可以把它想成是-个可设定的组合/时序逻辑的总成。CLC的输入可以是可选择的多个 10脚位,也可以是 其它周边的输出信号,或是 Clock 信号。而这些不同的输入信号 可以经由被指定的组合/时序逻辑汇整处理后再来输出到不同的10, 或者也可以按照使用的设计再输出到下一级的CLC/Peripherals去,同时也能产生 interrupt , 让CPU介入处理,如图四所示。在这里要特别强调的是,它是纯硬体的动作!快速省电并且不需要CPU 去执行软体-直做介入,一但设定完成CLC及CCP即可持续动作,CPU即不用-直花费资源及功率在CLC及CCP的运作上,可以把CPU的资源用在其它需要的工作上。



图四 : PIC16F177X基本CLC方块
所以在Microchip PIC16F177X的MCU系列中,它的周边设置(图五),具有四个的CLC 以及CCP, 因此可以设定成4 bit的LFSR再利用CCP模组产生的WM 信号来做LFSR的同频信号。而 CLC跟CCP的设置也非常的简单,只要透过 MPLA的XIDE with MCC的使用者开发介面,以勾选或填值的方式来自动产生程式码即可,因此对于非程式设计背景的使用者也非常方便切入进行相关的实作。



图五 : PIC16F177X方块图
如需瞭解更多资讯请至网站http://www.microchip.com

Microchip CIP提供的CLC和CCP,协助用纯硬体架构来实现LFSR功能,解决当应用场合非常注重高速信号、Jitter及CPU功耗的情况,也易于非程式设计背景使用者上手。



    扫描下方二维码关注老杳或集微网官方微信:




  • 【手机中国联盟官博系列赠机活动进行中,欢迎参与】

  • 老杳吧本周热点帖子

    老杳吧今日热点帖子


    顶:8 踩:11
    对本文中的事件或人物打分:
    当前平均分: (29次打分)
    对本篇资讯内容的质量打分:
    当前平均分: (27次打分)
    【已经有人表态】
    5票
    感动
    4票
    路过
    2票
    高兴
    4票
    难过
    6票
    搞笑
    2票
    愤怒
    6票
    无聊
    6票
    同情
    上一篇 下一篇