CN108566357B - 基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法 - Google Patents

基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法 Download PDF

Info

Publication number
CN108566357B
CN108566357B CN201711397636.4A CN201711397636A CN108566357B CN 108566357 B CN108566357 B CN 108566357B CN 201711397636 A CN201711397636 A CN 201711397636A CN 108566357 B CN108566357 B CN 108566357B
Authority
CN
China
Prior art keywords
command
chip
data
zynq
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711397636.4A
Other languages
English (en)
Other versions
CN108566357A (zh
Inventor
王彦超
张伟刚
余建成
王拯洲
寇经纬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XiAn Institute of Optics and Precision Mechanics of CAS
Original Assignee
XiAn Institute of Optics and Precision Mechanics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by XiAn Institute of Optics and Precision Mechanics of CAS filed Critical XiAn Institute of Optics and Precision Mechanics of CAS
Priority to CN201711397636.4A priority Critical patent/CN108566357B/zh
Publication of CN108566357A publication Critical patent/CN108566357A/zh
Application granted granted Critical
Publication of CN108566357B publication Critical patent/CN108566357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及图像传输与控制***领域,具体涉及一种基于ZYNQ‑7000和FreeRTOS的图像传输与控制***及方法,解决现有基于FPGA的千兆网图像传输***采用UDP协议,图像数据容易丢失且无重传功能等问题,该***包括包括前端电路和后端电路;前端电路包括CCD图像采集芯片、放大电路和A/D模数转换单元;后端电路包括ZYNQ‑7000芯片、DDR存储芯片、EEPROM芯片、QSPI FLASH芯片和PHY芯片;EEPROM芯片、QSPI FLASH芯片、DDR存储芯片、PHY芯片分别与ZYNQ‑7000芯片连接;ZYNQ‑7000芯片包括数据格式转换单元、数据通道单元、命令通道单元、命令格式转换单元、网络通信单元、命令解析单元以及运行于ZYNQ‑7000芯片上的FreeRTOS实时操作***,FreeRTOS实时操作***运行TCP/IP协议栈;本发明还提供了一种基于上述***的图像传输与控制方法。

Description

基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法
技术领域
本发明涉及图像传输与控制***领域,具体涉及一种基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法。
背景技术
在科学研究中,常常在微光条件下对物体进行观察和定量分析,此时需要有高灵敏度、低噪声、高线性度以及大动态范围的仪器设备进行图像数据的采集处理,而图像数据采集后能否及时的、准确的传输到PC上位机中,将直接关系到图像采集设备的实用性、可靠性以及图像数据指标。此外,有些观测条件甚至会对观测人员造成伤害,此时需要图像采集设备可以将图像信号进行远距离传输。
在图像传输方面,申请号为201510890489.9和201010261499.3的专利文献,以FPGA作为核心处理单元,由CameraLink作为图像传输方案,以上技术方案的缺点是传输距离短,不方便一对多控制。
申请号为201410255688.8的专利文献,FPGA内部产生NIOS软核,然后移植UCOSii***,在操作***中运行网络协议栈,进而实现网络传输,该方案中的NIOS软核为利用FPGA内部资源综合而成,速度较慢,并且使用UDP协议,UDP协议容易造成网络堵塞,并且图像数据丢失时无重传功能。
发明内容
本发明的目的是解决现有基于FPGA的图像传输***采用UDP协议,图像数据容易丢失且无重传功能等问题,提供一种基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法,该***和方法实现微光条件下成像、高动态范围成像,并将图像通过网络通信协议TCP协议传输给PC上位机。
本发明的技术方案是:
一种基于ZYNQ-7000和FreeRTOS的图像传输与控制***,包括前端电路和后端电路;所述前端电路包括CCD图像采集芯片、放大电路和A/D模数转换单元;所述后端电路包括ZYNQ-7000芯片、DDR存储芯片、EEPROM芯片、QSPI FLASH芯片和PHY芯片;所述EEPROM芯片、QSPI FLASH芯片、DDR存储芯片、PHY芯片分别与ZYNQ-7000芯片连接;所述ZYNQ-7000芯片的工作单元包括数据格式转换单元、数据通道单元、命令通道单元、命令格式转换单元、网络通信单元、命令解析单元以及运行于ZYNQ-7000芯片上的FreeRTOS实时操作***,FreeRTOS实时操作***运行TCP/IP协议栈;所述CCD图像采集芯片将采集到的数据经放大电路和A/D模数转换单元转化后传输给ZYNQ-7000芯片的数据格式转换单元,数据格式转换单元将转换格式后的数据传输给数据通道单元,数据通道单元通过AXI4-Stream总线协议将数据传输给DDR存储芯片,DDR存储芯片通过FreeRTOS实时操作***将数据传输给网络通信单元,网络通信单元将数据传输给PC上位机,所述数据格式转换单元与数据通道单元双向通讯进行数据的传输;PC上位机发送的控制命令通过网络通信单元传输给FreeRTOS实时操作***,FreeRTOS实时操作***将命令传输给命令解析单元对命令进行处理,命令解析单元将处理后的命令返回FreeRTOS实时操作***,FreeRTOS实时操作***将命令传输给DDR存储芯片、QSPI FLASH芯片或EEPROM芯片,DDR存储芯片通过AXI4-Stream总线协议将命令传输给命令通道单元,命令通道单元通过命令格式转换单元将控制命令传输给前端电路;所述命令通道单元与命令格式转换单元双向通讯进行命令的传输,所述DDR存储芯片与命令通道单元双向通讯进行命令的传输。
进一步地,所述数据格式转换单元采用乒乓结构,开辟两个FIFO进行缓存。
进一步地,所述数据通道单元采用VDMA核。
进一步地,所述命令通道单元采用DMA核。
进一步地,所述ZYNQ-7000芯片的型号为xc7z020,DDR存储芯片的型号为Micron公司的MT41K128M16JT-125:K,EEPROM芯片的型号为24LC256,QSPI FLASH芯片的型号为Spansion S25FL256S,PHY芯片的型号为Marvell 88E1518 PHY。
同时,本发明还提供了一种上述***的图像传输与控制方法,包括以下步骤:
1)上电后对QSPI FLASH芯片初始化,对ZYNQ-7000芯片的PS端和PL端进行初始化;
2)FreeRTOS实时操作***内核启动后,创建一个主线程main_thread,在主线程main_thread中再创建三个优先级相同的子线程:
process_vdma_thread、process_order_thread和process_image_thread;
在子线程process_image_thread中,在PS端创建一个基于TCP/IP协议栈的socket,绑定一个通信端口,用于与PC上位机进行图像的传输;
在子线程process_order_thread中,PS端创建另外一个基于TCP/IP协议栈的socket,绑定另外一个通信端口,用于与PC上位机进行命令的传输;
在子线程process_vdma_thread中,配置PL端的数据通道单元;
3)命令处理:
3.1)PC上位机发出命令,进行命令解析,若是有效命令,并且是“连接”命令,则步骤2)中用于与PC上位机进行命令传输的socket自动连接,并记录PC上位机的MAC地址和IP地址,若是无效命令,不做任何处理;
3.2)建立连接后,开始接受PC上位机的命令,命令解析单元判断接收到的命令的类型,
若是配置CCD图像采集芯片或A/D模数转换单元的命令,PS端启动命令通道单元,将命令搬运到PL端,PL端配置完成该命令后,启动命令通道单元向PS端返回配置成功的消息,PS端再将该消息返回给PC上位机,否则向PC上位机返回一个失败信息;
如果是配置PS端的命令,则直接将命令发送给对应的功能单元,在配置完成后,将配置成功或者配置失败的信息返回给PC上位机;
4)数据处理:
4.1)PL端启动后,采集到的图像数据发送到数据格式转换单元;
4.2)数据格式转换单元将得到的数据通过乒乓结构缓存到FIFO中;
4.3)数据格式转换单元根据AXI4-Stream协议将缓存的数据转换格式后发送到数据通道单元中;
4.4)当数据通道单元有图像数据到来时,数据通道单元自动将数据搬运到PS端的DDR存储芯片中,当数据搬运完毕后,以中断的形式通知PS端;
4.5)PS端得到图像数据后,从DDR存储芯片的指定位置读取数据,并在数据前端增加参数信息,若send_pic函数未激活,则调用send_pic函数,将其发送到PC上位机,否则就不发送。
进一步地,在步骤2)中配置PL端的数据通道单元,具体配置包括缓存图像的大小、缓存图像的帧数、图像存储在DDR存储芯片中的起始地址、设置中断方式、设置读写通道、启动读写通道中的一个或多个参数。
进一步地,步骤3.2)中配置PS端的命令包括以下命令:
当PC上位机发送“采集”命令时,PS端激活send_pic函数,当有新的图像信息到来时,图像信息上传给PC上位机;
当PC上位机发送“保存图像”命令时,则PS端在DDR存储芯片中开辟一个新的空间,将得到的图形存入该空间中;
当PC上位机发送“保存当前参数”命令时,PS端将目前图像采集前端的参数存进EEPROM中。
进一步地,所述步骤3)还包括3.3)PS端得到命令后,调用命令通道单元将命令送达PL端的命令格式转换单元,命令格式转换单元将命令由AXI4-Stream总线格式,转化成普通格式,缓存进FIFO,再将数据由32位转化成16位,继而发送需要配置的芯片,当上位机要求查询图像采集芯片的配置状态时,命令格式转换单元等待接收图像采集芯片的状态信息,然后将配置信息由16位拼接成32位,再将数据转换成AXI4-Stream总线格式,通过命令通道单元发送给PS端。
本发明的优点为:
1.本发明在ZYNQ-7000芯片内部运行了TCP/IP协议栈,使其可以在传输层实现基于TCP协议的网络通信,与UDP协议相比,TCP协议通过应答、握手等机制,保证连接的可靠性,保证数据传输的正确性,不会出现丢失或者乱序。
2.本发明利用ZYNQ-7000芯片的PS端可以方便的实现各类接口功能,如DDR存储芯片的使用、EEPROM芯片的使用、千兆网口的使用,***移植了FreeRTOS实时操作***内核,可以方便的实现多线程操作,与使用Linux***相比,本***省去了编写IP核驱动程序的环节,极大降低了ZYNQ-7000芯片的使用难度。
3.本发明ZYNQ-7000芯片PL端的程序,均封装进IP核,可进行加密设置,不易被查看和复用,安全性好。
4.本发明ZYNQ-7000芯片PL端可以灵活变换,针对不同格式的图像或者视频数据,接收后经过变换后,都可以编成AXI-STREAM格式,经数据通道单元(VDMA核)搬运至DDR储存器中。
5.本发明只包括一块FPGA芯片,可以减少图像采集设备的体积,降低功耗。
6.本发明使用FreeRTOS实时操作***,与使用LINUX***相比,具有占用资源少,易于移植,内核简单等特点,并且针对大多数官方IP核,具有不用编写驱动的特点,开发难度小。
7.本发明***增加适配IP核,灵活配置接口,并可以方便连接其他图像采集电路。
附图说明
图1为本发明***电路结构图;
图2为本发明工作单元结构框图;
图3为本发明处理命令的流程示意图;
图4为本发明处理数据的流程示意图;
图5为本发明采用乒乓结构封装数据包示意图;
图6为本发明采用乒乓结构封装命令示意图。
具体实施方式
下面结合说明书附图对本发明的技术方案进行清楚、完整地描述。
如图1所示的一种基于ZYNQ-7000和FreeRTOS的图像传输与控制***,包括前端电路和后端电路;前端电路包括CCD图像采集芯片、放大电路和A/D模数转换单元;后端电路包括ZYNQ-7000芯片、DDR存储芯片、EEPROM芯片、QSPI FLASH芯片和PHY芯片;EEPROM芯片、QSPI FLASH芯片、DDR存储芯片、PHY芯片分别与ZYNQ-7000芯片连接。
如图2所示,ZYNQ-7000芯片的工作单元包括数据格式转换单元、数据通道单元、命令通道单元、命令格式转换单元、网络通信单元、命令解析单元以及运行于ZYNQ-7000芯片上的FreeRTOS实时操作***,FreeRTOS实时操作***运行TCP/IP协议栈,CCD图像采集芯片将采集到的数据经放大电路和A/D模数转换单元转化后传输给ZYNQ-7000芯片的数据格式转换单元,数据格式转换单元将转换格式后的数据传输给数据通道单元,数据通道单元通过AXI4-Stream总线协议将数据传输给DDR存储芯片,DDR存储芯片通过FreeRTOS实时操作***将数据传输给网络通信单元,网络通信单元将数据传输给PC上位机,数据格式转换单元与数据通道单元双向通讯进行数据的传输;PC上位机发送的控制命令通过网络通信单元传输给FreeRTOS实时操作***,FreeRTOS实时操作***将命令传输给命令解析单元对命令进行处理,命令解析单元将处理后的命令返回FreeRTOS实时操作***,FreeRTOS实时操作***将命令传输给DDR存储芯片、QSPI FLASH芯片或EEPROM芯片,DDR存储芯片通过AXI4-Stream总线协议将命令传输给命令通道单元,命令通道单元通过命令格式转换单元将控制命令传输给前端电路;命令通道单元与命令格式转换单元双向通讯进行命令的传输,DDR存储芯片与命令通道单元双向通讯进行命令的传输。
ZYNQ-7000芯片的型号为xc7z020,DDR存储芯片的型号为Micron公司的MT41K128M16JT-125:K,EEPROM芯片的型号为24LC256,QSPI FLASH芯片的型号为SpansionS25FL256S,PHY芯片的型号为Marvell 88E1518 PHY。
本发明在ZYNQ-7000芯片内部运行了TCP/IP协议栈,使其可以在传输层实现基于TCP协议的网络通信,与UDP协议相比,TCP协议通过应答,握手等机制,保证连接的可靠性,保证数据传输的正确性,不会出现丢失或者乱序。
下面就每个功能单元进行详尽介绍:
数据格式转换单元,将采集好的数据从ZYNQ-7000芯片的PL端传输到PS端,才能传输到网络上,PS端和PL端之间通过AXI总线进行交互,需要将得到的图像数据转换成AXI4-Stream协议格式,并且为了提高吞吐量,如图5所示,数据格式转换单元使用了乒乓结构,开辟了两个FIFO进行缓存。
数据通道单元,图像通道的方向是对单向的,即从PL端传输到PS端,本发明使用XILINX公司提供的VDMA核将数据直接映射到DDR存储芯片中,VDMA核是XILINX公司专门为搬运视频或者高速图像数据而开发的IP核,使用此IP核可以使数据搬运过程不需要占用处理器资源,极大的节省宝贵的处理器资源。
命令通道单元,命令通道的方向是双向的,当配置命令时,需要将命令从PS端传输给PL端时,查询配置状态时,需要将命令从PL端传输给PS端,本发明使用XILINX公司提供的DMA核将命令直接映射到DDR存储芯片中,或者从PS端直接搬运给PL端中,此IP核的使用与VDMA核的使用类似,适合搬运小的数据。
命令格式转换单元,PC上位机发送的控制命令,通过网络传输给到本***的PS端,PS端通过DMA核搬运到PL端,二者之间同样需要通过AXI总线进行交换,需要将命令转换成AXI4-Stream协议格式。
EEPROM芯片,本***需要将一些信息存储,即使掉电也不会失去,例如本***的MAC地址、IP地址、默认的CCD曝光时间、AD芯片的增益、偏置等,本***使用EEPROM芯片与PS端相连接,通过IIC总线协议实现对该芯片的控制和存取参数。
命令解析单元:命令解析单元在PS端实现,PC上位机与本***的命令包括两个部分,一部分是网络的控制信息,如连接,断开,采集等;另一个部分是控制前端模块的命令,如配置CCD图像采集芯片和AD芯片的。命令解析单元负责判断PC上位机发送来的命令的类型,如果是控制PS端单元的命令,则在PS端进行处理,如果是控制PL端单元的命令,则通过DMA核将其搬运到PL端,进行进一步处理。
PC上位机在电脑上实现,由VC++6.0开发,可与本***实现基于TCP协议的连接,命令发送,接收图像数据包,并取出图像数据,实时显示在上位机,或者存储图像等一系功能。
如图3、图4所示,本发明提供的一种基于ZYNQ-7000和FreeRTOS的图像传输与控制方法,包括以下步骤:
1)程序存储在QSPI FLASH中,上电后,先进入BootROM进行QSPI FLASH芯片的初始化,然后进入第一阶段的启动(FSBL),完成ZYNQ-7000芯片PS端的初始化、PL端的初始化,然后PL端和PS端进入正常工作状态;
2)FreeRTOS实时操作***内核启动后,创建一个主线程main_thread,在主线程main_thread中再创建三个优先级相同的子线程:
process_vdma_thread、process_order_thread和process_image_thread;
在子线程process_image_thread中,在PS端创建一个基于TCP/IP协议栈的socket(套接字),绑定一个通信端口,主要用于与PC上位机进行图像的传输,PC上位机与本***连接时,会创建一个对应的socket,形成了一个图像传输的通道;
在子线程process_order_thread中,PS端创建另外一个基于TCP/IP协议栈的socket,绑定另外一个通信端口,主要用于与PC上位机进行命令的传输,PC上位机与本***连接时,会创建一个对应的socket,进而形成一个命令传输的通道;
在process_vdma_thread线程中,配置PL端的数据通道单元,具体配置包括缓存图像的大小、缓存图像的帧数、图像存储在DDR存储芯片中的起始地址、设置中断方式、设置读写通道、启动读写通道中的一个或多个参数;
3)命令处理:
3.1)PC上位机发出命令,进行命令解析,若是有效命令,并且是“连接”命令,则步骤2)中用于与PC上位机进行命令传输的socket自动连接,并记录PC上位机的MAC地址和IP地址,若是无效命令,不做任何处理;
3.2)建立连接后,开始接受PC上位机的命令,命令解析单元判断接收到的命令的类型,
若是配置CCD图像采集芯片或A/D模数转换单元的命令,PS端启动命令通道单元,将命令搬运到PL端,PL端配置完成该命令后,启动命令通道单元向PS端返回配置成功的消息,PS端再将该消息返回给PC上位机,否则向PC上位机返回一个失败信息;
如果是配置PS端的命令,则直接将命令发送给对应的功能单元,在配置完成后,将配置成功或者配置失败的信息返回给PC上位机;配置PS端的命令包括以下命令:
当PC上位机发送“采集”命令时,PS端激活send_pic函数,当有新的图像信息到来时,图像信息上传给PC上位机;
当PC上位机发送“保存图像”命令时,则PS端在DDR存储芯片中开辟一个新的空间,将得到的图形存入该空间中;
当PC上位机发送“保存当前参数”命令时,PS端将目前图像采集前端的参数存进EEPROM中;
3.3)PS端得到命令后,调用命令通道单元将命令送达PL端的命令格式转换单元,命令格式转换单元将命令由AXI4-Stream总线格式,转化成普通格式,缓存进FIFO,再将数据由32位转化成16位,继而发送需要配置的芯片,当上位机要求查询图像采集芯片的配置状态时,命令格式转换单元等待接收图像采集芯片的状态信息,然后将配置信息由16位拼接成32位,再将数据转换成AXI4-Stream总线格式,通过命令通道单元发送给PS端,如图6所示;
4)数据处理:
4.1)由于PS端的初始化需要较长的时间,这里给PL端程序的复位时间设为15秒,即当PS端启动后,等待15秒后PL端再启动,PL端启动后,采集到的图像数据发送到数据格式转换单元;
4.2)数据格式转换单元将得到的数据通过乒乓结构缓存到FIFO中;因为图像信息是16位的,而FIFO存储的数据长度是32位的,因此这里需要将数据进行拼接,再存入FIFO中,为避免冲突,使用两个FIFO进行数据的缓存,并使用乒乓原理,控制两个FIFO顺利工作。
4.3)数据格式转换单元根据AXI4-Stream协议将缓存的数据转换格式后发送到数据通道单元中;
4.4)当数据通道单元启动后,有图像数据到来时,数据通道单元自动将数据搬运到PS端的DDR存储芯片中,当数据搬运完毕后,以中断的形式通知PS端;
4.5)PS端得到图像数据后,从DDR存储芯片的指定位置读取数据,并在数据前端增加参数信息,若send_pic函数未激活,则调用send_pic函数,将其发送到PC上位机,否则就不发送。
ZYNQ-7000芯片是Xilinx公司出品的第一款将高性能ARM Cortex-A9硬核(PS端)与FPGA可编程逻辑(PL端)紧密集成到一起的芯片,该芯片既发挥了处理器在处理复杂控制算法、运行操作***等方面的优势,又利用FPGA在并行算法加速、可动态配置的特点,实现了***加速,增加了灵活性;可以有效减少电路板面积,降低功耗,加快了硬件开发速度。在该芯片内部,PS端与PL端通过AXI总线来实现相互通信,AXI是一种总线协议,由Xilinx公司与ARM公司共同提出,是一种面向高性能、高带宽、低延迟的片内总线,满足超高性能和复杂的片上***的设计需求,AXI协议又包括AXI4,AXI4-Stream,AXI4-Lite三种接口标准,其中AXI4-Stream主要用于高速数据传输的场合。
FreeRTOS是一个小型的实时操作***内核,作为一个轻量级的操作***,功能包括:任务管理,时间管理,信号量,消息队列,内存管理,记录功能,软件定时器,协程等,可基本满足较小***的需要,相对于Ucos-ii,embOS等商业操作***,FreeRTOS操作***是完全免费的的操作***,具有源码公开、可移植、可裁剪、调度策略灵活的特点,可以方便的移植到多种MCU中。

