嵌入式
返回首页

ADSP2189M在船舶自动识别系统开发中的应用

2006-08-21 来源:电子设计应用

  引言
  AIS系统是海上移动VHF波段采用TDMA技术交换数据的一种避碰系统,是国际海事组织规定每条船只必须安装的设备之一,产品开发基于国际海事组织颁布的ITU-R M1371协议。在开发中采用ADSP2189M作为其数据处理平台,完成各种数据处理,转换,时隙的划分,网络登陆和维护等算法,实现其大部分的主要功能。系统的模式如图1所示。

  由电台在161.975MHz和162.025MHz的两个频点上接收GMSK信号,经GMSK调制解调芯片把模拟数据转换成数字信号,数据流通过上位机完成对正确数据的判定,并且删去数据段的起始、填充和结束位,把数据通过并行口发往DSP,DSP完成对接收到数据的处理与分析,建立整个海域的时隙表,完成TDMA的网络登陆、维护,把相关的数据再以不同格式发送到不同的串口输出,按照ITU-R M.1371协议,以ITDMA(增量时分多址)方式接入网络,以SOTDMA(自控时分多址)方式连续运行,从而达到整个网络的TDMA完整性。因此,信号处理单元在系统中处于重要的位置。

图1 DSP与外部设备接口

ADSP2189M芯片
  ADSP2189M芯片是一种定点DSP,其指令周期为13.3ns,运行速度可达75MIPS。处理器包括算术/逻辑单元(ALU),乘法/累加器(MAC)和桶状移位器。存储器采用哈佛结构,有48K的PRAM和32K的DRAM。两个SPORT同步串口,一个定时器以及主机接口可以和主机处理器直接相连。DMA接口包括内部DMA接口(IDMA)和字节DMA接口(BDMA)。

AIS系统中2189M的硬件设计
 部分电路如图2所示。
·芯片外接33M的晶体,其内部自动倍频到66M;
·一个同步串口SPORT与外部的MCU相连,引脚要接上拉电阻;
·把SPORT1设置成第二种工作模式,并用软件把I/O口模拟UART,与MAX232芯片连接,数据送往简易显示;
·采用IDMA方式与MCU相连,16条并口线连接,启动模式设置为IDMA方式,其4个MODEA~D设置分别为1,0,1,0;
·完成IDMA引导装载的步骤如下;
PWD、EBR、BR、ERSET四个调试引脚必须外接上拉电阻;
最后写PM(0X0000)的值,程序开始自动执行。

图2 AIS系统的部分电路图

图3 串口接收时序图

图4 时隙划分图

ADSP2189M接口的软件设计
Sport0的设置
采用同步串口与MCU通讯

  DM(0X3FF6)—串口控制寄存器设置如表1所示。

  表1中0~3:接收发送字长,我们定义为16位字长,设置为1111。6~7:帧同步信号电平,为0,高电平有效。8~9:帧同步信号源,为1,内部产生帧同步信号。

  10~11:成帧方式,为1,第二成帧方式。12~13:帧同步,为0,发起通讯必须要帧同步信号,以后不再考虑帧同步信号。14:SCLK的产生方式,为1,内部产生串行时钟。

  DM(0X3FF5)—串口时钟分频系数寄存器dm(sclkdiv)
  在ADSP2189芯片中,采样率与分频数之间的关系如下式F(sclk)=f(clkout)/(sclkdiv+1)/2

  其中,F(sclk)表示运行时钟,F(clkout)表示外接晶振的输出时钟,sclkdiv表示分频数,即存储器应该赋予的值。

  当控制寄存器设置好以后,串口接收时序如图3所示,接收到的数据放在接收缓存区,每接收完一组数据,写一次接收标志位,主程序定期检测标志位,当检测到标志位变化时,调用接收处理子程序。

Sport1和timer的设置
  由于DSP要输出数据到简易显示,通过UART口相连接,因此把Sport1设置为第二种工作模式(如表2所示)。

  DM(0X3FFF)—系统控制寄存器(如表3所示)。

  表3中,12:SPORT0的使能,设置为1。11:SPORT1的使能,设置为1。10:SPOER1的功能选择,设置为0。

  用I/O口模拟UART,以9600波特率采样,内部定时中断产生速率为3×9600,在一个电平跳变中产生3次采样,取中间的采样值有效。

DM(0X3FFD)—定时周期寄存器
DM(0X3FFC)—定时计数寄存器
外接33M晶体,寄存器存放的数值为:
period=frequence×2/(3×9600)-1=2314

  芯片以28800波特率产生中断,每次中断程序检测UART的标志位,当标志位有变化时,每3次中断设置一次I/O的输出,直到发送数据结束。
部分代码设置如下:
ax0 = 2314;    //定时器设置
dm(0x3ffc) = ax0;
dm(0x3ffd) = ax0;
ax0 = 0;
dm(0x3ffb) = ax0;  //控制寄存器的设置
ax0 = b#0001100000000000;
ax0=b#0111111000001111;
dm(0x3ff6)=ax0;  //sport0设置
ax0=0x001f;
dm(0x3ff5)=ax0;  //SCLKDIV0
mstat = 0x10;  // 乘法器设置
ifc=b#0000000001100001;  imask=b#0000100001;  //中断开启
ena timer;
//开启定时

主体软件流程
  系统采用自主式时分复用,把时间分成周期性的帧,每一帧再分割成若干时隙(无论帧或时隙都是互不重叠的),每个时隙就是一个通信信道,分配给一个用户。系统根据一定的时隙分配原则,使各个移动台在每帧内只能按指定的时隙向对方发射信号(突发信号),在满足定时和同步的条件下,基站可以在各时隙中接收到各移动台的信号而互不干扰。

  在寄存器中划分两个信道的空间作为海域的时隙表,如图4所示。

  网络登陆采用概率持续算法(当发现一个候选时间段时,台站在0到100之间随机选取一个概率值LME.RTP1,该值与一个0到10的概率LME.RTP2比较,如果LME.RTP1小于或等于LME.RTP2,则选择这个时间段,反之,LME.RTP2加上一个概率增量与下一个候选时间段比较)。在2250个时间段上随机选择一个空闲时隙作为网络的接入点,然后以ITDMA方式接入。这种方式是一种先报告先占用的形式,在当前发射的数据中指明下一个需要发送数据的时隙号,从而达到预先通知其它台站自身所占用的时隙号,确定在60秒中需要占用的空间。在以后的连续阶段,移动台以SOTDMA方式完成网络的维护和时隙的重新划分。由于协议规定的数据格式中最大只能预知到7分钟的占用情况,所以每隔7分钟,需要在一定范围内重新选择一个新的空闲时隙发送,以次类推,一直以这种连续的状态运行下去。

  当速度发生改变的时候,系统重新以ITDMA的方式完成新的速率下的网络登陆。

结语
  本文提出的设计方案,充分利用了DSP的高性能数据处理功能和嵌入式操作系统的实时稳定的特点,采用时分复用的算法,进行一个海域内的网络划分和联接功能。这种DSP信号处理与嵌入式操作系统相结合的模式,可以广泛应用于通讯领域,具有广泛的应用前景。

参考文献
1 吴敏渊.ADSP系列数字信号处理器原理. 电子工业出版社
2 苏涛.吴顺君.廖晓群.高性能数字信号处理器与高速实时信号处理. 西安电子科技大学出版社

进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 红外线探测报警器

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章