微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PSoC3 UDB的曼彻斯特编码及应用

基于PSoC3 UDB的曼彻斯特编码及应用

时间:09-01 来源:电子产品世界 点击:

摘要:本文介绍使用Cypress的PSoC3 UDB实现曼彻斯特编码,并基于该编码与LED 恒流驱动芯片TLS3001通信实现对LED系列的控制。
关键字:PSoC3, UDB, 曼彻斯特编码

1, 概述
        在曼彻斯特(Manchester)编码中,每个二进制位(码元)的中间都有电压跳变。用电压的正跳变表示“0”,电压的负跳变表示“1”。由于跳变都发生在每一个码元的中间位置(半个周期),接收端就可以方便地利用它作为同步时钟,因此这种曼彻斯特编码又称为自同步曼彻斯特编码。如图1所示。


 
                                        图1,曼彻斯特编码与逻辑电平对应关系

        从图1可以看出曼彻斯特编码本身并不复杂,在有些应用中可以采用单片机软件编程实现编码。但若应用系统要求较高的数据传输速率,比如本文后面介绍的LED控制中要求数据传送速率范围在100KHz~2MHz时,用软件实现曼彻斯特编码可能达不到速率要求。本文将采用PSoC3 UDB实现曼彻斯特编码,即用Datapath实际基本控制逻辑,用PLD实现状态机,由于其采用硬件实现故能达到速率要求。

        Cypress PSoC3使用基于单循环流水线的高性能8051内核 (67MHz/33MIPS),提供业界广泛采用的5.5V至0.5V电压范围和低至200nA的休眠电流,可以满足极低功耗的应用场合。PSoC3的高性能模拟子系统和数字系统都拥有可编程通路,允许将任何模拟或数字信号(包括可编程时钟)分配到任何通用I/O引脚,这为使用者提供了真正的“系统级”可编程能力。

        UDB(Universal Digital Blocks)是PSoC3可编程数字系统的核心功能,由PLD和Data path组成,可以创建各种通用外设和定制化功能。PSoC3的数字逻辑部分由多个UDB通过矩阵和可编程互联组成,PSoC3、UDB和Datapath的关系如下图2所示。

 

                                              图2,PSoC3、UDB和Datapath关系示意图

2,曼彻斯特模块设计
        采用PSoC3的UDB 实现曼彻斯特编码,就是用Datapath实现简单的控制逻辑,在PLD中用Verilog语言描述曼彻斯特模块功能的过程。在PSoC Creator中设计的曼彻斯特模块如下所示:
        

         该模块只有一个时钟输入和一个曼彻斯特编码输出,要编码的数据是通过Datapath的FIFO输入的。Datapath的配置可采用Cypress提供的“Datapaht Configuation Tool”工具实现,如图3所示:

 

                                         图3,Datapath Configuration Tool

         基于Datapath设计曼彻斯特模块的步骤如下:
1),寄存器规划
        A0,用做移位寄存器
        F0,用做暂存下一个数据的FIFO,当A0为空时从F0中load 数据到A0
2),状态机
        状态机是曼彻斯特模块功能的具体实现,通过Verilog语言描述在PLD中运行,如图4所示:
 


                                            图4,曼彻斯特模块状态机

      

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top