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

4 visualizaciones (últimos 30 días)
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 comentarios
Kaustubha Govind
Kaustubha Govind el 15 de Ag. de 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 el 19 de Ag. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Kaustubha Govind
Kaustubha Govind el 19 de Ag. de 2013
Editada: Kaustubha Govind el 19 de Ag. de 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 comentarios
Douglas Robinson
Douglas Robinson el 19 de Ag. de 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?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Simulink Coder en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by