电话posfsk通信软件调制解调的实现方法

文档序号:7965535阅读:707来源:国知局
专利名称:电话pos fsk通信软件调制解调的实现方法
技术领域
本发明涉及电话POS通信领域,特别是一种电话POS FSK通信软件调制解调的实现方法。
背景技术
目前,电话POS的FSK通信解决方案包括以下几点
1)多为专用芯片CMX865实现,采用中断信号或查询方式,与CPU同步。2) DTMF音的软件解调,当前主要采用DFT、FFT或Goertzel算法计算时域信号的频谱,经比较分别得出高频组和低频组的最相似频率,从而得到两个高低频组的频率值,继而得到DTMF码。3)FSK的软件解调,目前有移位相关、2点DFT、跳变沿统计等解调方案。这些方案, 对处理器的外围器件资源(定时器)和运算能力要求也不一,性能也各有差异。4)一般的DTMF、FSK软解调技术,多采用数字信号处理方法在DSP上运行,在STM32 (72MHz主频)上运行比较吃力。采用专用调制解调芯片CMX865解决方案,有以下缺点
1)该芯片无数据缓冲区。CPU驱动它时,一般采用中断信号与其同步。每次接收或发送一个字节时,CPU都必须进入中断程序,对软件系统的实时性要求较高。2)该芯片对信道质量适应性较差。对较差的线路,需要通过设置灵敏度来解决,即需要用户在通信失败时,进行灵敏度设置。这就可能导致客户对我司电话POS产生反感情绪,甚至影响市场业务的进行;同时还增加了研发人员出差的费用支出。3)该芯片成本较高。一块CMX865芯片需要大约12元钱,如果每年电话POS销量在30万台左右,那么在这种芯片解码方案上的成本就达到360万,如果使用软解码,那么这部分的成本就可以节省下来。

