Keywords

1 System Design

The total station wireless data transmission system is a wireless data transmission device based on radio frequency technology. It is mainly divided into four parts: total station, DSP controller, nRF905 wireless transceiver module, and host computer. The system designed the connection between the DSP and the total station interface RS232. The data measured by the total station is loaded into the nRF905 wireless transmitting module through the interface under the control of the DSP for GFSK modulation [1], and the data was then sent to the nRF905 wireless receiving module. Next, it is transmitted by the DSP controller of the receiving end to the upper computer through the interface for processing. The receiving end receives the data transmitted by each transmitting module according to the actual needs in an address-sharing way [2]. The diagram of the system’s structural frame is shown in Fig. 19.1.

Fig. 19.1
figure 1

Diagram of the system’s structural frame

2 Hardware Design of the System

The hardware of the total station wireless data acquisition system mainly includes: each part of the power circuit, the interface connection circuit, and the nRF905 transceiver module circuit. For each part of the power circuit, it can be determined as the total station end and the upper machine end according to different situations. This design uses the Nikon series of total stations. The total station power supply adopts 18650 lithium battery pack, which has the advantages of small size, lightweight, high efficiency and energy-saving, multiple cycles, and many other advantages. The working time can reach 6 h, and the battery voltage range is 6–8.4 after combination with 2 strings and 2 combinations. V. The chip AMS1117-5V is used to convert the 5 V voltage required by the DSP, and the AMS1117-3.3 is used to convert the 3.3 V voltage required for the nRF905 operating mode. The same applies to the power circuit of the upper computer, which is not described here.

2.1 Interface Circuit Design

The interface for the Nikon series of total stations is a circular serial physical connector that uses the very broad RS-232C interface standard. RS-232C is a long-established standard (RS stands for recommendation; 232 stands for identifier; C stands for number of modifications), which describes the physical interface and protocol for lower-rate serial data communication between computers and related devices [3]. The names and functions of the pins of the Nikon Total Station RS-232C interface are shown in Table 19.1 [4].

Table 19.1 Name and function of each pin of the RS-232C interface

For control data transmission, the selected DSP model is TMS320F28335 [5]. This type of digital signal processor is a TMS320C28X series floating-point DSP controller from TI. Compared with the previous fixed-point DSP, the device has high precision, low cost, low power consumption, high performance, high peripheral integration, large data and program storage, and more accurate and faster A/D conversion. The TMS320C28335 DSP also uses the RS-323C interface. Unlike the total station, it uses a 9-pin specification [6], as shown in Table 19.2.

Table 19.2 Name and function of each pin of the RS-232C interface

It can be seen from Tables 19.1 and 19.2 that to achieve the goal of connecting the total station to the DSP, only the data line connection needs to be selected. The RS-232C interface connection between the total station and the DSP is shown in Table 19.3. At the same time, the selection of the data line is about 10 cm. The principle of the connection is that the total station is used as the output terminal and the DSP is used as the input pin connection [7]. It is also an essential line.

Table 19.3 Total station circular interface and DSP 9-pin interface

2.2 nRF905 Transceiver Module Circuit

The nRF905 used in this system is a single-chip RF transmitter chip from Nordic, Norway [8]. The 433 MHz band is freely used in China. The nRF905 consists of a frequency synthesizer, a receiver demodulator, a power amplifier, a crystal oscillator, and a modulator. The nRF905 can communicate with any MCU using the SPI interface, where the address, output power, and communication channel can be configured through the program, so it can be used for multi-machine communication [9]. The nRF905 incorporates ShockBurstTM technology, which automatically processes the packet headers and has built-in CRC check to ensure reliable data transfer [10]. The nRF905 consumes very low power. When transmitting at −10 dBm, the operating current is only 11 mA. The corresponding receiver’s operating current is only 12.5 mA, which is widely used. The working mode of the nRF905 is shown in Table 19.4.

Table 19.4 Name and function of each pin of the RS-232C interface

As the core control center, DSP has the control function for the nRF905 transceiver module [11]. Because the data transmission of TMS320F28335 and nRF905 is mainly applied to the MISO and MOSI pins in this circuit connection, the clock signal is output by the DSP, and other parts only need to be high. The low level is used. The power supply required by the nRF905 is 3.3 V, and the power supply of the TMS320F28335 is 5 V. It has been solved in the power supply circuit before and is not described here. The two ground lines can be directly connected, and the specific connection circuit is shown in Fig. 19.2.

Fig. 19.2
figure 2

TMS320F28335 DSP and nRF905 circuit connection

2.3 Block Diagram of Interface Circuit Between DSP and PC

Nowadays, most PC computers do not have RS232 9 pin serial port, so USB is needed to realize communication. The USB specification describes bus characteristics, protocol definitions, programming interfaces, and other features required for system design and construction. USB is a master–slave bus. When working, the USB host is in the master mode and the device is in the slave mode [12]. The only system resources needed by the USB system are the memory space used by the software of the USB system, the memory address space (I/O address space) used by the USB master controller, and the interrupt request (IRQ) line. USB data transmission requires device drivers to identify devices, etc. It also needs a device driver to virtualize the serial port and imitate the real serial port. The driver of this system is USB POS provided by Microsoft, which allows applications to access USB devices. At the same time, the 9-pin serial port of the DSP has been explained above, and it will not be further elaborated. From RS232 to the host computer, USB needs to use chip conversion; the chip model used here is PL2303, produced in Taiwan, with good performance. The specific circuit block diagram is shown in Fig. 19.3.

Fig. 19.3
figure 3

Interface circuit block diagram

3 Software Design of the System

3.1 Software Programming

The communication protocol of TMS320F28335 and nRF905 in this system adopts SPI protocol. Each interface communication in the system requires software implementation to match the hardware. Specifically, the program software of the interface between the controller DSP and the total station, the program software of the nRF905 transceiver module, the program software of the controller DSP and the host computer interface, the above programs need to be completed in the DSP controller, and the specific block diagram is shown in Fig. 19.4.

Fig. 19.4
figure 4

DSP program control block diagram

3.2 Software Program Implementation

3.2.1 Receiving and Transmitting nRF905

In the process of designing and implementing the system, the data transmission is divided into one master node and several slave nodes. In the actual use of the total station, the total station data of the different slave nodes is transmitted to the master node PC. The data in the master node is received by the nRF905 to the DSP, and the slave node is the same [13]. When the DSP controls the nRF905 wireless transmission program design, the software we use here is CCS3.3. The specific SPI configuration procedure is as follows:

  • void spi_init()

  • {SpiaRegs.SPICCR.bit.SPISWRESET = 0; // reset SPI

  • SpiaRegs.SPICCR.bit.CLKPOLARITY = 0;

  • SpiaRegs.SPICTL.bit.CLK_PHASE = 1; // Input data latched on rising edge

  • SpiaRegs.SPICCR.bit.SPICHAR = 0x07; // One-character move-in is removed to 8 bits

  • SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1; // DSP is set to host mode

  • SpiaRegs.SPICTL.bit.TALK = 1;

  • SpiaRegs.SPIBRR = 0x0063;

  • SpiaRegs.SPICCR.bit.SPISWRESET = 1; // SPI is ready to work

  • SpiaRegs.SPIPRI.bit.FREE = 1; // automatically running}

The control of the nRF905 chip by TMS320F28335 mainly includes the initial configuration, working mode, transmitting data, and receiving stored data of nRF905. During initialization, configure the center frequency, operating band, output power, retransmission data enable, RX and TX address width, RX and TX data valid width, output clock frequency, crystal oscillator frequency setting, in the RF configuration register of the nRF905. The CRC check allows a series of configuration parameters such as enable bit and CRC mode. The specific procedures are as follows:

  • Unsigned char Rfconfig[11] = {

  • 0x00, // configuration command

  • 0x4c, // CH-NO, configure the frequency band at 430 MHZ

  • 0x0c, // output power is 10 db, no retransmission, the node is in normal mode

  • 0x44, // accept the address width setting, 4 bytes

  • 0x20, 0x20, // Receive valid data length is 32 bytes

  • 0xCC, 0xCC, 0xCC, 0xCC, // receive address

  • 0x58}; // CRC fill, 8-bit CRC check, external clock signal is not enabled, 16M crystal

In the master node, the reception of data is mainly for the protocol operation of the nRF905 radio. The specific operation is as follows: When the nRF905 enable bit (TRX_CE) is set to high level and the mode select bit (TX_EN) is low level in the CCS3.3 software, the ShockBurstTM receive mode is entered at this time; after 650 µs, the nRF905 detects this time. After the 340 MHz band, the carrier pin is set high; for the matched address, the address match bit AM is set high; after the data packet is received, the header, address, and CRC check bit are automatically removed, and the data is received. Bit DR is high; the enable bit (TRX_CE) is low and enters the idle mode; nRF905 transmits the received data to the DSP through the SPI interface, and the received data pin (DR) bit and address match are transmitted after the transfer is completed. Pin AM is set low. The software part of the program is:

  • Void RxPacket(unsigned char *RXBUF) // receive packet

  • {

  • Int i = 0;

  • TRX_DIS // register read and write mode

  • NRF905_CSN_L; // chip select, active low

  • spi_write_BYTE(RRP); // receive command word

  • For(i = 0; i < 4; i++)

  • {*RXBUF++ = spi_read_BYTE();}

  • DELAY_US(2);

  • NRF905_CSN_H; // chip select pull high

  • TRX_EN // register read and write mode}

In the slave node, mainly the DSP controls the nRF905 to transmit data. The specific operation is as follows: After the DSP controls the total station data transmission, the address and data of the master node receiver are transmitted to the nRF905 through the SPI interface; the DSP set enable bit (TRX_CE) and the mode control bit (TX_EN) bit are high. The nRF905 enters the ShockBurstTM transmission mode; in the transmission mode, the RF register is automatically turned on, the prefix and the CRC check code are automatically added, and then the data packet is transmitted. When the transmission is completed, the data bit DR is set to a high level. AUTO_RETRAN is asserted high, and data is continuously retransmitted. After the enable bit (TRX_CE) is asserted low, the transmit process is complete and the idle mode is entered. Since there are many similarities between the main program and the receiving end on the transmitting end, they are not described here.

3.2.2 Data Transmission Between DSP and PC

Serial data communication between DSP and PC is realized by transferring total station data to PC’s serial port software through serial port. SSCOM32 serial port software is used in this system. SCI serial communication is used in DSP [14]. In order to transmit data correctly, it is necessary to keep the transmission parameters of DSP and SSCOM32 consistent; that is, the baud rate is 9600, the invalid test bit, the 8-bit data bit and the 1 stop bit. The SCI setup code is as follows:

  • void scic_echoback_init()

  • {// in the InitSysCtrl() function

  • ScicRegs.SCICCR.all = 0x0007;   // 1 stop bit, No loopback

  •                                                        // No parity, 8 char bits,

  •                                                        // async mode, idle-line protocol

  • ScicRegs.SCICTL1.all = 0x0003; // enable TX, RX, internal SCICLK,

  •                                                        // Disable RX ERR, SLEEP, TXWAKE

  • ScicRegs.SCICTL2.all = 0x0003;

  • ScicRegs.SCICTL2.bit.TXINTENA = 1;

  • ScicRegs.SCICTL2.bit.RXBKINTENA = 1;

  • #if (CPU_FRQ_150 MHZ)

  •         ScicRegs.SCIHBAUD = 0x0001; // 9600 baud @LSPCLK = 37.5 MHz.

  •         ScicRegs.SCILBAUD = 0x00E7;

  • #endif

  • ScicRegs.SCICTL1.all = 0x0023; // Relinquish SCI from Reset

  •  }

4 System Testing and Results

4.1 Wireless Transmission Data Testing

In this system, the data collected by the total station (horizontal angle, horizontal distance, vertical angle, slant range, etc.) is tested during the DSP control nRF905 wireless data transmission process, and the bugs in the program are modified in time according to these test results. Continuous optimization data can be transmitted smoothly. The waveform of the data transmitted at the transmitting end of nRF905 is as shown in Fig. 19.5.

Fig. 19.5
figure 5

Transmitter data waveform

Similarly, the waveform of receiving data at the receiving end is shown in Fig. 19.6.

Fig. 19.6
figure 6

Receiver data waveform

In Figs. 19.5 and 19.6, the channels 1 and 2 of the four-channel oscilloscope are the clock and transmission data of the transmitting end, respectively, and the channels 3 and 4 are the clock and receiving data of the receiving end, respectively, and the data transmission is consistent by the 2 and 4 channels.

4.2 Display Result of PC Serial Port Software

In the actual test, the data of the total station is displayed on the upper computer. In this system, the baud rate, stop bit, check bit, and data bit are set by using sscom32 serial port software. The data obtained is shown in Fig. 19.7.

Fig. 19.7
figure 7

Serial port data

According to the data sheet, it can be seen from Eb that the vertical angle of the target point is 83.14°, the horizontal angle is 132.09°, the slant distance is 2.51 m, and the PPM is 22.2. As Da knows, the N coordinate of the measuring point is −2711.652, the E coordinate of the measuring point is 19,246.649, and the Z coordinate of the measuring point is −0.0 (the coordinate of the measuring point is set manually). As can be seen from Fig. 19.7, in the system, the command word DaCRLF and EbCRLF are sent to obtain the required data. After viewing the specific meaning and comparing with the actual total station data, it can be concluded that the data transmission is accurate during the data transmission process. The transmission error rate is 0.

5 Conclusion

In this paper, the various parts of the total station wireless data transmission system are designed. NRF905 wireless data module and DSP controller are used for circuit design and software design. After debugging, the data to be transmitted is obtained in the serial port software, and explained and utilized, which shows that the wireless information transmission of the total station can be realized, and the bit error rate is 0, which satisfies the design requirements. Because of its small size, the system can be directly applied to most of the total station. In the future construction of field roads, bridges, and houses, the workload of surveying workers is greatly reduced, the speed of the project is increased, and the overall contribution is tremendous.