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

发布者:灵感狂舞最新更新时间:2012-05-09 来源: 现代电子技术 关键字:MSP430  训练装置  莫尔斯报 手机看文章 扫描二维码
随时随地手机看文章
O 引 言
    莫尔斯电报自问世以来,已广泛应用于通信领域之中。目前基于通用计算机平台的报务终端已能够实现莫尔斯报的自动收发,但传统的人工拍发和收报方式以其便携性和顽存性仍然无法被完全替代。针对以往报,务人员的莫尔斯报训练装置存在着依赖电脑使用不便,用键盘模拟手电键缺乏真实感,算法适应性差,识别率低等问题,采用以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所示。[page]

    算法采取等距离判定法区分点码与划码、码间隔与字间隔,即取点、划码时长的平均值作为它们之间的判定阈值,取码、字间隔时长的平均值作为其判定阈值。识别的完整流程如图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及USB总线的便携式血压计的设计
下一篇:在MSP430F1611上实现周期图谱分析及校正

推荐阅读最新更新时间:2024-03-16 12:59

msp430f5529 MCP4725程序
//************************************** //I2C起始信号 //************************************** void I2C_Start() { SDAOUT; //数据线设为输出方向 SDA1; //拉高数据线 SCL_OUT; //时钟线设为输出方向 SCL1; //拉高时钟线 delayus(5); //延时 SDA0; //产生下降沿 delayus(5); //延时 SCL0; /
[单片机]
基于MSP430F149和GPS+GPRS模块实现追踪器系统的软硬件设计
1、引言 随着GPRS无线通讯、Internet网络以及民用领域GPS的普遍应用,将三者合一使用已成为当今热门的研究领域。 GPRS(GeneralPackedRadioService,通用分组无线业务)采用TCP/IP协议,非常容易和现有的Internet技术及应用平台整合,即将各种IP技术和服务同移动通信技术相结合,为用户提供各种高速度、高质量的移动数据通信业务。GPRS的移动通信、价格低廉、快速登陆、永远在线、组网灵活、信道保障、小功率防雷击等特点使得GPRS已逐渐取代GSM网络。 GPS(GlobalPositioningSystem,全球定位系统)除了更多地应用于高精尖端测量、测绘及导航领域外,也更多地推动了其在
[单片机]
基于<font color='red'>MSP430</font>F149和GPS+GPRS模块实现追踪器系统的软硬件设计
MSP430单片机的时钟系统介绍
这3个振荡器分别为: (1)DCO 数控RC振荡器。它在芯片内部,不用时可以关闭。DCO的振荡频率会受周围环境温度和MSP430工作电压的影响,且同一型号的芯片所产生的频率也不相同。但DCO的调节功能可以改善它的性能,他的调节分为以下3步:a:选择BCSCTL1.RSELx确定时钟的标称频率;b:选择DCOCTL.DCOx在标称频率基础上分段粗调;c:选择DCOCTL.MODx的值进行细调。 (2)LFXT1 接低频振荡器。典型为接32768HZ的时钟振荡器,此时振荡器不需要接负载电容。也可以接450KHZ~8MHZ的标准晶体振荡器,此时需要接负载电容。 (3)XT2 接450KHZ~8MHZ的标准晶体振荡器。此时需要
[单片机]
msp430的DCO校准值被清除后该如何处理
起因 在调试MSP430G系列的单片机的过程,发现不怎么的,时钟频率发生了变化,时间一下都对不上了。查收些资料说,DCO的值有可能被擦除了导致时钟不对的。细想一下,好像是在调试的过程中,出现调试不了的现象就在IAR里点击的“Erase memory”。把查找的资料记录下来,所以就有这篇文章。 问题描述 因为DCO校准值在MCU出厂时保存于信息段A,一般是不允许清除信息段A的。 且示例代码中,有如下语句: if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF) { while(1);// If calibration constants erased // do no
[单片机]
<font color='red'>msp430</font>的DCO校准值被清除后该如何处理
MSP430 Flash的擦除、写入、读取操作
1 Msp430Flash型单片机内部Flash存储器介绍 MSP430的Flash存储器是可位、字节、字寻址和编程的存储器。该模块由一个集成控制器来控制编程和擦除的操作。控制器包括三个寄存器,一个时序发生器及一个提供编程、擦除电压的电压发生器。 Msp430的Flash存储器的特点有: 1)产生内部编程电压 2)可位、字节、字编程,可以单个操作,也可以连续多个操作 3)超低功耗操作 4)支持段擦除和多段模块擦除 2 Flash存储器的分割 Msp430 Flash存储器分成多个段。可对其进行单个字节、字的写入,也可以进行连续多个字、字节的写入操作,但是最小的擦除单位是段。 Flash存储器被分
[单片机]
<font color='red'>MSP430</font> Flash的擦除、写入、读取操作
MSP430定时器详解
MSP430的定时器中有比较捕获的概念,刚刚接触非常生疏。看了半天终于清楚: 比较模式: 这是定时器的默认模式,当在比较模式下的时候,与捕获模式相关的硬件停止工作,如果这个时候开启定时器中断,然后设置定时器终值(将终值写入TACCRx),开启定时器,当TAR的值增到TACCRx的时候,中断标志位CCIFGx置一,同时产生中断。若中断允许未开启则只将中断标志位CCIFGx置一。 例子:比较模式就像51单片机一样,要能够软件设置定时间隔来产生中断处理一些事情,如键盘扫描,也可以结合信号输出产生时序脉冲发生器,PWM信号发生器。如:不断装载TACCRx,启动定时器,TAR和TACCRx比较产生中断处理。 捕获模式: 利用外部信
[单片机]
MSP430 G2553 LaunchPad设置GPIO
一. 背景知识:逻辑运算符的使用 当程序初始化时,对于复位状态有不确定性的寄存器(如PxOUT),建议采用直接赋值;其他情况下最好使用逻辑运算符修改寄存器。 直接赋值 REGISTER = 0b11110000; REGISTER = 0xF0; “开启”某位(置1),保持其他位不变 REGISTER |= BITx; //turn bit x on REGISTER |= BITx + BITy; //both on “关闭”某位(置0),保持其他位不变 REGISTER &= ~BITx; //turn bit x off REGISTER &= ~(BITx +BITy); //both off “翻转”某位(取
[单片机]
<font color='red'>MSP430</font> G2553 LaunchPad设置GPIO
基于MSP430F149的办公楼智能监控系统的设计
1 装置硬件设计 办公楼智能监控系统所实现的功能为:温度、湿度调节,火灾预警,照明灯光控制和饮水机控制,此外,针对办公楼这类特殊建筑,还应包括大楼安全的集中报警、网络线路、消防通道部门的集中监控。本文设计的办公楼智能监控系统主体结构框图如图1所示,拟采用智能采集终端与PC机共同组成监测系统。其工作过程为:上位机周期性向各个下位机发送控制命令,并接收各下位机传送回来的数据,对所采集到的数据进行显示和保存。智能数据采集终端可采集模拟量数据和开关量数据,并可实现温度、湿度的检测与控制。采集终端可以接收上位机发送的命令以及将采集到的现场数据传送到上位机。 2 硬件总体设计方案 依据上述对装置的功能规划,可将装置规划为两部
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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