Claims (9)

1.一种基于ZYNQ-7000和FreeRTOS的图像传输与控制***,其特征在于:包括前端电路和后端电路;
所述前端电路包括CCD图像采集芯片、放大电路和A/D模数转换单元;
所述后端电路包括ZYNQ-7000芯片、DDR存储芯片、EEPROM芯片、QSPI FLASH芯片和PHY芯片;所述EEPROM芯片、QSPI FLASH芯片、DDR存储芯片、PHY芯片分别与ZYNQ-7000芯片连接;
所述ZYNQ-7000芯片的工作单元包括数据格式转换单元、数据通道单元、命令通道单元、命令格式转换单元、网络通信单元、命令解析单元以及运行于ZYNQ-7000芯片上的FreeRTOS实时操作***,FreeRTOS实时操作***运行TCP/IP协议栈;
所述CCD图像采集芯片将采集到的数据经放大电路和A/D模数转换单元转化后传输给ZYNQ-7000芯片的数据格式转换单元,数据格式转换单元将转换格式后的数据传输给数据通道单元,数据通道单元通过AXI4-Stream总线协议将数据传输给DDR存储芯片,DDR存储芯片通过FreeRTOS实时操作***将数据传输给网络通信单元,网络通信单元将数据传输给PC上位机,所述数据格式转换单元与数据通道单元双向通讯进行数据的传输;
PC上位机发送的控制命令通过网络通信单元传输给FreeRTOS实时操作***,FreeRTOS实时操作***将命令传输给命令解析单元对命令进行处理,命令解析单元将处理后的命令返回FreeRTOS实时操作***,FreeRTOS实时操作***将命令传输给DDR存储芯片、QSPIFLASH芯片或EEPROM芯片,DDR存储芯片通过AXI4-Stream总线协议将命令传输给命令通道单元,命令通道单元通过命令格式转换单元将控制命令传输给前端电路;所述命令通道单元与命令格式转换单元双向通讯进行命令的传输,所述DDR存储芯片与命令通道单元双向通讯进行命令的传输。
2.根据权利要求1所述的基于ZYNQ-7000和FreeRTOS的图像传输与控制***,其特征在于:所述数据格式转换单元采用乒乓结构,开辟两个FIFO进行缓存。
3.根据权利要求1或2所述的基于ZYNQ-7000和FreeRTOS的图像传输与控制***,其特征在于:所述数据通道单元采用VDMA核。
4.根据权利要求3所述的基于ZYNQ-7000和FreeRTOS的图像传输与控制***,其特征在于:所述命令通道单元采用DMA核。
5.根据权利要求4所述的基于ZYNQ-7000和FreeRTOS的图像传输与控制***,其特征在于:所述ZYNQ-7000芯片的型号为xc7z020,DDR存储芯片的型号为Micron公司的MT41K128M16JT-125:K,EEPROM芯片的型号为24LC256,QSPI FLASH芯片的型号为SpansionS25FL256S,PHY芯片的型号为Marvell 88E1518 PHY。
6.一种基于ZYNQ-7000和FreeRTOS的图像传输与控制方法,其特征在于,包括以下步骤:
1)上电后对QSPI FLASH芯片初始化,对ZYNQ-7000芯片的PS端和PL端进行初始化;
2)FreeRTOS实时操作***内核启动后,创建一个主线程main_thread,在主线程main_thread中再创建三个优先级相同的子线程:
process_vdma_thread、process_order_thread和process_image_thread;
在子线程process_image_thread中,在PS端创建一个基于TCP/IP协议栈的socket,绑定一个通信端口,用于与PC上位机进行图像的传输;
在子线程process_order_thread中,PS端创建另外一个基于TCP/IP协议栈的socket,绑定另外一个通信端口,用于与PC上位机进行命令的传输;
在子线程process_vdma_thread中,配置PL端的数据通道单元;
3)命令处理:
3.1)PC上位机发出命令,进行命令解析,若是有效命令,并且是“连接”命令,则步骤2)中用于与PC上位机进行命令传输的socket自动连接,并记录PC上位机的MAC地址和IP地址,若是无效命令,不做任何处理;
3.2)建立连接后,开始接受PC上位机的命令,命令解析单元判断接收到的命令的类型,
若是配置CCD图像采集芯片或A/D模数转换单元的命令,PS端启动命令通道单元,将命令搬运到PL端,PL端配置完成该命令后,启动命令通道单元向PS端返回配置成功的消息,PS端再将该消息返回给PC上位机,否则向PC上位机返回一个失败信息;
如果是配置PS端的命令,则直接将命令发送给对应的功能单元,在配置完成后,将配置成功或者配置失败的信息返回给PC上位机;
4)数据处理:
4.1)PL端启动后,采集到的图像数据发送到数据格式转换单元;
4.2)数据格式转换单元将得到的数据通过乒乓结构缓存到FIFO中;
4.3)数据格式转换单元根据AXI4-Stream协议将缓存的数据转换格式后发送到数据通道单元中;
4.4)当数据通道单元有图像数据到来时,数据通道单元自动将数据搬运到PS端的DDR存储芯片中,当数据搬运完毕后,以中断的形式通知PS端;
4.5)PS端得到图像数据后,从DDR存储芯片的指定位置读取数据,若send_pic函数未激活,则调用send_pic函数,将其发送到PC上位机,否则就不发送。
7.根据权利要求6所述的基于ZYNQ-7000和FreeRTOS的图像传输与控制方法,其特征在于:在步骤2)中配置PL端的数据通道单元,具体配置包括缓存图像的大小、缓存图像的帧数、图像存储在DDR存储芯片中的起始地址、设置中断方式、设置读写通道、启动读写通道中的一个或多个参数。
8.根据权利要求7所述的基于ZYNQ-7000和FreeRTOS的图像传输与控制方法,其特征在于:步骤3.2)中配置PS端的命令包括以下命令:
当PC上位机发送“采集”命令时,PS端激活send_pic函数,当有新的图像信息到来时,图像信息上传给PC上位机;
当PC上位机发送“保存图像”命令时,则PS端在DDR存储芯片中开辟一个新的空间,将得到的图形存入该空间中;
当PC上位机发送“保存当前参数”命令时,PS端将目前图像采集前端的参数存进EEPROM中。
9.根据权利要求8所述的基于ZYNQ-7000和FreeRTOS的图像传输与控制方法,其特征在于:所述步骤3)还包括
3.3)PS端得到命令后,调用命令通道单元将命令送达PL端的命令格式转换单元,命令格式转换单元将命令由AXI4-Stream总线格式,转化成普通格式,缓存进FIFO,再将数据由32位转化成16位,继而发送需要配置的芯片,当上位机要求查询图像采集芯片的配置状态时,命令格式转换单元等待接收图像采集芯片的状态信息,然后将配置信息由16位拼接成32位,再将数据转换成AXI4-Stream总线格式,通过命令通道单元发送给PS端。
CN201711397636.4A 2017-12-21 2017-12-21 基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法 Active CN108566357B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711397636.4A CN108566357B (zh) 2017-12-21 2017-12-21 基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711397636.4A CN108566357B (zh) 2017-12-21 2017-12-21 基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法