发明内容
有鉴于此,本发明的目的是提供一种电话POS FSK通信软件调制解调的实现方法, 改变了现有依靠专用芯片实现调制解调的方案,不仅节省了成本,而且缩小了设备的体积, 提高了通信的可靠性。本发明采用以下技术方案实现一种电话POS FSK通信软件调制解调的实现方法,其特征在于通过电话POS的CPU、直接内存存储器DMA、ADC、DAC以及后台定时器配合完成软件调制和软件解调
所述的软件调制是通过所述CPU经调制算法实时计算FSK、DTMF、CAS音数据,放置直接内存存储器DMA的缓冲区;所述定时器按照固定采样频率触发DAC,该DAC触发直接内存存储器DMA,将数据传输到DAC输出寄存器,输出模拟信号,实现软件调制;
所述的软件解调是通过所述定时器按照固定采样频率触发ADC,该ADC触发直接内存存储器DMA将采样数据从ADC数据寄存器传输至指定的缓冲区;然后所述CPU按照FSK、DTMF、CAS音、信号音数据的特征,经解调算法,实时计算缓冲区的数据,实现软件解调;
在本发明一较佳实施例中,所述软件调制中直接内存存储器DMA传值个数到一半或全部时,触发相应的调制中断,在中断服务程序中,调用调制算法,进行软件调制计算。在本发明一较佳实施例中,所述的调制算法包括FSK调制、DTMF调制和CAS音调制;
所述的FSK调制支持bell202和v23两种FSK协议,在初始化时,根据不同的协议设置, 将频率变量因子初始化为不同的频率值。FSK计算公式为 A^cos ( Φ+2* π * (fc 士 fm)*t)
式中,A为输出幅值,Φ为上一比特结束时的相位,fc为载波频率,fm为调制频率, 如bell202协议,fc=1700Hz, fm=500Hz ;士的取法为当输出比特1时,取减号;输出比特 O时,取加号;中断时调用调制接口,计算对应空闲半缓冲区的值;调制计算时,某相位的余弦值,通过查表法获取;
所述DTMF调制,其流程和上述FSK调制相似,DTMF计算公式为
A氺(cos (2氺 π氺fl氺t)+cos (2氺pi氺f2氺t))/2
式中,A为输出幅值,fl为低频,f2为高频;其取值视要发送的字符而定,具体参见标准文档DTMF频率表;
所述CAS调制,与DTMF —样,不同的是f 1和f2的取值固定,分别为2130Hz和2750Hz。在本发明一较佳实施例中,所述软件解调中直接内存存储器DMA传值个数到一半或全部时,触发相应的解调中断,在中断服务程序中,调用解调算法,进行软件解调计算。在本发明一较佳实施例中,所述的调制算法包括FSK解调、DTMF解调、CAS解调和信号音解调;
所述的FSK解调步骤如下
步骤11,将原始ADC采样数据,通过一个UR带通滤波器,滤除FSK频带以外的噪声,得到初步处理后的信号数据;
步骤12,根据所述信号数据,计算信号数据中两频率点(fc+fm)和(fc-fm)的能量差; fc及fm的值,根据不同的协议进行设置,对算得的能量差,将其作为基带信号;
步骤13,对所述的基带信号,按照采样率和波特率的比例关系,进行抽样判决,得出比特流;
步骤14,根据所述的比特流,进行寻找同步码、字节合成、CRC校验处理,按照FSK链路协议进行字节合成,完成后进行CRC校验,若校验通过,则提取出消息字节,送往应用层;若校验错误,则进行错误处理;
所述DTMF解调包括以下步骤
步骤21,DTMF是两组频率信号的叠加,低频组频率为697、770、852、941,高频组为 1209、1336、1477、1633,单位Hz,根据ADC采样数据,计算DTMF信号总能量值及以上8频点能量值,查找各组能量最大频率点,计算其所占总能量比例;同时计算各频点二次谐波能量及带通滤波后的总能量,供后续判决使用;
步骤22,对所述比例,进行判决;若二者均大于所设定阈值,则认为是DTMF字符;若不满足,则认为是静音;判决后将形成字符流和静音流;
步骤23,将所述的字符流或静音流,进行重复确认;重复次数依据计算所使用的采样
5数据时长及时间间隔设置;然后判决所得字符,送往应用层;
所述CAS音解调CAS音,是频率为2130Hz、2750Hz的合成音,其实就是特殊的DTMF音, 解调技术和上述DTMF —样;
所述信号音解调包括以下步骤
步骤31,将ADC原始数据,通过一个UR低通滤波器,滤除高频噪声及其可能存在的高次谐波分量;
步骤32,根据步骤31的结果,分别计算频率430、440、450、460、470Hz的能量,取其最大值,作为信号音的能量;计算信号总能量;计算信号音能量与总能量的比值;
步骤33,根据所述的比值进行阈值判决,若大于60%,则认为是信号音,若小于60%,则认为不是信号音。本发明采用软调制解调方案,替代现有CMX865方案。这不仅能更好地适应各种线路环境,无须用户手动设置解调灵敏度,用SoftFsk相比CMX865,加了特殊滤波算法,更适宜中国众多非标准电话交换机导致的复杂线路环境;而且本发明采用软解码替代原有的专用芯片,每个电话POS可以节省大约12元钱的成本,为我司在电话POS领域的市场竞争上提供更好的支持。


