基于MSP430的莫尔斯报训练装置设计

发布者:少年不识愁滋味最新更新时间:2020-08-27 来源: elecfans关键字:MSP430  莫尔斯报  训练装置 手机看文章 扫描二维码
随时随地手机看文章

莫尔斯电报自问世以来,已广泛应用于通信领域之中。目前基于通用计算机平台的报务终端已能够实现莫尔斯报的自动收发,但传统的人工拍发和收报方式以其便携性和顽存性仍然无法被完全替代。针对以往报,务人员的莫尔斯报训练装置存在着依赖电脑使用不便,用键盘模拟手电键缺乏真实感,算法适应性差,识别率低等问题,采用以TI公司的MSP430低功耗16位单片机为核心,设计了一种莫尔斯报训练装置,具有单独使用和连接电脑两种方式,使用标准报务手电键和耳机,能够完成发报和收报两种训练,提高了模拟训练的真实性和训练水平。


1 整体设计方案
莫尔斯码的原理是以长短信号及间隔的不同组合代表数字、字母等字符。训练器以MSP430单片机为核心处理携带此信息的电键信号,如图1所示。

训练器设计了两种训练方式:发报训练和收报训练。


l.1 发报训练
 发报训练是指报务人员根据指示的一组报文拍发,手电键敲击的信号由训练器采集、处理并识别出莫尔斯码,在数码管上显示或通过TUSB3410芯片提供的USB接口传至电脑上位机软件。

在发报训练时,分别使用高、低电平表示间隔和点划。这样拍发出的电键信号实际上就是一组时长不等的高、低电平组合,如图2所示。

图2中td,th,tm,tz分别表示点码、划码、码间隔、字间隔信号的时长。

用单片机的I/O口对整形后的电键信号进行不间断采样,根据高、低电平持续时间,通过识别算法解析出码符号。同时,在电键信号的控制下给出频率为500 Hz的方波作为发报监听音送往耳机。

1.2 收报训练
收报训练是指训练器在电脑的控制下发出莫尔斯码对应的电键音,报务人员通过耳机或喇叭监听并同时记录报文。

在收报训练时,将TUSB3410传来的报码实时翻译为点、划和间隔码,并在此信号的控制下发出500 Hz单音。


2 电键信号预处理电路
电键信号的预处理电路如图3所示。

设计中,用一个上拉电阻将电键开关跳线J4的一脚拉至高电平,另一脚接地。这样,在发报训练中,当电键抬起时,输出高电平,表示间隔信号;当电键被按下时,输出低电平,表示点划信号。为了消除高低电平交替过程中可能出现的毛刺,消除抖动,用CD4011芯片中的两级与非门(U6A和U6B)对此信号进行整形处理,此时来自MSP430 P3.1脚的KEY_CTL控制信号为应高电平。在4脚输出的信号连接到MSP430的P3.0脚,利用定时器A进行周期为1 ms的查询,以获取各信号的时长,再通过译码算法译出字符。电键信号的拍发过程中还需要提供电键音反馈给操作者。同样利用定时器在每次查询的同时对P3.2脚取反,能够得到500 Hz的方波,提供给CD4011的8脚。利用经过U6A一次取反后的电键信号(3脚)作为输出使能,控制与非门U6C的开启和关闭,保证只有在按下电键开关时才输出电键音。电键音通过LM386芯片放大后,由耳机或喇叭输出。

收报训练时,电键是一直抬起的,而KEY_CTL信号受MSP430的控制。当MSP430解析出点划或间隔信号时,使KEY_CTL相应的拉低或拉高,从而使KEY_SND电键音同步输出或断开。


3 码识别算法的设计
3.1 算法难点分析

莫尔斯码中,点码时长td、划码时长th之比一般为1:3,码间隔tm、字间隔tz、词间隔tc之比通常为1:3:5。人工拍发的摩尔斯码信号,由于报务人员熟练程度和使用习惯的不同,码速和各信号实际时长都相差很大,比例也不可能非常标准,在拍发过程中还会不断变化,因此,算法对信号时长阈值的选取要因人而异,在运行中自动调整适应。以往的算法要么采取固定时长阈值的方法,牺牲了适应性,如绝对比较法;要么采取固定修正因子的方法牺牲了初期的识别率,如冈瑟算法,难以取得识别速度、识别准确度和适应性之间的平衡。


