Wie Modellierung Embedded-Ingenieuren Hilft,AnwendungenFürSoCSZUNENWICKELN

Von Mark Corless和Eric Cigan, MathWorks


在我们的研究中,我们建立了一个模型,可以建立嵌入式软件算法团队,可以建立汽车算法,可以建立系统芯片(SoC)实现团队。我们的模具嵌入工程师在柴油团队。我们要做的是,我们的模型是unterstützte,我们不需要分割,我们要做的是实现我们的工作和劳动。

程序员使用SoCs wie Xilinx®Zynq®soc和阿尔特拉®SoC fpga,模具编程Logik和Mikroprozessorkerne和他们的gleichen芯片vereinen, bieten Entwurfsteams新平台für die algorithmenen - entwicklung在vielfältigen Anwendungsbereichen, die Embedded Vision, Kommunikationstechnik, sowie Regelungstechnik von Motoren和Leistungselektronik umfassen。Zu diesen Entwurfsteams gehören in der Regel zwei Kategorien von Ingenieuren:Algorithmus-Ingenieure, für die Konzeptentwicklung and Ausarbeitung mathematik and regelbasierter Algorithmen verantwortlich sind, and embedde- ingenieure, die für die Verfeinerung der Algorithmen and derenimplementierung in Software or Hardware and einer integrierten Baugruppe zuständig sind。

algorithmuse - ingenieure nutzen die Modellierung häufig bereits frühzeitig im Entwicklungsprozess, um sicherzustellen, dass ihre Algorithmen für die jeweilige Anwendung korrekt funktionieren。嵌入的工程师在建模的过程中可能会遇到一些问题。Falls diese队的所有队伍中都有他们的名字,他们的名字是verspäteten fehlerkennung and dadurch zu Projektverzögerungen, übermäßigem Ressourcenverbrauch oder einer beeinträchtigten Funktionalität aufgrund unzureichender Entwurfs- und testterationen kommen。

不当Ziel War Es,Zu Ermitteln,ob Modellierung Sowohl算法 - Als Auch Embedded-Ingenieuren Dabei Helfen Kann,Einen Effizienteren und Kooperativeren Entwurfsprozess Zu Schaffen。Dabei Wollten Wir Auf Die Modellierung von algorithmus-Komponenten Konzentrieren,Die Wir Mittels模拟Erkunden Konnten。仿真Sollte Genutzt Werden,UM PartitionierungsentsCheidungen ZuUnterstützen,Sumulation und Codegenerierung Sollten Verwenget Werden,UM Das Funktionale Verden inderunce Auf Diementierungsrourcen abzustimmen und Die Integration und Bereitstellung des Gerenierten und Manuellen Codes Sollte Automatisiert Werden,UM Diamatiensierventen Zu Nutten。

Vorgeschlagener工作流

Wir Schlugen Einen Workflow Vor,Der Aus Einer Kombination Von Aus Modellen Generiertem代码MIT Manuellem代码Bestehen Sollte。(在Diesem Artikel Bezeichnen Wirhen Manuell Programmierten Teil des Entwurfs Als Regelenzdesign。)Wir Wollten Mit Modellen Beginnen,Die Vom almorithmus-Entwickler Bereitellt Werden Sollten,und Die Modelle Iterativ DurchHinzufügenVonImementirungsdetailsousarbeiten。麻省理工学院迭代频率Das Systemverhalten Simuliert Werden,UM Die Korrekte Funktion der AlgorioneN-Modelle ZuGewährleisten,Die Algorithmen Sollten Mit Codegenerierung Impertiert Werden,UM Code Zu Erhalten,Der Sich Wie Das ModellVerhält,undAnschließendSollte Die Integration Mit Underem RearenzDesign自动集成,UM Einen Wiederhelbaren Prozess ZuGewährleisten,Der Zur Hardware-ImplementierungFührt(Abbildund 1)。

Abbildung 1:工作流Entwicklung和Bereitstellung在einem SoC中的算法zur Motorregelung。

Auswahl静脉Hardware-Plattform

FÜR柴油瀑布·哈比·宇航员艾琳·恩·恩·埃尔·欧莱恩·艾恩·埃尔温弗雷夫斯·艾因·奥尔特温省 - 同步戈尔蒂安·韦尔维登通米尔(现场导向控制,Foc)MIT Darauffolgender BereitStellung Auf Einen Zynq-7000所有可编程SoC智能驱动器套件II(ABBILDUNG 2)entschieden。Wirwähltendie Motorregelung,Da Es Sich Dabei UM EINE Anwendung Handelt,Bei der algorithmus-und嵌入式 - IngenieureOftzusammenarbeitenMüssen。Das Zynq Intellive Drives Kit II WurdeAusgewählt,Weil Es SofortVerfügbaristund von von unsforderte I / O-Unterstützung百年。

