GPS real-time positioning method based on ZYNQ platform

By using ARM processor and FPGA on the ZYNQ platform for parallel data processing, integrating GPS modules, and using NMEA protocol to parse GPS data, the problems of insufficient data processing capabilities and low system integration in traditional GPS positioning methods are solved, and high efficiency is achieved , real-time positioning accuracy and system simplification.

CN119224808APending Publication Date: 2024-12-31HOHAI UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411223403.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-03
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In traditional GPS positioning methods, the processor's data processing capabilities are insufficient, the system integration is low, and the real-time performance is poor, making it difficult to meet the needs of high dynamic scenarios.

Method used

The GPS real-time positioning method based on the ZYNQ platform is adopted, and the ARM processor and FPGA programmable logic of ZYNQSoC are used for parallel data processing, and the GPS module is integrated through the IP Integrator tool, and data analysis is adopted using the NMEA protocol, which supports flexible configuration of PL terminal pins.

Benefits of technology

It realizes efficient data processing, improves positioning accuracy and real-time, reduces system costs, simplifies design, and ensures the accuracy and completeness of GPS data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119224808A_ABST
    Figure CN119224808A_ABST
Patent Text Reader

Abstract

The invention discloses a GPS real-time positioning method based on a ZYNQ platform. The GPS real-time positioning method comprises the following steps: step 1, creating a Vivado project; the model number of the development board is xc7z020clg400-2; step 2, creating a process system by using an IP Integrating, clicking a Create Block Design, inputting the system in a Design name column, typing a zynq in a search column, finding out and double clicking a ZYNQ7 process system, and adding the IP of the ZYNQ processing system into the design; uART0 of the PS is configured, and MIO14 and MIO15 in the PS are configured as interface pins of a UART0 module and used for printing data received by a serial port; storing the current design; step 3, generating a top layer HDL (High Definition Language), selecting Generate Output Products, and selecting a Create HDL Wrapper; and step 4, generating a Bitstream file, exporting the Bitstream file to the SDK, manually allocating pins of a PL end, starting an SDK development environment, and compiling a code to realize a function. Compared with the prior art, the method has the advantages that data processing is efficient; the integration is high; the configuration is flexible; the reliability is high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of embedded systems and positioning technology, and in particular to a GPS real-time positioning method based on a ZYNQ platform. Background Art

[0002] With the rapid development of technologies such as the Internet of Things, unmanned driving, and intelligent navigation, higher requirements are placed on the accuracy, real-time performance, and reliability of positioning systems. Traditional GPS positioning methods mostly rely on a single processor or microcontroller, which has limitations in data processing capabilities, power consumption management, and system integration. In addition, the communication interface between the GPS module and the processor in the prior art is complex in design, difficult to debug, and difficult to achieve efficient data processing and real-time response. Summary of the invention

[0003] The technical problems to be solved by the present invention are: 1) Insufficient data processing capability: When processing a large amount of GPS data, traditional processors are prone to performance bottlenecks, affecting positioning accuracy and real-time performance;

[0004] 2) Low system integration: The interface design between the GPS module and the processor is complex, which increases system cost and debugging difficulty;

[0005] 3) Poor real-time performance: In existing technologies, the processing and response speed of GPS data cannot meet the requirements in highly dynamic scenarios.

[0006] In order to solve the above technical problems, the present invention provides a technical solution: a GPS real-time positioning method based on the ZYNQ platform, comprising the following steps:

[0007] Step 1. Create a Vivado project; development board model: xc7z020clg400-2;

[0008] Step 2. Use IP Integrator to create ProcessingSystem, click Create Block Design, enter system in the Design name column, type zynq in the search bar, find and double-click ZYNQ7ProcessingSystem, and add the ZYNQ processing system IP to the design; configure UART0 of PS, and configure MIO14 and MIO15 as interface pins of the UART0 module in PS to print the data received by the serial port; save the current design;

[0009] Step 3: Generate top-level HDL, select Generate Output Products, and select Create HDL Wrapper;

[0010] Step 4: Generate a Bitstream file and export it to the SDK, manually assign the pins on the PL side, start the SDK development environment, and write code to implement the function.

[0011] Compared with the prior art, the advantages of the present invention are: 1) Efficient data processing: using the ARM processor and FPGA programmable logic of ZYNQSoC to achieve parallel data processing, greatly improving positioning accuracy and real-time performance;

[0012] 2) Highly integrated: Through the IP Integrator tool, the ZYNQ processing system and GPS module interface are seamlessly integrated to simplify system design and reduce costs;

[0013] 3) Flexible configuration: supports flexible configuration of PL pins through software to facilitate adaptation to different hardware platforms and expansion requirements;

