基于大功率白光 LED 的可见光通信

news/2024/11/8 9:10:52/

目录
摘要 1
1 、系统方案设计思路 3
2 、方案设计与选择 4
2.1 CPU 的选择 4
2.2 锁相环的选择 4
2.3 光调制中放大器件的选择 4
2.4 显示模块的选择 4
3、系统方案详细设计 5
3.1 可见光通信装置电源模块 5
3.2 可见光通信装置发送端 5
3.2.1 信号调制电路 5
3. 3 可见光通信装置接收端 6
3.3.1 信号解调放大电路 6
4、系统软件设计 8
5、测试结果与分析 8
5.1 仪器设备 8
5.2 各模块测试 9
5.2.1 语音传输模块测试 9
5.2.2 模拟信号传输测试 9
5.2.3 LED 照明模块测试 9
5.2.4 电源模块测试 10
6、总结 10
参考文献 11
1 、系统方案设计思路
本文所设计的可见光通信装置以 MSP430F149 为控制核心,由发送端、接收端两部分组成。 使用 MSP430F149 产生 m 序列并完成对装置的温度检测、电压采集及信号传输记录等功能,
并且实时在 12864 上显示。 发送端由主控芯片组成的最小系统、前置放大电路、音频调制电路、光调制电路、白光
LED 发射灯、显示模块、24V 电源等模块组成。该部分实现了对两路语音信号和 m 序列的调制 并通过可见光发射给接收端的任务。
接收端由放大滤波电路、音频信号功率放大电路、整形电路、音频解调电路、PIIN 光电 二极管等模块组成。该部分实现了来自发送端信号的解调、放大和语音输出,以及完成来自 m 序列发生器的波形输出的任务。
总系统框图如下:
在这里插入图片描述

2 、方案设计与选择
2.1 CPU 的选择
方案一:采用 51 系列单片机。采用现在比较通用的 51 系列单片机作为整个系统方案的 主控 CPU。51 系列单片机应用比较广泛,各种技术都比较成熟,但此系列单片机是 8 位机, 处理速度不是很快,I/O 端口较少,资源不够充足。
方案二:采用 MSP430 系列单片机。TI 公司的 MSP430 系列单片机是一种 16 位超低功耗 的混合信号处理器,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数 寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以 及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度;接口 方便开发;而且 MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便, 满足当前低碳经济的要求。
综合以上方案,我们采用 TI 公司的 MSP430 系列单片机,选择方案二。


/********************************************************************/#include <msp430x14x.h>#define CPU_F ((double)8000000) 
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) 
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) #define uchar unsigned char
#define uint  unsigned int
#define ulong unsigned long#define  KeyPort         P1IN                              //独立键盘接在P24~P27
#define  LED             P2OUT                             //LED灯接在P5上
uchar key;//*************************************************************************
//       系统时钟初始化
//*************************************************************************void Clock_Init()
{uchar i;BCSCTL1&=~XT2OFF;                 //打开XT振荡器BCSCTL2|=SELM1+SELS;              //MCLK为8MHZ,SMCLK为8MHZdo{IFG1&=~OFIFG;                   //清除震荡标志for(i=0;i<100;i++)_NOP();                      //延时等待}while((IFG1&OFIFG)!=0);           //如果标志为1,则继续循环等待IFG1&=~OFIFG; }void WDT_Init()
{WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗
}//*************************************************************************
//	初始化IO口子程序
//*************************************************************************
void Port_init()
{P1SEL = 0x00;                   //P2普通IO功能P1DIR = 0xF0;                   //P24~P27输入模式,外部电路已接上拉电阻P2SEL = 0x00;                   //P5口普通IO功能P2DIR = 0xFF;                   //P5口输出模式LED = 0xff;}//**********************************************************************
//	键盘扫描子程序,采用逐键扫描的方式
//**********************************************************************uchar Key_Scan(void) 
{uchar key_check;uchar key_checkin;key_checkin=KeyPort;          	//读取IO口状态,判断是否有键按下key_checkin &= 0x0F;          		//读取IO口状态,判断是否有键按下if(key_checkin!=0x0F)            	//IO口值发生变化则表示有键按下{delay_ms(10);                  	//键盘消抖,延时20MSkey_checkin =KeyPort;key_checkin &=0x0f;if(key_checkin!=0x0f){  key_check=KeyPort;switch (key_check & 0x0F){case 0x0e: key=4;  break;case 0x0d: key=3;  break;case 0x0b: key=2;  break;case 0x07: key=1;  break;}}}else{key=0xFF;        }return key;} //*************************************************************************
//		主程序
//*************************************************************************void main(void)
{     WDT_Init();                            //看门狗设置Clock_Init();                          //系统时钟设置Port_init();                           //系统初始化,设置IO口属性delay_ms(10);                         //延时100mswhile(1){Key_Scan();                       //键盘扫描,看是否有按键按下if(key!=0xff)                     //如果有按键按下,则显示该按键键值1~4{  switch(key){case 4: LED=0xfe;break;  //给不同的键赋键值,键值1,亮1个LED灯D1case 3: LED=0xfd;break;  //给不同的键赋键值,键值2,亮1个LED灯D2case 2: LED=0xfb;break;	 //给不同的键赋键值,键值3,亮2个LED灯D1.D2case 1: LED=0xf7;break;	 //给不同的键赋键值,键值4,亮0个LED灯default: LED=0x7f;}         	}else{//  LED=key;              	//没有按键的时候显示上次的键值// LED=0x00;  ///}}
///*/}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/291336.html

相关文章

未来光通信迈入多通道集成时代,泰克助力上海交大搭建下一代光通信研发平台

泰克科技 基于长期的合作与研究&#xff0c;泰克协助上海交大“区域光纤通信网与新型光通信系统”国家重点实验室&#xff08;以下简称光纤国重&#xff09;搭建起一套业界领先的光通信测试平台&#xff0c;该平台基于泰克4通道同步的59GHz高速实时示波器&#xff0c;最高支持…

光模块介绍-光纤通信核心器件

随着光通信的高速发展&#xff0c;现在我们工作和生活中很多场景都已经实现了“光进铜退”。也就是说&#xff0c;以同轴电缆、网线为代表的金属介质通信&#xff0c;逐渐被光纤介质所取代。 光纤通信的概念&#xff1a; 光纤通信是以光作为信息载体&#xff0c;以光纤作为传输…

可见光通信技术

什么是可见光通信技术&#xff1f; 可见光通信技术&#xff0c;是利用荧光灯或发光二极管等发出的肉眼看不到的高速明暗闪烁信号来传输信息的&#xff0c;将高速因特网的电线装置连接在照明装置上&#xff0c;插入电源插头即可使用。利用这种技术做成的系统能够覆盖室内灯光达到…

2023年可见光通信(LiFi)研究新进展

可见光无线通信Light Fidelity&#xff08;LiFi&#xff09;又称“光保真技术”&#xff0c;是一种利用可见光进行数据传输的全新无线传输技术。LiFi是一种以半导体光源作为信号发射源&#xff0c;利用无需授权的自由光谱实现无线连接的新型无线通信技术&#xff0c;支持高密度…

光纤通信技术

目录 1.绪论2.光纤和光缆2.1 光纤1. 阶跃型光纤2. 渐变型光纤3. 波动光学分析4. 光纤的基本特性 2.2 光缆 3.光源和光发射机3.1 光电器件的一般工作原理3.2 发光二极管&#xff08;LED&#xff09;3.3 半导体激光器&#xff08;LD&#xff09;3.4 光发射机 4.光检测器与光接收机…

光通信的最新技术趋势

大家好&#xff0c;我是小枣君。 上周&#xff0c;我参加了“2021中国光通信高质量发展论坛”&#xff0c;有一些收获与思考。特此撰文&#xff0c;与大家分享。 ▉ 光通信的发展现状 1966年&#xff0c;华裔科学家高锟博士发表了那篇划时代的经典论文——《光频率介质纤维表面…

可见光通信

本人从2014年9月开始从事可见光通信的研究。至今&#xff08;截止到2018年6月1日&#xff09;已发表可见光通信领域的SCI/EI论文30余篇&#xff0c;申请专利100余项。本博文是对于可见光通信的介绍以及结合本人的经验做推广介绍的~ 欢迎各位对可见光通信有兴趣朋友与我交流&am…

Android Activity 启动拦截器(ActivityStartInterceptor)创建流程, 以及使用

代码基于 Android 11 ActivityTaskManagerService # initialize public void initialize(IntentFirewall intentFirewall, PendingIntentController intentController,Looper looper) {mActivityStartController new ActivityStartController(this);}ActivityStartController…