Summary of the invention
Technical problem to be solved by this invention provide a kind of through the RS-485 interface in the method for work of leading, realize between the intelligent electric appliance main frame that passes through universal serial bus connection of intelligent electrical equipment of serial bus communication.
For solving the problems of the technologies described above, the invention provides a kind of method of work of passing through the main frame of universal serial bus connection of intelligent electrical equipment, main frame is connected with at least 1 intelligent electric appliance through the RS-485 bus; 1 intelligent electric appliance constitutes an end points; Main frame comprises: primary module, be used for patrolling the packet handing module of exhaling module, being used to accomplish the data exchanging function between main frame and the intelligent electric appliance, the bag sending module that is used to send data, the bag receiver module that is used to receive data, byte sending module and byte receiver module to what each end points went the rounds to check; Primary module be used for initializes host PORT COM, initialization bus, patrol and exhale each end points, draw network topological diagram and display parameters; Patrol and exhale module to be used for respectively going the rounds to check from end points; Packet handing module is used to accomplish the exchanges data between main frame and each end points, and the packet of handling during its exchanges data comprises: parameter bag, configuration packet, controlling packet, token packet, path are cancelled bag; The bag sending module is used to send the data of 131 bytes, after transmission finishes, waits for the handshake that receives end points, and when not confirming, main frame is with retransmission data; The bag receiver module is used to receive 131 byte datas, receives the laggard capable CRC check that finishes, and sends when incorrect and does not confirm handshake, requires the end points retransmission data, and main frame receives again; Comprise overtime judgement in byte sending module and the byte receiver module, be provided with when overtime the sign and return.
Comprise an equipment connection table in the said main frame, it is corresponding with said each endpoint number that this equipment connects table; Said patrolling exhales module to the process of respectively going the rounds to check from end points to be: at first confirm an endpoint number, call packet handing module then, send token packet, when the handshake packet of affirmation is arranged, an intelligent electric appliance is arranged on the corresponding endpoint then; Then, main frame is checked the equipment connection table of this end points, if corresponding equipment connects when showing to sky, judges that then it is the intelligent electric appliance that newly is connected on the bus; Main frame sends packet, requires this intelligent electric appliance to transmit its configuration information; After main frame receives the valid data from this intelligent electric appliance, fill in the said equipment connection of end points table; If it is not empty that corresponding equipment connects table, judge that then the device category that connects on this end points is known, and by the state of intelligent electric appliance transmission own, circuit parameter on this end points, or send Control Parameter; If no response after the main frame transmission token packet, or the parameter that receives is invalid, thinks that all this end points does not have equipment, empties endpoint device connection table.
This intelligent electric appliance serial bus communication system comprises: main frame and at least 1 intelligent electric appliance; Link to each other through the RS-485 bus between main frame and the intelligent electric appliance; Main frame all has unique endpoint number with each intelligent electric appliance, after main frame searches an intelligent electric appliance, sets up a data communication channel with it; Then, main frame and intelligent electric appliance send packet each other, and when intelligent electric appliance received correct data, intelligent electric appliance sends to main frame confirmed handshake packet; When intelligent electric appliance received misdata, intelligent electric appliance sends to main frame did not confirm handshake packet, and main frame resends a last packet to this intelligent electric appliance; When main frame received correct data, main frame sends to intelligent electric appliance confirmed handshake packet; When main frame received misdata, main frame sends to intelligent electric appliance did not confirm handshake packet, and this intelligent electric appliance resends a last packet to main frame; Cancel when bag when main frame sends a path to intelligent electric appliance, the said data communication channel between main frame and the intelligent electric appliance is cancelled.
When said main frame was searched for intelligent electric appliance, main frame sent token packet through the RS-485 bus earlier; The intelligent electric appliance that is connected on the RS-485 bus receives this token packet, beams back the affirmation handshake packet to main frame through the RS-485 bus then, sets up a data communication channel between main frame and the intelligent electric appliance thereby make.
Said packet comprises: cyclic redundancy check field; Main frame and intelligent electric appliance judge that according to this cyclic redundancy check field the said packet that receives is misdata or correct data.
The present invention has positive effect: (1) intelligent electric appliance serial bus IASB of the present invention (Intellect Apparatus Serial Bus) is a kind of data/address bus cheaply for the intelligent electric appliance data transmission scheme; In the intelligent electric appliance serial bus communication system of the present invention, the method for work of main frame and intelligent electric appliance is suitable for realizing that the interface specification through RS-485 carries out data communication between main frame and the intelligent electric appliance.The intelligent electric appliance serial bus communication system adopts the RS-485 bus, and its interface is a general-purpose interface, and an interface is applicable to the electrical equipment of different model.Need not prepare different interface and agreement for different electrical equipment.Secondly, it has automatic identification and configuration feature.When the user is connected to intelligent electric appliance serial bus with electrical equipment, if when computer is in running status, computer can be discerned the type that inserts electrical equipment automatically, and loads the corresponding driving program, realizes data communication function.The RS-485 standard adopts twisted-pair feeder conveniently to connect.Computer cabinet need do not opened, for each peripheral hardware increases expansion card.Once more, it supports hot plug.Electrical equipment be can at any time connect and break off, and, computer and external electrical equipment can not damaged no matter whether computer system starts shooting.After electrical equipment inserted, computer system can detect the electrical equipment of access.Its transmission speed reaches 100Kb/s, and to compare data transmission bauds fast with RS-232, can satisfy the requirement of general power distribution system data communication speed.(2) in the intelligent electric appliance serial bus communication system of the present invention, directly adopt pay station line, can save human and material resources and financial resources in a large number as holding wire, and easy to install.
Embodiment
(embodiment 1)
See Fig. 1, the intelligent electric appliance serial bus communication system of present embodiment comprises: main frame 1 (being computer) and 3 (can be the arbitrary value in 1-30 among other embodiment) intelligent electric appliances 3; Link to each other through RS-485 bus 2 between main frame 1 and the intelligent electric appliance 3.Spacing between main frame 1 and the intelligent electric appliance 3 is less than 1200 meters.Said main frame 1 comprises with intelligent electric appliance 3: central processing unit and the RS-485 interface that links to each other with this central processing unit.Main frame 1 can be a computer with intelligent electric appliance 3, also can be the multi-functional smart machine that photocopier, communication apparatus etc. have single-chip microcomputer or flush bonding processor of beating.
See Fig. 3,, be provided with repeater 4 between main frame 1 and the intelligent electric appliance 3 for prolonging communication distance.For increasing the quantity of the intelligent electric appliance 3 that connects on the RS-485 bus 2, intelligent electric appliance 3 links to each other with hub 5 through RS-485 bus 2, and hub 5 links to each other with main frame 1 through RS-485 bus 2.Be provided with repeater 4 between hub 5 and the main frame 1.Be provided with repeater 4 between intelligent electric appliance 3 and the hub 5.
See Fig. 2, the physical interface of intelligent electric appliance serial bus comprises: balance driver 10 and differential receiver 30; Balance driver 10 has pair of output, and differential receiver 30 has a pair of input, links to each other through holding wire 20 respectively between a pair of input of the pair of output of balance driver 10 and differential receiver 30.
Said balance driver 10 has data input pin.Said differential receiver 30 has data output end.Balance driver 10 will be transformed into potential difference signal from the logic level signal of data input pin, and a pair of holding wire 20 that is linked to each other by the pair of output with balance driver 10 carries out the signal transmission; Differential receiver 30 is transformed to logic level signal with one of which to the potential difference signal that input received, and from its data output end output, thereby realizes the transmission and the reception of data.
When presentation logic " 1 ", a signal line is exported positive high level, the negative high level of another signal line output; When presentation logic " 0 ", the opposite states of this two signal line.Receiver is judged the potential difference of this two signal line, confirms logic " 1 " and logic " 0 ".The minimum voltage that differential receiver 30 can be differentiated is ± 200mV.This transmission and accepting method are called as balance and drive differential received.
Said balance driver 10 has the level reference edge that is connected with each other with differential receiver 30.
With respect to the level reference edge, the output of balance driver 10 is respectively+V
T,-V
T, the input V of differential receiver 30 then
RVoltage: V
R=+V
T-(V
T)=2V
T
The pair of output of balance driver 10 can weaken the influence of interference not altogether, can obtain longer transmission range again, allows bigger signal attenuation.
The transmission rate maximum of the physical interface of the intelligent electric appliance serial bus of present embodiment can reach 10Mb/s, and when transmission rate was 10Mb/s, transmission range was 12m; When transmission rate was 1Mb/s, transmission range was 120m; When transmission rate was 100Kb/s, transmission range can reach 1200m.
Balance driver 10 can drive 32 load equipments.Load equipment can be passive balance driver or differential receiver.
Among other embodiment, said holding wire 20 is a pay station line, and is provided with terminal resistance R between two leads of pay station line.Directly adopt pay station line as holding wire, can save human and material resources and financial resources in a large number, and easy to install.
Comprise the DIP switch that is used to be provided with its endpoint number on the intelligent electric appliance 3, main frame 1 all has unique endpoint number with each intelligent electric appliance 3, after main frame 1 searches an intelligent electric appliance 3, sets up a data communication channel with it; Then, main frame 1 sends packet each other with intelligent electric appliance 3, and when intelligent electric appliance 3 received correct data, intelligent electric appliance 3 sends to main frame 1 confirmed handshake packet; When intelligent electric appliance 3 received misdata, intelligent electric appliance 3 sends to main frame 1 did not confirm handshake packet, and main frame 1 resends a last packet to this intelligent electric appliance 3; When main frame 1 received correct data, main frame 1 sends to intelligent electric appliance 3 confirmed handshake packet; When main frame 1 received misdata, main frame 1 sends to intelligent electric appliance 3 did not confirm handshake packet, and this intelligent electric appliance 3 resends a last packet to main frame 1; When main frame 1 when intelligent electric appliance 3 sends a path and cancels bag, the said data communication channel between main frame 1 and the intelligent electric appliance 3 is cancelled.
When said main frame 1 was searched for intelligent electric appliance 3, main frame 1 sent token packet through RS-485 bus 2 earlier; The intelligent electric appliance 3 that is connected on the RS-485 bus 2 receives this token packet, beams back through RS-485 bus 2 then and confirms handshake packet to main frame 1, sets up a data communication channel thereby make between main frame 1 and the intelligent electric appliance 3.
Said packet comprises: the data field and the cyclic redundancy check field of bag identification field, address field, 128 bytes; Main frame 1 judges that according to this cyclic redundancy check field the said packet that receives is misdata or correct data with intelligent electric appliance 3.
Comprise an equipment connection table in the said main frame 1, it is corresponding with each endpoint number that this equipment connects table; Main frame 1 sends token packet to an endpoint number, if in Preset Time, do not receive corresponding affirmation handshake packet, then main frame 1 is confirmed not have intelligent electric appliance 3 on this endpoint number, is the dead end point, is recorded as sky accordingly on this equipment connection table; If in Preset Time, receive corresponding affirmation handshake packet; Then main frame 1 is confirmed to have intelligent electric appliance 3 on this endpoint number, is the non-NULL end points, makes corresponding record on this equipment connection table; Read its product marking then; With identification production firm and product category, fill in equipment connection table, and the corresponding driving program is installed.
The 1 pair of non-NULL end points of main frame sends token packet, and after when obtaining confirming handshake packet, sends the direction that packet comes specified data to transmit again; When said packet was the input packet, intelligent electric appliance 3 began to receive data after sending and confirming handshake packet; When said packet was the dateout bag, intelligent electric appliance 3 began to send data after sending and confirming handshake packet.
After 1 pair of non-NULL end points of main frame sends token packet, in Preset Time, do not obtain confirming handshake packet, main frame 1 confirms that the intelligent electric appliance 3 on this endpoint number breaks off, and this moment, main frame 1 emptied corresponding record on the said equipment connection table; When main frame 1 after an endpoint number is sent packet, if in Preset Time, do not obtain confirming handshake packet, main frame 1 confirms that the intelligent electric appliance 3 on this endpoint number breaks off, this moment, main frame 1 emptied corresponding record on the said equipment connection table; When main frame 1 is being accepted the packet from the intelligent electric appliance on the endpoint number 3, in Preset Time, can not receive next byte, main frame 1 confirms that this intelligent electric appliance 3 breaks off, this moment, main frame 1 emptied corresponding record on the said equipment connection table.
Main frame 1 is after the data communication of the intelligent electric appliance 3 on a completion and the endpoint number, and main frame 1 transmission path is cancelled bag to this intelligent electric appliance 3, and disconnection and its data communication channel.
Said main frame 1 all comprises with intelligent electric appliance 3: central processing unit, RS-485 interface and signal procedure, the RS-485 interface comprises data buffer.
See Fig. 4, the signal procedure of intelligent electric appliance 3 comprises: data reception module 12, processing data packets module 13, packet sending module 14 and the byte sending module 15 of main mould communication piece 11, interrupt mode; Main mould communication piece 11, processing data packets module 13, packet sending module 14 and step-by-step mode constitute call relation successively to the byte sending module 15 that intelligent electric appliance serial bus sends data; For the interrupt call relation, be call relation between data reception module 12 and the processing data packets module 13 between main mould communication piece 11 and the data reception module 12; Byte sending module 15 judges that whether said data buffer is empty, if empty, then sends, otherwise waits for before sending data.
See Fig. 5, after the central processing unit in the intelligent electric appliance 3 powers on, shielded communication interface at first, its all of the port of beginningization, memory block, timer and interrupt service routine.Afterwards, allow communication interface work.This process has been guaranteed the interruption that the correct response data communication of central processing unit produces.
See Fig. 6, Data Receiving adopts interrupt mode, and this program is an interrupt service routine.
Microprocessor has serial line interface, through the docking port initialization, the working method of interface can be set.A kind of working method is, when the data back one (the 9th) that receive just produce interruption when being 1; Another kind of working method is, no matter the 9th is 0 or 1, as long as there are data all to produce interruption.
Token packet is utilized these characteristics just.Interface at first is set, makes that sending data back one (the 9th) is at 1 o'clock, just produce the working method of interrupting.The 9th of token packet is set to 1, and when sending token packet, microprocessor linked all produces interruption on all end points.Having only the end points identical with own address to change the working method of interface, is 0 or 1 no matter form the 9th, as long as there are data all to produce interrupt function, is referred to as the data-interface state.The working method of other end points is constant.It is non-1 to send the 9th of information with aft engine 1 like this, therefore, has only this end points to receive.Other end points does not respond.Formed a data pipe between main frame 1 and the end points (i.e. intelligent electric appliance 3 on the endpoint number) like this.
After the data communication between main frame 1 and the end points was accomplished, main frame 1 transmission path was cancelled bag, and the microprocessor on this end points changes the working method of interface, cancels data pipe.
When interface receives information, produce and interrupt, microprocessor just can conclude it is data through judging the state of interface, and still bag is a token packet, or the bag of other type.If token packet and identical with end-point addresses just changes interface and becomes data-interface.If this end points is the Data Receiving interface,, just can conclude the type of bag through judge receiving first byte of bag---confirm bag, do not confirm to wrap, path cancels bag, packet.
Different data are surrounded by different processing methods, confirm bag, do not confirm that bag is provided with corresponding sign; Cancel when bag when receiving path, microprocessor changes Interface status, becomes non-data-interface; When receiving packet, when receiving 131 bytes, be provided with and receive packet sign and bag processing sign, when main program detects bag processing sign, call packet handler.
See Fig. 7, this program mainly realizes receiving main frame 1 and sends the information processing program.The total three major types of bag that end points receives from main frame 1:
1) packet class
Packet is divided into 8 kinds of forms again, and each byte has clear and definite definition (the data stipulations of IASB bus are seen in concrete definition) in every kind of form.After receiving packet, at first carry out CRC check, when incorrect, send and do not confirm bag, requesting host 1 resends; When correct, send and confirm bag, and carry out the fractionation of packet, or the group bag sends according to the data type of input, output.
2) handshake packet class
Handshake packet is divided into to be confirmed handshake packet and not to confirm handshake packet.When end points after main frame 1 sends packet, main frame 1 just sends the bag of this type to end points.Confirm handshake packet, explain that the data that end points sends are correctly received by main frame 1.The affirmation handshake packet is handled in the Data Receiving program; Do not confirm handshake packet, explain that data host 1 reception of end points transmission is incorrect, at this moment, end points should resend data.For fear of sending data repeatedly, cause intelligent electric appliance 3 microprocessor deadlock phenomenons, be provided with retransmission counter here, when retransmitting number of times above a certain limit, end points stops retransmit operation.
3) path is cancelled bag
Path is cancelled bag, and after main frame 1 finished with endpoint communication, main frame 1 was cancelled the bag of communication data pipeline.Path is cancelled bag and in the Data Receiving program, is handled.
See Fig. 8, the information router is divided into two levels, bag router and byte router.What the former realized is the sending function towards bag; What the latter realized is will wrap by the byte sending function.
After calling bag transmission journey, at first differentiate the type of the packets of information that will send.The type decided of packets of information the byte number that will send.According to the communication protocol of IASB, handshake packet is 1 byte, and packet is 131 bytes.At this moment, send one by one in order and get final product.
There are many situation can produce end points and send overtime mistake.For simplified process method, when time-out error occurring, end points will change the data receiving state of COM1, and disconnection is connected with main frame 1.If general mistake, during call endpoints, will once more set up once more by connection for main frame 1.Can not bring serious consequence.
See Fig. 9, the byte router, the main peace that realizes is sent the function of data to the IASB bus according to the position mode.Before sending data, judge whether transmission buffer is empty in the serial line interface, for sky then sends, otherwise waits for.
Cause the deadlock phenomenon for fear of makeing mistakes, added the wait timeout judgement in this program.The method that realizes is that transmission buffer of every judgement adds 1 for the chronoscope counting unit.When this unit numerical value exceeds certain limit, think overtime makeing mistakes.
Overtime reason is a lot, and one of them is because end points and bus are broken off, and causes NULI character in the transmission buffer, if do not handle, can cause the microprocessor of intelligent electric appliance 3 to crash.For avoiding the generation of this phenomenon, adopted the method for end points active with main frame 1 disconnection path.If not because bus failure, but that accidental cause causes is overtime, and processing method can cause main frame 1 to think that end points is the result of sky like this.But main frame 1 during the paging end points, promptly can recover to connect next time, can not cause serious consequence.
See Figure 10, the communication program of main frame 1 comprises: primary module 21, be used for patrolling the packet handing module 23 of exhaling module 22, being used to accomplish the data exchanging function between main frame 1 and the intelligent electric appliance 3, the bag sending module 24 that is used to send data, the bag receiver module 25 that is used to receive data, byte sending module 26 and byte receiver module 27 to what each end points went the rounds to check; Primary module 21, patrol and exhale module 22 and packet handing module 23 to constitute call relation packet handing module 23 successively to constitute call relations with bag sending module 24, bag receiver module 25, byte sending module 26 and byte receiver module 27 respectively; Bag sending module 24 constitutes call relation with byte sending module 26 and byte receiver module 27 respectively, and bag receiver module 25 constitutes call relation with byte sending module 26 and byte receiver module 27 respectively.
See Figure 11, the function of primary module 21 comprises, initialization PORT COM, initialization bus, patrols and exhales each end points, draws functions such as network topological diagram, display parameters.
See Figure 12, patrol and exhale the function of module 22 to be: go the rounds to check from end points 1 to 30.Detailed process is: at first confirmed an endpoint number, called packet handler then, sent token packet, had on when the affirmation explanation end points intelligent electric appliance 3 is arranged.At this moment, check endpoint device connection table, when this table was empty, then explanation was the intelligent electric appliance 3 that newly is connected on the bus.Main frame 1 sends packet, and requiring endpoint device is that intelligent electric appliance 3 transmits its configuration information.After main frame 1 receives the valid data from this intelligent electric appliance 3, fill in the said equipment connection of end points table.It is not empty that equipment connects table, explain that the device category that connects on the end points is known, lets the state of end points transmission own, circuit parameter or transmission Control Parameter as requested.No response after the transmission token packet, or the parameter that receives is invalid, thinks that all this end points does not have equipment, empties endpoint device connection table.
See Figure 13, packet handing module 23 main completion main frames 1 and each end points are the data exchanging function between the intelligent electric appliance 3.What it was handled is surrounded by: parameter bag, configuration packet, controlling packet, token packet, path are cancelled bag.
Parameter bag, configuration packet, controlling packet all are packets, and still, end points is different to the processing method of these three kinds of bags.Parameter bag and configuration packet are the output bag concerning end points, require end points to return the data of some, are the packets that has data to return to main frame 1.Therefore, after sending packet, should wait for receiving the return data bag to end points.And controlling packet is just different, and controlling packet is the input bag concerning end points, does not need end points return data bag.
After main frame 1 sent token packet, after receiving confirmation signal, main frame 1 was thought and is being connected equipment on the end points.Path is cancelled bag and is used to cancel the data pipe between main frame 1 and the end points.
See Figure 14-15, bag sending module 24 is used to send the data of 131 bytes, after transmission finishes, waits for the handshake that receives end points, and when not confirming, main frame 1 is with retransmission data.Bag receiver module 25 is used to receive 131 byte datas, receives the laggard capable CRC check that finishes, and sends when incorrect and does not confirm handshake, requires the end points retransmission data, and main frame 1 receives again.No matter be to receive or send, all added overtime judgement in the program, occur receptions, transmission error flag being set when overtime and returning.
See in Figure 16-17 byte sending module 26 and the byte receiver module 27 to have added overtime judgement, sign is set when overtime and returns.