以DSP为核心的无线定位系统的方案设计
时间:08-30
来源:互联网
点击:
C5402的Bootloader原理
C5402上电后,首先检查MP/MC引脚的状态:如果为高电平,说明DSP处于微处理器工作模式,从外部程序存储器0FF80h地址开始执行用户程序;若为低电平,DSP被设置为微计算机模式,从片内ROM的0FF80h地址开始执行程序。在C5402的0FF80h地址处存放着一条跳转至0F800h处执行DSP自行引导装载(Bootloader)程序的指令。当C5402执行Bootloader程序时,将会按HPI装载模式→串行EEPROM装载模式→并行装载模式→标准串行口装载模式 →I/O口引导装载模式的顺序循环检测,以决定执行哪种启动模式。
对于以C5402为核心的数字信号处理系统来说,并行引导装载模式被认为是最适用的。因为HPI引导装载模式、标准串行口引导装载模式和I/O口引导装载模式只适用于由其它处理器为C5402提供运行代码的多处理器系统中,串行EEPROM引导装载模式只支持价格偏高的SPI端口EEPROM,而并行引导装载模式可采用的并行EEPROM和Flash种类很多,有的价格比较低,操作起来比较简单。在不自己编写Bootloader程序的情况下,并行引导装载模式最大只能装载32K字的程序或数据。若程序数据大于32K,此时需要自己编写一个并行装载的内核程序,通过片内的装载程序将编写的内核程序传送到片内DRAM中,然后再运行装载内核程序,将大于32K的程序数据送到片外的SRAM中。在有两个或两个以上的C5402或具有标准串口功能的多微处理器的系统中,若为每一个微处理器都配置一个并行的Flash来存储程序,会很浪费资源,占用总线。而利用一片Flash,主机利用并行装载,然后主机通过HPI装载模式对其它C5402进行装载,这样就可以节省大量资源。
系统硬件结构及原理分析
系统硬件原理图
本系统主要完成无线信号的采集、采样信号的处理得到方向估计及与PC机通信,系统的硬件原理如图2所示。
图2 CPLD中的VC5402与TL16C550C的系统逻辑图
数据采集与通信
为了达到与C5402很好的匹配,A/D电源和参考电压都接了3.3V。A/D的FS接DSP的FSX和FSR,使数据输入的帧同步信号由DSP产生。SCLK接DSP的CLKX和CLKR,这样数据的输入和输出时钟均来自DSP。C5402与各自两片A/D进行数据传输时,设置串口中断工作在00模式,即串口数据到达触发中断,这样CPU可以根据A/D传输数据产生相应的串口中断RINT0或RINT1。当两个串口的数据同时到达,即同时申请中断时,C5402的CPU会根据中断优先级响应RINT0中断,然后再响应中断RINT1。为了保证数据通信的可靠性,避免数据冲突,在响应RINT1中断的过程中,串口0无中断请求。 两片C5402(A,B)是通过HPI口进行数据交流的,其中C5402(A)作为主机,C5402(B)工作在HPI 模式。两片DSP分别计算自己的数据的自相关函数Rxx,由C5402(A)将数据送到C5402(B)中,进行互相关函数Rxy计算,然后通过ESPRIT方法计算出方向。估计完方向后,C5402(B)通过TI公司的异步串行芯片TL16C550C将估计结果传给PC机进行网络定位,或下一步处理。
TL16C550C能以16MHz的速度读写数据,读写信号的脉宽很窄,使用一般的串口微处理器误码率较高,而TL16C550C能够很好的与DSP匹配。这里VC5402以19200的波特率与PC机通信, 当XIN、XOUT端外接3.072MHz晶振时,波特率因子寄存器的低位的值应为0AH,高位值为00H。C5402与TL16C550C之间的逻辑控制通过CPLD来完成,其内部逻辑如图3所示。
图3 CPLD中的VC5402与TL16C550C的系统逻辑图
由于RS-232-C电路电平与CMOS电平不同,因此RS232驱动器与CMOS电平连接时必须经过电平转换,本系统采用MAXIM公司的MAX232来完成这一功能。
系统独立工作的程序装载过程
本系统的程序装载分为两部分:C5402(A)自身的并行装载和C5402(B)的HPI装载。
C5402(A)与Flash AT29LV1024和SRAM IS61LV6164之间的逻辑如图4所示。C5402(A)上电复位装载时,由于Bootloader程序在初始化时设置XF为高电平,在系统进入并行引导装载模式后,C5402(A)从数据寻址为0FFFFh单元(A15=1,选中Flash)中读取将要载入的程序存储区首地址和并行装载数据流。此时,C5402可以将 Flash地址08000h-0FFFFh单元中的数据读到C5402对应于0000h-7FFFh寻址区的片内DARAM和片外SRAM中。Bootloader程序结束后用户程序的第一条语句为RSBX XF,置XF引脚为低电平, Flash始终不选通。这样,SRAM的高32K区域(08000h-0FFFFh)被释放出来,可以作为C5402(A)运行时的数据区或程序区使用。C5402(A)装载进来的程序数据主要分三部分:给C5402(B)的装载程序,自身的运行程序及C5402(B)的运行程序。
图4 VC5402与存储器的逻辑图
在C5402(A)进行并行装载的过程中,C5402(B)在判断是哪种装载模式。因为C5402(B)的HINT和INT2连在一起,在DSP上电初始化时将07FH单元清0,同时HINT置0,这样导致了INT2的IFR的相应标志位有效,C5402(B)查询到INT2的标志位有效后,判断是HPI装载模式。C5402(A)在进行完并行装载后,首先运行装载程序,将C5402(B)运行程序数据传送C5402(B)中,最后将C5402(B)的程序入口地址写到07FH单元,表明HPI装载结束。
C5402上电后,首先检查MP/MC引脚的状态:如果为高电平,说明DSP处于微处理器工作模式,从外部程序存储器0FF80h地址开始执行用户程序;若为低电平,DSP被设置为微计算机模式,从片内ROM的0FF80h地址开始执行程序。在C5402的0FF80h地址处存放着一条跳转至0F800h处执行DSP自行引导装载(Bootloader)程序的指令。当C5402执行Bootloader程序时,将会按HPI装载模式→串行EEPROM装载模式→并行装载模式→标准串行口装载模式 →I/O口引导装载模式的顺序循环检测,以决定执行哪种启动模式。
对于以C5402为核心的数字信号处理系统来说,并行引导装载模式被认为是最适用的。因为HPI引导装载模式、标准串行口引导装载模式和I/O口引导装载模式只适用于由其它处理器为C5402提供运行代码的多处理器系统中,串行EEPROM引导装载模式只支持价格偏高的SPI端口EEPROM,而并行引导装载模式可采用的并行EEPROM和Flash种类很多,有的价格比较低,操作起来比较简单。在不自己编写Bootloader程序的情况下,并行引导装载模式最大只能装载32K字的程序或数据。若程序数据大于32K,此时需要自己编写一个并行装载的内核程序,通过片内的装载程序将编写的内核程序传送到片内DRAM中,然后再运行装载内核程序,将大于32K的程序数据送到片外的SRAM中。在有两个或两个以上的C5402或具有标准串口功能的多微处理器的系统中,若为每一个微处理器都配置一个并行的Flash来存储程序,会很浪费资源,占用总线。而利用一片Flash,主机利用并行装载,然后主机通过HPI装载模式对其它C5402进行装载,这样就可以节省大量资源。
系统硬件结构及原理分析
系统硬件原理图
本系统主要完成无线信号的采集、采样信号的处理得到方向估计及与PC机通信,系统的硬件原理如图2所示。
图2 CPLD中的VC5402与TL16C550C的系统逻辑图
数据采集与通信
为了达到与C5402很好的匹配,A/D电源和参考电压都接了3.3V。A/D的FS接DSP的FSX和FSR,使数据输入的帧同步信号由DSP产生。SCLK接DSP的CLKX和CLKR,这样数据的输入和输出时钟均来自DSP。C5402与各自两片A/D进行数据传输时,设置串口中断工作在00模式,即串口数据到达触发中断,这样CPU可以根据A/D传输数据产生相应的串口中断RINT0或RINT1。当两个串口的数据同时到达,即同时申请中断时,C5402的CPU会根据中断优先级响应RINT0中断,然后再响应中断RINT1。为了保证数据通信的可靠性,避免数据冲突,在响应RINT1中断的过程中,串口0无中断请求。 两片C5402(A,B)是通过HPI口进行数据交流的,其中C5402(A)作为主机,C5402(B)工作在HPI 模式。两片DSP分别计算自己的数据的自相关函数Rxx,由C5402(A)将数据送到C5402(B)中,进行互相关函数Rxy计算,然后通过ESPRIT方法计算出方向。估计完方向后,C5402(B)通过TI公司的异步串行芯片TL16C550C将估计结果传给PC机进行网络定位,或下一步处理。
TL16C550C能以16MHz的速度读写数据,读写信号的脉宽很窄,使用一般的串口微处理器误码率较高,而TL16C550C能够很好的与DSP匹配。这里VC5402以19200的波特率与PC机通信, 当XIN、XOUT端外接3.072MHz晶振时,波特率因子寄存器的低位的值应为0AH,高位值为00H。C5402与TL16C550C之间的逻辑控制通过CPLD来完成,其内部逻辑如图3所示。
图3 CPLD中的VC5402与TL16C550C的系统逻辑图
由于RS-232-C电路电平与CMOS电平不同,因此RS232驱动器与CMOS电平连接时必须经过电平转换,本系统采用MAXIM公司的MAX232来完成这一功能。
系统独立工作的程序装载过程
本系统的程序装载分为两部分:C5402(A)自身的并行装载和C5402(B)的HPI装载。
C5402(A)与Flash AT29LV1024和SRAM IS61LV6164之间的逻辑如图4所示。C5402(A)上电复位装载时,由于Bootloader程序在初始化时设置XF为高电平,在系统进入并行引导装载模式后,C5402(A)从数据寻址为0FFFFh单元(A15=1,选中Flash)中读取将要载入的程序存储区首地址和并行装载数据流。此时,C5402可以将 Flash地址08000h-0FFFFh单元中的数据读到C5402对应于0000h-7FFFh寻址区的片内DARAM和片外SRAM中。Bootloader程序结束后用户程序的第一条语句为RSBX XF,置XF引脚为低电平, Flash始终不选通。这样,SRAM的高32K区域(08000h-0FFFFh)被释放出来,可以作为C5402(A)运行时的数据区或程序区使用。C5402(A)装载进来的程序数据主要分三部分:给C5402(B)的装载程序,自身的运行程序及C5402(B)的运行程序。
图4 VC5402与存储器的逻辑图
在C5402(A)进行并行装载的过程中,C5402(B)在判断是哪种装载模式。因为C5402(B)的HINT和INT2连在一起,在DSP上电初始化时将07FH单元清0,同时HINT置0,这样导致了INT2的IFR的相应标志位有效,C5402(B)查询到INT2的标志位有效后,判断是HPI装载模式。C5402(A)在进行完并行装载后,首先运行装载程序,将C5402(B)运行程序数据传送C5402(B)中,最后将C5402(B)的程序入口地址写到07FH单元,表明HPI装载结束。
GPS 传感器 DSP 电压 PLC 总线 CPLD 电路 CMOS 相关文章:
- 是福音还是侵犯隐私?先进定位技术可精确判断位置(09-12)
- 基于位置的服务在3G系统中的应用(上)(09-30)
- 基于位置的服务在3G系统中的应用(下)(09-30)
- 基于GPS的车辆导航及GPRS网络监控(10-02)
- 便携时代风起云涌,Wi-Fi携手微型硬盘引领潮流(11-18)
- TFT-LCD在GPS导航仪中的应用(11-26)