Virtual Breadboarding John Vangelov Ford Motor Company What is Virtual Breadboarding? Uses Vector’s CANoe product, to simulate MATLAB Simulink models in a simulated or real vehicle environment. Allows for one or more ECU models to be simulated concurrently, to validate required behaviors. Allows test vectors of varying scope to be executed against simulation (e.g.: White Box, Black Box, Integrated System Level) What are the Benefits of Virtual Breadboarding? A scalable solution that provides capabilities for prototyping, development and validation. Uses tools that engineers are accustomed to using (Simulink, Vector CANoe). Allows for importing existing Simulink test vectors into CANoe environment. With Vector’s Test Automation Editor, a graphical interface is available for easy test vector editing and creation. Ensures quality of testing with consistent test execution. Provides Test results in a common reporting format. Tests can be shared and executed consistently by different teams Automated reports can be used as validation results. What are the Benefits of Virtual Breadboarding? (continued) • Simulink ports to CANoe models can be automated via script • Mapping of CAN signals • Mapping of digital or analog I/O • Rapid prototyping with real ECUs on the breadboard possible • Operate CANoe in Real Bus Mode • Execute simulation of new algorithms concurrently with existing ECUs • Reuse of existing test cases in CANoe provide additional value • Use existing test cases as Acceptance Criteria when performing Black Box ECU tests Where does Virtual Breadboarding Apply? Virtual Breadboarding supports the traditional development of system designs Virtual Breadboarding supports Rapid Prototyping solutions Test vectors for SIL solutions on the Left-Side of System V can be used as Acceptance Criteria for physical components on Right Side of System V Virtual Breadboarding applies at all phases of the System V. System V image http://sdm.mit.edu/news/news_articles/sdm_keio/v_model.jpg Virtual Breadboarding allows for simulation of entire scope of Vehicle Network Denotes a CAN Node executing a Simulink Model within CANoe Process Overview Inport/Outport Data Stores VConnectDataStore.m CANoe: CAN Networks Model Validation: Test Vectors Steps for Creating a Virtual Breadboard Identify Matlab Model(s) to port to CANoe Map I/O Interface to CANoe Create DLL file for importing into appropriate CANoe node Import the Simulink Model into CANoe Importing test vectors as well as using TAE as an alternative. CANoe node with Matlab Model executing. Identify Simulink Model(s) to port to CANoe Data Store blocks Inport/Outport blocks Process is flexible and can work with models that use Data Store or Inport and Outports. Map I/O Interface to CANoe Simulink Library Browser Add CANoe blocks that map to CANoe system variables to create the link between both simulation environments. Map hardware I/O Interface to CANoe Map the Hardware I/O connected to CANoe to the appropriate System Variable, aligned with its appropriate attributes. Create DLL using RTW Using Real-Time workshop, we use the code generation to create the DLL that will be used within CANoe for simulation. Import Simulink Model into CANoe In the CANoe configuration for the module being simulated: Import the MDL, INI, DLL files. Import Test Vectors Test vectors for the model or system are ported to CANoe’s XML format using a Macro within the Signal Builder spreadsheet. Automated report generated when testing is complete. Modes of Virtual Breadboard Simulation In Offline mode: Simulink® operates the model as fast as possible. Simulink® is the timing master. (non-real-time simulation) CANoe operates in slave mode and simulates the CAN bus while taking measurements relative to Simulink’s® time base. Simulation without hardware access. In Synchronized mode: Simulink® slows down execution time to match CANoe. CANoe is the timing master. CANoe can operate in real mode. Access to real hardware. Use Cases Single ECU simulation Demonstrating CAN communication being generated and processed by a MatLab model executing within CANoe Single ECU simulation Demonstrating both hardware I/O processing, in conjunction with CAN communication Distributed feature functionality Demonstrating that models generated for two different commodities co-simulate, and perform the distributed feature correctly. Use Cases DV Testing Activity using the Test Automation Editor to generate test sequences for automated or semiautomated test execution. These tests can then be leveraged early in design to verify system level requirements are being met. Connected Vehicle testing CANoe.IP allows for a node to not only work with CAN, Hardware Inputs and Outputs, but allows for the simulations to communicate with servers outside of the scope of in-vehicle networks. Summary The Virtual Breadboarding process allows for the use of existing Simulink Models within in its representative target vehicle system. Test vectors for the Simulink Model can be leveraged within CANoe. • Testing can be performed at all phases of feature development in • • SIL or Vehicle environment Test reports are automatically generated and traceable When the physical component is received, the test vectors executed against the simulation are used as acceptance criteria (ensuring requirements have been met) Simulink Models can be executed within the CANoe nodes, within a vehicle, allowing the CANoe simulation to be treated as a rapid prototype device. Questions? Thank You!