what's the relationship between system signal and Com signal in autosar - autosar

what's the relationship between system signal and Com signal in autosar.?
for my knowledge, Com signal is configured in Com module in BasicSoftware

AUTOSAR_TPS_SystemTemplate describes this in the chapter 5.2 DataMapping.
In short for a Sender/Receiver interface, the data elements (VariableDataPrototype) of a SWCs SenderReceiver port are mapped to SystemSignals and SystemSignalGroups, when the communication between two SWCs are crossing the ECU boundaries, because the SWCs are mapped to different ECUs (Inter-ECU communication).
The SystemSignalGroups are then mapped to ISignalGroups and SystemSignals to ISignals. These ISignals and ISignalGroups are mapped to ISignalIPdus and these are again mapped to Frames (e.g. CanFrames).
The ISignals and ISignalGroups are, what will be configured in EcuConfiguration in Com or LdCom as ComSignals and ComSignalGroups.
The SystemSignals and SystemSignalGroups are, what the RTE configurator will do, to create the mapping of Rte_Read/Write functions to the calls of Com_Send/ReceiveSignal() / Com_Send/ReceiveSignalGroup().

Related

BACnet devices vs BACnet objects

As a beginner in the world of BACnet I am looking into clarification on BACnet devices. If I have a system that I want to be compatible with BACnet I am assuming that the system is considered to be an object such as an analog input and that the actual device is a controller or similar that has multiple objects that plug into it. The ASHREA standard 135-2016 states that there is supposed to be exactly one device object type in each device. Is each system on a BACnet(ie HVAC, sensors, lighting, doors, or anything else) considered a device or an object? Thanks for any help!
A system (such as an air handler), is normally controlled via 1 or more devices. Within each device, each real-world piece of data (such as the measured air temperature, or the control signal sent to a motor) would be a input, an output or a value object.
The control logic for a complex system, like an air handler, would be contained within the collection of devices as either fixed firmware, programmable control modules, or through the configuration of some of the complex standard BACnet object types.
For example, control of a damper within an air handler might be handled by a BACnet Loop object (PID loop) tied to an Analog Output object; detection of adverse conditions with the damper might be monitored by a Event Enrollment object; and a log of the damper's performance might be generated by a Trend Log object. And the overall control logic for the air handler might be handled by a collection of Program objects.
Stepping back and looking at a larger part of the HVAC system, cooperation between the air handler, and the VAV boxes which distribute the conditioned air, might be handled by the Program objects in the air handler devices reading and writing input, output, and value objects in the collection of devices which control the VAV boxes.
Is each system on a BACnet(ie HVAC, sensors, lighting, doors, or
anything else) considered a device or an object?
Anything within a BACnet network with an "instance number" (device address) is considered a DEVICE.
Despite the fact that each device must have an internal object (of type 8=device) wich represents itself. In other words, the "device object" is just a way to represent the properties of it's device, but it is NOT the device itself, nor the device is an object.
I hope I have clarified your doubt.
Cheers!
I'll try to narrow the focus a little more to your question; it's kinda slightly incestual in terms of the self-referential (/almost recursive) nature of the model - at least for the one case of a 'device'.
Here's my stab at a simple summary:-
In terms of a explicit/concrete model, BACnet models the essential/high-level pieces (/players or actors within the model) as either an 'object', or a 'property' hanging-off an (/a parent) object (- most likely just one of a related set of properties that happen to belong to the parent object that's referencing it).
Each object belongs to a class/grouping of objects, or rather more correctly, an object-type (- each object is stamped with one of the standard types - in order to identify it's core/base capabilities).
You have physical devices (- "Woo-hoo! I can touch it!!" ;D).
And then you have BACnet's logical rendition of a device - it's (effectively) not a standalone item within the BACnet model - at least not as much/like an 'object' or 'property' is - it's more so only of interest in terms of 'how I get there'/location of the objects treasure chest - to side-step the device & jump straight into showing interest in it's contained 'objects' (- "stuff my wonderful [object] children, what about me [the parent device]!?" ;P); a 'device' in the BACnet world is represented as a specific one of the object-types - a 'DEVICE'-type object (or rather an object whose 'object-type' property is set to 'DEVICE').
So, not only is it more so a gateway to accessing the real items of interest within our OOP (Object Orientated Programming)-like model - the 'objects' & their associated (/child) 'properties'.
But - and here's where it's a little self-referential/egg-&-chicken; it's also represented as an object itself (above & beyond the more typical case if it just been the location where the set of device objects reside upon the BACnet InterNetwork) - that happens to be the keeper of the list of all the objects that relate to that physical device (- at least as portrayed/exposed by the vendor thru the interpretive dance of BACnet & with a slightly vendor proprietary/open rendition of how the values are conveyed), of which, the 'object-list' property of the (logical device/) 'device' object also contains a reference to the 'device' object/itself. =S
If you read this a few times, it should make some sense; and if it does, then it might at first glance seem a little like nonsense/not immediately intuitive (at least not without seeing it in front of your own eyes). ;P

Enterprise Architect: Model a simple ECU

I've used Enterprise Architect (EA) to create pretty drawings and I've liked it for that purpose. I find that I have a lack of understanding on how diagram elements link between one another. What I find particularly frustrating is that there is very little documentation on how this linking works (although lots of documentation on how to draw pictures).
I would like to create a model of a simple processor/ECU (electronics control unit). Here is the behaviour:
An ECU has an instance of NVRAM (which is just a class) for an attribute
An ECU has a voltage supply (an analog value representing the voltage level supplied to the ECU)
An ECU has two digital input ports
Each digital input port fires signals when its value changes
the ECU has a state machine with three states; the state machine enters state 1 on entry; the state machine transitions to state 2 on a firing of either digital input ports so long as the ECU voltage supply is greater than 10 V
the ECU exists to state 3 when Voltage drops below 8; and goes back to normal processing when Voltage rises above 9
Can you develop a model that demonstrates how these elements interact? (Is there some reference I can read on how to understand this approach?)
Here's my first attempt:
State Machine
I used a composite diagram in the ECU state so that I could have access to the digital ports diagramatically. I created a link for each port so that they "realize" class input PIn. I assume I can depict class attributes this way.
I "create a link" so that the DIO triggers realize the DIO ports. Not sure I can do this.
The class state machine is where I get lost. Not sure on how to create a trigger for ECU.Voltage < 8.

Multi purpose IO solution with FPGA

I've to design an IO-module for an industrial control system in a CAN-bus network.
The IO-pins (10-40 pins) have to be all multi purpose: digital and analog in- and output. Further the pins have to serve as a communication port when needed: Modbus RTU, modbus TCP, DALI, etc. (Analog input max 7 channels)
I understand that all of this options need different HW; like galvanic isolation or different voltage levels etc.
Costs have to be as low as possible.
I was thinking of making this bit of additional hardware as a plug-in module or as an optional additional sandwich PCB.
My question is: Is an FPGA the right choice for this because of the reconfigurable purpose of the IO-pins? (Xilinx, altera/intel and microsemi have FPGA's with ADC's)
You didn't specify if IOs have to be reconfigurable at compile or runtime. In most cases, you cannot change IO properties (type, voltage, terminations,etc.) once HDL code is compiled into FPGA bitstream.

Transmitting odd number of bits serially

I'm implementing a LIN protocol on a Linux SBC that transmits over a UART. I don't have time to develop a complete LIN stack, so I'm just implementing a frame structure for messages as defined by the protocol. The problem is that the protocol requires a "Break" field which makes the slave devices on the bus listen. This field consists of zeros for 13 bit-times. Any ideas how to send zeros 13 bit-times over UART, when serial data transmission requires complete bytes?
Per Wiki:
LIN (Local Interconnect Network) is a serial network protocol used for
communication between components in vehicles. The need for a cheap
serial network arose as the technologies and the facilities
implemented in the car grew, while the CAN bus was too expensive to
implement for every component in the car. European car manufacturers
started using different serial communication topologies, which led to
compatibility problems.
If you would have paid attention at class you would have known that:
Data is transferred across the bus in fixed form messages of
selectable lengths. The master task transmits a header that consists
of a break signal followed by synchronization and identifier fields.
The slaves respond with a data frame that consists of between 2, 4 and
8 data bytes plus 3 bytes of control information.
You should just send an echo of 0x0000 following by CR/LF.

How to programmatically select the BT device to push a file to?

I am designing an information kiosk and need a BT application which can automatically push a file to the nearest BT enabled device assuming that this would be the phone of the person currently standing in front of the kiosk.
Is there any other ways of doing this except by checking the RSSI (Received Singal Strength Indicator)?
Do all Bluetooth stacks support accessing this property?
How accurate is RSSI as the basis for the decision to which device to push to? Can it be that other phones which are further away from the kiosk can emit a stronger signal than the signal coming from the phone of the guy standing right in front of the kiosk?
Not all stacks support RSSI.
There's an alternate way: the device who first answers to Inquiries should have a stronger signal.
Your guess is true, it only depends on signal strength, not distance.
Also, the device with the stronger signal is not necessarily the one which answers first, since implementations of the protocol are different among devices. Thus you would have to test all target devices separately.

Resources