How can I interface a set of 32-bit hardware registers with a Simulink Model generated using Simulink encoder?

I have a simulink model that simulates the flight dynamics of a guidance system. The inputs to the model and outputs from the model are relayed to/from a single board computer via a set of 32-bit hardware registers that are accessible on card over a PCI bus.
In general, what would be the best approach? The goal is to minimize the amount of hand-crafting and to minimize the number changes to non-model code everytime changes to the model are made? And what would be the most appropriate MATLAB/Simulink tools for this task?
Thanks in advance.

2 commentaires

Do you have a set of drivers/libraries from the vendor to interface with the registers from, say, a C/C++ application?
It is custom hardware and I have written a driver. Really all the hardware consists of is a set of memory-mapped 32-bit registers accessible over a PCI bus.

Connectez-vous pour commenter.

 Réponse acceptée

Kaustubha Govind
Kaustubha Govind le 19 Août 2013
Modifié(e) : Kaustubha Govind le 19 Août 2013
You can use C-MEX S-functions to create custom driver blocks that call into your C driver code. Please use the Legacy Code Tool to automatically generate an S-function wrapper for your driver code. You can then use the resultant S-function like any other Simulink block.

2 commentaires

What I think you are suggesting is to replace each inport and outport block of the model with a C-MEX S-function that performs either a memory-mapped I/O read from or write to the appropriate register. Is that correct?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Deployment, Integration, and Supported Hardware dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by