[0014] 4) High reliability: NMEA protocol is used for GPS data analysis to ensure the accuracy and integrity of the data.

[0015] Furthermore, the method relies on the GPS module serial port to read and write data, which is implemented on the PS end serial port IP, and reads data on the SDK terminal. The settings of the GPS module include:

[0016] 1) CON6 connects to FPGA development board;

[0017] 2)GPS_BAK is left floating;

[0018] 3) GPS_TX GPS sends time synchronization uart data, GPS_RX uart data module parameter configuration;

[0019] 4) GPS module second pulse signal;

[0020] 5) The SMA-KWHD interface is a module antenna interface, which includes two protocols. One part is the $GPGGA protocol, and the protocol content includes information validity mark, hour, minute, second information, and satellite quantity information; the other part is the $GPRMC protocol, and the protocol content includes information validity mark, hour, minute, second information, and year, month, and day information.

[0021] Furthermore, the GPS module's time synchronization is achieved through second pulse interruption.

[0022] Furthermore, the GPS module communicates with the PL end of the development board using the serial port.

[0023] Furthermore, in step 4, because EMIO on the PL side is called, it is necessary to manually assign pins to EMIO. When assigning pins, click Open Elaborated Design in this option. After setting, press the shortcut Ctrl+S to save the pin constraints, click Generate Bitstream, synthesize and implement the design, and generate a Bitstream file. Export the hardware File>Export>Export hardware, and check Include bitstream.

[0024] Furthermore, the method is based on the NMEA protocol and includes two statements, GGA and RMC, wherein: 1) the GGA statement includes relevant information of time, position and positioning, and its frame format is:

[0025] $--GGAhhmmss.ss,llll.llll,a,yyyyy.yyy,a,x,uu,vv,ww,M,xx,M,,zZZz*hh <cr> <lf>;

[0026] 2) The RMC statement contains time, date, position, heading, and speed information, and its frame format is:

[0027] $--RMC,hhmmss.sss,x,lll.lll,a,yyyyy.yyy,a,xx,uu,xxxxxx,,,v*hh <cr> <lf>;

[0028] This method uses the structure in C language to access GPS signal data, and uses the NMEA_Str2num() function to parse the NMEA protocol. The function of this function is to read the received hexadecimal data packet and parse it into data.

[0029] Furthermore, the workflow of this method is:

[0030] 1) Initialize uart, uart interrupt, gpio, timer, timer interrupt;

[0031] 2) When the PL receives data, it enters the UART interrupt and the timer starts timing. Every time a byte is received, the timer is reset. When the timer reaches 120ms, it means that all bytes of this statement have been received. The statement data is then stored in the buffer array and parsed. About 8 statements can be accepted within 1s. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 It is a structural diagram of the GPS module.

[0033] Figure 2 This is a diagram of the field description of the GGA statement.

[0034] Figure 3 This is a diagram of the field description of the RMC statement. DETAILED DESCRIPTION

[0035] The present invention is further described in detail below in conjunction with the accompanying drawings.

[0036] Embodiment 1

[0037] like Figure 1 , Figure 2 and Figure 3 As shown, the working principle of this scheme includes:

[0038] 1) Hardware design: Create a project in Vivado, configure the ZYNQ processing system through IP Integrator, and set up the UART0 interface for GPS data communication. At the same time, generate the top-level HDL and export it to the SDK environment.

[0039] 2) Software implementation: Write code in SDK to implement UART interrupt service routine to receive data sent by GPS module. Use timer to judge the integrity of data packet and store the received data into buffer array.

[0040] 3) Data parsing: Use the structure in C language and the NMEA_Str2num() function to parse the received NMEA protocol data and extract key information such as time, position, and speed.

[0041] 4) Real-time processing: Based on the parsed data, real-time position calculation and display are performed, or further used for applications such as navigation and control.

[0042] Embodiment 2

[0043] Based on the first embodiment, Figure 1 , Figure 2 and Figure 3 As shown, the specific implementation method of this scheme is:

[0044] 1) Hardware setup: Connect the GPS module to the ZYNQ development board through the CON6 interface, and ensure that the GPS_TX and GPS_RX pins are correctly connected to the UART0 interface of the development board. At the same time, configure the second pulse signal of the GPS module for synchronization.

[0045] 2) Software Design

[0046] 2-1) Create a Vivado project in Vivado and select the xc7z020clg400-2 development board model;

[0047] 2-2) Use IP Integrator to create a Processing System, add the ZYNQ7 ProcessingSystem IP, and configure the UART0 interface;

[0048] 2-3) Generate top-level HDL and export it to the SDK environment;

