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

2 visualizzazioni (ultimi 30 giorni)
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 Commenti
Kaustubha Govind
Kaustubha Govind il 15 Ago 2013
Do you have a set of drivers/libraries from the vendor to interface with the registers from, say, a C/C++ application?
Douglas Robinson
Douglas Robinson il 19 Ago 2013
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.

Accedi per commentare.

Risposta accettata

Kaustubha Govind
Kaustubha Govind il 19 Ago 2013
Modificato: Kaustubha Govind il 19 Ago 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 Commenti
Douglas Robinson
Douglas Robinson il 19 Ago 2013
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?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Simulink Coder in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by