图1是本发明实施例DAC、DMA调制输出示意图。图2是本发明实施例ADC、DMA解调输入示意图。图3是本发明外围接口调制部分电路原理示意图。图4是本发明外围接口解调部分电路原理示意图。
具体实施例方式本发明实施例提供一种电话POS FSK通信软件调制解调的实现方法,其特征在于 通过电话POS的CPU、直接内存存储器DMA、ADC、DAC以及后台定时器配合完成软件调制和软件解调所述的软件调制是通过所述CPU经调制算法实时计算FSK、DTMF、CAS音数据,放置直接内存存储器DMA的缓冲区;所述定时器按照固定采样频率触发DAC,该DAC触发直接内存存储器DMA,将数据传输到DAC输出寄存器,输出模拟信号,实现软件调制;为了支持实时调制,当DMA传输输出数据到一半或全部时,即启动中断服务,调用调制算法,为对应空闲半缓冲补充数据;如图1所示。所述的软件解调是通过所述定时器按照固定采样频率触发ADC,该ADC触发直接内存存储器DMA将采样数据从ADC数据寄存器传输至指定的缓冲区;然后所述CPU按照 FSK、DTMF、CAS音、信号音数据的特征,经解调算法,实时计算缓冲区的数据,实现软件解调; 为了支持实时解调,当DMA传输采样数据到一半或全部时,即启动中断服务,调用解调算法,计算对应半缓冲的采样数据;如图2所示。具体的,调制过程中,直接内存存储器DMA将数据传输到DAC输出寄存器,当传值个数到一半或全部时,系统触发相应的调制中断,在中断服务程序中,根据当前的调制模式,调用相应的功能调制算法;利用相应的调制算法,为输出缓冲区补充数据。本实施例 POS的FSK通信软件调制子系统,其信息流向依次为应用层、调制器(FSK/DTMF/CAS)、DAC输出数据、DAC 口线信号、信道信号。其中,调制器为软件调制系统的核心。为满足电话POS 的FSK通信需求,调制器应能支持以下几种模式FSK调制(支持bell202和v2!3),DTMF调制,CAS调制。FSK调制,为了支持bell202和v23两种FSK协议,在初始化时,根据不同的协议设置,将频率变量因子初始化为不同的频率值。FSK计算公式为
A^cos ( Φ+2* π * (fc 士 fm)*t)
式中,A为输出幅值,t表示采样时间,A为幅值,Φ为上一比特结束时的相位,fc为载波频率,fm为调制频率,如bell202协议,fc=1700Hz, fm=500Hz。士的取法为,当输出比特 1时,取减号;输出比特O时,取加号。当输出DMA传输一半或全部数据时,触发中断服务, 调用调制接口,计算对应空闲半缓冲区的值。调制计算时,某相位的余弦值,通过查表法获取。DTMF调制,流程和上述FSK调制相似。DTMF计算公式为
A氺(cos (2氺 π氺fl氺t)+cos (2氺pi氺f2氺t))/2
式中,A为输出幅值,fl为低频,f2为高频。其取值视要发送的字符而定,具体参见标准文档DTMF频率表。CAS调制,与DTMF—样。不同的是fl和f2的取值固定,分别为2130Hz和2750Hz。在解调过程中,从ADC数据寄存器传输数据至DMA的采样缓冲区,当传值个数到一半或全部时,触发相应的解调中断,在中断服务程序中,调用解调算法,进行软件解调计算。 本实施例POS的FSK通信软解调子系统,其信息流向依次为信道信号、ADC 口线信号、AD采样数据、解调(FSK/DTMF/CAS/信号音)、应用层。为满足电话POS的FSK通信需求,解调器有以下几种模式FSK解调(支持bell202和v2!3),DTMF解调,CAS解调,信号音解调。以下分述各解调模式的原理及步骤 FSK解调
对于R5K软解调,该技术有移位相关运算、2点DFT运算、跳变沿统计等解调方法,各有优缺点。其中移位相关运算较快,但不够精确,对小信号的相位造成模糊。跳变沿统计法最快,但也不够精确。2点DFT运算,运算量最大,需对每个采样点附近采样值都计算能量信息,但其解调效果较好,对大信号失真和小信号都不敏感。本实施例采用2点DFT算法,对FSK信号进行解调。步骤如下
1.将原始ADC采样数据,通过一个UR带通滤波器,滤除FSK频带以外的噪声,得到初步处理后的信号数据,送往下步。2.根据上步的计算结果,计算两频率点(f。+fm)和(f。_fm)的能量差。f。及乙的值,根据不同的协议进行设置,如bell202协议规范规定,fc = 1700Hz, fm = 500Hz。对算得的能量差,可将其作为基带信号,送往下步;
3.对上步所算得的基带信号,按照采样率和波特率的比例关系,进行抽样判决,得出比特信息,送往下步;
4.根据上步送来的比特流,进行寻找同步码、字节合成、CRC校验处理。按照FSK链路协议进行字节合成,完成后进行CRC校验。若校验通过,则提取出消息字节,送往应用层。若校验错误,则进行错误处理。DTMF 解调1. DTMF音是两组频率信号的叠加。低频组频率为697、770、852、941,高频组为1209、 1336、1477、1633,单位Hz。故可根据ADC采样数据,计算信号总能量值及以上8频点能量值,查找各组能量最大频率点,计算其所占总能量比例,送往下步。根据配置,还可计算各频点二次谐波能量,及带通滤波后的总能量,供下步判决使用。2.对于上步算得的两个最大值比例,进行判决。若二者均大于所设定阈值(如 40%),则认为是DTMF字符;若不满足,则认为是静音。根据配置,可进行谐波判决及带内带外能量判决,可减少误判。判决所得的字符流或静音流,送往下步;
3.对2步送来的字符流或静音流,进行重复确认。重复次数依据1步计算所使用采样数据的时长及时间间隔设置。然后判决所得字符,送往应用层。CAS 解调
CAS音,是频率为2130Hz、2750Hz的合成音,其实就是特殊的DTMF音,解调技术和上述 DTMF—样,不再赘述。信号音解调
在和电信交换机通信过程中,交换机可能发出不同的信号音,时长不同,其含义也不同,如拨号音、回铃音、忙音等。信号音,是425-475HZ的单音信号。对于信号音的解调,主要有以下步骤
1.将ADC原始数据,通过一个HR低通滤波器,滤除高频噪声及其可能存在的高次谐波分量;
2.根据1步的结果,分别计算频率430、440、450、460、470Hz的能量,取其最大值,作为信号音的能量;计算信号总能量;计算信号音能量与总能量的比值,送往下步;
对上步所得比值进行阈值判决,若大于60%,则认为是信号音,若小于60%,则认为不是
信号音。这里要说明的是,本发明软件调制解调,对硬件只关心到DAC和ADC 口线为止。DAC 及ADC 口线至电话线接口之间的调理电路,原理图如图3和图4所示。调制部分,CPU的DAC器件,将信号输出至DAC 口线(S卩TXOUT引脚)。TXOUT信号经三极管放大后,输出至电话电路总线TEL_LINE上,最终送入实际电话线上。解调部分,电话线信号耦合至TIP_IN,TIP_IN信号,经过滤波、运算放大电路放大后送往CPU的ADC 口线。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种电话POS FSK通信软件调制解调的实现方法,其特征在于通过电话POS的 CPU、直接内存存储器DMA、ADC、DAC以及后台定时器配合完成软件调制和软件解调所述的软件调制是通过所述CPU经调制算法实时计算FSK、DTMF、CAS音数据,放置于直接内存存储器DMA的缓冲区;所述定时器按照固定采样频率触发DAC,该DAC触发直接内存存储器DMA,将数据传输到DAC输出寄存器,输出模拟信号,实现软件调制;所述的软件解调是通过所述定时器按照固定采样频率触发ADC,该ADC触发直接内存存储器DMA将采样数据从ADC数据寄存器传输至指定的缓冲区;然后所述CPU按照FSK、 DTMF, CAS音、信号音数据的特征,经解调算法,实时计算缓冲区的数据,实现软件解调。
2.根据权利要求1所述的电话POSFSK通信软件调制解调的实现方法,其特征在于 为支持实时调制,所述软件调制中直接内存存储器DMA传值个数到一半或全部时,触发相应的调制中断,在中断服务程序中,调用调制算法,为DMA对应空闲半缓冲补充数据。
3.根据权利要求2所述的电话POSFSK通信软件调制解调的实现方法,其特征在于 所述的调制算法包括FSK调制、DTMF调制和CAS音调制;所述的FSK调制支持bell202和v23两种FSK协议,在初始化时,根据不同的协议设置, 将频率变量因子初始化为不同的频率值。
4.FSK计算公式为 式中,A为幅值,Φ为上一比特结束时的相位,fc为载波频率,fm为调制频率;士的取法为当输出比特1时,取减号;输出比特O时,取加号;DMA传输一半或全部时,触发中断服务程序,调用调制接口,计算对应空闲半缓冲区的值;调制计算时,某相位的余弦值,通过查表法获取;所述DTMF调制,其流程和上述FSK调制相似,DTMF计算公式为A氺(cos (2氺 π氺fl氺t)+cos (2氺pi氺f2氺t))/2式中,A为输出幅值,fl为低频,f2为高频;其取值视要发送的字符而定,具体参见标准文档DTMF频率表;所述CAS调制,与DTMF —样,不同的是f 1和f2的取值固定,分别为2130Hz和2750Hz。
5.根据权利要求1所述的电话POSFSK通信软件调制解调的实现方法,其特征在于 为支持实时解调,所述软件解调中直接内存存储器DMA传值个数到一半或全部时,触发相应的解调中断,在中断服务程序中,调用解调算法,计算DMA对应半缓冲的采样数据。
6.根据权利要求4所述的电话POSFSK通信软件调制解调的实现方法,其特征在于 所述的调制算法包括FSK解调、DTMF解调、CAS解调和信号音解调;所述的FSK解调步骤如下步骤11,将原始ADC采样数据,通过一个IIR带通滤波器,滤除FSK频带以外的噪声,得到初步处理后的信号数据;步骤12,根据所述信号数据,计算信号数据中两频率点(fc+fm)和(fc-fm)的能量差; fc及fm的值,根据不同的协议进行设置,对算得的能量差,将其作为基带信号;步骤13,对所述的基带信号,按照采样率和波特率的比例关系,进行抽样判决,得出比特流;步骤14,根据所述的比特流,进行寻找同步码、字节合成、CRC校验处理,按照FSK链路协议进行字节合成,完成后进行CRC校验,若校验通过,则提取出消息字节,送往应用层;若校验错误,则进行错误处理;所述DTMF解调包括以下步骤步骤21,DTMF是两组频率信号的叠加,低频组频率为697、770、852、941,高频组为 1209、1336、1477、1633,单位Hz,根据ADC采样数据,计算DTMF信号总能量值及以上8频点能量值,查找各组能量最大频率点,计算其所占总能量比例;同时计算各频点二次谐波能量及带通滤波后的总能量,供后续判决使用;步骤22,对所述比例,进行判决;若二者均大于所设定阈值,则认为是DTMF字符;若不满足,则认为是静音;判决后将形成字符流和静音流;步骤23,将所述的字符流或静音流,进行重复确认;重复次数依据步骤21所使用的采样数据时长及时间间隔设置;然后判决所得字符,送往应用层;所述CAS音解调CAS音,是频率为2130Hz、2750Hz的合成音,其实就是特殊的DTMF音, 解调技术和上述DTMF —样;所述信号音解调包括以下步骤步骤31,将ADC原始数据,通过一个UR低通滤波器,滤除高频噪声及其可能存在的高次谐波分量;步骤32,根据步骤31的结果,分别计算频率430、440、450、460、470Hz的能量,取其最大值,作为信号音的能量;计算信号总能量;计算信号音能量与总能量的比值;步骤33,根据所述的比值进行阈值判决,若大于60%,则认为是信号音,若小于60%,则认为不是信号音。
全文摘要
本发明涉及一种电话POSFSK通信软件调制解调的实现方法,通过电话POS的CPU、DMA、ADC、DAC以及后台定时器配合完成其软件调制是通过所述CPU经调制算法实时计算FSK、DTMF、CAS音数据,定时器按照固定采样频率触发DAC,该DAC触发直接内存存储器DMA,将数据传输到DAC输出寄存器,输出模拟信号,实现软件调制;其软件解调是通过所述定时器按照固定采样频率触发ADC,该ADC触发DMA将采样数据从ADC数据寄存器传输至指定的缓冲区;然后经解调算法,实时计算缓冲区的数据,实现软件解调。本发明改变了现有依靠专用芯片实现调制解调的方案,不仅节省了成本,而且缩小了设备的体积,稳定性高,具有较好的实用价值。
文档编号H04M1/253GK102447660SQ20111034920
公开日2012年5月9日 申请日期2011年11月8日 优先权日2011年11月8日
发明者张炽成, 程环, 颜恒 申请人:福建联迪商用设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1