当前位置:首页 > 通信技术 > 通信技术
[导读] 声纳设备一般由换能器(信号转换、收发设备)、信号处理主机(DSP等)和显示控制分机(简称显控台)三部分构成。显控台和主机之间的通信非常重要[1]。 显控台和主机之间的通信距离较远,对通信的可靠性和安全

  声纳设备一般由换能器(信号转换、收发设备)、信号处理主机(DSP等)和显示控制分机(简称显控台)三部分构成。显控台和主机之间的通信非常重要[1]。
    显控台和主机之间的通信距离较远,对通信的可靠性和安全性要求高,但是对通信速度要求不高。所以通信方式可以选择串口通信协议RS232[2]。
    显控台上诸多的旋钮、开关以及指示灯、数码管等设备需要丰富的外围接口。这些接口之间具有复杂的逻辑关系。选用FPGA作为显控台主芯片可以满足这些要求。以ALTERA公司的CycloneⅡ开发板为例,其主芯片EP2C8Q208C最多可提供182个用户I/O口,可以满足外围接口要求[3]。在ALTERA公司提供的硬件开发环境Quartus和片上系统开发环境SoPC下,可以非常方便地进行控制模块的开发。也可以构建NIOSⅡ处理器,以及配置NIOS系统自带的硬核,如串口通信模块UART、储存模块Serial Flash等[4]。
    本文利用FPGA芯片设计了一套显示控制分机系统,并且以声纳训练靶为应用背景编制了串口通信协议。
1 利用SoPC Builder构建显控台的片上系统
    SoPC Builder是ALTERA公司提供的片上系统(SoC)开发工具,它可以配合QuartusII完成FPGA芯片的CPU以及外围设备的配置工作。
1.1 片上系统的构建
    在SoPC Builder的开发环境下,选择ALTERA公司开发的32位RISC 处理器NIOSⅡ。标准型的处理器NIOSⅡ/s可以运行在100 MHz的系统时钟下,运算速度超过50 DMIPS[2]。再构建配套的数据存储器SDRAM、程序存储器Serial Flash、系统地址管理器(System ID Peripheral)、编程调试接口(JTAG_UART)以及数码管(SEG)、显示和旋钮(KNOB)、按键(KEYS)等PIO接口。
1.2 RS232 Serial Port的结构
    对UART的控制主要通过编程寄存器来实现[2]。根据UART的寄存器结构,在SoPC对应的软件开发环境NIOSⅡIDE下建立C语言的结构体UART_ST,代码如下:
/*--------------UART------------*/
typedef struct
{
    union{
        struct{
            volatile unsigned long int RECEIVE_DATA :8;
            volatile unsigned long int NC:24;
        }BITS;
        volatile unsigned long int WORD;
    }RXDATA;
    union{
        struct{
            volatile unsigned long int TRANSMIT_DATA:8;
            volatile unsigned long int NC:24;           
        }BITS;
        volatile unsigned long int WORD;
    }TXDATA;
    union{
        struct{
            volatile unsigned long int PE:1;
            …其他状态寄存器
        } BITS;
        volatile unsigned long int WORD;
    }STATUS;
    union{
        struct{
            volatile unsigned long int IFE:1;
                 …其他控制寄存器
            }BITS;
            volatile unsigned long int WORD;
    }CONTROL;
    union{
        struct{
volatile unsigned long int BAUDRATE_DIVISOR:16;
volatile unsigned long int NC:16;           
        }BITS;
        volatile unsigned  int WORD;
    }DIVISOR;
}UART_ST;
 

 

2 显控台与主机之间的通信
    声纳设备有两种工作状态——设置和工作。在这两种状态下,显控台与主机的通信方式有三种,分别如图1~3所示。


    在声纳设备工作之前,操作员在显控台要完成开机与参数设置等动作。此时,开关等外围设备会触发处理器的中断处理程序,完成参数设置和显示。这些参数不仅要在显控台显示,还得通过UART发送到主机(DSP),作为主机信号处理运算的某些参数。因为是通过串口发送,所以这些数据要进行适当的分割与编码,并加上地址信息等。
    在主机(DSP)接收到开始工作的指令后,主机会把处理过程中或者处理后的数据通过UART发送到显控台,方便操作员实时了解设备的工作状态和工作结果。
3 在NIOSⅡIDE上实现串口通信协议
    NIOSⅡIDE是ALTERA公司开发套件中用来进行嵌入式开发的平台。所有软件开发任务都可以在NIOSⅡIDE下完成,包括编辑、编译和调试程序。它支持C/C++语言编程,可以根据SoPC建立的SoC,生成相应makefile,在编译时,又可以根据makefile生成系统头文件system.h,从而把软硬件隔离开来[5]。
3.1 串口通信协议
    在NIOSⅡIDE下用C语言开发通信协议较为方便。由于RS232每帧数据有效数据位为8 bit,所以将unsigned char 作为协议中的基本数据类型。在库文件中,这种数据类型被定义为alt_u8。指令的前4位为0,后4位为指令内容。数据前4位为数据的地址信息,后4位为数据内容。
    显控台与主机所有通信数据和指令分为三种:(1)显控台处理器发送到主机(DSP)的指令,取值范围为0x00~0x0f。典型的如0x00为开始工作指令,0x0f为停止工作指令,0x01~0x07为通信检查指令。(2)显控台处理器发送到主机(DSP)的数据,取值范围为0x1x~0xfx。典型的如0x9x和0xax,分别为多普勒频移的低4位数据和高4位数据。(3)主机(DSP)发送到显控台处理器的数据,取值范围为0x0x~0xfx。典型的如0x5x噪声级别。
3.2 程序设计
    根据以上分析,以声纳训练靶为例,设计C语言程序。框图如图4所示。

    NIOSⅡ嵌入式编程可以直接调用ALTERA的库函数进行操作。例如对PIO的操作函数:IOWR_ALTERA_AVALON_PIO_DATA(BASE,DATA)(写IO函数),IOWR_
ALTERA_AVALON_PIO_DATA(BASE,DATA)(读IO函数)。也可以构建硬件寄存器的结构,例如UART_ST这样的结构,通过对结构实例化的操作,同样可以方便地编程。本设计中结合了这两种编程的优势,对于结构复杂,操作要求简单的硬件,采用库函数的操作方法,如Flash;对结构较为简单、操作较为细化的硬件,采用寄存器结构化的操作方法,如UART。
    本文利用FPGA芯片构建了声纳设备的显示控制分机。基于ALTERA公司的 NIOSⅡ嵌入式处理器,建立了片上系统,实现了显示控制分机和主机(DSP)之间的RS232通信协议。在以EP2C8Q208C为主芯片的FPGA开发板上,实现了硬件系统的构建和软件编程以及下载。此显示控制分机应用在一体化声靶中,工作稳定可靠。由于片上系统构建的灵活性,所以这种显示控制方案在声纳设备中具有很好的可扩展性,便于维护和升级。
参考文献
[1] 蒋均齐.鱼雷声靶技术研究[D].长沙:国防科技大学,2006:8-9.
[2] 李金力,刘文怡,彭旭峰.基于FPGA的RS232异步串行口IP核设计[J].电子设计工程,2009,17(8):31-35.
[3] Altera Corporation.Cyclone II Device Handbook[S].2007(1):12-34.
[4] 张新喜,许军,杨雨迎,等.基于SoPC技术的战车综合显控终端设计[J].火力与指挥控制,2008,33(增刊):109-112.
[5] 洪胜峰.基于嵌入式技术的军用车辆车载显控终端的研制[D].青岛:中国海洋大学,2007:25-26.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