ABBILDUNG 2:Zynq Intelligent Drives Kit II MIT Optionalem Dynametersystem(von Avnet Electronics Marketing)。

Das Zynq Intelligent Drives Kit II IST EINE ENTWICKLUNGSPLATTFORP,DIE VONIEUREN Eingesetzt WIRD,DIE algorionen Zur Motorregelung Auf Einem Zynq Z-7020 Soc-BausteinAusführenundyesvührenund testen。DAS KIT Basiert AUF DEM Zedboard-Entwicklungs-Board und Umfasst Ein模拟设备FMC-Motorsteuerungsmodul SowieEinenBürstenlosen24-V-Gleichstromotor Mit Einem编码器MIT 1250 Zyklen / Umdrehung。Wiil Wir Die AlgorithmenFürieMotorregelungunter verschiedenen Betriebedingungen Testen Wollten,Verwendeten Wir Das Zynq Intellive Drives Kit II MIT Einem Rocientingen Dynametersystem。

Partitionierung der algorithmus-Komponenten

硬件平台的详细信息prüften输入算法-工程师的系统仿真模型和识别算法- komponenten, für输入算法- komponenten,输入würden。这个模型的最基本算法是für,它的基本参数是马达。Dieser算法最好适用于äußeren Geschwindigkeitsregelschleife,在FOC regelte中有一个内在的Stromregelschleife。

在此基础上,我们研究了模型的数学模型,berücksichtigte的编码和PWM,以及für andere Betriebsarten erforderlichen algorithmuss - komponenten算法。我们首先介绍了dem算法,首先介绍了算法和Komponenten模型,然后介绍了在编程的基础上,在SoC (Abbildung 3)实现中使用的ARM算法。

Abbildung 3。Partitionierung Algorithmus-Komponenten。

我们为ursprünglichen系统建立了模型,因此我们采用了新的算法- komponenten enthalten (Abbildung 4)。我们的系统仿真模型为ermöglichen,同时我们还采用参数模型作为外围komponenten的参数,建立了模型之间的联系。Wir hatten z. B. bestehenden HDL-Code für die Peripheriekomponente Encoder, den wieitgestellten Entwurf wiederverwenden wollten。Die Peripheriekomponente编码器最早einen Datenstrom数字脉冲bei 50 MHz和übersetzt diese在Zählersignale, Die velungsalgorithmus mit 25 kHz gelesen werden。Wenn wir diesen impulse direkt modellieren würden, würden wir eine 50mhz - dynamik在系统模型einführen和模具仿真zeit beträchtlich erhöhen。stattdesellten在编码器的参数模型中,理想的旋转位置和在Encoder-Zählersignal的模型中,在算法和komponenten的规则中。这位Genauigkeitsstufe Modellierung auf ermoglichte爹妈死模拟der zum Testen der Encoder-Kalibrierungskomponente erforderlichen Startbedingungen和死Einfuhrung冯Positions-Quantisierungseffekten zum Testen der Geschwindigkeitsregelungs-Komponente (Abbildung 5)贝gleichzeitiger Wahrung angemessener Simulationszeiten。

Abbildung 4: System-Simulationsmodell。

Abbildung 5:Ergebnisse Der SysemsimulationFüriekalibierungdes编码器und die gestuften geschwindigkeitsvorgaben。

我们将通过für在ARM上实现算法komponenten,并将其与weniger erforderten联系起来。在Linux系统中,我们将会在Beschränkung上看到战争的结果®-betriebssystem auf dem armauszuführen。Algorithmus-Komponenten,Die Schnellere Raten Erfordern,Sollten Im FPGA Impecticiert Werden。

Wir wollten algorithm - komponenten wenn möglich auf dem ARM implementien, weil Wir festgestellt hatten, dass Entwurfsiterationen auf dem ARM schneller auf dem FPGA waren。我们要讲的是,算法和实现者之间的关系,我们要讲的是本地数学家Gleitkomma-Operationen unterstützte。Die meisten fpga führen Gleitkomma-Operationen nur低效aus, daher erfordert Die Implementierung in programerbarer Logik den zusätzlichen Schritt der Umwandlung von Algorithmen in das Festkommaformat。Darüber hinaus stellten wir fest,为孔皮里erung的进程C-Code für在ARM的Regel schneller的孔皮里eren孔皮里eren的HDL-Code für FPGA战争。