3.2 判定阈值基准值的选取
电键刚开始拍发时程序不知晓报务人员的情况,因此必须选取合适的判定阈值基准值,以保证此时识别的准确性。按照一般的拍发速度和规定,选择点码时长基准值td=50 ms,划码时长基准值th=3td=150 ms,点划码的判定阈值Tdh=(td+th)/2=2td=100 ms,码间隔时长基准值tm=50 ms,字间隔时长基准值tz=3tm=150 ms,码、字间隔的判定阈值Tmz=(tm+tz)/2=2tm=100 ms。

3.3 码识别方法
莫尔斯码中的字符由一系列点、划信号的组合惟一表示。算法中采用改进的查表法来进行莫尔斯码的译码。设计一个定长表,将莫尔斯码放入表项值中。由于莫尔斯码中长码、短码的长度不一,为了方便比较为每项预留16 b,用10表示点码,用11表示划码,剩余用OO补齐,如图4所示。

算法采取等距离判定法区分点码与划码、码间隔与字间隔,即取点、划码时长的平均值作为它们之间的判定阈值,取码、字间隔时长的平均值作为其判定阈值。识别的完整流程如图5所示。

采样电平翻转时,记录上一个状态的持续时间t。对于码信号,当t>Tdh时,表示解出划码,在码值中存入11,反之则存入10;对于间隔信号,当t>Tmz时,代表解出字间隔,将码值用00补足16 b后进行顺序法查表,查出的位置值经过换算就能得到对应的莫尔斯码符号。

3.4 判定阈值的修正方法
为了实时跟踪报务人员的击键状态,算法需要根据最新的输入码时长不断对判定阈值做出修正,采用加权平均的方法可以实现判定阈值的平滑变化。最近一次判定为点码的修正流程如图6所示。其他时长的修正方法与此类似。

(1)判断最近一次点码时长是否符合筛选要求。因为码文中总有一些出错的或时长相差较大的,如果将这些时长也用来修正阈值会对其准确性产生较大的影响。t′d表示最近一次的点码时长,t′d表示上一次的点码时长,a为筛选因子。a取的越大则阈值起伏越大,此处取为O.5。满足筛选要求的数据进入步骤(2),否则放弃本次修正。

 (2)对点码时长求加权平均。t′d表示修正后的点码时长,β为修正因子。β越接近于1,对阈值的平滑作用越强,但跟踪能力越差。开始阶段为了迅速适应报务人员的习惯,取β为0.5,随着拍发的进行,为了保证阈值的平稳变化,将β卢逐步减小到0.2。 

(3)根据最近一次点码时长更新点划码判定阈值。其中t′d表示上次的划码时长。

(4)对点划判定阈值做平滑修正。T"db表示点划码判定阈值的最新值,t′dh表示上一次的点划码判定阈值。


4 结 语
采用上述设计的莫尔斯报装置可在不接驳电脑的情况下使用,识别结果直接在LED上滚动显示,也可连接电脑,在上位机软件中进行成绩评定,使用方便灵活。经过改进的算法识别速度快,错码率低,在算法跟踪速度和识别准确度间取得了良好的平衡。该装置经报务人员大规模使用,60~140码/分条件下误识别率小于10-5,效果良好。

关键字:MSP430  莫尔斯报  训练装置 引用地址:基于MSP430的莫尔斯报训练装置设计

上一篇:基于MSP430的无线传感器网络设计
下一篇:基于MSP430的SLED控制系统的设计

推荐阅读最新更新时间:2024-11-10 10:41

