Navigating the complexities of SAE J1939 can be challenging, but A Comprehensible Guide to J1939 Ebook, available at CONDUCT.EDU.VN, offers a streamlined solution. This guide provides a clear understanding of J1939, focusing on its message format and network management, essential for engineers and technicians in the automotive and industrial sectors. Explore topics like Parameter Group Numbers (PGNs), data link layer protocols, and network communication to enhance your expertise. Unlock the power of efficient vehicle network technology with comprehensive insights into CAN bus systems, vehicle diagnostics, and industrial communication standards, all meticulously compiled to enhance your grasp of vehicular electronic controls and communication protocols.
1. Understanding the J1939 Standard: A Detailed Overview
SAE J1939 is a communication protocol specifically designed for use in heavy-duty vehicles, particularly in the off-highway sector, including construction, agriculture, and forestry equipment. Developed by the Society of Automotive Engineers (SAE), J1939 builds upon the Controller Area Network (CAN) to provide a standardized method for electronic control units (ECUs) to communicate with each other. This standardization ensures interoperability and facilitates diagnostics, control, and data exchange across different vehicle systems.
1.1. The Core Principles of J1939
The foundation of J1939 lies in its ability to create a cohesive communication network where various components of a vehicle can interact seamlessly. Here are its core principles:
- Standardization: J1939 defines a common language for ECUs, regardless of the manufacturer or specific function, enabling them to exchange data uniformly.
- Efficiency: By utilizing CAN as its base, J1939 benefits from CAN’s efficient data transmission capabilities, including high-speed communication and error detection.
- Flexibility: The protocol is designed to handle a wide array of data types, from engine parameters to diagnostic information, making it suitable for diverse applications.
- Scalability: J1939 can be implemented in simple or complex vehicle architectures, accommodating a range of ECUs and data requirements.
1.2. Key Benefits of Using J1939
Implementing J1939 offers significant advantages for vehicle manufacturers, technicians, and end-users:
- Improved Diagnostics: Standardized diagnostic messaging allows for quicker and more accurate identification of vehicle issues.
- Enhanced Control: Centralized control systems can be implemented, optimizing vehicle performance and efficiency.
- Increased Interoperability: Components from different manufacturers can work together seamlessly, reducing integration challenges.
- Reduced Development Costs: By using a standardized protocol, manufacturers can reduce the time and resources needed to develop and integrate electronic systems.
- Regulatory Compliance: J1939 aids in meeting emissions and safety regulations by providing reliable data for monitoring and control systems.
1.3. Applications of J1939
J1939 finds applications in a wide range of heavy-duty vehicles and industrial equipment:
- Agriculture: Tractors, harvesters, and other agricultural machinery.
- Construction: Excavators, bulldozers, and loaders.
- Forestry: Logging equipment and timber harvesters.
- Material Handling: Forklifts and other warehouse vehicles.
- Trucking: Heavy-duty trucks and commercial vehicles.
- Marine: Ships and other marine vessels.
- Power Generation: Generator sets and industrial engines.
1.4. CONDUCT.EDU.VN: Your Resource for J1939 Expertise
For in-depth knowledge and practical guidance on J1939, CONDUCT.EDU.VN provides a wealth of resources. Whether you’re an engineer designing vehicle systems, a technician diagnosing issues, or a student learning about automotive technology, our platform offers expert insights to help you succeed.
2. Diving Deep: The Technical Aspects of J1939
Understanding the technical details of J1939 is crucial for anyone working with heavy-duty vehicle electronics. This section explores the key components and concepts that make up the J1939 protocol, providing a comprehensive foundation for further study.
2.1. Controller Area Network (CAN) as the Foundation
At its core, J1939 relies on the Controller Area Network (CAN) for physical data transmission. CAN is a robust communication protocol designed to allow microcontrollers and devices to communicate with each other in applications without a host computer.
2.1.1. CAN Characteristics
- Multi-Master: Any node can initiate a message transmission.
- Message-Oriented: Data is transmitted in the form of messages, not addresses.
- Priority-Based: Messages are prioritized, ensuring critical data is transmitted first.
- Error Detection: Built-in mechanisms for error detection and correction.
2.1.2. CAN Data Frame Architecture
The CAN data frame includes fields such as:
- Identifier: Determines the priority of the message.
- Data Length Code (DLC): Indicates the number of data bytes.
- Data Field: Contains the actual data being transmitted.
- Cyclic Redundancy Check (CRC): Ensures data integrity.
2.2. J1939 Message Format
J1939 extends the CAN protocol with a specific message format designed for vehicle communication. The key elements of a J1939 message include:
- Parameter Group Number (PGN): Identifies the type of data being transmitted.
- Source Address (SA): Indicates the ECU transmitting the message.
- Data Field: Contains the actual parameter values.
2.2.1. Extended Message Identifier
J1939 uses a 29-bit identifier, which includes the PGN and SA. This extended identifier allows for a large number of unique messages and devices on the network.
2.2.2. Protocol Data Unit (PDU)
The PDU is a key component of the J1939 message format, consisting of the PGN and SA. It provides essential information for routing and interpreting the message.
2.3. Parameter Group Numbers (PGNs)
PGNs are central to J1939, defining the type of data being transmitted. Each PGN corresponds to a specific set of parameters, such as engine speed, temperature, or pressure.
2.3.1. PGN Structure
The PGN is a 16-bit value, divided into several fields that provide information about the message:
- Priority: Determines the urgency of the message.
- Data Page Select (DP): Extends the number of available PGNs.
- Protocol Data Unit Format (PF): Indicates the type of message.
- Protocol Data Unit Specific (PS): Provides additional information about the message.
2.3.2. Common PGNs
Some common PGNs include:
- Engine Electronic Controller 1 (EEC1): Contains data related to engine control.
- Vehicle Speed, Distance: Reports vehicle speed and distance traveled.
- Ambient Conditions: Provides information about the environment.
2.4. Source Address (SA)
The SA identifies the ECU that is transmitting the message. Each ECU on the network must have a unique address to avoid conflicts.
2.4.1. Address Claiming
When an ECU joins the network, it must claim an address. This process involves broadcasting a message with its preferred address and monitoring the network for conflicts.
2.4.2. Address Management
J1939 includes mechanisms for managing addresses, such as detecting duplicate addresses and reassigning addresses if necessary.
2.5. Data Field
The data field contains the actual parameter values being transmitted. The format and interpretation of the data depend on the PGN.
2.5.1. Suspect Parameter Numbers (SPNs)
Within each PGN, individual parameters are identified by SPNs. Each SPN corresponds to a specific measurement or value, such as engine temperature or fuel rate.
2.5.2. Data Scaling and Units
J1939 defines how data is scaled and represented, ensuring that all ECUs interpret the values correctly. This includes specifying the units of measurement and the range of valid values.
2.6. Transport Protocol
For messages that exceed the maximum CAN data length (8 bytes), J1939 uses a transport protocol to split the message into multiple packets and reassemble them at the destination.
2.6.1. Connection Management
The transport protocol includes connection management messages to establish and maintain the connection between the sending and receiving ECUs.
2.6.2. Message Packaging and Reassembly
Messages are split into smaller packets, each with a sequence number. The receiving ECU uses these sequence numbers to reassemble the message in the correct order.
2.7. CONDUCT.EDU.VN: Your Technical Resource
For deeper insights into these technical aspects, visit CONDUCT.EDU.VN. Our resources offer detailed explanations, examples, and tools to help you master J1939.
3. Practical Applications: Implementing J1939 in Real-World Scenarios
Understanding the theory behind J1939 is essential, but applying that knowledge in real-world scenarios is where true expertise lies. This section explores practical examples of how J1939 is used in various applications, providing insights into the challenges and solutions involved.
3.1. Case Study: Implementing J1939 in an Agricultural Tractor
In modern agricultural tractors, J1939 is used to integrate various systems, such as the engine, transmission, hydraulics, and implements.
3.1.1. System Integration
- Engine Control: The engine ECU transmits data such as engine speed, torque, and temperature to other systems.
- Transmission Control: The transmission ECU communicates gear selection and torque converter status.
- Hydraulic Control: The hydraulic system ECU reports pressure and flow rates.
- Implement Control: Implements such as plows and harvesters exchange data with the tractor’s central control unit.
3.1.2. Data Exchange
Using J1939, these systems can exchange data to optimize performance and efficiency. For example, the engine ECU can adjust fuel delivery based on the load detected by the hydraulic system, or the transmission can shift gears based on the engine speed and torque.
3.1.3. Diagnostics
J1939 also enables advanced diagnostics. If a sensor fails or a system malfunctions, the ECU can transmit a diagnostic message, allowing technicians to quickly identify and resolve the issue.
3.2. Case Study: J1939 in a Construction Excavator
Construction excavators rely on J1939 for precise control and monitoring of their complex hydraulic and mechanical systems.
3.2.1. Hydraulic System Control
- Pump Control: The hydraulic pump ECU regulates pressure and flow based on operator input and system demands.
- Valve Control: Valves control the movement of the excavator’s arm, bucket, and other components.
- Sensor Monitoring: Sensors monitor pressure, temperature, and position to provide feedback to the control system.
3.2.2. Engine and Transmission Integration
The excavator’s engine and transmission are integrated with the hydraulic system via J1939. The engine ECU provides data on engine speed and torque, while the transmission ECU reports gear selection and status.
3.2.3. Safety Systems
J1939 is used to implement safety systems, such as overload protection and stability control. Sensors monitor the excavator’s load and position, and the control system can take corrective action to prevent accidents.
3.3. Implementing J1939: Best Practices
When implementing J1939 in a vehicle or machine, consider these best practices:
- Address Planning: Carefully plan the address assignments to avoid conflicts and ensure efficient communication.
- PGN Selection: Choose the appropriate PGNs for the data being transmitted, ensuring compatibility with other systems.
- Data Scaling: Use consistent data scaling and units to avoid interpretation errors.
- Error Handling: Implement robust error handling to detect and respond to communication failures.
- Testing: Thoroughly test the J1939 implementation to ensure proper functionality and reliability.
3.4. Troubleshooting J1939 Issues
Troubleshooting J1939 issues requires a systematic approach. Here are some common problems and solutions:
- Communication Errors: Check the physical connections, CAN bus termination, and ECU addresses.
- Data Interpretation Errors: Verify the PGNs, SPNs, and data scaling.
- Address Conflicts: Identify and resolve address conflicts using address claiming procedures.
- Timing Issues: Ensure that ECUs are transmitting and receiving data at the correct intervals.
3.5. CONDUCT.EDU.VN: Practical Guidance and Support
For practical guidance and support in implementing and troubleshooting J1939, visit CONDUCT.EDU.VN. Our resources include tutorials, examples, and expert advice to help you succeed.
4. Navigating the J1939 Standards Collection
The SAE J1939 Standards Collection is a comprehensive set of documents that define the J1939 protocol. Understanding these standards is essential for anyone working with J1939.
4.1. Overview of the J1939 Standards
The J1939 Standards Collection includes documents covering various aspects of the protocol, from physical layer specifications to application layer protocols.
4.1.1. Key Documents
- SAE J1939/11 – Physical Layer: Defines the physical characteristics of the CAN bus, including cabling, connectors, and signal levels.
- SAE J1939/21 – Data Link Layer: Specifies the data link layer protocols, including message formatting, error detection, and flow control.
- SAE J1939/71 – Vehicle Application Layer: Defines the application layer protocols, including PGNs, SPNs, and data scaling.
- SAE J1939/81 – Network Management: Specifies the network management protocols, including address claiming and node configuration.
4.1.2. ISO/OSI 7-Layer Reference Model
J1939 is based on the ISO/OSI 7-layer reference model, which provides a framework for understanding the different layers of the protocol stack.
- Physical Layer: Defines the physical characteristics of the network.
- Data Link Layer: Provides reliable data transfer between nodes.
- Network Layer: Handles routing and addressing.
- Transport Layer: Provides reliable end-to-end communication.
- Session Layer: Manages connections between applications.
- Presentation Layer: Handles data formatting and encryption.
- Application Layer: Provides the interface between applications and the network.
4.2. Key Standards in Detail
A closer look at some of the most important standards in the J1939 collection:
4.2.1. SAE J1939/11 – Physical Layer
This standard defines the physical layer requirements for J1939, including:
- Cabling: Specifies the type of cable to be used, including shielded twisted pair.
- Connectors: Defines the connectors used to connect ECUs to the CAN bus.
- Termination: Requires proper termination of the CAN bus to prevent signal reflections.
- Signal Levels: Specifies the voltage levels for CAN signals.
4.2.2. SAE J1939/21 – Data Link Layer
This standard defines the data link layer protocols, including:
- Message Formatting: Specifies the format of J1939 messages, including the PGN, SA, and data field.
- Error Detection: Includes error detection mechanisms, such as CRC, to ensure data integrity.
- Flow Control: Provides flow control mechanisms to prevent data overload.
4.2.3. SAE J1939/71 – Vehicle Application Layer
This standard defines the application layer protocols, including:
- PGNs: Specifies the PGNs used to identify different types of data.
- SPNs: Defines the SPNs used to identify individual parameters within a PGN.
- Data Scaling: Specifies how data is scaled and represented.
4.2.4. SAE J1939/81 – Network Management
This standard defines the network management protocols, including:
- Address Claiming: Specifies the procedures for claiming addresses on the network.
- Node Configuration: Defines the parameters that can be configured on each node.
4.3. Accessing the Standards
The SAE J1939 Standards Collection is available from SAE International. Access to these standards may require a subscription or purchase.
4.4. CONDUCT.EDU.VN: Simplifying the Standards
For a simplified and accessible overview of the J1939 standards, visit CONDUCT.EDU.VN. Our resources provide clear explanations and practical examples to help you understand and apply these complex documents.
5. Network Management in J1939: Ensuring Reliable Communication
Network management is a critical aspect of J1939, ensuring that all devices on the network can communicate reliably and efficiently. This section explores the key components of J1939 network management.
5.1. Address Claiming Procedure
The address claiming procedure is used to assign unique addresses to each ECU on the network. This process prevents conflicts and ensures that messages are delivered to the correct destination.
5.1.1. Single Address Capable ECUs
Some ECUs are designed to use a fixed address. These devices simply broadcast a message with their address and monitor the network for conflicts.
5.1.2. Arbitrary Address Capable ECUs
Other ECUs can use any available address. These devices must claim an address by broadcasting a message with their preferred address and monitoring the network for conflicts.
5.2. ECU NAME and Addresses
Each ECU on a J1939 network has a unique NAME, which is used to identify the device. The NAME includes several fields that provide information about the device, such as its manufacturer, function, and identity number.
5.2.1. NAME Fields
- Arbitrary Address Capable: Indicates whether the ECU can use any available address.
- Industry Group: Specifies the industry group to which the ECU belongs.
- Vehicle System Instance: Identifies the specific vehicle system to which the ECU belongs.
- Vehicle System: Specifies the type of vehicle system.
- Function: Indicates the function of the ECU.
- Function Instance: Identifies a specific instance of the function.
- ECU Instance: Identifies a specific instance of the ECU.
- Manufacturer Code: Specifies the manufacturer of the ECU.
- Identity Number: A unique identifier for the ECU.
5.2.2. Addresses
Each ECU must have a unique address on the network. Addresses range from 0 to 253, with 254 reserved for the null address and 255 reserved for the global address.
5.3. Network Management Procedure
The network management procedure involves several steps:
- Address Claiming: Each ECU claims an address by broadcasting a message with its preferred address.
- Conflict Detection: ECUs monitor the network for address conflicts.
- Address Resolution: If a conflict is detected, the ECUs negotiate to resolve the conflict.
- Node Configuration: Once an address is assigned, the ECU can be configured with its parameters.
5.4. Address Management Messages
J1939 includes several address management messages:
- Request for Address Claimed: Used to request the address of another ECU.
- Address Claimed / Cannot Claim: Used to claim an address or indicate that an address cannot be claimed.
- Commanded Address: Used to assign an address to an ECU.
5.5. CONDUCT.EDU.VN: Expertise in Network Management
For expert guidance on J1939 network management, visit CONDUCT.EDU.VN. Our resources provide detailed explanations, examples, and tools to help you manage your J1939 network effectively.
6. J1939 and Vehicle Diagnostics: Enhancing Maintenance and Repair
J1939 plays a crucial role in vehicle diagnostics, providing standardized methods for accessing and interpreting diagnostic information. This section explores how J1939 is used for diagnostics and the benefits it offers.
6.1. Standardized Diagnostic Messaging
J1939 defines standardized diagnostic messages, allowing technicians to quickly identify and resolve vehicle issues. These messages include:
- Diagnostic Trouble Codes (DTCs): Codes that indicate specific faults in the vehicle.
- Freeze Frame Data: Data captured at the time a DTC was set, providing additional context for the fault.
- Clear DTCs: Commands to clear DTCs after the fault has been repaired.
6.2. Accessing Diagnostic Information
Diagnostic information can be accessed using a diagnostic tool that connects to the vehicle’s diagnostic port. The tool communicates with the ECUs on the J1939 network to retrieve diagnostic messages.
6.2.1. SAE J1939/73 – Application Layer – Diagnostics
This standard defines the diagnostic services and messages used in J1939. It includes specifications for:
- DTC Format: The format of DTCs, including the SPN and Failure Mode Identifier (FMI).
- Diagnostic Services: Services for reading and clearing DTCs, reading freeze frame data, and performing diagnostic tests.
6.2.2. Off-Board Diagnostic Connector
The off-board diagnostic connector is a standardized connector that provides access to the J1939 network. This connector allows technicians to connect diagnostic tools to the vehicle.
6.3. Benefits of J1939 Diagnostics
J1939 diagnostics offer several benefits:
- Faster Troubleshooting: Standardized diagnostic messages allow technicians to quickly identify and resolve vehicle issues.
- Improved Accuracy: Diagnostic tools can provide detailed information about the fault, including the SPN, FMI, and freeze frame data.
- Reduced Downtime: By quickly identifying and resolving issues, J1939 diagnostics can reduce vehicle downtime.
- Enhanced Maintenance: Diagnostic data can be used to monitor vehicle performance and schedule maintenance.
6.4. Practical Applications of J1939 Diagnostics
J1939 diagnostics are used in a variety of applications:
- Vehicle Repair: Technicians use diagnostic tools to identify and resolve vehicle issues.
- Fleet Management: Fleet managers use diagnostic data to monitor vehicle performance and schedule maintenance.
- Emissions Testing: J1939 diagnostics are used to verify compliance with emissions regulations.
6.5. CONDUCT.EDU.VN: Your Diagnostic Resource
For comprehensive information on J1939 diagnostics, visit CONDUCT.EDU.VN. Our resources provide detailed explanations, examples, and tools to help you diagnose and repair J1939-based vehicles.
7. Security Considerations in J1939 Networks
As J1939 networks become more interconnected, security becomes an increasingly important consideration. This section explores the security challenges and solutions in J1939 networks.
7.1. Potential Security Threats
J1939 networks are vulnerable to several security threats:
- Unauthorized Access: Unauthorized users could gain access to the network and modify vehicle parameters.
- Malware: Malware could be introduced into the network, disrupting communication or causing damage.
- Denial of Service: Attackers could flood the network with traffic, preventing legitimate communication.
- Data Theft: Sensitive data, such as diagnostic information, could be stolen.
7.2. Security Measures
Several security measures can be implemented to protect J1939 networks:
- Authentication: Require users to authenticate before accessing the network.
- Authorization: Limit user access to only the resources they need.
- Encryption: Encrypt sensitive data to prevent unauthorized access.
- Firewalls: Use firewalls to prevent unauthorized traffic from entering the network.
- Intrusion Detection: Implement intrusion detection systems to detect and respond to security threats.
- Secure Boot: Ensure that only authorized software can run on the ECUs.
7.3. Industry Standards and Best Practices
Several industry standards and best practices can help improve the security of J1939 networks:
- SAE J3061 – Cybersecurity Guidebook for Cyber-Physical Vehicle Systems: Provides guidance on cybersecurity for vehicle systems.
- ISO 21434 – Road vehicles — Cybersecurity engineering: Specifies requirements for cybersecurity engineering in road vehicles.
- NIST Cybersecurity Framework: A framework for managing cybersecurity risks.
7.4. Future Trends in J1939 Security
Future trends in J1939 security include:
- Increased Use of Encryption: Encryption will become more widely used to protect sensitive data.
- Improved Authentication Methods: More sophisticated authentication methods will be implemented.
- AI-Based Security: Artificial intelligence will be used to detect and respond to security threats.
- Over-the-Air Updates: Secure over-the-air updates will be used to patch security vulnerabilities.
7.5. CONDUCT.EDU.VN: Your Security Resource
For comprehensive information on J1939 security, visit CONDUCT.EDU.VN. Our resources provide detailed explanations, examples, and tools to help you secure your J1939 network.
8. The Future of J1939: Emerging Trends and Technologies
J1939 continues to evolve to meet the changing needs of the automotive and industrial sectors. This section explores some of the emerging trends and technologies that are shaping the future of J1939.
8.1. Increased Bandwidth
As vehicles become more complex and generate more data, the need for increased bandwidth is growing. Future versions of J1939 may support higher data rates to accommodate this increased demand.
8.2. Wireless Communication
Wireless communication technologies, such as Wi-Fi and Bluetooth, are being integrated into J1939 networks to enable remote diagnostics, over-the-air updates, and other advanced features.
8.3. Ethernet Integration
Ethernet is being used as a backbone for J1939 networks, providing higher bandwidth and improved scalability. This allows for more complex communication architectures and the integration of non-J1939 devices.
8.4. AUTOSAR Integration
AUTOSAR (Automotive Open System Architecture) is a standardized software architecture for automotive ECUs. Integrating J1939 with AUTOSAR provides a common platform for developing and deploying automotive applications.
8.5. Cloud Connectivity
Cloud connectivity is enabling new applications for J1939, such as remote monitoring, predictive maintenance, and data analytics. This allows for improved vehicle performance and reduced downtime.
8.6. The Role of CONDUCT.EDU.VN in Future J1939 Development
CONDUCT.EDU.VN is committed to staying at the forefront of J1939 technology. We will continue to provide up-to-date resources, expert guidance, and practical examples to help you navigate the evolving landscape of J1939.
9. Frequently Asked Questions (FAQ) About J1939
This section addresses some of the most frequently asked questions about J1939, providing concise answers to common queries.
Q1: What is SAE J1939?
A: SAE J1939 is a communication protocol designed for use in heavy-duty vehicles, providing a standardized method for ECUs to communicate with each other.
Q2: What is CAN bus?
A: CAN (Controller Area Network) is a robust communication protocol that allows microcontrollers and devices to communicate with each other without a host computer. J1939 is built on top of CAN.
Q3: What is a PGN?
A: PGN (Parameter Group Number) is a unique identifier that specifies the type of data being transmitted in a J1939 message.
Q4: What is an SPN?
A: SPN (Suspect Parameter Number) is a unique identifier for an individual parameter within a PGN.
Q5: How does address claiming work in J1939?
A: Address claiming is the process by which ECUs on a J1939 network obtain unique addresses. ECUs broadcast a message with their preferred address and monitor the network for conflicts.
Q6: What is the J1939 transport protocol?
A: The J1939 transport protocol is used to split messages that exceed the maximum CAN data length (8 bytes) into multiple packets and reassemble them at the destination.
Q7: How is J1939 used for vehicle diagnostics?
A: J1939 defines standardized diagnostic messages, including DTCs and freeze frame data, allowing technicians to quickly identify and resolve vehicle issues.
Q8: What are some common security threats to J1939 networks?
A: Common security threats include unauthorized access, malware, denial of service attacks, and data theft.
Q9: What security measures can be implemented to protect J1939 networks?
A: Security measures include authentication, authorization, encryption, firewalls, and intrusion detection systems.
Q10: What are some emerging trends in J1939 technology?
A: Emerging trends include increased bandwidth, wireless communication, Ethernet integration, AUTOSAR integration, and cloud connectivity.
10. Conclusion: Mastering J1939 with CONDUCT.EDU.VN
Mastering SAE J1939 requires a combination of theoretical knowledge and practical experience. A Comprehensible Guide to J1939 Ebook and the resources available at CONDUCT.EDU.VN provide you with the tools and knowledge you need to succeed. Whether you’re an engineer designing vehicle systems, a technician diagnosing issues, or a student learning about automotive technology, our platform offers expert insights to help you achieve your goals.
Remember, the key to success with J1939 lies in understanding the core principles, mastering the technical details, and applying that knowledge in real-world scenarios. Stay informed, stay curious, and continue to explore the world of J1939 with CONDUCT.EDU.VN.
Ready to dive deeper into the world of J1939? Visit CONDUCT.EDU.VN today for more comprehensive guides, practical examples, and expert insights. Address: 100 Ethics Plaza, Guideline City, CA 90210, United States. Whatsapp: +1 (707) 555-1234. Your journey to mastering J1939 starts here. Let conduct.edu.vn be your guide.