想要为嵌入式应用选出最好的调制解调器(modem)技术,就得先弄清楚可用的系统资源和影响选择的限制条件。一个硬modem包含一个控制器,一个DSP,数据和程序存储器,实际上它是不消耗系统资源的。嵌入式系统的主处理器通过一个串口或并口与之通信,并且必须给其发送固定的初始化设置命令串,来控制modem和数据。modem处理器不需要主处理器或嵌入式系统的干预,负责处理所有的调制解调函数,包括均衡、回声抵消、调制、解调、纠错和压缩。modem进行简单的数据发送和数据接收。
点击看原图
图1 3个基本modem配置
相反,软modem是通过主处理器来实现的。它们必须与其他的软件并发运行,如用户接口、纠错和数据通信中的压缩。系统的存储器存储了软modem代码,它必须足够大以存储modem和其他应用程序的代码,并且为使所有软件能够很好的运行必须足够快。
另外,一定要考虑操作系统的能力和局限性。许多操作系统非常简单,只够运行已有的应用软件,它们很难满足时间临界段modem代码和其他软件同时运行的多任务需求。modem代码需要保证中断时间和足够的中断时延,以保证最大处理时间。特别要用心考虑modem所需的MIPS。
modem代码要执行很多的乘法或加法运算,一般用一个DSP,它可以在每个时钟周期内完成一次乘法或加法运算。而一个通用处理器完成同样的运算大概需要3~5个时钟周期。因此,对于modem代码来说,30MIPS的处理器就相当于6~10MIPS的DSP。
其他需要重点考虑的就是AT命令集和响应代码。Windows应用程序需要ITU(国际电信同盟)标准V.250,但几乎没有嵌入式modem严格符合这个标准。硬modem带有预定义的AT命令集,其中包括modem支持的所有特性。嵌入式软modem通常有很少的特性,故仅有很少的AT命令集。
在软modem应用中,系统时钟是临界区。为了满足ITU协同工作的需求,modem时钟至少稳定在100ppm。因此,系统晶振或时钟源一定要精确到100ppm,包括初始化精度、温度漂移、老化、负载电容的误差。
DAA技术
向在软、硬modem之间选择一样,直接存取配置(Direct Access Arrangement, DAA)技术的选择是系统决策的关键。DAA影响到modem的性能、固定标准、特征集,PC板面积和成本。DAA的主要功能是将SELV(Safety Extra Low Voltage, 安全超低电压)电路与高压电路TNV(Telephone Network Voltage, 电信网络电压)进行隔离。
硬modem通常带有集成DAA解决方案,因此,选择硬modem就意味着选择了DAA技术。相反,由于软modem没有定制的DAA解决方案,可选择更多DAA,灵活性更高。尽管基于DAA的变压器可以同软modem一起工作,但有些特性,如固态DAA包括的并行摘机状态检测,增加了变压器DAA的成本,也使软modem代码复杂化。
如果不对硬件进行重新设计,变压器DAA的未来升级将是困难的或不可能的。所以,用旧的、不可变的DAA限制了软modem固有的灵活性是不可取的。
另一方面