新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于NIOSⅡ的声纳主机与显控台之间的RS232通信协议

基于NIOSⅡ的声纳主机与显控台之间的RS232通信协议

作者:时间:2012-05-30来源:网络收藏


设备工作之前,操作员在显控台要完成开机与参数设置等动作。此时,开关等外围设备会触发处理器的中断处理程序,完成参数设置和显示。这些参数不仅要在显控台显示,还得通过UART发送到(DSP),作为信号处理运算的某些参数。因为是通过串口发送,所以这些数据要进行适当的分割与编码,并加上地址信息等。
(DSP)接收到开始工作的指令后,主机会把处理过程中或者处理后的数据通过UART发送到显控台,方便操作员实时了解设备的工作状态和工作结果。
3 在ⅡIDE上实现串口
ⅡIDE是ALTERA公司开发套件中用来进行嵌入式开发的平台。所有软件开发任务都可以在ⅡIDE下完成,包括编辑、编译和调试程序。它支持C/C++语言编程,可以根据SoPC建立的SoC,生成相应makefile,在编译时,又可以根据makefile生成系统头文件system.h,从而把软硬件隔离开来[5]。
3.1 串口
在NIOSⅡIDE下用C语言开发较为方便。由于每帧数据有效数据位为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)通信协议。在以EP2C8Q208C为主芯片的FPGA开发板上,实现了硬件系统的构建和软件编程以及下载。此显示控制分机应用在一体化声靶中,工作稳定可靠。由于片上系统构建的灵活性,所以这种显示控制方案在声纳设备中具有很好的可扩展性,便于维护和升级。
参考文献
[1] 蒋均齐.鱼雷声靶技术研究[D].长沙:国防科技大学,2006:8-9.
[2] 李金力,刘文怡,彭旭峰.FPGA的异步串行口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.


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