Publications (2)

Publication Number Publication Date
CN108566357A CN108566357A (zh) 2018-09-21
CN108566357B true CN108566357B (zh) 2020-04-03

Family

ID=63530306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711397636.4A Active CN108566357B (zh) 2017-12-21 2017-12-21 基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法

Country Status (1)

Country Link
CN (1) CN108566357B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302355A (zh) * 2018-11-23 2019-02-01 华东师范大学 一种基于zynq的四路万兆以太网安全交换机
CN109992543A (zh) * 2019-04-02 2019-07-09 山东超越数控电子股份有限公司 一种基于zyzq-7000的pci-e数据高效传输方法
CN112699070B (zh) * 2019-10-22 2024-06-18 北京华航无线电测量研究所 基于zynq的dma数据传输方法
CN111277727B (zh) * 2020-01-13 2022-04-05 天地伟业技术有限公司 一种多cpu异构处理视频数据的方法
CN111343519B (zh) * 2020-02-24 2023-03-17 桂林电子科技大学 一种光电互联网络***及数据传输方法
CN112463651A (zh) * 2020-12-07 2021-03-09 长沙景嘉微电子股份有限公司 Qspi控制器,图像处理器及闪存访问方法
CN112995465B (zh) * 2021-02-05 2022-06-21 中电海康集团有限公司 一种基于zynq的图像传输***及方法
CN114463163A (zh) * 2022-01-18 2022-05-10 泉州华中科技大学智能制造研究院 一种异构多核的图像处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645947A (zh) * 2013-11-25 2014-03-19 北京航空航天大学 Mil-std-1553b总线监控及数据分析***
CN105678767A (zh) * 2016-01-07 2016-06-15 无锡信捷电气股份有限公司 一种基于SoC软硬件协同设计的布匹表面瑕疵检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495308B2 (en) * 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645947A (zh) * 2013-11-25 2014-03-19 北京航空航天大学 Mil-std-1553b总线监控及数据分析***
CN105678767A (zh) * 2016-01-07 2016-06-15 无锡信捷电气股份有限公司 一种基于SoC软硬件协同设计的布匹表面瑕疵检测方法