我们进行了模具仿真,首先介绍了算法- komponenten bei Raten ausgeführt werden konnten, die langsam genug für den ARM waren,最后介绍了FPGA。Beispiel: Der algorithmuss - ingenieur schlug zunächst eine Encoder-Kalibrierungsroutine vor, die bei 25khz ausgeführt wurde,是由FPGA实现werden müsste。我们的verwendeten模具模拟,um zu testen, ob的模具编码kalibrierungskponente bei 1khz ausführen könnten, stellten fest, dass dies möglich战争,和beschlossen,您的ARM实现。

Abstimmung des funktironyen verhytens a die simpleationrenceourcen

在gewünschten Komponentenraten vorliegen hatten,在einem gruppierten我们阿莱毛皮死C-Codegenerierung vorgesehenen Komponenten Algorithmus-C-Modell和阿莱Komponenten毛皮死在einem HDL-Codegenerierung Algorithmus-HDL-Modell (Abbildung 6)。丹fugten我们iterativ Implementierungsdetails吧台Modellen hinzu和generierten代码,bis我们der美浓waren,在艾南akzeptablen的Speicherbereich pasen würde和在Komponentenrate ausgeführt werden könnte。

Abbildung 6:模型的Regelungsalgorithmus für die C和HDL-Codegenerierung。

Wir benutzten嵌入式编码器®,嗯,我们的算法- c -模型C-Code是通用的,在Schnittstelle des Aufrufs sowie die geschätzte Datenspeichernutzung zusammengefasst wurden。他们在那里度过了一段美好的时光,他们在那里度过了一段美好的时光。它是羊毛,它是Daten,它是Schnittstelle,它的FPGA bilden würden, Ganzzahl- ostkommawerte sein solten。其余的数学工作都是为了解决这个问题。我们从模型和仿真中得出数据,嗯bestätigen,这是关于战争的信息,通常是关于代码的。这是一个非常复杂的程序,它的代码für实现了ARM网络的战争。

我们将实现算法- hdl - model和fpga的Festkomma-Datentyp, Festkomma-Operationen。大我研究了算法-工程师祖斯曼,嗯,我们研究了Schlüsselsignalen我的识别和费祖halten (Stromstärke, Spannung和Geschwindigkeit)。Dann definerten wir mithilfe von定点设计师™Festkomma-Datentypen, die gewährleisten würden, dass es zu keinem Berechnungsüberlauf kommen würde。Mithilfe von HDL Coder™generierten wire Code和einen Code generierungsbericht。

Wirüftendenchnitt Zur Ressourcennutzung des Berichts,UM Mathematische Operation Zu Intentifizieren,Die UnerWartet Umfassend Erschienen。Ein Beispiel:Unswahl derWortlängenführtezu mehreren umplikationen von zwei 34位Zahlen,Wenerderen von zwei 34位Zahlen,Wenfer-ressourcen aufbrauchenwvürde是不结合的梅内安纳赫。Wir Konnten Dieses问题IM Bericht Zur Ressourcennutzung Identifizieren,DiePräzisionModellReduzieren,Mithilfe der SimumationBestätigen,Dass DieFunktionitätNochKorrekt War,und Dann Den Verbesserten Code Generieren。Wir Synthetisierten DEN代码MILLFE von Xilinx Vivado®设计套件和bestätigten, dass模具计时- anforderungen erfüllte。

Testen im劳动

我们有一个很好的算法和候选算法für,它是一个完整的设计方案。在unser manuell codiertes vivdo - projekt中,Wir开始着手于集成C-Funktion mithilfe unseres manuell codierten embedded - arm - projects和der Integration der generierten dll - entity。我们将继续工作,并将继续工作。他在Verwendung中最擅长的是工作流、算法和自动化,以及积分和自动化。

Xilinx zynq -7000- platform的HD金宝appL编码器支持包für die Xilinx zynq -7000- platform, umser manuell codiertes Vivado-Projekt als Referenzdesign zu registrieren。本文介绍了一种基于FPGA的自动编码算法- hdl -Code的集成。嵌入式编码支持包für die Xilinx zynq -7000- 金宝appplatform zur Automatisierung der Integration des generierten algorithmuss - c - codes mit einem Linux-Betriebssystem, Erstellung einer ausführbaren Datei, zum herunterdier Datei auf den arm - prozor and zur Interaktion mit dem program über Simulink金宝app®.模具支持金宝app以轴互连为基础,在arm prozessorkern和程序设计中使用算法为基础ermöglichte。

