×
单片机 > 单片机程序设计 > 详情

基于ARM和FPGA的时间同步仪控制单元设计

发布时间:2020-06-12 发布时间:
|
    随着现代科技的发展,信息需求不断增加,卫星导航定位系统备受关注,应用也有了更加深入的发展。为实现卫星导航系统高质量的定位、导航和授时服务,地面站与卫星之间的时间同步就显得尤为重要。作为卫星导航系统的关键型技术和基本性能,时间同步直接影响系统的定位、导航和授时服务。
    文中论述的时间同步仪控制单元设计方案是以ARM9芯片为主控制单元,FPGA芯片作为辅助控制单元。采用这个方案,可以有效简化时间同步仪控制系统的复杂性,同时提高整个控制系统的灵活性和可靠性。

1 系统的组成和工作原理
    时间同步仪控制单元作为时间同步仪系统的控制中心,采用基于ARM核的32位嵌入式RISC微处理器,设计了微处理器与外围设备控制端口与数据端口的连接,分别包括了与FPGA-XCS30,LCD显示器PC4002、以太网MAC控制器DM9000和RS-232收发器的连接。图1为时间同步仪控制单元组成框图。


    (1)网口控制:实现网络通信,远程登录操作控制板,并接收外部的导航电文信息以及发送导航电文信息。
    (2)串口控制:两个串行端口,一个用于计算机通过超级终端登录进行系统调试,另一个用于与发射单板的通信。LCD显示控制:显示信息的缓存。显示信息包括控制信息、告警信息,完成人机交互。
    (3)键盘/按键控制:用于通过监测并接收键盘控制信息,传递给ARM处理器。
    (4)系统工作状态监控:监测各单板的插入状态、工作温度及电源供电情况,并对各单板的供电进行控制;通过I2C总线与各单板进行通信,控制其他单板工作状态,下发控制指令。
    (5)ISA总线控制:实现各芯片与ARM处理器之间的通信。

2 系统硬件设计
2.1 ARM微处理器的选择
    S3C2440A的核心处理器(CPU)是一款由AdvancedRISC Machines公司设计的16/32位ARM920T的RISC处理器。它的特点具体如下:
    (1)ARM920T内核实现了MMU,AMBA BUS和Harvard高速缓冲体系结构。这一结构具有独立16 kB的指令Cache和16 kB的数据Cache。且每个都是由8字长的行组成。
    (2)片上由一个LCD控制器、3个通道的UART、4通道的DMA、2通道的SPI和1通道的IIC-BUS接口。
    (3)支持NAND Flash系统引导、系统管理器。
    (4)支持Thumb/ARM双指令集,能很好的兼容8位/16位器件,大量使用寄存器,寻址方式灵活简单,指令执行速度更快,效率更高。
    (5)处理器主频最高可达400 MHz。
    综上所述,S3C2440A微处理器的工作频率提高了系统的运行速度,使得处理器可以顺利地运行于Windows CE,Linux等操作系统以较为复杂的信息处理,可减少软件开发时间;S3C2440A具有强大的内部中端,方便进行TCP/IP的轮询调用;S3C2440A具有丰富的外围设备资源,可简化微微电路中的扩展部分,降低系统的复杂度、减少系统成本。所以选S3C2440A作为该系统的核心处理器。[page]

2.2 辅助控制模块电路设计
    系统使用的FPGA型号为Xilinux公司生产的Spartan XCS30,其完成各个器件与外接设备之间的检测和监控。FPGA XCS30所要实现的功能:接收从键盘按键模块传输的操作信息,并把接收到的信息发送到控制芯片进行处理,同时接收从控制芯片生成的状态信息,FPGA XCS30还可控制面板上的LED灯显示。
    FPGA与S3C2440A使用ISA总线连接通信,如图2所示。在S3C2440A BIOS设置中将“AdditionalISA I/O area 1”设置为“Enabled”,允许使用400h地址以上的ISA I/O空间,CPU可直接对该空间I/O访问。将“Base Address”设置为“8200h”,“Range(bytes)”设置为“51 2”。在程序资源中可为FPGA分配从8200h起的连续512个I/O地址。


    FPGA XCS30使用具有主菜单、取消、确认、上、下、左、右和本地控制的8键位键盘,具有Power(+5)、Power(-5)、Error、Open、Local的5个LED显示灯。其寄存器地址8244h作为键盘和LED共同使用的寄存器地址,对于S3C2440A而言,键盘状态为读操作,LED状态为写操作。数据交换使用8 bit I/O读写。
