Transcript

661

Proceedings of the 26th Chinese Control ConferenceJuly 26-31, 2007, Zhangjiajie, Hunan, China

�� MATLAB ��� CAN ����*

�������

����������� ����� 150001E-mail: [email protected]

[email protected]

� ����������������������� !�"#$%&'(���������)+,-./0�

12.3456 MATLAB � CAN �������789:%;9:�<=>?��@A�B�C�����D<EFGHIJ�KL�M�NA�OPQRS�T��UVC��WX���%7YUZ[\�&']2�9:�O

-�<=�%

����^_`�����������7a�� !b�

Simulation Technique of In-vehicle CAN NetworkBased on MATLAB

Xu Xiaojuan, Liu ZhiyuanHarbin Institute of Technology, Harbin 150001, P. R. China

E-mail: [email protected]: [email protected]

Abstract: Network simulation system is a development platform for the design and evaluation of the In-vehicle network. Inthis paper, the requirement of network simulation system is proposed and a technique for CAN network simulation systembased on MATLAB is presented. This technique not only can effectively implement the function and performance simulationof each network node, but also can simulate various network topologies and messages of vehicles. Experiment results aregiven to verify that the simulation technique proposed in this paper is feasible and effective.KeyWords: CAN, Simulation system of in-vehicle network, Real-Time Workshop

1 � (Introduction)1

�����R���������������� ����K�R�1��Sa���������������CO����Y%���

�� ��C !���(����,-�������� !��) !%��������"�#KL������,-�5$��%�&����� ��C !���1'�()����B��������������#���"*��������1' !�"#$%

���������+),-.��C�K���CWX/0��123�4/56�&7-.����K���, B8�V6�9:; CAN<=78;WX/0��, CAN>MOST��56%#?@6&�9:���7��AB A 8���CD LIN ��%EF���������7G�1 CAN ��#HI�CPQ� WXJK)+�C�()7L� JKN��������#$%

,6�������UV�@AWXJK)+��TMN�EF������L�KLRS�T��UVC��WXJK���)+%&'��%"�56O4)+P ��;������QR�789

:�PQ���ST�T�������)+�U�

* FV�%WXYZ[\�A�Q]N�^V�_`,V�a���GB05A101-1%

KL��T� !������������1�34�9:%

2 �� ������� (Structure ofIn-vehicle Network Simulation System)

�������UV�����T ���<�

3���%��V�9��78�B�����)�

SAE������� A�B�C����� !��"#78��WX$%�&'%�()�����

�����V�N*O+,�� 1�����UV%�����)� CANCLIN � MOST��78%���T���UV !���O-CAN ���6����%

� 1 ���� ��

662

��������L;./7����N���

�,-� 1����UV�����L78��B�:� �����-a��4��WX

� ������WX� �

� ��7���O�28�����

� �������������!�

� ����O�28���%

56��)+���������UV�� 2��[1]%�����������/�6�����

��-� !�"#$!�%����W)+�W

X��� dSPACE7a&'��� ()����T78��(*��7a�+*,.-.7����W

X; �������6����������WX���.���!��"�0/��01��7�

�2-�V���@A#�; ��$3���6����O�28��4�����$3C%&45�

651�4 !; �'�678RS�9���78��WX:;�<=%

� 2 � �������

@A���������78�1)2>��7

8��?@�B�����L�787���O�2

8��������@A78CAB1 !���%

'[2]C���&'�� OPENET 78��@A�&'��DEF CAN @A�L�G�T� MAC G, �T78 CAN @A��%(49:78HI�KL��M�JKR�787���@A�����%

Sa��T�7���L�MNO�O&'UZP:

.-7���� !%'[3]O�IQ�)�R VE

.O,-*@AGH��������+9:78�

&,�JS)-.T�@A� G?@/-.@AW

X� 78��@A����a��� !���

�� !����L�� %

�<=>?��@A�B�C�����78�

��0��&'(56MATLAB�����@A��9:,-.��%/0.56MATLAB78��@A���O-��789�%&'��@(�9:

,-.����%

3 ��MATLAB�CAN������(CANNetwork Node Simulation Technique Basedon MATLAB)

56 MATLAB � CAN @A�����5&��� !"+#MATLAB /Simulinkb$%EF��N����&:',-('�SaU�)*+�1V

GH�W , CAN �W�'-)*+� G./0U��(L�@A1�2D RTW(Real-Time workshop)X Simulink �T13�O#)*+�4�1V%5-�67�82D93Y8�-O:-67%��1

V;1�X478��@A���%,���� 3��%

� 3 CAN���������

56 MATLAB � CAN @A������4� �� RTW ��� �GH� !�

Simulinkb�����N���&:�78%�6 �GH�D�� MCU ����&'� Freescale �HC12 �� MCU ����� �GH� !9:�Sa��@AWX����N���&:�78%

3.1 RTW �!"#$%&�'()* (Develop-

ment of Custom Target in RTW)

�MATLAB� Simulink !�[�O�"#5<G< HC12��$=%�&/ �GH�',2G6( 7�WR)F�*< CAN 2G6(�W%+,�56MATLAB78 HC12 CAN@A���-)�.�� MATLAB �8/ CAN 2G6( 7�W�012# Simulink� HC12� !3>0�%�456�78� MATLAB�/9 HC12�2G6( 7�W�9:%

RTW ��.� �� 4 �����6� 7��� )���� 4 ����� sfunc.c(�9S ��6:'�)��9����� TLC '�sfunc.tlc�������� sfun.dll'����%

663

� 4 RTW+,-.

3.1.1 � S ��������� (Writing De-

vice Driver C-MEX S-Function Files)

�9S��'��678S��API��;��� C MEX S��6:��;��� Simulink���a���6:��R�(��4�b ����!"

`,-#�$�%%6�66� 7��� S��&'78()�$��+,*78+ ,(-.%

�;$�/?:� 3:0 SimStruct UV����121234����<a56�78

� 78���+ �=MATLAB�@������L�WX���� � ���

��WX7�

� ���9Y�����(���1���

��

� � �!12�"#:$%&'(�

� E� mdlRTW)�' model.rtw>*�+%

� 5 �/ S0123�456.

�!� S)�6,�?-� �- 5.�[4]�/

+�T�B�RS�01�E�- 5��23)��!78�L�B��4O5+6)7�+�L�B�

)�78�L�B�%

3.1.2 TLC ����� (Writing TLC Inlining Files)TLC '8�678 S )� API �.6)��7

a6,�9):��;<=@��3�7A��:6

,�(48,->A%�!� TLC '8O ?�!3��@A 79�#�T3��B�6,�%TLC'8�56>B?-�;C�<-;DEFA&�=

�?-%

���!� TLC '89)�G4CT��!)��E��?-3:H�)��3�O?-6,;

D�)���[ 1.�%

7 1 TLC�801

BlockTypeSetup(block�system)3:H)�

BlockInstanceSetup (block�system)BlockInstanceData(block�system)

Enable(block�system)Disable(block�system)

Start(block�system)InitializeConditions(block�system)

Outputs(block�system)Update(block�system)

Derivatives(block�system)

3�O?-6,;

D�)�

Terminate(block�system)

B�?-3:H�)��� BlockTypeSetup(block, system) 9)�CI)��\��������#include�%��O�- ,��)��� Start(block, system)�6�� C ,����� � ,�Outputs(block, system)�6��B��� ,%

S�����RS���N����� ,��

+���)���E� L�)���%Sa!.�

�"#�� ,UV$O�%�+B�)�%

3.1.3 DLL9:�,; (Function of DLL files)

DLL'8���C MEX S)�'8���MEX'8%MATLAB� mex7� ��6��;&8�'())�!J

� ����*�Simulink E�;)��Simulink4&+

� � ,��, ��� MEX '8�-�mdlRTW)�� ,��^(',-�-./0�123'8 model.rtw�%

4���56'8��K>�/ sfun.cCsfun.dllCsfun.tlc -Z�S375*�8>�,9: S )��������?2%�+;<C(=�����@��

>4!,��1?36 Simulink b@*�9@�;A�A�������3�@� �����

�����3 Simulink���[��E�%�� transmitCreceiveCremote requestCremote

responseCbus off�2� CAN���B������HC12 7��NA�����, �� �� CAN� !��"1�3 Simulink � HC12 ����[��#4�� HC12 7�GH�� CAN !���� RTWE�%

664

3.2 Simulink <=>�� ��?@A��(Message Simulation under Simulink)

$����� CAN !��� K%)�@A�T�O�78&L�@AWX'��B�%�*

()L( CAN )*�+,��-WX'C.8�!WX'�B '�78%

3.2.1 �����(Periodic Message)�-/�'� CAN ���2801�34/�

'%; 6� Simulink78/�'!BM2�3N;%/�43N��� Simulink �T), RTW 5�

,�),6=^6=CM��*�37�����B

5]� ID �/�'�'!B�-C/�'!B����O),GH��7/�H878%'!BM2�

��O����DCC01��EN%

� 6 1BA(CDE��

3.2.2 F:G(?@A(Event-triggered Message)

.8�!WX'�������9:��&'7

8�.8�!WX';7<�=->V���@A

&���4R�7O%

3.2.3 ���(Remote Message)���)W, ��@A�?<a%),-&L

�WXD+!B�E3@A@�!�� �+���

�@A�L�(L�@A���+ K�!�(

L����,-L��+@A��L ����

.3�� ���+�!�� %� ��+@AD

A78�� 7��%

� 7 H.AIJ����

3.3 � KLMNOP��Q*(Algorithm of Transmission

Random Latency)

ECU �����b��RS�O��6��WX��� !"#$%%4#$BF������

&'(��R��)��%!*�������a(

��+�#$a,�.-.�F/%0F/�+�#

$a,1����!"#$82�(/0#$(��

���F�1)�%

� 8�0 Simulinkb�*3K�#$4:�O0F/�+�#$a,1!"� #$�WX�!�%

��78� 8���4:a�5�������� b�� ������a��T�

� �b����� 32�� 9���R�PQ���A��MATLAB�����

�� �2�%�a�LEF :�789����

S���� Simulink ��B���%

� 8 Simulink<=>RS�OPQ*

4 �� MATLAB � CAN �����TUUV (Experimental Test of the Network NodeSimulation Based on MATLAB)

MATLAB �T!���"#$ Freescale HC12��� MC9S12DP256B %G"� Philips � 82C250CAN&!'GV��CANWX�(&@A�)��� CAN�*� !���D CANoe%��@A�78� +, 9��%

� 9 ����TW6.

� Simulinkb�!-� 3.1@�.� CAN �/@0��12, 6 ��346.2 HC12 �!��

665

T�G� Transmit���5��H� ID� 64H��677!9��!�@A%Sa-�, 8���#$ :8��7!��57!9:�� 500ms� �#$a�EF� 10ms%!�;"E"<�8� RTW��7a� C���! CodeWarrior�=C(<�!�#�"#�783=!�@A%

� CANoe>�$: CAN�*���2%>��C/UZ+, 10��%

� 10 CANoeXYZ9?@

( CANoe :Z��*�2�%?a�A,-&4��"#!�@'�!"#aa�+, 11��%

Time/s

Ran

dom

dela

y/s

� 11 Z9�MNOP

7YUZ[\�;@A9'��)+78.9:

WXA�/a!�� �!"#$a�(6 10 ms�PQ��)+%)��;9:�D<=78��@A

��%

B27C����@A�RSNA�� Simulink�/:6.RS� :D��RS*+�E,78R

S@A����F=@A;��3��������

2F CAN ���������F�����-� %

5 �[(Conclusions)

&'���56MATLAB /Simulink /RTW78����������������������

��Y���UV�������O-�����%

�� Simulink78F4�����:��� ;"!Y�:�"#��$%.E"&�a�; �� RTW 0'()*)+,6-'.G�/�0*�1-.

0 a�; Sa�+Z2)345�@A�����.34@AWXa�62)� Simulink�T�789�EF�1H'()*:O%���<=>?��@

A�B�C�����78 ;<=/�EFGH

IJ��KLRS�T��UVC��WX���)

+%

\]9^(References)

[1] <01, 2I>, 2?3. 56=7@T�J7A;"�������������78: 45BCDE8F�G'?, 2006.

[2] 6KE, 78, L�H, M. 56OPNET�9�0PN0� CAN���;"[J]. :I���@, 45(5): 689-692.

[3] J;K, =L3, ���, �. CAN ������, �

� ���, 1998, 19(3):59-61.[4] ��, M�, ��, �. ��7a�� !b��L�

[M]. �������2��, 2002.


Recommended