Während der anfänglichen系统的战争的基础上,算法和嵌入式工程师的劳动,以我们的努力。将模具嵌入-工程师必须进行模具部署-配置einrichten和mit算法-工程师zusammenarbeiten,嗯模具背景Funktionalität zu验证。这是一场系统战争,算法工程师selbstständig在Simulink中模拟了Hauptschnittstelle和SoC ausführen。金宝app

der algorithmus-ingenieur testete die Eingesetzte Regelung und Stellte Fest,Dass Sie Nicht Die Erwartete Reaktion Lieferte。der vergleich der仿真 - und硬件 - ergebnisse zeigte dann,Dass Wir Die Zuordnung des Adc-ZurstromstärkeFalschBerechnet哈丁·伯托克der algorithmus-ingenieur osterellte weitere测试,UM Die Drehmomentkonstante Des Motors Besser Zu Charakterisieren und Die Korrelation Zwischen仿真und硬件(Abbildung 7)Zu Verbessern。

7: Vergleich von simulation - und Hardware-Ergebnissen。

在模拟和硬件测试中,我们使用了模型和其他方法,并进行了进一步的简化。在劳工运动中,有一项是最重要的,它将被称为Umständen。我们的问题是Überlauf在FPGA实现中实现的。我们再现了仿真问题,并在此基础上找出了问题的根源anfänglichen在此基础上提出了马达的最大值。我们在模拟中遇到了一些问题,并在Änderung上进行了验证。

Vorteile这本拟设

Der Hier Beschriebene工作流ERMÖGLICHTEEINEFSUIZINEREZUSAMMENARBEITMIT DEM algorithmus-Ingenieur Als Zuvor。Durch Simulation Konnten Wire Auswirkung der algorithmus-partitionierung Auf Die Systemleistung Beurteilen und Verifizieren,Dass Die Encoder-KalibierungsKomponente von derHöheratigenProgrammierbaren Logikpartition Zur Niederratigen Arm-Partition verschoben Werden Konnte。

模具仿真ermöglichte uns, Entscheidungen zu treffen,模具实现的资源,während gleichzetig das funktionale Verhalten gewahrt blieb。Hierzu gehörte z. B. die Reduzierung der Wortlänge mathematischer der programmieraren Logik der Konvertierung der über das axis - interconnect weiteleitten datitkomma datentypen。schliie ßlich konnten wir mithilfe unserer原型测试是劳工的工作,在Zuordnung的ADC-Zählerwerte zur Stromstärke ermitteln und ermöglichte, es unserem算法- ingenieur weitere测试在汽车的Drehmomentkonstante的特性durchführen。

由于工作流程和算法是工程师的工作流程,所以效率很高,因此实施了ermöglicht的工作流程和数据处理方法。

您是信息中心benötigen吗?

“磁场定向控制永磁同步电机”的工作流程。本文采用simulink模型和MATLAB进行建模金宝app®-脚本,在unserer的研究verwendet wurden, um Simulationen auszuführen,代码一般,硬件测试和Simulationsläufe在硬件测试vergleichen。

瀑布塞尔·奥尔多尼文化威尔·普通术Zur Motorregelung Interetsiert Sind Oder Die在Diesem Artikel und Im Beispiel Angebnenen ErgebnisseSolduzierenMönnenSieWeitere InformengÜberDasAvnetZynq智能驱动器套件IIN von Avnet Electronics Marketing Einholen。

UM Das Zynq-Motorregelungsbeispiel Auf Andere硬件-Konfigurationen Oder Andere Klassen von Soc-Baustein von Xilinx Oder Altera Auszuweiten,EmpFehlen Wir,Das Beispiel“定义和注册定制的SoC工作流程的COND参考设计”ZURATE Zuzhen。

Weitere Einblicke in die Erstellung hochpräziser Modelle von PMSM- und BLDC-Motoren für die Verwendung mit 金宝appSimulink finden Sie im Artikel“Entwickeln eines qualitativ hochwertigen elektromotor - models für das Design and die Verwendung eines Regelungssystems”。

Veröffentlicht 2017 - 92977v00