【经验】基于EFM8LB的CLU实现25G LANWDM光模块的曼彻斯特编、解码,减少对MCU带宽资源的占用


SILICON LABS 8位单片机EFM8LB,因具备高速度、高模拟特性、小体积、低成本等特性,被广泛应用在包括25G LANWDM等光模块中,最近又因EFM8LB集成的CLU可以支持硬件曼彻斯特编、解码,更加奠定了EFM8LB在中、低速光模块中的霸主地位。
显然,基于EFM8LB的CLU实现硬件曼彻斯特编、解码,好处多多,不仅处理速度快,更能减少对MCU带宽资源的占用,提高MCU执行速率。那么,如何基于EFM8LB的CLU实现25G LANWDM光模块的曼彻斯特编、解码?本文将为你详细解读。
一、基于EFM8LB CLU0实现的硬件曼彻斯特编码的方法。
以下图1为例,“C”为时钟信号,“D”为数据信号,,“M”为“C”与“D”经曼彻斯特编码后曼彻斯特码。
图1 曼彻斯特编码示例波形
图2 基于EFM8LB CLU0实现的硬件曼彻斯特编码逻辑框图
如上图2,当将时钟信号从P0.4脚输入、将数据信号从P0.7脚输入,并将这两个脚配置为CLU0输入脚、且CLU配置为“XOR”(异或)功能时,则CLU0OUT就可以输出曼彻斯特编码,并可通过CROSSBAR从IO口输出(本例是P0.2脚)。相应的,EFM8LB的CLU0的配置代码如下:
SFRPAGE = 0x20;
/* MXA as P0.4, MXB as P0.7*/
CLU0MX = 0xAB;
CLU0FN = LUT_XOR(SI_LUT_A, SI_LUT_B);
CLU0CF = CLU0CF_OEN__ENABLE |
CLU0CF_OUTSEL__LUT;
CLEN0 |= CLEN0_C0EN__ENABLE;
SFRPAGE = 0;
二、基于EFM8LB CLU0实现的硬件曼彻斯特解码的方法。
基于EFM8LB CLU0的硬件曼彻斯特解码,要比编码复杂的多。它输入是1路曼彻斯特编码“M”,输出的,是两路信号数据“D”及时钟“C”。为了产生时钟信号,还在EFM8LB内部启用1路定时器(本例是T2,自动重载模式)。如下图3,是曼彻斯特解码波形示例,其中包括“M”、“D”、“C”、“T2”及中间信号等波形。
图3 曼彻斯特解码波形示例
如下图4,是EFM8LB基于CLU0~CLU3及T2等外设配置的硬件曼彻斯特解码逻辑框图实例,1路“M”曼彻斯特码输入,2路信号输出(“D”数据码及“C”时钟码)。
图4 基于CLU0~CLU3及T2等硬件外设配置的硬件曼彻斯特解码逻辑框图
对于EFM8LB的外设CLU0~CLU3配置代码如下:
CLU0MX = CLU0MX_MXA__CLU0A1 | CLU0MX_MXB__CLU0B2;
CLU0CF = CLU0CF_OUTSEL__LUT | CLU0CF_OEN__ENABLE;
CLU0FN = LUT_NOR(SI_LUT_A, LUT_XOR(SI_LUT_B, SI_LUT_C));
CLU1MX = CLU1MX_MXA__CLU1A1 | CLU1MX_MXB__CLU1B1;
CLU1CF = CLU1CF_OEN__ENABLE | CLU1CF_CLKSEL__ALTCLK;
CLU1FN = LUT_NOT(SI_LUT_A);
CLU2MX = CLU2MX_MXA__CLU2A0 | CLU2MX_MXB__CLU2B8;
CLU2CF = CLU2CF_CLKSEL__CARRY_IN | CLU2CF_OEN__ENABLE;
CLU2FN = SI_LUT_B;
CLU3MX = 0x00;
CLU3CF = CLU3CF_OUTSEL__LUT | CLU3CF_OEN__ENABLE;
CLU3FN = SI_LUT_C;
CLEN0 = 0x0F; // enable CLU0, CLU1, CLU2, CLU3
综上,通过波形、实现逻辑框图及配置代码,详细描述了基于EFM8LB硬件CLU及定时器T2实现曼彻斯特编、解码的方法,如此,可大大减少编、解码任务对MCU带宽的占用、加快EFM8处理调顶信号的速度。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由风起云扬提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】如何下载、安装、设置Silicon Labs 8位单片机集成开发环境IDE?
Silicon Labs的8位单片机集成开发环境IDE,简单、容易、强大,是C8051F及EFM8等8位单片机软件开发的强大利器!为了让新手能够快速上手IDE,本将详细接收Silicon Labs IDE的下载、安装、设置等方法。
【经验】8位单片机C8051F360如何实现多个SPI通信?
快速与不同配置的多个从设备进行通信,已经成为当前MCU芯片设计中的核心技术点之一。在现有微控制器芯片中spi接口一般只有1个,如何实现多个SPI通信是个问题。本文将介绍Silicon Labs的8位单片机C8051F360实现多个SPI通信的方法。
【经验】如何计算8位单片机EFM8LB系列PWM最高输出频率?
在电机驱动、电源发生、可调电压发生等应用中,经常需要PWM波,Silicon Labs推出的高性能、高集成度、小体积、高性价比的EFM8LB系列8位单片机,可广泛应用光模块、电机控制等领域,它支持输出PWM波。本文将详细讲解如何计算EFM8LB系列8位单片机PWM最高输出频率。
SILICON LABS 8-bit Microcontroller选型表
SILICON LABS 8位MCU选型,MCU Core 8051,频率20MHz~100MHz,Flash存储2kB~120kB,RAM存储0.25kB~8kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Dig I/O Pins
|
ADC 1
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
DAC
|
Comparators
|
UART
|
SPI
|
I2C
|
HS I2C Slave
|
EMIF
|
CAN
|
LIN
|
VREF
|
Debug Interface
|
C8051F392-A-GM
|
8位MCU
|
C8051F39x Small Form Factor
|
50
|
16
|
1
|
1.8
|
3.6
|
QFN20
|
4x4
|
±2
|
17
|
10-bit, 16-ch., 500 ksps
|
Temp Sensor
|
6
|
3
|
10-bit, 2-ch.
|
1
|
1
|
1
|
2
|
0
|
0
|
0
|
0
|
VREF
|
C2
|
Silicon Lab收购生产高速8位单片机Cygnal
2016年,Silicon Lab公司宣布,以5800万美元的价格收购Cygnal公司。Cygnal是一家8位单片机公司,主要生产高速8位单片机,自前年进入中国市场以来,沈阳新华龙是该公司的代理,其C8051F单片机以速度快但是价格贵在国内著名。
【经验】如何正确设置EFM8LB1系列8位单片机的堆栈空间?
Silicon Labs推出的EFM8LB1系列8位单片机,具有集成度高、速度快、模拟性能好及体积小等优点。最近有使用的软件工程师问,为了让EFM8LB1配合DSP工作, 如何扩大它的堆栈空间?本文就将为你讲解。
【经验】如何手动完整擦除EFM8系列8位单片机的FLASH?
在很多时候,我们会有手动完整擦除FLASH的需求,比如需要重新烧录boot代码等。Silicon Labs推出的EFM8系列8位单片机,具有功能丰富、集成度高、体积小、性价比高等优点,被广泛在光通信、工业控制、智能家居等领域。那么,EFM8系列8位单片机的FLASH应该如何手动完整擦除呢?本文将为你详细解读。
【经验】如何给EFM8LB系列8位单片机的外设CLU分配管脚?
CLU,是Configurable Logic Units英文缩写,即“可编程逻辑单元”,基于它,可以实现复杂的逻辑运算,且不占用MCU运算资源。它是Silicon Labs推出的EFM8LB系列8位单片机重要、先进的外设,在光模块等产品中,有着典型的应用。而管脚分配,是CLU重要的配置步骤,本文将为你详细讲解CLU的管脚分配。
【经验】如何给8位单片机EFM8LB的外设CLU配置逻辑运算函数?
Silicon Labs推出的8位单片机EFM8LB有个外设叫CLU,不占用MCU带宽、可单独使用也可级联,能实现较为复杂的逻辑运算,对需要调顶功能的光模块有很大的作用。那么,该如何给CLU外设配置逻辑运算函数呢?有本文将为你详细解读。
Silicon Labs 8位单片机EFM8LB使用最新的“efm8_load_smbus.exe” GUI软件通过SMBUS下载更新固件时,只能下载.efm8格式 的固件吗?
“efm8_load_smbus.exe” GUI软件配合SMBUS接口下载更新Silicon Labs 8位单片机EFM8LB固件时目前只支持.efm8格式文件下载,需要通过 “hex2boot.exe”将.hex文件转成.efm8格式再下载。
Silicon Labs 8位单片机EFM8BB21在量产时,Flash Programming软件每次都需要重新连接MCU,是否有更加高效的量产软件?
Silicon Labs 8位单片机EFM8BB21在量产时,Silicon Labs还提供MCUProductionProgrammer烧录软件,可以预先配置一次,后续只续一键下载,而无需重新连 接MCU。
【经验】8位单片机EFM8LB看门狗异常复位的原因及解决方法
最近有一客户反馈,在调试芯科科技8位单片机EFM8LB看门狗时,发现看门狗经常有异常复位的现象,即复位周期总小于理论周期。这是什么原因?该如何解决?本文将根据当时解决情况,特做总结,给你大家分享一下。
【经验】8位单片机EFM8系列的ADC对参考电压Vref引脚设计要求
Silicon Labs的8位单片机EFM8系列,高精度ADC功能时该芯片的一大特点,为了ADC获得准确的采用值,除了正确操作ADC外设外,还需要正确设计参考电压,结合EFM8芯片的特点,介绍参考电压设计需要注意的事项。
Silicon Labs的8位单片机EFM8LB1系列芯片,使用Simplicity Studio V3的开发环境,没有UART1的例程,是否可以提供?
Silicon Labs公司推出最新的开发环境Simplicity Studio V4版本,提供的SDK版本会高于V3版本的开发环境,该开发环境下提供 UART1的例程,请下载最新的V4版本开发环境,并安装使用。
【经验】如何计算8位单片机EFM8LB系列看门狗的复位间隔?
Silicon Labs推出的EFM8LB系列8位单片机,有看门狗外设,而且比较特别的,不同于早期的C8051F及其它EFM8系列单片机,它拥有独立的时钟源,不再同PCA外设共用。本文将详细说明 EFM8LB系列8位单片机,有看门狗外设,而且比较特别的,不同于早期的C8051F及其它EFM8系列单片机,它拥有独立的时钟源,不再同PCA外设共用。本文将详细说明它的复位间隔(即“回归时间”)计算方法。
电子商城
现货市场
服务

提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量:1台 提交需求>

可定制单位/双位/三位/四位LED数码管的尺寸/位数/发光颜色等性能参数,每段亮度0.8~30mcd,主波长470~640nm,电压2~10.2V。
最小起订量:1000 提交需求>
登录 | 立即注册
提交评论