2.3 LCD接口电路设计
    在控制单元中,外接设备LCD作为系统人机交换界面,起着重要作用。其显示包括系统操作菜单、系统运行状态和系统工作参数等信息,并且可以实时显示键盘所进行的参数设定,状态设定等功能。系统中外接设备LCD使用的是Powertip公司生产的PC4002LRU LCD。


    S3C2440A具有支持LCD的引脚,可以直接与PC4002进行连接,而且其BIOS中已经嵌套配置支持LCD,如图3所示。在物理链接上控制板与LCD通过背板进行信号通信。使用8 bit I/O读写进行数据交换。PC4002使用并行端口连接,占用从0X378h开始的8个I/O寄存器,其中0378h作为数据寄存器,0379h作为状态寄存器,037A作为控制寄存器。[page]

2.4 以太网接口电路设计
    网络传输模块使用Devicom公司研发的一款快速以太网控制芯片DM9000A,其内部集成了10/100 MB物理层接口,支持8/16位数据总线,内置16 kB的SRAM,用于收发缓冲。
    S3C2440A内部没有集成专用的以太网控制器,所以需要外挂一个以太网控制器。系统采用DM9000A作为以太网的物理层接口。S3C2440A与DM9000A的连接如图所示。S3C2440A的数据总线LDATA15~LDATA0与DM9000A的SD15~SD0连接;地址线LADDR3与DM9000A的CMD连接;片选DM_CS与DM9000A的CS连接;DM_IOR/DM_IOW分别与DM9000A的IOR/IOW连接;EINT8与DM9000A的INT连接。以太网控制器DM9000A的工作地址为0X30 0,因为S3C2440A的地址线LADDR3与DM9000A的CMD连接,所以对其进行操作时分为以0X300作为地址端口和0X304作为数据端口。
2.5 RS232接口电路设计
    S3C2440A集成了3个串口UART0、1、2,文中用到UART0,UART1,其中UART0作为标准串口通信,与宿主机相连用于系统调试、超级终端控制和文件收发;UART1与单片机ATMEGA128连接,其作用是传递导航电文和状态参数给GSG单板。图4为S3C2440A与RS-232信号连接图,其中上方的MAX3232SOP作为UART0使用,下方的MAX3232SOP作为UART1使用。



3 系统软件设计
    系统的软件部分是在Linux操作系统下实现的。结合控制系统的功能分为人机交互、参数设定、电文处理、远程控制4个模块,图5为软件设计流程图。

[page]

    (1)人机交互模块。通过LCD设备提供系统的操作菜单显示,利用键盘操作完成用户的直接操作,同时利用机箱前面板上的LED指示灯向用户显示系统的工作状态。S3C2440A处理器接收从FPGA传送来的由键盘生成的相应控制指令,判断控制指令并且根据控制指令更改操作菜单、参数设定、状态信息。在液晶显示器上实时显示系统的状态信息和参数信息等,以保证正常的人机交互,如图6所示。


    (2)参数设定模块。根据人机交互模块判断的控制指令设定系统的工作参数,通过RS-232收发器完成控制单元与GSG单板进行通信,将保存的导航电文发送到GSG单板的FPGA中,进行参数设定和改变发射状态。
    (3)电文处理模块。通过以太网MAC控制器DM9000与外部主机进行网络通信,接收导航电文,在控制RS-232收发器与GSG单板进行通信,将收到的导航电文发送到GSG单板的FPGA中进行调制。如图7所示为得到GSG产生的在S码的波形图。


    (4)远程控制模块。远程控制服务通过网络完成,用户可以使用计算机超级终端程序,连接时间同步仪对其进行控制。利用远程客户端,经过身份识别后获得对时间同步仪的控制权,从而进行参数设定、工作状态设定等操作。图8所示为远程控制界面。



4 结束语
    采用S3C2440A为主控制单元,FPGA为辅助控制单元,实现了时间同步仪控制单元的设计要求:人机交互模块实现了键盘控制,LCD显示以及多级菜单功能。参数设定模块通过改变状态得到了相应的波形图结果。电文处理通过注入电文与GSG单板FPGA引出信号比对测试,验证了电文处理的正确性。远程控制模块通过Telnet软件测试得到了预期的控制结果。

关键字:时间同步仪  S3C2440A  FPGA  Telne

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式