Embodiment
(embodiment 1)
See Fig. 1, the intelligent electric appliance serial bus communication system of present embodiment comprises: main intelligent electric appliance 1 and 3 (can be the arbitrary value in 1-30 among other embodiment) be from intelligent electric appliance 3; Main intelligent electric appliance 1 with link to each other by RS-485 bus 2 between the intelligent electric appliance 3.Main intelligent electric appliance 1 and from the spacing between the intelligent electric appliance 3 less than 1200 meters.Described main intelligent electric appliance 1 with comprise from intelligent electric appliance 3: central processing unit and the RS-485 interface that links to each other with this central processing unit.Main intelligent electric appliance 1 and can be computer from 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 to prolong communication distance, main intelligent electric appliance 1 and be provided with repeater 4 between the intelligent electric appliance 3.For increasing the quantity that connects on the RS-485 bus 2 from intelligent electric appliance 3, link to each other with hub 5 by RS-485 bus 2 from intelligent electric appliance 3, hub 5 links to each other with main intelligent electric appliance 1 by RS-485 bus 2.Be provided with repeater 4 between hub 5 and the main intelligent electric appliance 1.Between intelligent electric appliance 3 and hub 5, be provided with repeater 4.
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 by holding wire 20 respectively between a pair of input of the pair of output of balance driver 10 and differential receiver 30.
Described balance driver 10 has data input pin.Described 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 the potential difference signal that its a pair of 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, determines logical one and logical zero.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.
Described balance driver 10 and differential receiver 30 have the level reference edge that is connected with each other.
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, described 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 from intelligent electric appliance 3, main intelligent electric appliance 1 and respectively all have unique endpoint number from intelligent electric appliance 3, main intelligent electric appliance 1 searches one behind intelligent electric appliance 3, sets up a data communication channel with it; Then, main intelligent electric appliance 1 with send packets mutually from intelligent electric appliance 3, when when intelligent electric appliance 3 receives correct data, send to main intelligent electric appliance 1 from intelligent electric appliance 3 and to confirm handshake packet; When intelligent electric appliance 3 receives misdata, send to main intelligent electric appliance 1 from intelligent electric appliance 3 and not confirm handshake packet, main intelligent electric appliance 1 resends a last packet to this from intelligent electric appliance 3; When main intelligent electric appliance 1 received correct data, main intelligent electric appliance 1 was confirmed handshake packet to sending from intelligent electric appliance 3; When main intelligent electric appliance 1 received misdata, main intelligent electric appliance 1 was not confirmed handshake packet to sending from intelligent electric appliance 3, should resend a last packet to main intelligent electric appliance 1 from intelligent electric appliance 3; When main intelligent electric appliance 1 when sending a path from intelligent electric appliance 3 and cancel bag, main intelligent electric appliance 1 and cancel from the described data communication channel between the intelligent electric appliance 3.
When described main intelligent electric appliance 1 was searched for from intelligent electric appliance 3, main intelligent electric appliance 1 sent token packet by RS-485 bus 2 earlier; Be connected and receive these token packet from intelligent electric appliance 3 on the RS-485 bus 2, beam back by RS-485 bus 2 then and confirm handshake packet, thereby make main intelligent electric appliance 1 and set up a data communication channel between the intelligent electric appliance 3 to main intelligent electric appliance 1.
Described packet comprises: the data field and the cyclic redundancy check field of bag identification field, address field, 128 bytes; Main intelligent electric appliance 1 and judge that according to this cyclic redundancy check field the described packet that receives is misdata or correct data from intelligent electric appliance 3.
Comprise an equipment connection table in the described main intelligent electric appliance 1, it is corresponding with each endpoint number that this equipment connects table; Main intelligent electric appliance 1 sends token packet to an endpoint number, if do not receive corresponding affirmation handshake packet in Preset Time, then main intelligent electric appliance 1 is confirmed not exist from 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 intelligent electric appliance 1 is confirmed to exist on this endpoint number from intelligent electric appliance 3, be the non-NULL end points, make 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 intelligent electric appliance sends token packet, and after when obtaining confirming handshake packet, sends the direction that packet comes specified data to transmit again; After described packet is when importing packet, sends the affirmation handshake packet from intelligent electric appliance 3, begin to receive data; When described packet is the dateout bag, from intelligent electric appliance 3 send confirm handshake packet after, begin to send data.
After 1 pair of non-NULL end points of main intelligent electric appliance sends token packet, do not obtain confirming handshake packet in Preset Time, main intelligent electric appliance 1 is confirmed disconnecting from intelligent electric appliance 3 on this endpoint number, and this moment, main intelligent electric appliance 1 emptied corresponding record on the described equipment connection table; When main intelligent electric appliance 1 after an endpoint number sends packet, if do not obtain confirming handshake packet in Preset Time, main intelligent electric appliance 1 is confirmed disconnecting from intelligent electric appliance 3 on this endpoint number, this moment, main intelligent electric appliance 1 emptied corresponding record on the described equipment connection table; When main intelligent electric appliance 1 accepting from the endpoint number from the packet of intelligent electric appliance 3 time, in Preset Time, can not receive next byte, main intelligent electric appliance 1 confirms and should disconnect from intelligent electric appliance 3 that this moment, main intelligent electric appliance 1 emptied corresponding record on the described equipment connection table.
Described main intelligent electric appliance 1 finish with an endpoint number on after the data communication of intelligent electric appliance 3, main intelligent electric appliance 1 transmission path is cancelled bag to should be from intelligent electric appliance 3, and disconnects and its data communication channel.
Described main intelligent electric appliance 1 and all comprise from intelligent electric appliance 3: central processing unit, RS-485 interface and signal procedure, the RS-485 interface comprises data buffer.
See Fig. 4, comprise from the signal procedure of intelligent electric appliance 3: 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 described data buffer is empty, if empty, then sends, otherwise waits for before sending data.
See Fig. 5, after the central processing unit from 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, by the docking port initialization, the working method of interface can be set.A kind of working method is that one when the data back that receives (the 9th) just produces 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.To send the 9th of information non-1 for main intelligent electric appliance 1 after like this, therefore, has only this end points to receive.Other end points does not respond.Formed a data pipe between main like this intelligent electric appliance 1 and the end points (promptly on the endpoint number from intelligent electric appliance 3).
After the data communication between main intelligent electric appliance 1 and the end points was finished, main intelligent electric appliance 1 transmission path was cancelled bag, and the microprocessor on this end points changes the working method of interface, cancels data pipe.
Produce when interface receives information and interrupt, microprocessor just can conclude it is data by 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 by 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 intelligent electric appliance 1 and sends the information processing program.The total three major types of bag that end points receives from main intelligent electric appliance 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, ask main intelligent electric appliance 1 to resend; When correct, send and confirm bag, and carry out the fractionation of packet, or the group bag send 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 intelligent electric appliance 1 sends packet, main intelligent electric appliance 1 just sends the bag of this type to end points.Confirm handshake packet, illustrate that the data that end points sends are correctly received by main intelligent electric appliance 1.The affirmation handshake packet is handled in the Data Receiving program; Do not confirm handshake packet, illustrate that data owner intelligent electric appliance 1 reception of end points transmission is incorrect, at this moment, end points should resend data.For fear of sending data repeatedly, cause from 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 intelligent electric appliance 1 finished with endpoint communication, main intelligent electric appliance 1 was cancelled the bag of communication data pipeline.Path is cancelled bag and is handled in the Data Receiving program.
See Fig. 8, the information router is divided into two levels, bag router and byte router.What the former realized is towards the sending function that wraps; What the latter realized is by the byte sending function with bag.
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 situations 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 communication port, and disconnection is connected with main intelligent electric appliance 1.If general mistake, during call endpoints, will once more set up once more by connection for main intelligent electric appliance 1.Can not bring serious consequence.
See Fig. 9, the byte router, the main peace that realizes sends 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 disconnect, and causes NULI character in the transmission buffer, if do not handle, can cause from the microprocessor of intelligent electric appliance 3 and crash.For avoiding the generation of this phenomenon, adopted end points initiatively to disconnect the method for path with main intelligent electric appliance 1.If not because bus failure, but that accidental cause causes is overtime, and processing method can cause main intelligent electric appliance 1 to think that end points is the result of sky like this.But main intelligent electric appliance 1 during the paging end points, promptly can recover to connect next time, can not cause serious consequence.
See Figure 10, described main intelligent electric appliance 1 comprises communication program, and it comprises: primary module 21, be used for each end points patrolling of going the rounds to check exhaled module 22, is used to finish main intelligent electric appliance 1 and from the packet handing module 23 of the data exchanging function between 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; Primary module 21, patrol and exhale module 22 and packet handing module 23 to constitute call relation successively, packet handing module 23 constitutes call relation 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 determined an endpoint number, called packet handler then, sent token packet, had on when the affirmation explanation end points and have one from intelligent electric appliance 3.At this moment, check endpoint device connection table, this table when empty, then explanation be newly be connected on the bus from intelligent electric appliance 3.Main intelligent electric appliance 1 sends packet, requires endpoint device promptly to transmit its configuration information from intelligent electric appliance 3.When main intelligent electric appliance 1 receives from this behind the valid data of intelligent electric appliance 3, fill in the described equipment connection of end points table.It is not empty that equipment connects table, illustrate that the device category that connects on the end points is known, allows 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 is mainly finished main intelligent electric appliance 1 and each end points promptly from 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 to the processing method difference of these three kinds of bags.Parameter bag and configuration packet are output packet concerning end points, require end points to return the data of some, are the packets that has data to return to main intelligent electric appliance 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 intelligent electric appliance 1 sent token packet, after receiving the confirmation signal, main intelligent electric appliance 1 was thought and is being connected equipment on the end points.Path is cancelled and is wrapped the data pipe that is used to cancel between main intelligent electric appliance 1 and the end points.
See Figure 14-15, bag sending module 24 is used to send the data of 131 bytes, send finish after, wait for the handshake that receives end points, when not confirming, main intelligent electric appliance 1 is with retransmission data.Bag receiver module 25 is used to receive 131 byte datas, carries out CRC check after receiving, and sends when incorrect and does not confirm handshake, requires the end points retransmission data, and main intelligent electric appliance 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 Figure 16-17, added overtime judgement in byte sending module 26 and the byte receiver module 27, be provided with when overtime the sign and return.