Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink
Hardware-in-the-loop testing is usually a part of the design cycle of control systems. Efficient and fast models can be created in a Hardware Description Language (HDL), which is implemented in a Field-Programmable Gate Array (FPGA). Control engineers are more skilled in higher-level approaches. HDL...
| Autores: | , , |
|---|---|
| Tipo de recurso: | artículo |
| Fecha de publicación: | 2023 |
| País: | España |
| Institución: | Universidad Autónoma de Madrid |
| Repositorio: | Biblos-e Archivo. Repositorio Institucional de la UAM |
| Idioma: | inglés |
| OAI Identifier: | oai:repositorio.uam.es:10486/711631 |
| Acceso en línea: | http://hdl.handle.net/10486/711631 https://dx.doi.org/10.3390/electronics12132786 |
| Access Level: | acceso abierto |
| Palabra clave: | field-programmable gate array hardware-in-the-loop MATLAB power converters Simulink Telecomunicaciones |
| id |
ES_754e8eaacd6139ba1e4660c8d11fdd8a |
|---|---|
| oai_identifier_str |
oai:repositorio.uam.es:10486/711631 |
| network_acronym_str |
ES |
| network_name_str |
España |
| repository_id_str |
|
| spelling |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/SimulinkSaralegui, RobertoSánchez González, AlbertoCastro Martín, Ángel defield-programmable gate arrayhardware-in-the-loopMATLABpower convertersSimulinkTelecomunicacionesHardware-in-the-loop testing is usually a part of the design cycle of control systems. Efficient and fast models can be created in a Hardware Description Language (HDL), which is implemented in a Field-Programmable Gate Array (FPGA). Control engineers are more skilled in higher-level approaches. HDL models derived automatically from schematics have noticeably lower performance, while HDL models derived from their equations are faster and smaller. However, even models translated automatically into HDL using the equations might be worse than manually coded models. A design workflow is proposed to achieve manual-like performance with automatic tools. It consists of the identification of similar operations, forcing signal signedness, and adjusting to multiplier input sizes. A detailed comparison was performed between three workflows: (1) translation of high-level MATLAB code, (2) translation of a Simulink model, and (3) working directly in the HDL. Sources of inefficiency were shown in a buck converter, and the process was validated in a full-bridge with electrical losses using a Runge–Kutta method. The results showed that the proposed approach delivered code that performed very close to a reference VHDL implementation, even for complex designs. Finally, the model was implemented in an off-the-shelf FPGA board suitable for a hardware-in-the-loop test setupThis work was supported by the Madrid Government (Comunidad de Madrid-Spain) under the Multiannual Agreement with Universidad Autónoma de Madrid in the line for the Excellence of the Universitary Teaching Staff, in the context of the V PRICIT (Regional Programme of Research and Technological Innovation)MDPIDepartamento de Tecnología Electrónica y de las ComunicacionesEscuela Politécnica Superior20232023-07-23research articlehttp://purl.org/coar/resource_type/c_2df8fbb1VoRhttp://purl.org/coar/version/c_970fb48d4fbd8a85info:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/10486/711631https://dx.doi.org/10.3390/electronics12132786reponame:Biblos-e Archivo. Repositorio Institucional de la UAMinstname:Universidad Autónoma de MadridInglésengopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:repositorio.uam.es:10486/7116312026-06-23T12:46:27Z |
| dc.title.none.fl_str_mv |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink |
| title |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink |
| spellingShingle |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink Saralegui, Roberto field-programmable gate array hardware-in-the-loop MATLAB power converters Simulink Telecomunicaciones |
| title_short |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink |
| title_full |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink |
| title_fullStr |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink |
| title_full_unstemmed |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink |
| title_sort |
Efficient hardware-in-the-loop models using automatic code generation with MATLAB/Simulink |
| dc.creator.none.fl_str_mv |
Saralegui, Roberto Sánchez González, Alberto Castro Martín, Ángel de |
| author |
Saralegui, Roberto |
| author_facet |
Saralegui, Roberto Sánchez González, Alberto Castro Martín, Ángel de |
| author_role |
author |
| author2 |
Sánchez González, Alberto Castro Martín, Ángel de |
| author2_role |
author author |
| dc.contributor.none.fl_str_mv |
Departamento de Tecnología Electrónica y de las Comunicaciones Escuela Politécnica Superior |
| dc.subject.none.fl_str_mv |
field-programmable gate array hardware-in-the-loop MATLAB power converters Simulink Telecomunicaciones |
| topic |
field-programmable gate array hardware-in-the-loop MATLAB power converters Simulink Telecomunicaciones |
| description |
Hardware-in-the-loop testing is usually a part of the design cycle of control systems. Efficient and fast models can be created in a Hardware Description Language (HDL), which is implemented in a Field-Programmable Gate Array (FPGA). Control engineers are more skilled in higher-level approaches. HDL models derived automatically from schematics have noticeably lower performance, while HDL models derived from their equations are faster and smaller. However, even models translated automatically into HDL using the equations might be worse than manually coded models. A design workflow is proposed to achieve manual-like performance with automatic tools. It consists of the identification of similar operations, forcing signal signedness, and adjusting to multiplier input sizes. A detailed comparison was performed between three workflows: (1) translation of high-level MATLAB code, (2) translation of a Simulink model, and (3) working directly in the HDL. Sources of inefficiency were shown in a buck converter, and the process was validated in a full-bridge with electrical losses using a Runge–Kutta method. The results showed that the proposed approach delivered code that performed very close to a reference VHDL implementation, even for complex designs. Finally, the model was implemented in an off-the-shelf FPGA board suitable for a hardware-in-the-loop test setup |
| publishDate |
2023 |
| dc.date.none.fl_str_mv |
2023 2023-07-23 |
| dc.type.none.fl_str_mv |
research article http://purl.org/coar/resource_type/c_2df8fbb1 VoR http://purl.org/coar/version/c_970fb48d4fbd8a85 |
| dc.type.openaire.fl_str_mv |
info:eu-repo/semantics/article |
| format |
article |
| dc.identifier.none.fl_str_mv |
http://hdl.handle.net/10486/711631 https://dx.doi.org/10.3390/electronics12132786 |
| url |
http://hdl.handle.net/10486/711631 https://dx.doi.org/10.3390/electronics12132786 |
| dc.language.none.fl_str_mv |
Inglés eng |
| language_invalid_str_mv |
Inglés |
| language |
eng |
| dc.rights.none.fl_str_mv |
open access http://purl.org/coar/access_right/c_abf2 |
| dc.rights.openaire.fl_str_mv |
info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
open access http://purl.org/coar/access_right/c_abf2 |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
MDPI |
| publisher.none.fl_str_mv |
MDPI |
| dc.source.none.fl_str_mv |
reponame:Biblos-e Archivo. Repositorio Institucional de la UAM instname:Universidad Autónoma de Madrid |
| instname_str |
Universidad Autónoma de Madrid |
| reponame_str |
Biblos-e Archivo. Repositorio Institucional de la UAM |
| collection |
Biblos-e Archivo. Repositorio Institucional de la UAM |
| repository.name.fl_str_mv |
|
| repository.mail.fl_str_mv |
|
| _version_ |
1869410970947813376 |
| score |
15,300724 |