CN108566357B - 基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法 - Google Patents
基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法 Download PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims abstract description 54
- 230000006854 communication Effects 0.000 claims abstract description 22
- 238000004891 communication Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 9
- 230000007175 bidirectional communication Effects 0.000 claims description 7
- 239000000872 buffer Substances 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims description 4
- 230000032258 transport Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
- H04N23/54—Mounting 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的图像传输与控制***及方法。
背景技术
在科学研究中,常常在微光条件下对物体进行观察和定量分析,此时需要有高灵敏度、低噪声、高线性度以及大动态范围的仪器设备进行图像数据的采集处理,而图像数据采集后能否及时的、准确的传输到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端。
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)
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)
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)
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 |
-
2017
- 2017-12-21 CN CN201711397636.4A patent/CN108566357B/zh active Active
Patent Citations (2)
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 |