软
软件是本章的主题,即讲解它是做什么的、如何工作的、您如何获取它并打包。
基础编程PIC已经包括[6],所以这个项目将集中围绕在DSP展开。
PIC-A-STAR的DSP
在图2所示是软件要实现的功能。你会看到框图与模拟硬件没有什么不同,但实现并不需要这么大的代价,而是在一枚28平方毫米芯片内部实现的!
其实,有一种内在的实现方法,即将需要处理前的模拟信号和返回模拟信号后的信号转换成数字信号。这是运用多个输入和参考编解码器(编码器/解码器)输出并在一个单独芯片上实现的。
对于软件解决方案最大的吸引力,可以这么说,它至少不是业余的,而是可灵活地在键盘上改变触及线路。这使实验变得简单(或公开拟修改得补丁,如果你愿意)因为在任何时候,你都可以放弃修改,
回到以前的版本。另外还有其他微妙之处。
例如,你会发现框图中左右分布着五个15kHz的振荡器。事实上,其频率变化是模式决定的,即USB/ LSB / CW。在DSP软件术语中的正弦振荡器只是一个简单的子程序。你需要做的全部事情就是调用它,告诉它你想在什么场合下的任何特定频率/相位并由其来实现。
另一个例子是“延误”在接收前端的I/Q混频器取消的图像。在一个路径中有一个90°的相位差,在其他延误。后者产生是由于它需要实时的过渡时间产生相位差,所以等量的时间被“浪费”在另一个通道以维持相位关系。
时间是关键
你要是掌握了一些DSP是如何工作的基础知识就会理解并注意到时间是至关重要的用处。图2中的每一个功能模块都需要时间来执行。因此,每个指令都是独立的以弥补这个功能。
这里考虑的很少,因为这不适用于我们的老朋友奈奎斯特的理论。他说过,为了如实地处理信号,你必须有其最高频率两倍(至少)的速度采样。
例如,进入的Rx信号大约为15kHz,所以采样必须在30kHz或以上,实际上是使用48kHz就是为了提供有效的保证。
这样做的结果是,取得一个采样后,你有不超过20.83µs(通过简单的计算)你必须在所有必要的处理完成之前,回去处理下一个。(实际上,如果没有实现它,处理器不管你做什么都将中断并拖累你返回,所以它是非常重要的。)
那么,究竟有多少可以达到百万分之20秒处理两次?本设计中使用的ADSP-2181处理器执行一个指令就在30纳秒在。因此,简单的答案是666指令总值。