Also Published As

Publication number Publication date
CN108566357A (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
CN108566357B (zh) 基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法
WO2018049648A1 (zh) 数据转换设备、芯片、方法、装置及影像***
CN208971624U (zh) 车载摄像***
CN108243185B (zh) 基于ax88180的科学级ccd千兆以太网通信***及方法
US10686872B2 (en) Network interface device
US20050195833A1 (en) Full hardware based TCP/IP traffic offload engine(TOE) device and the method thereof
KR20110020919A (ko) 그래픽스 멀티미디어 ic 및 그것의 동작 방법
CN210781101U (zh) 数据采集装置及数据采集***
CN113986791B (zh) 一种智能网卡快速dma设计方法、***、设备及终端
CN110417780A (zh) 定制化数据传输协议的多通道高速数据接口转化模块
CN114286035B (zh) 图像采集卡、图像采集方法及图像采集***
US11902706B2 (en) Method for transmitting high bandwidth camera data through SerDes links
CN113419780B (zh) 一种基于fpga加速卡的dpdk驱动***
CN114499772A (zh) 数据传输方法及电子设备
CN110971909A (zh) 一种低功耗低延时soc芯片
CN110941577A (zh) 基于fpga的sata接口链路层功能实现方法
CN113301313A (zh) 一种图像数据处理和传输方法及***
CN113986192B (zh) 一种CoaXPress接口数据和Cameralink接口数据互相转换的方法
CN110996120A (zh) 一种视频流发送、接收方法
CN206611519U (zh) 一种高速实时图像采集传输***
US10127189B2 (en) Multidimensional stage adaptive transmission control system
CN107911610A (zh) 一种应用于图像采集模块的数据处理***
CN113132648A (zh) 一种基于fpga的高速实时视频传输方法
US8898716B2 (en) Method and apparatus for designing a communication mechanism between embedded cable modem and embedded set-top box
Anupama et al. FlexEye—A flexible camera mote for sensor networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant