显而易见,了解清楚aprs收发的具体工作工程,对aprs的应用有具体的意义,在此基础上开发一些aprs应用产品易如反掌。
论坛图文混排比较麻烦,这里简单贴下,抽空整理成完善的文档,供有兴趣的ham参考。
tnc就是一个连接电脑和电台的接口电路板,包含cpu和调制解调电路。
1、标准的tnc使用c0 00 (ax.25协议数据(不含flag标志数据和校验数据)) c0格式在串口间收发数据,速率一般是9600。
所谓ax.25协议只是一个通讯协议,具体的aprs数据通过hdlc编码方式发送或接收。
如何发送aprs数据,关键是了解hdlc编码方式。
hdlc编码方式的要点归纳:
1、和传统的串口通讯不同,没有其实位和结束位。
2、没有高低电平区分,而是以高低电平的变化来表示0或1。
发送时逢连续5个“1”插1个“0”。解码反之。
3、hdlc编码的校验计算方式
如何发送aprs数据,归纳步骤:
1、tnc接收到c0 00 (ax.25协议数据)c0格式数据
2、对(ax.25协议数据)校验计算生成校验值
3、组合成 flag标志数据 + ax.25协议数据 +校验值+flag标志数据
4、按hdlc编码发送
5、由调制解调电路,比如mx(cml)604/614,调制成0=2200hz,1=1200hz的音调afsk,通过电台传送。
知道了编码发送,解码只是逆向工程而已。
解码常用2种hdlc解码方式:
1、位解码
2、周期时间解码
解码的要点:
1、保持位变化(上升沿/下降沿)同步,确保数据接收正确,可以对时序不是很标准的一些tt一定的兼容。
调制解调电路有多种方式可选,一般发送没有问题,接收根据不同的硬件方案有些区别:
1、使用mx(cml)604/614,单芯片收发,收发稳定,编程简单,价格高
2、pwm模拟音调发送+afsk单解码芯片,收发稳定,成本低。
3、收发均cpu模拟处理,成本低,发送稳定,接收视编程水平而定,误码高。
在一些小功能的应用中,pwm模拟正弦音掉输出是个不错的选择,准备做的ft-7800专用的单发aprs小接口就选用。
有朋友提到,mx(cml)604/mx(cml)614电路完全一样,除了发送的音调不同604=1300/2300 ,614=1200/2200,在aprs应用上能否代换,我做了2个tnc,分别安装604和614,通过tnc互发互解、tnc对agw声卡互发互解,实践测试证明,收发顺畅。
使用音频发生器,独立对2个芯片进行测试,2个芯片的接收音调的范围很宽,800-1500hz左右输出1,1800-2600hz左右输出0,显而易见,虽然2个芯片的发送音调不同,接收都在音调范围内,当然都没问题。
补充中。。。