Based on the CAN bus ADμC812 Design of Intelligent Node

1 Introduction

CAN (Controller Area Network) bus protocol is based on the initial development and production of automotive electronics company known for the development of BOSCH, Germany, it is a distributed real-time control system to support serial communication local area network. Currently, CAN bus, with its high performance, high reliability, real-time advantages, which are widely used in the detection and control system for the implementation of data communication between agencies. CAN bus has the following technical characteristics:

● multi-master mode, adopt a non-destructive technique based on the priority bus arbitration;

● filter can be realized with more address to receive the frame transmission;

● data frame structure with a short, strong anti-interference, the information data frame error detection CRC checksum and other measures to improve;

● lost during the arbitration, or send an error Erzao because the frame can be detected automatically re-issued;

● serious mistake to turn off automatically when the bus function, so that other bus operators are not affected.

CAN bus line with ISO11898 standard, the maximum transfer rate of 1MB / s maximum transmission distance when the 40m; transmission rate 5kB / s maximum transmission distance when 10km.CAN bus transmission medium for twisted pair, coaxial cable, etc. . As the CAN bus is a very useful prospect field bus, so by Le internationally on many large firms, coupled with the hardware-based CAN bus interface, simple and convenient programming, and Ji Tong Rongyijicheng. Yinci it special for Yu System dispersive, demanding real-time, live environment interference occasions.

Based on the CAN bus ADμC812 Design of Intelligent Node

2 System Structure

As the CAN bus multi-master mode work, so it does not have the same DCS 控制 system topology. 其 system constitution by the computer and the smart nodes, as shown in Figure 1 is the system architecture. Gai system the most striking is that all nodes (including the host PC) can be attached to an equal status on the bus. a CAN bus node usually include at least three parts, namely, the MCU is responsible for mission control node, CAN bus controller and the CAN bus transceiver. This is given a complete data acquisition function of CAN node design.
3 CAN node hardware design

The CAN node circuit diagram shown in Figure 2. The three core components of the circuit is the microcontroller ADμC812 1 , independent CAN bus controller SJA1000 and the CAN bus driver PCA82C250. Which SJA1000 2 and PCA82C250 both The combination of applications have been in many of the design of CAN bus nodes used, and Ben designed the features of the Zaiyu, which yes Genju Yao complete data acquisition that specific Yaoqiu Lai Xuan Yong Weikongzhiqi ADμC812. Figure 2 serial interface Xinpian MAX232 as ADμC812 and PC, serial connection, its use is the single chip debugging features of the decision.

ADμC812 is a highly integrated, high-precision 12-bit data acquisition system, the product in its core integrated with on-chip reprogrammable non-volatile flash / electrical erase program memory, high-performance 8-bit (8051 compatible) MCU and multi-channel (8 input channels) 12-bit ADC.

As ADμC812 only through its serial port module and connect the computer's serial port without the need for additional simulator, which can make use of ADI's QUICKSTART software to implement the program online download, online debugging and on-line simulation, which greatly improves the work efficiency. This is the reason for this design using the MAX232.

Based on the CAN bus ADμC812 Design of Intelligent Node

The system at work, first of all sent from the sensor in front of industry-standard signal (4 ~ 20mA or 1 ~ 5V) through the conditioning circuit becomes 0 ~ 2.5V analog voltage signal input to the P0.0 ~ P0.7 ADμC812 (AD0 ~ AD7) pin (according to the actual situation to determine the number of ports required for AD), then control, then A / D conversion from the digital information sent through the CAN bus PCA82C250 SJA1000 and the related nodes.

SJA1000 microcontroller chip as the expansion of chip, the chip select pin CS should be connected to the P2.0 microcontroller, the CAN controller to be used to determine the address of the register. SJA1000 CAN bus drive through the link in the physical PCA82C250 bus. PCA82C250 device provides differential transmit capability to the bus and the CAN controller's differential ability to accept it in full and "ISO11898" standards-compliant. To further improve the system of anti-jamming capability, usually in the CAN bus controller SJA1000 CAN bus driver and increase access 6N137 PCA82C250 optical isolation between the chips, but not in Figure 2 that out. because of the communication signals transmitted to the wire reflection occurs when the endpoint, and the reflected signals can interfere with normal signal transmission, therefore, ends should be connected with the bus termination resistors R1, R2, to eliminate the reflected signal, the resistance and transmission lines should be roughly the same characteristic impedance.
4 CAN node software design

The node software program includes A / D converter (ADC), CAN controller initialization, CAN bus data, such as sending and receiving parts. The main program flow chart shown in Figure 3.

Based on the CAN bus ADμC812 Design of Intelligent Node

The following are the main components of this program design was elaborated.

4.1 A / D conversion section

The author used in this design is a single-step A / D conversion mode, and A / D conversion results into the specified data store. Concrete steps are as follows:

(1) by setting the ADC control register (ADCCON1 and ADCCON2) to determine the value of A / D converter sampling the work of state and channel number;

(2) enable ADC interrupt, set bit SCONV bit to start the single-step A / D conversion;

(3) wait for the ADC interrupt response, and enter the interrupt service routine;

(4) to sample data from the ADC-DATAH from ADCDATAL and remove the two special registers, and into pre-chip data memory, and then exit the interrupt service routine;

(5) to determine whether the required channel sampling is completed, if not completed, then set the sample channel and return to Step No. (2), if completed, has withdrawn from A / D conversion routines.

Through the program at any time based on the actual need to change the sampling channels, and sampling results directly into a designated data store, that in the future to send the data CAN bus facilitate.

4.2 SJA1000 initialization

CAN communication protocol is mainly completed by the CAN controller, and therefore, in order to achieve CAN node of data transfer, the initialization of the CAN controller is critical. This step directly determine the type of CAN Network Systems nodes are common comply with the agreement. initialized on the SJA1000 is in fact through its on-chip microcontroller registers write control word in all the process, the registers include the following:

REG CONTROL-internal control register address;

REG COMMAND-internal command register address;

REG STATUS - the internal status register address;

REG INTERRUPT-internal interrupt register address;
REG ACR-internal acceptance code register address;

REG AMR-internal acceptance mask register address;

REG BTR0-bus timing register 0;

REG BTR1-bus timing register 1;

REG OCR-output control register.

Of which: BTR0, BTR1 register contents can be used to determine the baud rate and the CAN system communication protocol physical layer synchronization jump width, therefore, a system for all nodes, the contents of two registers must be the same (including upper machine), or will not be able to communicate; OCR register used to determine the contents of the output of CAN controller mode; and write ACR, AMR will have to register according to the actual content of network systems and message identifier to decide. The design of , the author uses a BasicCAN mode.

Based on the CAN bus ADμC812 Design of Intelligent Node

After the completion of initialization, CAN controller can be running, but the data transceiver to achieve specific tasks, must also prepare a specific collection, hair procedures.

4.3 CAN bus to send and receive data

(1) to send part of the program design

CAN bus to send data using the flow chart shown in Figure 4. In fact, in running the process, often sending a frame of data found on one of the data has not been fully completed to send (you can check status registers REG STATUS The first four BIT TCS's obvious, hidden states can transmit data about the previous situation). Therefore, the author used approach is: to send by command utilization startup after this time, stop to check on the status register to determine the time to send is complete until the OK is completed. This will provide convenience for the next send, but also conducive to the smooth implementation of procedures to avoid errors.

(2) to receive part of the program design

Based on the CAN bus ADμC812 Design of Intelligent Node

Figure 5 shows part of the system to receive the software flow chart.

In fact, the response speed is not too high occasions, to check to design the receiving subroutine is the simplest, most reliable way. If you have data on the bus sent to the node, the first by querying the status register 1 BIT_RBS the bit state, will be aware of receive buffer (RXFIFO) the available information, then the software will RXFIFO the data one by one "moved" to a designated on-chip storage space can be. For such a key to data collection capabilities based CAN node, the data is mostly from the CAN network in the "control center" made to the control signal, designed to leave them for further processing on it ADμC812.

It should also be noted are: receiving inquiry, to "observe" whether You bus Guanbi, bus error, buffer overload Deng receiving state, if any, must go through corresponding "error" Chuli, otherwise they could no data received, there is a question about the remote frame handling. limited space, this is not an introduction.

5 Conclusion

Practice shows that: the CAN bus described in this article intelligent node can implement the industry standard analog output signals on the collection as well as other nodes on the CAN bus communication. As the node is based on the MCU ADμC812 development, so it's small size and expansion flexibility. I believe that the microcontroller based on the various bus nodes will be widely used.

Declined comment