嵌入式开发:车载软件无线电设计与应用
最近几年,无线应用已经有了快速而且广泛的发展。毫无疑问,无线设备给我们的生活和工作带来了极大的便利,比如,手机使我们能够随时随地地进行对话,大大地提高了沟通的效率。与此相对应,越来越多的无线技术被创新性地集成在汽车应用中,使驾驶也成为了一种舒适生活的体验。下表列举了目前常见的汽车无线应用。
这些还没有包括红外无线应用、遥控钥匙等,加上将来肯定会集成到车内的无线互联网络和4G通讯网络,汽车相关的无线系统会涵盖一个相当大的范畴。然而无线应用不仅要适用于相关的频率,还要满足规定的调制算法。所以现有的车载无线应用都是采用单独的软硬件模块来实现的。比如收音机,普遍的解决方案是利用一个收音机模块进行收音解调,然后通过专门的通讯协议(比如I2C)和主处理器交互,并显示在人机界面上。
独立的软硬件模块通常意味着简洁的软件设计和较低的硬件成本。不过它也有它的弱点:硬件模块的更改通常意味着比较大的系统改变。比如收音机要加上RDS的功能,一般要重新选择新的收音机模块,重新设计系统接口以适应新的收音机模块,重新设计软件来容纳RDS功能等。
车载无线应用涉及众多的独立硬件模块和快速发展的新技术,同时变更硬件模块和修改软件模块可能会导致滞后的上市时间和较高的设计成本。软件无线电是一个蓬勃发展的领域,以下本文将就在车载系统中引入软件无线电模块展开讨论。
软件无线电简介
传统的无线电应用都是依靠模拟电路来实现的。软件无线电的目的就是把无线电领域的硬件问题变成软件问题,其基本思想就是用软件解调接收到的电磁波和用软件控制发射的电磁波。软件无线电的基本框架如下图。
从框图中可以看到,模数/数模转换器是联系连续的模拟信号和分立的数字信号的桥梁,而软件可以控制的是数字信号。应用软件代码高效分析和合理控制数字信号,软件无线电原则上可以实现传统无线电的所有应用,并且具有传统无线电设备所没有的灵活性——软件代码实际上可以根据用户的需求实时调整。也就是说,使用同一块硬件,软件无线电软件可以完成传统无线电需要多块硬件才能完成的任务,比如同时接收FM信号和电视信号。
车载软件无线电
现在是考虑用软件无线电来代替汽车内传统无线电应用的时候了。要实现这个方案,首先需要设计一个通用的软件无线电模块。这个模块应该包含示意图中的模块,而且还要有较好的灵活性,最后还必须有和外部设备通讯的高速接口。下图给出了一个简单的示意例子。
其中,DAC是数模转换器,ADC是模数转换器,BUS是可编程接口。
其次,看一看作为可编程单元的FPGA.当主控单元通过可编程接口配置好FPGA之后,FPGA就会按照我们预先设计的程序进行工作。在软件无线电领域,以接收为例,FPGA完成的任务包括按照主控单元指定的频率段把ADC数据转化为基频段数据,即所谓数字化下行转换。这个转换过去是非常消耗系统资源的,随着硬件处理能力的提高和软件算法的更新,无线电领域的上下行转换目前基本上可以实时完成。赛灵思和Altera都提供高性能的FPGA,它们完全可以胜任上述任务。
再其次,数字化下行转换后的数据会通过可编程接口传输给主控单元。这个数据的流量会根据应用和数字化下行转换算法的不同有较大的变化。典型的数据率是每秒数十兆字节,这个速度可以适应目前车内常用的无线系统,而满足这个数据率的通用接口可以选:
一般地,USB总线是一个很好的选择:简便而易得。
评论