[0049] 2-4) Write code in SDK to initialize UART, GPIO, timer and other peripherals, and set UART interrupt service routine;

[0050] 2-5) Write the data parsing function NMEA_Str2num() to parse NMEA protocol data;

[0051] 2-6) Implement the main loop, continuously detect UART interrupts, receive and parse GPS data, and perform real-time processing;

[0052] 3) Debugging and testing: Download the written program to the development board, observe the reception and analysis of GPS data through the SDK terminal, and verify the accuracy and real-time performance of the positioning function.

[0053] The above shows and describes the basic principles and main features of the present invention and the advantages of the invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The above embodiments and descriptions are only for explaining the principles of the present invention. Without departing from the spirit and scope of the present invention, the present invention may have various changes and improvements, which fall within the scope of the present invention to be protected. The scope of protection of the present invention is defined by the attached claims and their equivalents.< / lf> < / cr> < / lf> < / cr>

Claims

1. A GPS real-time positioning method based on the ZYNQ platform, characterized in that The following steps are involved: Step 1. Create a Vivado project; development board model: xc7z020clg400-2; Step 2. Use IP Integrator to create a Processing System. Click Create Block Design. Enter system in the Design name column. Type zynq in the search bar. Find and double-click ZYNQ7 ProcessingSystem to add the ZYNQ processing system IP to the design. Configure UART0 of PS. In PS, configure MIO14 and MIO15 as interface pins of the UART0 module to print the data received by the serial port. Save the current design. Step 3: Generate top-level HDL, select Generate Output Products, and select Create HDL Wrapper; Step 4: Generate a Bitstream file and export it to the SDK, manually assign the pins on the PL side, start the SDK development environment, and write code to implement the function.

2. A GPS real-time positioning method based on ZYNQ platform according to claim 1, characterized in that The method relies on the GPS module serial port to read and write data, is implemented on the PS end serial port IP, and reads data on the SDK terminal. The settings of the GPS module include: 1) CON6 connects to FPGA development board; 2)GPS_BAK is left floating; 3) GPS_TX GPS sends time synchronization uart data, GPS_RX uart data module parameter configuration; 4) GPS module second pulse signal; 5) The SMA-KWHD interface is a module antenna interface, which includes two protocols. One part is the $GPGGA protocol, and the protocol content includes information validity mark, hour, minute, second information, and satellite quantity information; the other part is the $GPRMC protocol, and the protocol content includes information validity mark, hour, minute, second information, and year, month, and day information.

3. A GPS real-time positioning method based on ZYNQ platform according to claim 2, characterized in that: The time synchronization of the GPS module is realized by second pulse interruption.

4. The GPS real-time positioning method based on the ZYNQ platform according to claim 1, characterized in that: The GPS module communicates with the PL end of the development board via a serial port.

5. The GPS real-time positioning method based on the ZYNQ platform according to claim 1, characterized in that: In step 4, because EMIO on the PL side is called, it is necessary to manually assign pins to EMIO. When assigning pins, click Open Elaborated Design in this option. After setting, press Ctrl+S to save the pin constraints, click Generate Bitstream, synthesize and implement the design, and generate a Bitstream file. Export the hardware File>Export>Exporthardware, and check Include bitstream.

6. A GPS real-time positioning method based on ZYNQ platform according to claim 1, characterized in that The method is based on the NMEA protocol and includes two statements, GGA and RMC, wherein: 1) the GGA statement includes relevant information of time, position and positioning, and its frame format is: $--GGAhhmmss.ss,llll.lll,a,yyyyy.yyy,a,x,uu,v.v,w.w,M,x.x,M,,zZZz*hh <cr> <lf> ;< / lf> < / cr> 2) The RMC statement contains time, date, position, heading, and speed information, and its frame format is: $--RMC,hhmmss.sss,x,lll.lll,a,yyyyy.yyy,a,x.x,u.u,xxxxxx,,,v*hh <cr> <lf> ;< / lf> < / cr> This method uses the structure in C language to access GPS signal data, and uses the NMEA_Str2num() function to parse the NMEA protocol. The function of this function is to read the received hexadecimal data packet and parse it into data.

7. A GPS real-time positioning method based on ZYNQ platform according to claim 1, characterized in that The workflow of this method is: 1) Initialize uart, uart interrupt, gpio, timer, timer interrupt; 2) When the PL receives data, it enters the UART interrupt and the timer starts timing. Every time a byte is received, the timer is reset. When the timer reaches 120ms, it means that all bytes of this statement have been received. The statement data is then stored in the buffer array and parsed. About 8 statements can be accepted within 1s.