This invention relates to an electronic control system that is used in interfacing to and controlling various devices used in security systems for containers having doors, and also has particular application to apparatus and methods for securing roll-down and/or swing-open doors for cargo trailers, such as cargo containers, trailers, delivery vans, storage facilities, and cargo trailers.
A need exists for a security system that employs an electronic controller used specifically to control various devices and interface with the controlled devices using software unique to the security process employed by those devices, so that it can be used for both roll-down doors and swing-out doors. A need also exists for a security system that stores a number of information records, such as records concerning the unlocking, locking, opening or closing of the door, including the date, time, air temperature, and/or geographical location of such event. The records need to be updated in such a way that the new ones replace the oldest as soon as the maximum number of records allowed is reached.
Furthermore, a need exists for an electronic control system that communicates with a unique protocol and provides a customer a secure two-way connection using a remote terminal, such as a personal computer (PC). A need exists for a PC software program to communicate with the electronic controller, update its software, adjust features, enable/disable and program input devices, calibrate, diagnose problems, and retrieve information records. The supplier should be able to control access by issuing software licenses for each electronic control system. The customer should be able to protect access to the security system by setting and maintaining software passwords.
A need further exists for an electronic control system that operates on its own, without external power connected, for a maximum possible time duration, and to maintain its power source by charging it when the outside power is available and controlling which power source is used by the system.
The disclosed apparatus and methods avoid some of the disadvantages of prior devices that do not employ an electronic control system, and add new features. In an embodiment of the invention, a security system is provided for a cargo container having a door. The security system comprises an electronic control unit capable of performing at least one activity and monitoring at least one function and being operably communicable with a remote computer terminal. A first software control program is provided within the electronic control unit to monitor the activity and the function. A second software control program is provided within the remote computer terminal and is capable of retrieving the activity and the function from the first software control program.
In an embodiment of the invention, a method is provided for monitoring and recording a condition of a cargo container having a lockable door using a cargo security system. The method comprises an electronic control unit capable of monitoring at least one function and creating an alarm condition; a sensor capable of measuring a parameter and being operably coupled to the electronic control unit; and a remote terminal computer capable of operably communicating with electronic control unit. The method comprises the steps of disposing the electronic control unit within the cargo container; comparing the parameter with a table having parameter limits; and creating an alarm condition if the parameter does not comply with the parameter limits.
In an embodiment of the invention, a method is provided for securing from the inside the cargo of a trailer having a container and cargo door accessible from the outside for closing the container and being movable from an open position to a closed position. The method comprises providing a security device containing a latch with a screw on the inside of the container, and a linked electronic control system. The electronic control system may be used to operate and control turning of the screw in a direction, thereby moving the latch between unlocked and locked positions.
In one embodiment of the invention, the method comprises providing a control software program that controls the movement of the latch between the unlocked and the locked positions. The control software program may be located in a nonvolatile memory of the electronic controller or other memory retention device. A signal generation device may also be provided, which is capable of sending lock, unlock, or other control signals to the controller. The software determines when one of the control signals is sent from the signal generation device to the controller. For example, the unlock control signal may indicate that the security device should be in the unlocked position, but the lock control signal indicates that the security device is in the locked position. In order to maximize precision and repeatability of the security system to be able to stop at the same position at any voltage and temperature conditions, a short reverse control signal may also be applied after the main control signal is complete.
In one embodiment, the method also includes storing in memory control data indicative of the most recent control signals sent from the signal generation device to the controller.
In one embodiment, several different sensors could be coupled to the controller. The method includes the control software to process the sensor inputs. The security device position sensors indicate whether the security device is in the locked or unlocked position. One or more door sensors could be provided, which are also coupled to the controller. The method includes sensing, with the door sensor, whether the cargo door is in the open or closed position. A door position signal, indicative of whether the door is in the open or closed position, is sent to the controller. The method includes moving the latch from its unlocked position to its locked position, if the signal generation device sends the lock control signal to the controller, the security device position signal indicates that the latch is in the unlocked position, and the door position indicates that the door is in the closed position.
In one embodiment, a memory is coupled to the controller, with the controller activity being sent through the software which allows the memory to be capable of storing control data indicative of the most recent control signal sent from the signal generation device to the controller.
A more detailed explanation of the invention is provided in the following description and claims, and is illustrated in the accompanying drawings.
For the purpose of facilitating an understanding of the subject matter sought to be protected, there are illustrated in the accompanying drawings embodiments thereof, from an inspection of which, when considered in connection with the following description, the subject matter sought to be protected, its construction and operation, and many of its advantages should be readily understood and appreciated.
In U.S. patent application Ser. No. 10/360,521, filed Feb. 6, 2003, a system is disclosed in which the inside of a cargo container is secured from the outside using a security device containing a latch with a screw on the inside of the container, and a linked electronic control system. The disclosure of U.S. application Ser. No. 10/360,521, filed Feb. 6, 2003, and which is assigned to the same assignee as the present invention, is hereby incorporated in full into the present application.
Turning now to the drawings, and, more particularly,
In one embodiment, the cargo security system includes a controller, such as the ECU 14 (
The ECU 14 can be comprised of a microcontroller 20 that may include internal memory (not shown) or that has memory coupled to it. A real time clock 21 (RTC) can be coupled to the ECU allow the timing of various events to be recorded in event EEPROM memory 22 coupled to the microcontroller 20. Such events may include, for example, opening or closing the door, the latch 9 moving to either an unlocked or a locked position, temperature readings, configuration and password changes, an RF key-fob ECU memory programming and erasing, firmware updates, an attempted break-in, problems or errors in the execution of commands or in the status sensed after a command. In one embodiment, the event memory 22 can record time, location, and the individual (or key-fob) associated with a particular event. The event memory 22 can be designed to control erasure of data and can be set up to override older information with newer. The RTC 21 may have an independent battery (not shown), in order to provide the time of events stored in the event memory 22.
In an embodiment, a power management system can be provided to adjust the operation according to the type of power used and to allow the power input to be switched between several different power supplies, for example, such as the truck alternator or battery, a stand alone (backup) battery 16 coupled to security system, solar panels, or other appropriate power supplies. In one embodiment, the power management device 23 can enable automatic recharging of the back up battery 16, whenever it is feasible, and can sense power, remaining this battery before the latch 9 is moved to the locked position in order to determine whether adequate power is likely to remain afterwards in order to return it to the unlocked position. If, for example, there is not enough power, the ECU 14 can be programmed to trigger a visual or audible warning 17 and either not take any action, or require the user to confirm that they want the latch 9 moved to the locked position even though there may not be enough power left to move it back to the unlocked position. Another option includes selecting the power source in such a way to maximize time available to operate on the backup battery 16. In some cases, the power management 23 may use the outside power source even when the backup battery 16 has a higher voltage, in order to preserve the backup battery 16 for use when the main power is removed. The security system can be configured to run on a variety of voltages, such as, for example, 6 VDC, or 12 VDC, or even 24 VDC.
A temperature sensor 29 may also be used to adjust duration of the locking and unlocking signals. The lower the temperature which naturally lowers the battery voltage, the longer the signal needs to be to make sure the latch 9 reaches the locked and unlocked positions. Also, the ECU 14 could be programmed to issue a warning, an alarm, or record a log event in case there is a sudden change in temperature, and it could also be programmed to behave differently depending on the temperature. For example, some of the power saving features may be enabled/disabled at certain temperatures, since the electronic devices may change their electrical consumption characteristic with temperature changes.
The ECU 14 is operably coupled to a motor 12 and thereby controls the operation of the motor 12. In one embodiment, an H-bridge driver may be utilized as the motor control output 24 in such a way, that a positive voltage is applied to one motor 12 terminal and the ground reference to the other, in order to turn it in one direction, and when voltages are reversed, the motor 12 rotates in the opposite direction. When the movement in one direction is complete, the ECU 14 may send a short reverse control signal for the motor 12 to operate in the opposite direction. This action will allow the latch 9 movement to stop immediately, and therefore it improves precision and repeatability of the system response under different voltage and temperature conditions.
A receiver, such as an RF receiver 25 may be operably coupled to the microcontroller 20. A transmitter, such as an RF two channel key-fob transmitter 26, can be provided with two RF outputs to transmit signals to the RF receiver 25. Signals transmitted from the RF transmitter 26 are the signals that are used to elicit a response from the ECU 14. For example, one RF output signal of the transmitter 26 can be used to cause the ECU 14 to activate the motor 12 and move the latch 9 to the locked position. The other transmitter 26 output can cause the ECU 14 to activate the motor 12 and move the latch 9 to the unlocked position.
Alternately, an RF three channel (or any other suitable number of channel) key-fob transmitter can be used. Multiple key-fob transmitters can be provided and each might be separately coded so that the identity of the particular key-fob 26, and thus the individual entrusted with that key-fob, can be recorded in the event memory 22 with any other appropriate information regarding the particular event. If the three-channel key-fob is used, the third channel can indicate an alarm condition, or it could become a master fob to enable or disable the ECU 14 from responding to a signal from other fobs. As another alternative, the third channel could be used to initiate and perform a new key-fob programming process, if the user does not want to use the PC software 19 for the RF transmitter programming. Otherwise, the key-fobs 26 are programmable in the field using a PC. The PC program 19 may also used to erase the key-fob memory in RF receiver 25 when a key-fob 26 is stolen or lost.
The ECU 14 may be provided with a plurality of other inputs 27 or outputs 24. For example, one or two digital inputs 27 could be used to hardwire a remote keypad as an alternative to the RF operated key-fobs 26. Some keypads may provide separate lock an unlock signals, and some may use only one input for both signals. The ECU 14 could be configured to accept both types of keypads. If only one input is provided, the ECU 14 will determine the current status of the security device 10 and move the latch 9 to the opposite position, when a valid keypad signal is received.
Another digital input 27 could be used with a sensor 15, for example a switch, that produces a signal when the door is open. In one form, such sensor can take the form of a magnetic switch that sends a signal when the door is opened and, thus, moves away from the magnetic switch. In another form, the magnetic switch is a magnetic reed switch. Additional digital or dry contact inputs 27 can be provided for additional external switches or sensors inputs. The ECU 14 may also use analog inputs 27 for voltage, temperature, or other measurements. For example, a light sensor may be used, providing a variable voltage or resistance input 27 to the ECU 14, to sense if the door was open, or maybe another event caused the light to be sensed.
The ECU 14 can also include a plurality of outputs 24 for control signals sent to other devices. Outputs 24 could be an open collector/open drain to sink a current, or a relay type to provide electrical isolation (dry contact type). Feedback input signals, coming to the ECU inputs 27, can indicate that the security device 10 is in the locked position or is unlocked, the door is closed or opened, or that an error condition exists. In one form, an error signal is generated if two different sensors indicate opposite states, such as one sensor indicating that the security device 10 is in the locked position and the other sensor indicating that it is unlocked.
In one form, an output signal 24 is sent to a device, such as a camera, to activate the device when the vehicle door is opened. When a camera is used, a recording can be made of any loading and unloading activities when the door is opened. One, or more, feedback input signals 27 can be used by the ECU 14 to activate a buzzer 17, a siren, or another warning device. In one form, a warning device is located in the cab and indicates that the security device 10 is unlocked, or that the door is opened. In selected situations, an output signal 24 can be used to lock the front of a cab hauling the cargo trailer or to disable the engine.
A plurality of serial ports, such as a nine-pin connector communication port 28, that is often referred to as RS-232, can be provided to interface with one or more auxiliary devices, such as a programming terminal or computer, a keypad, a telematic device, a GPS tracking device, a serial sensing device, or a modem. Such auxiliary devices can be used to send signals to the ECU 14 to lock or unlock the security device 10. They can also be used to program the ECU 14 firmware, or to download information stored in the event memory 22 or other memory associated with the ECU 14. In one form, a keypad is provided that requires the entry of an employee identifying code to unlock the door, so that a record of the unlocking of the door can be saved in memory 22. The telematic device and GPS tracking device can be used to track the location of the cargo transport vehicle when the cargo door is opened or unlocked and send the data to a remote location. In one form, the ECU 14 is normally in the sleep mode and “awakens” when a command is sent, or a signal is sent from one of the sensors or other devices.
At this time, the motor 12 is energized which causes the latch 9 to move to the locked position. There is a delay 40 needed for the motor 12 to operate, after which the program checks if the locking process was successful at 36. If the security device 10 is in the locked position, the program sends a “Locked acknowledge signal” 37 and goes back to verify status 31. If the security device 10 is not in the locked position, the locking process is repeated, unless the number of locking retries is exceeded. In that case, an error 41 is generated and the locking process stops. The maximum number of locking retries could be any number from 0, 1 to as much as 100 in some cases. The security device 10 “Locked acknowledge signal” 37 could be used to generate an output to the user, such as a chirp of the buzzer 17, an LED or an indicator light output, or an LCD screen output. In a different implementation, instead using a delay 40, the ECU 14 may monitor the security device 10 position sensor(s) status and disengage the motor 12, when the sensor(s) indicate that the locked position has been reached.
In one form, the system can be programmed to have an automatic lock/relock feature enabled and generate automatic lock requests 42. The automatic locking may occur when the user closes the door, but does not send a “Lock request” 33 signal within a specified period of time. The automatic relocking may occur when the user requests the security device 10 to unlock, but does not open the door within a specified period of time. The time period can be programmed by the user from 0 to as much as 5 min, or even 10 min.
In some cases, not shown on
If the “Unlock request” 34 is generated, the program determines whether the security device 10 is already in an unlocked state 43. If it is unlocked, the program sends a security device “Unlocked acknowledge signal” 44 and goes back to verify status 31. If the security device 10 is not unlocked, the program verifies if the maximum number of unlocking retries 45 is not exceeded. This number could be programmed in the ECU 14 by the user to protect the security device 10 in case an obstruction (e.g. ice, debris) prevents the unlatching process. If the maximum number of retries 45 is exceeded, the “Activate unlocking” 46 command is generated. At this time, the motor 12 is energized which causes the latch 9 to move to the unlocked position. There is a delay 47 needed for the motor 12 to operate, after which the program checks if the unlocking process was successful. If the security device 10 is unlocked at 43, the program sends an “Unlocked acknowledge signal” 44 and goes back to verify status 31. If the security device 10 is not unlocked, the unlocking process is repeated, unless the number of unlocking retries is exceeded. In that case, an error 48 is generated and the unlocking process stops. The maximum number of unlocking retries could be any number from 0, 1 to as much as 100 in some cases. The security device 10 “Unlocked acknowledge signal” 44 could be used to generate an output to the user, such as a chirp of the buzzer 17, an LED or an indicator light output, or an LCD screen output. In a different implementation, instead using a delay 48, the ECU 14 may monitor the security device 10 position sensor(s) status and disengage the motor 12, when the sensor(s) indicate that the unlocked position has been reached.
Several different communication protocols could be used for commands, status, and data exchange between the security system and a PC software 19. One of them is described in details below. This unique serial protocol has been developed to communicate with the ECU 14 through PC software 19, or a remote connection.
In order to send one byte (8 bits) of data, 2 ASCII characters are used in this protocol. For example, to send a hexadecimal 8F (a binary 10001111), the communication protocol uses an ASCII “8” (hexadecimal 38) and an ASCII “F” (hexadecimal 46). Therefore, for each data byte to be transmitted, 2 ASCII characters are used. This approach may seem inefficient, but it is simple and easy to generate and decode by both ECU 14, and PC program 19.
When the command 60 is executed, the ECU 14 may return a data packet 61 and a status packet 62. The data packet 61 is applicable to some commands (e.g. retrieve event log), and some of them don't have any data packet 61 associated with them. If the data packet 61 exists, it should include the start character 50, a data packet type character 56, data transmission 53, the check sum 54, and the end character 55. There may be several different data packet type characters 56, depending on how many bytes the data packet 61 contains and what is the data structure.
The ECU 14 should always respond to each command 60 with the status packet 62 transmission. The status packet 62 comprises the start character 50, a status packet indicator character 57, the last command 51, a status of the command execution 59, the check sum 54, and the end character 55. In some cases, when the command 60 requires longer action from the ECU 14, or to perform several intermediate steps, there may be several status packets 62 sent to indicate the status change, and then at the end the final status packet 62 is issued. The checksum 54 for each packet is calculated to prevent accepting corrupted communication packets. In some instances the checksum could be replaced with more sophisticated methods, like CRC-16, CRC-32, or others.
In one embodiment, the PC program 19 communicating with the ECU 14 may look like the one presented in
In order to start the PC program 19, the user needs to provide a valid password—either a User, or an Administrator password. If the User password is verified, a DataLock-Unlock screen (
When the Administrator password is used and a valid license for the security system is detected, the PC program 19 may start the PC-ECU communication automatically. Otherwise, the user has to press the “Initialize” button 75. When this happens, the PC program 19 will try to establish communication with the ECU 14 and to verify the software license. It checks if the security system serial number and the Access password, stored in the ECU 14, match the pair stored in the encrypted software license file installed to work with the PC program 19. If the license is verified, the user gains access to the ECU 14, based on what type of password was used. Software licensing is described later (
All screens of the PC program 19, shown on
The first communication screen (
The second screen (
The third screen (
The fourth screen (
The fifth screen (
Diagnostic test mode screen (
Giving the user a possibility to change configuration 77, based on his needs, provides great flexibility of the security system and allows it to be used in many different applications. For example, a delivery truck may require autolocking option to be enabled, and a container shipped overseas may not want this feature. Low power consumption may be very important for systems using their own batteries, but a quick key-fob 26 response may be more important for the delivery truck, even though the power consumption is higher. Some, or all, of the options might be pre-configured by the supplier based on the user's needs.
In the security system described hereon, the user may have the following configuration 77 choices to select:
The ECU 14 firmware is installed in the microcontroller 20 flash memory; however, it could be also installed in any EEPROM, EPROM, OTP (one time programmable), or RAM memory. The program could be written in “C”, or any other high level programming language or assembly language, in any way where the compilation, assembly, or any other process creates a string of hexadecimal or binary characters to be executed by a microcontroller 20 inside the ECU 14.
In one embodiment, the main routine, executed by the processor may look like the one shown in
If there are no characters coming (which is the case in most of the time), the microcontroller 20 performs other tasks, including: resetting the watchdog timer 131, making event log entries 132, processing 3rd key-fob button configuration changes 133, enabling the power saving mode 134, voltage and temperature measurements, and charging setup 135, and checking for problems in diagnostic mode 136.
All timing related tasks, as well as processing lock and unlock requests, position corrections, and the 2nd door sensor are being done by a 40 msec interrupt routine (
All commands and tasks are executed to perform efficiently the job required. The security system reliability and ability to perform its tasks, even when there is a failure detected in the system, is essential. The user needs to be able to rely on locking and unlocking ability all the time. One possible failure mode is when a memory 22 holding the system configuration 77, passwords, calibration offsets, and pointers to event log memory 22 gets corrupted. This memory 22 area, also called a header, is duplicated and also held in a different location. The second header (also called a redundant header) in normal operation is exactly the same as the first one. If a corruption happens to one header, the remaining one is used for repair.
If the EEPROM memory 22 is functional, when different events happen, they are recorded into an event memory 22. In order to utilize the event memory 22 efficiently, there may be several different types of events. A different number of bytes may be used to store each event, depending on the implementation and data needed to be stored. In one embodiment shown in
In one embodiment, in order to access the ECU 14, the user must have a valid software license. Licenses for different ECU's are stored in a license file.
There is also a User password 181 available to the user, needed to limit the access to the PC program 19 to the authorized people only. The Administrator password 184 could also be used to access the ECU 14 and the PC program 19, even if the User password 181 is not known to the administrator—he cannot change the User password 181 without knowing the old one, though. The only way to reset the User password 181 is to reinstall the PC program 19. When the Administrator password 184 is used to access the ECU 14, there is a data packet 61 returned to the PC, which includes the valid Access password 183 for that ECU 14. Then, the PC program 19 can use the obtained serial number 182 and Access password 183 to verify software license 180. If the EEPROM memory 22 is corrupted, the ECU 14 status packet 62 contains this information in the status byte 59. At this time, the PC program 19 needs to use default passwords 185 (or 186) and the serial number 0 for any ECU 14 access. The corrupted memory 22 cannot be repaired or reset in the field. The ECU 14 needs to be sent for service to the supplier.
If diagnostics mode is enabled (
If a brand new ECU 14 is connected to the PC program 19, the communication is not possible, because the firmware is not programmed yet to the microcontroller 20 flash memory. Therefore, in this particular case, the Administrator password 184 cannot be verified. The User password 181 is needed to start the PC program 19 and verify if the ECU 14 is responding to commands at 209. If there is no PC-ECU communication, the program 19 could load the ECU 14 firmware at 210. When the firmware is programmed and communication established at 203, either a generic license (S/N 0, default Access password 185) is verified at 204 and the user finishes its tasks in this mode, or he is prompted for the default Administrator password 186 at 206 to continue diagnostics and/or setup the passwords 183 or 184, and/or the serial number 182, and/or create the user software license file 180.
The matter set forth in the foregoing description and accompanying drawings is offered by way of illustration only and not as a limitation. While particular embodiments have been shown and described, it will be apparent to those skilled in the art that changes and modifications may be made without departing from the broader aspects of applicants' contribution.