MSP430FR5969内存分配的问题
cmd文件里的具体内容我就不贴了,大家自己可以看一下。cmd文件主要由两部分构成,一个是MEMORY{};另一个是SECTIONS{} 其中MEMORY{}是定义内部所有寄存器及存储器的地址,在这里大部分内容都是厂家定义好的,一般不能修改。但是咱们今天要改的就是他,当然只能改其中允许该的地方,那就是FRAM的分配问题。根据数据手册里提供的内存分配情况(如下图)我们可以得知,59x9的内存从0x0000开始,一直到0x13FFF。对应着这个图和Cmd文件,我们可以了解内部的地址分配问题,如果做过总线扩展之类的同学肯定对这个不会陌生了,如果没有见过就需要理解一下。其实也很简单,就是对应的地址要对应上就可以了。有一些是固定好的不能变,比
[单片机]
<font color='red'>MSP430</font>FR5969内存分配的问题
MSP430 DM430-A开发板学习笔记(三)测速模块(计数传对射感器)的使用
1.传感器说明 简要说明: 一、长尺寸:32mm X宽11mm X高20mm 二、主要芯片:LM393、对射式红外头 三、工作电压:直流5伏 四、特点: 1、具有信号输出指示。 2、单路信号输出。 3、输出有效信号为低电平。 4、灵敏度不可调。 5、可用于工件计数、电机测速。。。。 6、电路板输出开关量! 2.传感器连接实物图及测试代码 将传感器供电 将其out接到msp430的io口上 在iar编程软件中设置好相应的io口p1.2为输入端,检测p1.2是否输入低电平,若是低电平,则让另外一个io口p1.4输出低电平,从而使与之相连的led灯亮 代码如下 #include msp430x14x.h int ma
[单片机]
<font color='red'>MSP430</font> DM430-A开发板学习笔记(三)测速模块(计数传对射感器)的使用
MSP430 F249单片机 Proteus仿真 IAR工程设置 实例和开发环境
1 开发环境与流水灯实验 使用的是IAR 7.10 新建工程的细节看这里: https://blog.csdn.net/x1131230123/article/details/106956182 需要在debug模式下设置, 编译后hex文件在proNameDebugExe下 proteus设置时钟: 代码: #include MSP430x24x.h #define uchar unsigned char #define uint unsigned int void delayms( uint t ) { uint i; while ( t-- ) for ( i = 1330; i
[单片机]
<font color='red'>MSP430</font> F249单片机 Proteus仿真 IAR工程设置 实例和开发环境
msp430温度测量(已调试OK)
#include MSP430x12x2.h #define TEM_ADC_CHL 0x0a void InitSys(void); void Read_ADC(unsigned int INCH_channel); void ADC_TO_TEM(void); unsigned int ADC_sample_val; unsigned int long temp1,temp2; unsigned int long IntDegC; unsigned int long IntDegF; void main(void) { InitSys(); while(1) { Read_ADC(TEM_ADC_CH
[单片机]
AD9850实现嵌入式信号源设计
  引 言   信号源是现代电子系统的重要组成部分,在通信、测控、导航、雷达、医疗等领域有着广泛的应用,而且信号源作为现代电子产品设计和生产中的重要工具,必须满足高精度、高速度、高分辨率、频率可调等要求。   该设计采用直接数字频率合成(DDS)技术,使用DDS芯片AD9850与超低功耗的MSP430F149单片机配合,可输出精确控制的正弦波和方波信号。在控制流程中,通过4x 4矩阵键盘设定频率值,MSP430为AD9850计算频率控制字,并且将频率控制字通过串行方式写入其中,结合键盘上步进调节增量“1 Hz”,“10 Hz”,“100 Hz”键,使得频率可以精确到步长为1 Hz的调节;产生正弦波时,经过低通滤波器滤除信号的高
[单片机]
AD9850实现嵌入式信号源设计
MSP430单片机1602液晶显示程序
MSP430 单片机 1602液晶显示程序 #include msp430x22x4.h #define uint unsigned int #define keyin (P2IN&0x0f) //硬件连接 P4 数据口 P3.7---E P3.6---RW P3.5----RS //P2低4位接键盘1*4 上拉电阻电源外接电源5V 公共端接电源负 注意电源和 单片机 共地 unsigned char table0 = BeiJing 2008-6 ; unsigned char table1 = 0123456789 ; unsigned char table2 = :
[单片机]
msp430显示程序-msp430数码管显示程序-max72
msp430+数码管显示程序 #include MSP430x16x.h void _delay() { unsigned int i,j; for(i=0;i =5000;i++) { for(j=0;j =5;j++); } } void main(void) { WDTCTL = WDTPW + WDTHOLD; P1DIR=P1DIR|0xFF; sta TI c unsigned int a ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6, 0xa1,0x86,0x8e,0x8c,0xc1,0x91,0x00}; unsigned
[单片机]
超低功耗单片机MSP430F413实现的智能遥控器
目前市场上常见的无线遥控器多数为四键和十二键,主要用于汽车防盗系统、家庭防盗系统及遥控玩具等方面,这些应用简单、实用、成本低。但对于一些工程中需要距离在100米以上,控制或设定一些数据时,并要求一个遥控器对多于12个甚至上百个设备时,上述遥控器对操作人员就不方便,而且系统性能不够稳定。鉴于上述情况我们便提出在此基础上,采用单片机编写地址,通过操作键设置,液晶显示遥控器的输出。同时对耗电量、多个控制的设定、便于携带、操作方便及性能稳定等的严格要求,于是便设计开发出一种新型智能遥控器。该型遥控器以TI公司的超低功耗单片机MSP430F413为微处理器,配有低功耗3位液晶显示器EDS812A,还有传输比很高的光,整个系统采用锂电池和高能
[单片机]
超低功耗单片机<font color='red'>MSP430</font>F413实现的智能遥控器
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved