基于计算机串口的红外虚拟逻辑分析仪

发布者:cloudsousou6最新更新时间:2015-07-21 来源: 21ic关键字:计算机串口  红外虚拟  逻辑分析仪 手机看文章 扫描二维码
随时随地手机看文章
引言

红外通信技术是一种点对点的数据传输协议,是传统设备之间连接线缆的替代技术,是目前国际上普通采用的一种近程无线传输技术,常用于智能小区控制系统和电话教学交互式远程控制系统中,但是目前的家电(如空调、录像机、VCD机等)有各种不同的品牌和型号,其红外遥控编码及发送格式不尽相同。为了能够用一台通用控制器对多种不同型号的家电进行控制,本文利用功能强大的单片机和编程软件VB设计了一种基于计算机串口的通用型智能红外逻辑分析仪,它可对各种电器的红外遥控器所发射的控制信号进行识别、存贮和再现。还可通过红外硬件接口识别出红外信号并送入单片机处理,然后利用VB开发的虚拟软件在电脑屏幕上实时显示采集到的红外信号波形,便于设计人员对各种调制方式的红外信号进行“可视化”的分析与研究。

1 硬件设计

1.1 串行通信的基本原理

串行端口本质上是计算机的CPU和外部串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据被转换为串行的侠。而在接收数据时,串行的位则被转换为字节数据。在Windows环境下,串行端口是Windows系统资源的一部分。如果要使用串口进行通信,应用程序必须在使用前向操作系统提出使用串口资源的申请(创建并打开串口),然后进行相应的串口参数配置,双方的串口才可进行通信,通信完毕后,还必须释放系统资源(关闭串口)。串口通信程序的流程如图1所示。

1.2 89C51的串行口

89C51内有一个全双工的串行口,它有4种工作方式:方式0,串行接口为移位寄存器I/O方式;方式1,串行接口被控制为8位的异步通信接口,实际上,此时传送一帧住处应为10位,其中1位为起始位,8位为数据位,1位为停止位,在该方式中,波特率可变;方式2和方式3被定义为9位的异步通信接口,此时传送一帧信息为11位,其中1位起始位,8位数据位,1位可编程数据位,1位停止位,工作方式的选择由芯片内的特殊功能寄存器SCON(串行口控制寄存器)来设备。

1.3 接口电路

为了能使单片机与PC进行通信,必须使其遵循相同的通信协议。由于89C51的串行口输入/输出为TTL逻辑电平,高电平为3.8V左右,低电平为0.3V左右,因而这种以TTL电平传送数据的方式的抗干扰性较差。而计算机内部的RS-232C串行口用±12V和-12V电平方式,这种方式中,信号0和信号1的电平差别增大,从而增强了抗干扰性。但是,为了解决这种电平不一致的矛盾,必须采用一个RS-232C电平转换器,文中采用的MAX232自身带有电源电压变换器,可把+5V电压变换成RS-232输出电平所需的±10V电压,因而采用这种方式进行串行通信具有较好的性能和低廉的价格。如果通信距离较远,还可以通过增加MAX485转换器来连接MAX232以满足要求。其硬件接口电路原理如图2所示。

2 软件设计

2.1 红外遥控编码及传送格式

红外通信的基本原理是在发送端将基带二进制信号调制为一系列的脉冲串信号,然后通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉冲调制(PPM)两种方式。本系统采用的是脉时调制方法。在调制脉冲宽度编码方式下,“0”是由时间间隔为T的一串38.5kHz载波脉冲后加时间间隔壁为T0的无载波脉冲的空闲状态来表示;而“1”是由时间间隔壁为T的一串38.5kHz载波脉冲后加时间间隔为T1的无载波脉冲的空闲状态来表示,其中T1大于T0。

   为了提高抗干扰能力和通讯可靠性,多数红外遥控发射器在发送二进制编码前要插入各种引导码,以便接收器识别。为了区分不同类型的遥控器,还需要发送地址码和校验码,另外不同遥控器所发送的码长也不相同。一般的传送格式如图3所示。[page]

2.2 单片机的软件编程

单片机(下位机)部分的编程主要是完成单片机和计算机之间的串行通讯。该软件主要由串口初始化子函数、单片机内部定时器T0中断子函数、红外信号发送子函数等3大模块组成。其具体程序如下:

#include>at89x52.h)

#define byte unsigned char

#define WAR_0 P1_1 //定义接收引脚

#define LED_RECEIVE P1_0 //定义指示灯引脚

//晶振 22.1184MHz

//波特率=((xtal/12/t1_over_rate)/32)*2^pcon

byte bdata buffer=0;

sbit way0=buffer^0;

byte i=0;

bit start=0;

void send char(unsigned char word)//串口发送子函数

{

TI=0;

SBUF=word;

While(TI==0);

TI=0;

}

void t0_service(viod) interrupt 1 using 1//T0中断子函数

{

way0=WAY_0;

I++;

If(I=8)

{

TI=0;

SBUF=buffer;

I=0;

}

buffer=buffer<<1;

}

void main(void) //主函数

{

SCON=0x40; //设置串口模式

TMOD=0x22; //设置定时器模式

TH1=0xff; //定时器加载初值

TH1=0xff;

PCON=0x80; //57600bps *2 22.1184M

115200bps

TR1=1; //开定时器

TH0=0xdb; //定时器0加载初值

TL0=0xfd;

EA=1;

WAY_0=1;

ET0=1; //以上是串行初始化

While(1) //主循环

{

if(! WAY_0)

{

TR0=1; //开定时器T0中断

LED_RECEIVE=0;//LED指示灯点亮

}

}

}

    2.3 上位机软件设计

上位机(计算机)软件的作用是实时采集由计算机串口接收的信号(即单片机发送的信号),同时通过VB软件编程来实现被采集红外信号的实时显示,以便于分析。

一般的IBM PC兼容型微机均提供有1至2个25针或9针的RS-232C标准串行口,简称COM1和COM2。在某些应用中,还可通过插装通信卡来获得额外的RS-232C标准串行口。利用这些串行口,微机便可以与其他数字设备(包括计算机)进行一般的数据通信。

利用Visual Basic提供的MSComm控件可以简单便携地通过应用程序实现串行通信,也可以创建功能完备、具有事件驱动功能的高级通信工具。与DOS环境下用汇编或C语言等编制的串行通信程序及Windows环境下用Visual C编制的串行通信程序相比,在使用Visual Basic的MSComm控件实现串行通信时,程序员只需关心MSComm控件对Windows通信驱动程序的API函数的接口即可,换句话说,只需要设置和监视MSComm控件的属性和事件即可。

利用VB实现串行通信主要有两种方法:一是调用Windows API通信函数;二是使用VB的通信控件(MSComm)。本文采用第二种方法,即利用通信控件再加一个定时器控件(Timer)来实现简单地串行通信。

参考文献:

[1]. TTL datasheet http://www.dzsc.com/datasheet/TTL_1174409.html.
[2]. MAX232 datasheet http://www.dzsc.com/datasheet/MAX232_1074207.html.
[3]. RS-232 datasheet http://www.dzsc.com/datasheet/RS-232_584855.html.
[4]. MAX485 datasheet http://www.dzsc.com/datasheet/MAX485_859396.html.

关键字:计算机串口  红外虚拟  逻辑分析仪 引用地址:基于计算机串口的红外虚拟逻辑分析仪

上一篇:虚拟示波器 频谱分析仪F-24U结构及原理简介
下一篇:使用全新R&S FSW85分析宽带和脉冲信号

推荐阅读最新更新时间:2024-03-30 23:01

逻辑分析仪的使用(UART、SPI)
首先上一张接线示意图 上方是UART的接线方式,下方则是SPI的 事实上,这样接就能收到信号了 如果是SPI,要设定自己为主机,UART则没有这个问题 下面来说明逻辑分析仪的界面设定 设定介绍完了 下面首先是UART的界面 如果曾经写过UART传输,应该对这些设定不陌生吧? 波特率、几位数据传输、停止位、奇偶校验。。。 最后的三个选项,应该选Standart(标准)、None就可以了吧 不太清楚是指哪部分,不过,我实测是有波形出来的 UART的部分就结束了,下面是SPI的 上方的4个通道,应该不陌生,就是SPI的通讯方式 接下来的4个,设定高位在前,或是低位在前,然后是几位数据 CPOL和CPHA,如果
[测试测量]
<font color='red'>逻辑分析仪</font>的使用(UART、SPI)
安捷伦科技推出最新BGA 内插器结合业界速度最快的逻辑分析仪进行 DDR4 设计探测
同步推出第二款针对DDR3 x16 DRAM的内插器探测解决方案 2014年 5 月 19 日,北京――安捷伦科技公司(NYSE:A)日前宣布推出两款内插器解决方案,可结合逻辑分析仪用于测试 DDR4 和 DDR3 DRAM 设计。这两款内插器解决方案均能快速且精确地捕获地址、命令和数据信号,以进行设计调试和验证测量。 Agilent W4633A BGA 内插器结合Agilent E5849A 探头使用可以探测数据速率更高的 DDR4 x4 或 x8 DRAM 设计。Agilent W3636A BGA 内插器可以让工程师对 2G 容量以上的非堆叠DDR3 x16 DRAM 进行探测。 当前的 DDR4 数据速率已提升至
[测试测量]
基于FPGA的USB2.0虚拟逻辑分析仪的设计与实现
引言 传统的逻辑分析仪体积庞大、价格昂贵、通道数目有限,并且在数据采集、传输、存储、显示等方面存在诸多限制,在很大程度上影响了其在实际中的应用。选用高性能的FPGA芯片进行数据处理,充分利用PC的强大处理功能,配合LabView图形化语言开发的虚拟逻辑分析仪,其数据处理和传输速率大大提高,适用性极大增强,其显示、操作界面和低廉的成本较之传统的逻辑分析仪具有极大的优势和发展前景。 工作原理 本设计选用Altera公司的Cyclone系列FPGA器件EP1C3进行数据采集和处理,外接SRAM,用于数据的存储。系统通过高性能的PIC单片机PIC18F6620完成与PC的通信,接收PC发出的触发、配置信息并控制系统将
[测试测量]
基于FPGA的USB2.0<font color='red'>虚拟</font><font color='red'>逻辑分析仪</font>的设计与实现
如何的keil调试过程中,看逻辑分析仪Logic viwer
在调试过程中,可以使用keil自带的逻辑分析仪查看变量的试试信息,减少串口输出,提高部分cpu的效率,可以添加以下信息: 1、gpio引脚 2、全局变量 全局静态变量、局部变量是不行的。 然后,添加变量后,需要右键设置:如下 g_u32tick 是8位的全局变量
[测试测量]
如何的keil调试过程中,看<font color='red'>逻辑分析仪</font>Logic viwer
示波器和逻辑分析仪在测试信号电路时有什么区别
  使用过 示波器 的朋友都应该知道,示波器具有较高垂直分辨率,可以清晰的看到波形的细节。而且还有伏/格 和秒/格 等旋转按钮来辅助我们去更好地了解我们所需要观察的波形。而 逻辑分析仪 只有1位垂直分辨率,根据设定的阀值来判断被测信号为逻辑值'0'还是'1'。逻辑分析仪更关注多通路之间的的时序和状态关系。   示波器的 模拟 通道数较少,一般可以有2路到4路通道;而逻辑分析仪可以有大量的数字通道与被测物相连,可以达到几十个上百个通道。   泰克公司有一些示波器兼容了两类优点,比如:MSO4000示波器就有两者的优点,既有模拟通道来观察被测电路详细信息,又有16路模拟通道与被测电路相连接。而且操作上延续示波器的简单操作,大家
[测试测量]
51单片机串口计算机发送字符串C程序
51单片机串口向计算机发送字符串C程序,本布衣实验过的,可以用,串口需有一个232-TTL电平转换 通过串口调试助手可以看到发送字符信息。波特率为9600 #include REGX51.H #include stdio.h //-------------------------------- char *name_month(int n); void Delay(int x); void put(char str); void initUart(void); void putString(unsigned char const *pstr);//const //------------------------------ vo
[单片机]
调试助手——逻辑分析仪
单片机开发工程师和电子爱好者,每天都要和各种各样的数字电路打交道。在制作调试电路时会使用万用表、示波器等工具,但是某些电路,用示波器测量起来就有些力不从心了,这是可以借用逻辑分析仪来做测试。那么网友们会问,什么时候应该使用示波器,什么时候应该使用逻辑分析仪呢?下面残弈悟恩简单对两者做一个比较。 10.1 示波器和逻辑分析仪的比较 10.1.1 何时使用示波器? 当您需要看到信号上小的电压变化 当您需要很高的时间间隔精度 一般来说,在需要高垂直或电压分辨率时应使用示波器。即如果您需要看到如图10-1所示的每一微小电压变化,就应使用示波器。许多示波器,包括新一代数字示波器,还能够提供非常高的时间间隔分辨率。也就是
[测试测量]
调试助手——<font color='red'>逻辑分析仪</font>
数字示波器和逻辑分析仪的原理及应用
  简介   当前电子产品的复杂性正随着数字电路和串行总线越来越多而提高,确定最优测试设备的边界正变得模糊。工程师正在处理“混合信号”设计,其中包含模拟技术和数字技术的重要组合。   设计人员日益希望可以在一台仪器中实现模拟域和数字域时间相关的设备。传统上,混合信号分析使用独立式示波器和逻辑分析仪完成,这种解决方案需要两台设备,因此并不实用,很难获得最佳效果。模拟波形和数字波形相关的需求导致了混合信号示波器的研制。   示波器、混合信号示波器和逻辑分析仪之间有许多类似之处和差别。为了更好地了解这些仪器怎样满足各自的应用需求,我们有必要更详细地考察一下其各自的功能。   数字示波器   数字示波器是世界各地电子工程师使用的首
[测试测量]
数字示波器和<font color='red'>逻辑分析仪</font>的原理及应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved