̸DIMAϵͳʵʱͨÐÅÁ÷Á¿µÄʱÑÓ·ÖÎö·½·¨ÂÛÎÄ

ʱ¼ä£º2020-12-09 17:32:49 ͨÐŹ¤³Ì±ÏÒµÂÛÎÄ ÎÒҪͶ¸å

̸DIMAϵͳʵʱͨÐÅÁ÷Á¿µÄʱÑÓ·ÖÎö·½·¨ÂÛÎÄ

¡¡¡¡Òý ÑÔ

̸DIMAϵͳʵʱͨÐÅÁ÷Á¿µÄʱÑÓ·ÖÎö·½·¨ÂÛÎÄ

¡¡¡¡µ±Ç°£¬ÏȽøµÄº½¿Õµç×ÓÌåϵ½á¹¹Õý´Ó¼¯ÖÐʽ×ÛºÏÏò·Ö²¼Ê½×ۺϷ¢Õ¹£¬Ðγɡ°·Ö²¼Ê½×ÛºÏÄ£¿é»¯º½¿Õµç×Ó(distributed integrated modular avionics£¬DIMA)¡±µÄ¸ÅÄî¡£ÔÚDIMAϵͳÖУ¬Îª±£Ö¤°²È«¹Ø¼üÐÔ´¦ÀíÈÎÎñµÄÑϸñʱ¼äÈ·¶¨ÐÔ£¬ÔÚ²ÉÓ÷ֲ¼Ê½Ê±ÖÓ¾«È·Í¬²½ºÍʱ¼ä´¥·¢(timetriggered£¬TT)ͨÐŵÄͬʱ£¬Ðè¼æÈݼÈÓÐÉ豸µÄʼþ´¥·¢ËÙÂÊÔ¼Êø(rate-constrained£¬RC)ͨÐÅ¡£SAE AS6802±ê×¼¶¨ÒåµÄʱ¼ä´¥·¢ÒÔÌ«Íø(time-triggered Ethernet£¬TTE)¾ÍÊÇÖ§³ÖÕâÖÖ»ìºÏ¹Ø¼üÐÔÁ÷Á¿µÄ×ۺϻ¯º½¿Õµç×ÓÍøÂ绥Á¬½â¾ö·½°¸¡£TTÁ÷Á¿µÄʱÑÓÈ·¶¨ÐÔÖ÷ÒªÓÉÀëÏßÉè¼ÆµÄµ÷¶Èʱ¿Ì±í±£Ö¤£¬W.SteinerµÈ[3]Ìá³öÓÉÐÎʽ»¯·½·¨Çó½â×éºÏÓÅ»¯ÎÊÌâÒÔ»ñµÃ¿ÉÐе÷¶Èʱ¿Ì±íµÄ·½°¸£¬È»¶ø£¬Éè¼ÆÑéÖ¤¹ý³ÌÖÐÈÔÐèÒª·ÖÎö¸ø¶¨¹¦Äܹ¹¼þÖ®¼äTTÁ÷Á¿µÄʱÑÓ²ÎÊý¡£¶ÔÓÚRCÁ÷Á¿£¬ËäÈ»´æÔÚÈ·¶¨ÐÔÍøÂçÑÝËã¡¢Ëæ»úÍøÂçÑÝË㡢ʵʱÑÝËã(real-time calculus£¬RTC)¡¢¹ì¼£·¨µÈ¶àÖÖ·ÖÎö·½·¨£¬µ«¿¼Âǵ½DIMAϵͳÖдæÔÚ¸ßÓÅÏȼ¶TTÁ÷Á¿Õ¼ÓõÄÇé¿ö£¬±ØÐ뿪·¢ÊÊÓ¦ÕâÖÖÌض¨³¡¾°µÄ½¨Ä£Óë·ÖÎö·½·¨¡£±¾ÎÄ»ùÓÚDIMAϵͳ×ۺϻ¯»¥Á¬ÅäÖõÄÌØÕ÷£¬´Ó´¦Àí²ã´ÎºÍ»¥Á¬²ã´ÎÏà½áºÏµÄ½Ç¶È£¬Ìá³öÒ»Ì×ÊÊÓÃÓÚ·Ö²¼Ê½×ۺϺ½¿Õµç×ÓϵͳµÄÁ÷Á¿½¨Ä£ÓëʱÑÓ·ÖÎö·½·¨£¬¼´£º²ÉÓÃÌåϵ½á¹¹·ÖÎöÓëÉè¼ÆÓïÑÔ(architecture analysis and designlanguage£¬AADL)ÃèÊöϵͳµÄÌåϵ½á¹¹£¬»ùÓÚÌåϵ½á¹¹Ä£ÐͽøÐÐTTÁ÷Á¿µÄʱÑÓ·ÖÎö£¬²ÉÓÃÄ£ÐÍת»»µÄ·½·¨½«Ìåϵ½á¹¹Ä£Ðͼ°Æä¾ßÌåÅäÖÃת»¯ÎªRTC·ÖÎöÄ£ÐÍ£¬¶ÔRCÁ÷Á¿µÄʱÑÓ½øÐÐ×Çé¿ö·ÖÎö¡£×îºó£¬½áºÏµäÐ͵ÄÁ÷Á¿ÅäÖð¸Àý£¬¶Ô¸Ã·½·¨½øÐÐÁËÑéÖ¤¡£

¡¡¡¡1 DIMAϵͳµÄAADLÄ£ÐÍ

¡¡¡¡Ìåϵ½á¹¹·ÖÎöÓëÉè¼ÆÓïÑÔ(AADL)ÍÑÌ¥ÓÚ¾ßÓг¤ÆÚº½¿Õµç×ÓÁìÓòÓ¦Óûù´¡µÄMetaH ÓïÑÔ£¬ÊÊÓÃÓÚÃèÊö¾ßÓÐʵʱÏìÓ¦ÒªÇó¡¢ÈÝ´í¡¢±ØÐë¾­¹ýÈÏÖ¤µÄǶÈëʽʵʱϵͳ£¬¹ÊÌرðÊÊÓÚ¶Ôº½¿Õµç×ÓÌåϵ½á¹¹½øÐÐÃèÊöÓë·ÖÎö¡£¿ª·ÅÔ´ÂëAADL ¹¤¾ß»·¾³(open source code AADL tool environment£¬OSATE)ÊÇAADL ¿ª·¢Ð¡×鿪·¢Óëά»¤µÄÒ»¸öEclipse²å¼þ¼¯£¬È«ÃæÖ§³ÖAADL Ä£Ð͵Ĺ¹½¨ÓëÇ°¶Ë´¦Àí¡£±¾Îļ´²ÉÓøù¤¾ß¿ªÕ¹DIMAϵͳµÄAADL½¨Ä£Óë·ÖÎö¡£

¡¡¡¡DIMAϵͳµÄÌåϵ½á¹¹¼æ¾ß¡°×ÛºÏÄ£¿é»¯¡±Óë¡°·Ö²¼Ê½¡±Á½´óÓŵ㣺һ·½Ã棬¶Ô¹²Ïí³Ì¶ÈºÜ¸ßµÄÓ²¼þ²ÉÓÃÄ£¿é»¯µÄ¹¹¼þʵÏÖ£¬²¢Ê¹Ö®¾ßÓÐͳһµÄÍøÂ绥Á¬½Ó¿Ú;ÁíÒ»·½Ã棬ÓÉÓÚÓ²¼þÄ£¿éºÍ´¦Àí×ÊÔ´µÄ·Ö²¼Ê½²¿Êð£¬ÔÊÐíÒì¹¹µÄ´¦ÀíÄ£¿éͨ¹ý¸ß¾«¶Èͬ²½µÄÍøÂç½øÐв¢Ðд¦Àí£¬²¢¿Ë·þÁ˼¯ÖÐʽϵͳ²»ÀûÓÚÉ¢ÈȵÄȱµã£¬½â¾öÁËÆäµç´Å¼æÈݵȻ·¾³¿ØÖÆÎÊÌâ¡£×ۺϻ¯»¥Á¬¶ÔDIMAϵͳÓŵãµÄ·¢»Ó¾ßÓÐÖÁ¹ØÖØÒªµÄ×÷Óã¬Õ¹Ê¾³öÔÚ´óÐÍ·É»úÉÏDIMAϵͳµÄ´¦ÀíÓ뻥Á¬·½Ê½¡£

¡¡¡¡Ïà±ÈÓÚ¼¯ÖÐʽϵͳ£¬·Ö²¼Ê½ÏµÍ³µÄºËÐÄ´¦Àí×ÊÔ´²»ÔÙ¼¯ÖÐÓÚij¸ö¹Ì¶¨µÄÇøÓòÄÚ£¬¶øÊÇÔڽϴóµÄ·¶Î§·Ö²¼²¿Êð;ͬʱ£¬¿ÉÖع¹ÐÔÌá¸ßÁËÕâЩ·Ö²¼Ê½×ÊÔ´µÄÀûÓÃÂÊ¡£¾Ý´Ë£¬DIMAÌåϵ½á¹¹½¨Ä£¹ý³ÌÖбØÐë×ÅÖØ¿¼ÂÇÈçÏÂÁ½µã£º

¡¡¡¡(1)Ö»ÄÜÔڽϸ߲ã´ÎµÄ×ÓϵͳÖÐÉùÃ÷·Ö²¼Ê½Ó¦Óõ½×ÊÔ´µÄ°ó¶¨Çé¿ö¡£

¡¡¡¡ÓÉÓÚ×ÊÔ´µÄ·Ö²¼Ê½ÅŲ¼£¬ÉϲãÓ¦ÓÃÍêÈ«¿ÉÄܰ󶨵½ÆäËü×ÓϵͳËù°üº¬µÄÓ²¼þ×ÊÔ´ÉÏ¡£ÕâÖÖÇé¿öÏ£¬ÓÉÓÚ¸ÃÓ¦ÓÃËù°ó¶¨µÄÓ²¼þ×ÊÔ´²»ÊÇÆäËùÊôµÄµ±Ç°²ã´Î×ÓϵͳÖеĹ¹¼þ£¬¹ÊÖ»ÄÜÔڽϸ߲ã´ÎµÄ×ÓϵͳÖж԰ó¶¨Çé¿ö½øÐÐÉùÃ÷¡£Èçͼ2ËùʾµÄ·Ö²¼Ê½ÏµÍ³(¿ÕÐÄÑàβ¼ýÍ·±íʾÏ̵߳½´¦ÀíÆ÷µÄ°ó¶¨Çé¿ö)ÖУ¬Ïß³ÌT21°ó¶¨µÄ´¦ÀíÆ÷Proc1²¢²»ÊÇ×ÓϵͳS2µÄ×Ó¹¹¼þ£¬Ö»ÓÐÔÚϵͳS_Top²ã´Î²ÅÄܶÔÕâÖÖ°ó¶¨Çé¿ö×ö³öÉùÃ÷¡£

¡¡¡¡(2)´¦ÀíÆ÷ÐèÒªÕë¶Ô°ó¶¨ÔÚÆäÉϵĸ÷¸öÏß³ÌÉùÃ÷µ÷¶È·½Ê½¡£

¡¡¡¡ÓÉÓÚ´¦ÀíÆ÷Éϰ󶨵ÄÏ߳̿ÉÄÜÀ´×Ô²»Í¬µÄÉϲãÓ¦ÓÃ(Öа󶨵½´¦ÀíÆ÷Proc1ÉϵÄÏß³ÌT12ÓëT21)£¬Òò´Ë½¨Ä£¹ý³ÌÖУ¬´¦ÀíÆ÷±ØÐëÃ÷È·ÉùÃ÷¶Ô°ó¶¨ÔÚÆäÉϵÄÿ¸öỊ̈߳¬ÌرðÊÇ·Ö²¼Ê½Ïß³Ì(ÈçT21)£¬¿É²ÉÈ¡µÄµ÷¶È·½Ê½¡£

¡¡¡¡2DIMAϵͳµÄÁ÷Á¿Ä£ÐÍ

¡¡¡¡Ê±¼ä´¥·¢ÒÔÌ«Íø(TTE)ÊÇʵÏÖDIMAϵͳ»¥Á¬µÄ¹Ø¼ü£¬¸÷¸ö·Ö²¼Ê½½Úµã¶ÔЭÒé¿ØÖÆÖ¡(protocol controlframe£¬PCF)´ò͸Ã÷ʱÖÓʱ´Á£¬²¢¸ù¾ÝPCF½øÐй̻¯ºÍѹËõ²Ù×÷ÒÔʵÏÖÑÇ΢Ã뼶µÄʱÖÓУ׼£¬´Ó¶ø¿ÉÖ§³Öͬ²½ÏûÏ¢¿çÔ½Òì¹¹É豸µÄ´«Êä¡£TTEÍøÂçÔÚΪʱ¼ä´¥·¢(TT)Á÷Á¿ÌṩÑϸñµÄʱ¼äÈ·¶¨ÐÔ±£Ö¤µÄͬʱ£¬Îª±£»¤Í¶×Ê£¬»¹ÉèÖÃÓÐÓÅÏȼ¶½ÏµÍµÄËÙÂÊÔ¼Êø(RC)ºÍ¡°¾¡Á¦´«¡±·þÎñÀàÐÍ¡£ÔÚº½¿Õµç×ÓÍøÂçÖУ¬Ò»°ã²ÉÓÃRCÀàÐͳÐÔØʼþ´¥·¢µÄÁ÷Á¿¡£AADL¶Ô¶Ëµ½¶ËÁ÷Á¿µÄÄ£ÐÍÃèÊö£¬¹éÄɶ¨ÒåΪÁ÷¹æ·¶(flow specification)¡¢Á÷ʵÏÖ(flow implementation)ºÍ¶Ëµ½¶ËÁ÷(end-to-end flow)¡£¡°Á÷¹æ·¶¡±ÔÚ¹¹¼þÀàÐÍÖжԸù¹¼þÖÐÁ÷µÄÆðʼ(flowSource)¡¢´ÓÊäÈë¶Ë¿Úµ½Êä³ö¶Ë¿ÚËùͨ¹ýµÄ·¾¶(flow path)ÒÔ¼°ÖÕÖ¹(flow sink)½øÐж¨Ò壬Á÷·¾¶ÉϵĶ˿ÚÀàÐÍ¿ÉÒÔ²»Í¬£¬¶øÇÒͬһ¸ö¶Ë¿Ú¿É°üº¬ÔÚ¶à¸öÁ÷¹æ·¶µÄ¶¨ÒåÖС£

¡¡¡¡¡°Á÷ʵÏÖ¡±ÔÚ¹¹¼þʵÏÖÖÐͨ¹ýһϵÁÐÓÉ×Ó¹¹¼þÁ÷¹æ·¶µÄÊäÈë¶Ë¿Úµ½Êä³ö¶Ë¿ÚµÄÁ÷·¾¶ºÍÁ¬½ÓµÄÐòÁжÔÁ÷¹æ·¶µÄ¾ßÌå½á¹¹½øÐÐÃèÊö£¬Í¬Ò»¸öÁ÷¹æ·¶¿ÉÒÔÓжàÖÖʵÏÖÐÎʽ¡£¡°¶Ëµ½¶ËÁ÷¡±ÔÚ¹¹¼þʵÏÖÖвÉÓùؼü×Ö¡°end to end flow¡±¶ÔÒ»ÌõÔ´ÓÚ×Ó¹¹¼þ¡¢Í¾¾­Ò»ÏµÁÐ×Ó¹¹¼þ²¢ÖÕÖ¹ÓÚ×Ó¹¹¼þµÄÂß¼­ÐÅÏ¢Á÷½øÐÐÉùÃ÷£¬ËäȻֻÉæ¼°µ±Ç°Ò»²ã×Ó¹¹¼þ£¬µ«×Ó¹¹¼þʵÏÖÖл¹¿ÉÒÔ°üº¬×Ó¹¹¼þ£¬Ê¹¶Ëµ½¶ËÁ÷µÄÉùÃ÷Öð²ãʵÀý»¯£¬×îÖյõ½ÓÉÁ÷¹æ·¶ÊµÀýºÍÁ¬½ÓʵÀý×é³ÉµÄ¶Ëµ½¶ËÁ÷µÄʵÀý¡£ÔÚµäÐÍAADLÁ÷Ä£ÐÍÖУ¬Ï̹߳¹¼þT1¡¢T2ºÍT3·Ö±ðÊǽø³Ì¹¹¼þP1¡¢P2ºÍP3µÄ×Ó¹¹¼þ£¬ÏµÍ³SÖÐÓÉP1·¢³ö£¬¾­¹ýP2µ½´ïP3µÄ¶Ëµ½¶ËÁ÷£¬¾ßÌåµ½Ï̲߳ã´Î¼´±íÏÖΪÓÉT1·¢³ö£¬¾­¹ýT2µ½´ïT3µÄ¶Ëµ½¶ËÁ÷¡£

¡¡¡¡3 DIMAͨÐÅÁ÷Á¿µÄʱÑÓ·ÖÎö

¡¡¡¡Îª±£Ö¤Êý¾ÝºÍʼþµÄʱ¼äÈ·¶¨ÐÔÂú×ãʵʱÐÔÄÜÒªÇ󣬴Ӻ½¿Õµç×ÓϵͳÉè¼Æ³õÆÚ¿ªÊ¼¾ÍÐèÒª¶ÔÐÅÏ¢Á÷Á¿½øÐÐʱÑÓ·ÖÎö¡£ÔÚDIMAϵͳÖУ¬ÓÉÓÚ·Ö²¼Ê½¼ÆËãºÍͨÐŵÄʵʱÐÐΪ¼ÈÓëÍøÂçͨÐÅÈÎÎñµÄÅäÖÃÓйأ¬ÓÖÉæ¼°×ÊÔ´µÄ¹æ»®Éè¼Æ£¬¹ÊÓбØÒª´Ó´¦Àí²ã´ÎºÍ»¥Á¬²ã´ÎÏà½áºÏµÄ½Ç¶È×ۺϿ¼ÂÇ£¬½øÐнÏΪȫÃæµÄʱÑÓ·ÖÎö¡£¾Ý´Ë£¬±¾ÎÄÄⶨµÄDIMAϵͳͨÐÅÁ÷Á¿Ê±ÑÓ·ÖÎö·½°¸¡£

¡¡¡¡3.1 ʱ¼ä´¥·¢Á÷Á¿µÄʱÑÓ·ÖÎö

¡¡¡¡Ê±¼ä´¥·¢(TT)Á÷Á¿ÊÇÔÚ·â±ÕÐÔϵͳÖеÄʱ¼äÈ·¶¨ÐÔÐŵÀÉϽøÐд«ÊäµÄ£ºÒ»·½Ã棬ϵͳÖпͻ§¶ËÖ®¼äͨ¹ýÖÐÐĵ÷¶ÈÆ÷ʵÏÖЭ×÷£¬½¨Á¢ÎÞ³åÍ»µÄÈ«¾Öµ÷¶È·½°¸;ÁíÒ»·½Ã棬¶ÔÓÚ¾ßÓÐʱ¼äÈ·¶¨ÐԵĴ«ÊäÐŵÀ£¬ÏûÏ¢µÄ×î´óºÍ×îС´«ÊäÑÓ³ÙÓÉÉè¼ÆÕßÔ¤ÏÈÉ趨£¬ÒÔÈ·±£ÏûÏ¢´«ÊäʱÑÓµÄÓнçÐÔ¡£Òò´Ë£¬TTÁ÷Á¿µÄ¶Ëµ½¶Ë´«Êä¹ý³ÌÖв»´æÔÚÒò´«ÊäЭÒé»ò¶à·¸´ÓÃÔì³ÉµÄÅŶÓÑÓ³Ù£¬Ö»ÐèÔÚ´¦Àí²ã´Î½øÐÐʱÑÓ·ÖÎö¡£

¡¡¡¡AADLÌṩÁË»ùÓÚÁ÷Ä£Ð͵ÄʱÑÓ·ÖÎö¿ò¼Ü¡£¸Ã¿ò¼ÜÈÏΪ£¬¶Ëµ½¶ËÁ÷µÄʱÑÓÖ÷ÒªÊÜÈçÏÂ4ÖÖÒòËØÓ°Ï죺

¡¡¡¡(1)´¦Àíʱ¼ä£ºÖ÷Òª°üÀ¨Ö´ÐÐʱ¼äºÍÍê³Éʱ¼ä£¬Ïà¹ØµÄÊôÐÔÓмÆËãÖ´ÐÐʱ¼äCompute_Execution_Time¡¢½ØÖ¹ÆÚÏÞDeadline¡¢ÖÜÆÚPeriodµÈ£¬×Çé¿öµÄ´¦Àíʱ¼ä·ÖÎöÖ÷Òª¿¼ÂÇDeadlineÒÔ¼°Period¡£

¡¡¡¡(2)´¦ÀíÑÓ³Ù£º²»Í¬²ÉÑù·½Ê½Ôì³ÉµÄ´¦ÀíÑÓ³ÙÊDz»Í¬µÄ£¬ÓÉÓÚTTEÍøÂçΪϵͳÌṩÁ˾«È·µÄ·Ö²¼Ê½Ê±ÖÓͬ²½£¬Ðè°´ÕÕͬ²½²ÉÑùµÄ·½Ê½½øÐмÆË㡪¡ª´¦Àíʱ¼ä¼ÓÉÏËùÓеÄ`´«Êäʱ¼äºÍÑÓ³ÙÖ®ºó£¬ÔÙÒÔ²ÉÑùÖÜÆÚÉÏÈ¡Õû¡£

¡¡¡¡(3)´«Êäʱ¼ä£ºÖ÷ÒªÊÜÊý¾Ý¿é´óС¡¢Á¬½Ó»ò´«ÊäÉ豸µÄËٶȣ¬ÒÔ¼°´«ÊäЭÒ鿪ÏúµÄÓ°Ï죬Ïà¹ØµÄÊôÐÔ°üÀ¨Êý¾Ý¿é´óСSource_Data_Size¡¢´«Êäʱ³¤Transmission _TimeµÈ¡£

¡¡¡¡(4)´«ÊäÑÓ³Ù£ºÕâÊÇʵ¼Ê´«ÊäЭÒé»ò¶à·¸´ÓÃÅŶӵĽá¹û£¬ÐèÒª½èÖú¿ò¼ÜÖ®ÍâµÄ¹¤¾ß£¬²¢½áºÏ×ۺϻ¯»¥Á¬¡¢Á÷Á¿Ô¼ÊøµÈÐÅÏ¢½øÐзÖÎö¡£ÏàÓ¦µÄÊôÐÔΪPropagation_Delay£¬ÆäÖµÐèÒªÓÉÉè¼ÆÕßÔ¤Ïȸø¶¨¡£

¡¡¡¡OSATEƽ̨¼¯³ÉÓÐÏàÓ¦µÄ·ÖÎö¹¤¾ß£¬¼´£¬Á÷ʱÑÓ·ÖÎö

¡¡¡¡²å¼þ(flow latency analysis plug-in)¡£¸Ã²å¼þÀûÓÃÇ°ÎÄËùÊöµÄÏà¹ØÊôÐÔÖµ£¬¶ÔÌض¨Á÷Á¿µÄ¶Ëµ½¶ËʱÑÓ½øÐзÖÎö¼ÆË㣬²¢ÒÔÐÅÏ¢ÌáʾµÄÐÎʽ¸ø³ö½á¹û¡£

¡¡¡¡3.2 ËÙÂÊÔ¼ÊøÁ÷Á¿µÄʱÑÓ·ÖÎö

¡¡¡¡¶ÔÓÚËÙÂÊÔ¼Êø(RC)Á÷Á¿£¬ÓÉÓÚTTE²¢²»ÌṩÑϸñµÄʱ¼äÈ·¶¨ÐÔ±£Ö¤£¬´«Êä¹ý³ÌÖпÉÄÜ´æÔÚÒò´«ÊäЭÒé¹æ¶¨»ò¶à·¸´ÓÃÔì³ÉµÄÅŶÓÑÓ³Ù£¬Òò´Ë£¬ÔÚÀûÓÃAADLÁ÷ʱÑÓ·ÖÎö²å¼þ½øÐд¦Àí²ã´ÎʱÑÓ·ÖÎöµÄͬʱ£¬»¹ÐèÒª³ä·Ö¿¼ÂÇ´«Êä¹ý³ÌÖеÄÅŶÓÑÓ³Ù£¬ÔÚ»¥Á¬²ã´Î½øÐзÖÎö¡£

¡¡¡¡AADLÁ÷ʱÑÓ·ÖÎö¿ò¼ÜµÄÒ»¸ö¾ÖÏÞÔÚÓÚ£¬ÎÞ·¨Í¨¹ý×ÔÉíµÄ·ÖÎö¼ÆËãµÃ³ö±íÕ÷´«ÊäÑÓ³ÙµÄÊôÐÔÖµ¶øÐèÒªÉè¼ÆÕßÔ¤Ïȸø¶¨£¬¹Ê±ØÐë½èÖúÆäËü·ÖÎö·½·¨Îª¸ÃÔ¤Éè¹ý³ÌÌṩ֧³Ö¡£×÷ΪÍøÂçÑÝËãÔÚʵʱӦÓÃÁìÓòµÄÀ©Õ¹£¬ÊµÊ±ÑÝËã(RTC)»ùÓÚ¾«È·ÃèÊöʼþÁ÷ʱ¼äÌØÕ÷µÄʼþÄ£ÐÍ£¬ÊµÏÖʵʱϵͳÖи÷¹¹¼þµÄʱ¼äÐÔÄÜ¡¢»º³åÇøÐèÇóºÍ¸ºÔØ×´¿öµÄ·ÖÎöÇó½â¡£

¡¡¡¡²ÉÓÃRTC ½øÐл¥Á¬²ã´ÎʱÑÓ·ÖÎöµÄÇ°ÌáÊÇ£¬ÏµÍ³AADLÄ£ÐÍÖбØÐë°üº¬¹¹½¨ÏàÓ¦RTCÄ£ÐÍËùÐèµÄ²ÎÊý¡£ÕâЩ²ÎÊýÖ÷ÒªÃèÊöϵͳ¸÷¸ö½ÚµãÊäÈëµÄʼþÁ÷µÄµ½´ïÇúÏß¡¢·þÎñÇúÏߣ¬ÒÔ¼°Í¨Ðźʹ¦Àí¹ý³ÌµÄÀúʱ£¬Èç´¦ÀíÆ÷ºÍÏ̵߳ĵ÷¶È·½Ê½¡¢×ÜÏߵĴø¿íµÈ¡£ÌرðµØ£¬×÷ΪÁ÷Á¿µÄÈë¿ÚºÍ³ö¿Ú£¬¹¹¼þµÄ¶Ë¿ÚÓ¦µ±ÎªRTCÃèÊöÊäÈëÁ÷ÌØÐÔµÄÖÜÆÚ-¶¶¶¯-ÑÓ³Ù(period-jitter-delay£¬PJD)Ä£ÐÍÌṩÏà¹Ø²ÎÊý¡£¶Ô´Ë£¬¿É¶¨ÒåÁ½¸öÊôÐÔ£ºÊäÈëËÙÂÊ¡°Input_Rate¡±È¡ÖµÎª·¶Î§[s£¬p]£¬ÆäÖУ¬s±íʾÔÚµ½´ïµÄʼþÁ÷ÖÐÏàÁÚÁ½¸öµ½´ïʼþµÄ×îСʱ¼ä¼ä¸ô(²ÎÊýD)£¬p±íʾ¸ÃʼþÁ÷µÄÖÜÆÚ(²ÎÊýP);ÊäÈ붶¶¯¡°Input_Jitter¡±µÄÖµ±íÕ÷PJDÄ£ÐÍÖеIJÎÊýJ¡£

¡¡¡¡ÓÉÓÚAADL²¢Î´ÉîÈ뿼ÂÇ»¥Á¬²ã´ÎµÄ¾ßÌåʵÏÖÇé¿ö¡ª¡ª²¿·ÖËùÐèµÄ²ÎÊý(È磺Ï̵߳ĵ÷¶È·½Ê½¡¢PJDÄ£ÐÍÏà¹ØµÄ¶Ë¿ÚÊôÐÔµÈ)ÊDZê×¼AADLÖÐ䶨ÒåµÄ£¬Òò´Ë£¬Ðè½èÖúAADLµÄ¿ÉÀ©Õ¹ÐÔ£¬¶Ô±ê×¼AADLÊôÐÔ¼¯½øÐÐÀ©Õ¹£¬ÎªÏà¹Ø¹¹¼þÔö¼ÓÊÊÓÚ±íÕ÷¾ßÌ廥Á¬ÌØÕ÷µÄÊôÐÔ£¬ÒÔ²¹³äÓëÍêÉÆAADLÄ£ÐÍ£¬Ê¹Ö®ÊÊÓÃÓÚ»¥Á¬²ã´ÎµÄʱÑÓ·ÖÎö¡£ÓëRTC²ÎÊýÏà¹ØµÄ×Ô¶¨ÒåÊôÐÔ¼¯µÄ²¿·Ö´úÂë¡£

¡¡¡¡4 AADLÄ£ÐÍÏòRTCÄ£Ð͵Äת»»

¡¡¡¡ÔÚ¿çÔ½´¦ÀíºÍ»¥Á¬Á½¸ö²ã´Î½øÐÐʱÑÓ·ÖÎöµÄ¹ý³ÌÖУ¬Ê±¼ä´¥·¢(TT)Á÷Á¿¿ÉÒÔÖ±½ÓÔÚAADLÁ÷ʱÑÓ·ÖÎö¿ò¼ÜϽøÐзÖÎö£¬¶ø¶ÔËÙÂÊÔ¼Êø(RC)Á÷Á¿µÄ·ÖÎö±ØÐë½èÖúÆäËüרÓõķÖÎöÄ£ÐÍ£¬¼´ÊµÊ±ÑÝËã(RTC)Ä£ÐÍ¡£Òò´Ë£¬±ØÐëʵÏÖ´ÓAADLÄ£Ð͵½RTCÄ£Ð͵Äת»»£¬²¢ÇÒʹת»»ºóµÄÄ£ÐÍ¿ÉÒÔÀûÓÃRTC·ÖÎö¹¤¾ß¿ìËÙ»ñÈ¡±ØÒªµÄʱÑÓ²ÎÊý;½«ÕâЩ²ÎÊý¼ÓÈëµ½AADLÌåϵ½á¹¹Ä£ÐÍÖУ¬ÒÔʹÌåϵ½á¹¹Ä£Ð͵ijÉÊì¶ÈËæÉè¼Æ¹ý³ÌµÄÉîÈë¶ø²»¶ÏÌáÉý¡£ÖµµÃ˵Ã÷µÄÊÇ£¬Ä£ÐÍת»»²»½öÉæ¼°RCÁ÷Á¿£¬¿¼Âǵ½TTÁ÷Á¿(¸ßÓÅÏȼ¶)ÔÚ´«Êä¹ý³ÌÖлá¶ÔRCÁ÷Á¿(µÍÓÅÏȼ¶)Ôì³ÉÓ°Ï죬TTÁ÷Á¿µÄÅäÖúÍÐÔÄÜÖ¸±êͬÑùÐèÒªÒ»²¢×ª»»¡£

¡¡¡¡ÔÚ¾ßÌåµÄת»»¹ý³ÌÖУ¬Òª±£³ÖÄ£ÐÍÒâÒåµÄÒ»ÖÂÐÔ£¬±ØÐë½áºÏÁ÷Á¿ºÍ×ÊÔ´Á½¸ö½Ç¶È×ۺϿ¼ÂÇ£¬¶ø´ÓAADLÄ£ÐÍÖÐ׼ȷÌáÈ¡³ö×ÊÔ´¶ÔÉϲãÓ¦ÓõÄÏÞÖƹØϵ£¬ÊDZ£Ö¤Ä£ÐÍÒ»ÖÂÐԵĹؼü¡£

¡¡¡¡×ÊÔ´½Ç¶È¡ª¡ªÅŶ¨°ó¶¨ÔÚ¸÷¸öÓ²¼þ×ÊÔ´ÉϵÄÓ¦ÓõÄÓÅÏÈ´ÎÐò£¬´ÎÐò½ÏÇ°ÕßÏíÓÐʹÓÃÓ²¼þ×ÊÔ´µÄÓÅÏÈȨ£º¢Ù¶ÔÓÚ´¦ÀíÆ÷£¬°´ÕÕÓëµ÷¶È·½Ê½ÏàÓ¦µÄÊôÐÔÖµÅŶ¨°ó¶¨ÔÚÆäÉϵÄÏ̵߳ÄÓÅÏÈ´ÎÐò£¬Èç¶Ô°ó¶¨Ôڹ̶¨ÓÅÏȼ¶(FPS)µ÷¶È·½Ê½µÄ´¦ÀíÆ÷ÉϵÄỊ̈߳¬Ó¦µ±°´ÕÕ¸÷×ÔµÄÓÅÏȼ¶ÊôÐÔÖµ½øÐнµÐòÅÅÁÐ;¢Ú¶ÔÓÚ×ÜÏߣ¬°´ÕÕ¸´Ó÷½Ê½ÅŶ¨°ó¶¨ÔÚÆäÉϵÄÁ¬½ÓµÄÓÅÏÈ´ÎÐò£¬Èç¶ÔTDMA·½Ê½£¬ÐèÏÈ°´ÕÕ¸÷×ÔËùÕ¼¾ÝµÄʱ϶¶ÔÁ¬½Ó½øÐзÖ×飬ÿ¸öʱ϶ÄÚ²¿ÔÙ½øÐÐÅÅÐò£¬ÓÅÏȼ¶¸ßµÄÁ¬½ÓÏíÓжԸÃʱ϶µÄÓÅÏÈ·ÃÎÊȨ¡£

¡¡¡¡Á÷Á¿½Ç¶È¡ª¡ªÔÚÓ¦ÓÃÒÑ°´×ÊÔ´ÀûÓõÄÓÅÏÈȨÍê³ÉÅÅÐòºó£¬ÒÀÕÕÁ÷Á¿·½Ïò£¬Ë³´ÎÁ¬½ÓËù¾­¹ýµÄ¸÷¸öÓ¦Óýڵ㡣°´ÕÕÉÏÊö·½·¨£¬¿É´ÓAADLÄ£ÐÍÖÐÌáÈ¡³ö×ÊÔ´¶ÔÉϲãÓ¦ÓõÄÏÞÖƹØϵ¡£ÆäÖУ¬Éϱêr¡¢e¡¢c¡¢m·Ö±ð´ú±í×ÊÔ´½Úµã¡¢ÊäÈëʼþÔ´½Úµã¡¢¼ÆËã½Úµã(¶ÔÓ¦ÓÚÏ̹߳¹¼þ)ºÍÏûÏ¢½Úµã(¶ÔÓ¦ÓÚÁ¬½Ó¹¹¼þ)¡£»ñµÃ×ÊÔ´¶ÔÓ¦ÓõÄÏÞÖƹØϵºó£¬ÐèÒªÔٴΰ´×ÊÔ´·½Ïò¼ì²é¸÷¸öÓ¦Óýڵ㣬½«·ûºÏÌض¨Ìõ¼þµÄ¶à¸ö½Úµã½øÐкϲ¢(È磬½ÓÊÜEDFµ÷¶ÈµÄ¶à¸ö½Úµã¿ÉºÏ²¢ÎªÒ»¸öEDFµ÷¶ÈÄ£ÐͳéÏó½Úµã)£¬ÐγÉ×îÖÕµÄRTCÄ£ÐÍ¡£ÔÚÉú³ÉµÄRTCÄ£ÐÍÖУ¬Ó²¼þ×ÊÔ´µÄ·þÎñÇúÏßÑØ×ÊÔ´ÀûÓÃÓÅÏȼ¶·½Ïò(×ÝÏò)¡°´«µÝ¡±£¬¸÷Á÷Á¿µÄµ½´ïÇúÏßÑØÁ÷Á¿·½Ïò(ºáÏò)¡°´«µÝ¡±¡£

¡¡¡¡ÒÔÉÏÊöÄ£ÐÍת»»Ë¼ÏëºÍ·½·¨ÎªÖ¸µ¼£¬±¾ÎÄ¿ª·¢ÁËʵÏÖAADLÄ£ÐÍÏòRTCÄ£ÐÍת»»µÄ²å¼þ¡£¸Ã²å¼þÒÔDIMA ϵͳAADLÌåϵ½á¹¹Ä£ÐÍΪ·ÖÎö¶ÔÏó£¬ÌáȡϵͳʵÀýÖеĶ˵½¶ËÁ÷Á¿ÐÅÏ¢ºÍÁ÷Á¿·½ÏòÉϸ÷¸öÓ¦ÓýڵãÖÐÓëRTC½¨Ä£Ïà¹ØµÄÊôÐÔÖµ£¬ÕûºÏ²¢´æ´¢ÎªÒÔÁ÷Á¿Îªµ¼ÏòµÄXMLÎļþ;µÄÏÞÖƹØϵÌáÈ¡¸ÃXMLÎļþÖеÄ×ÊÔ´ÐÅÏ¢²¢ÕûÀíÉú³ÉÒÔ×ÊԴΪµ¼ÏòµÄXMLÎļþ;¶ÔÁ÷Á¿µ¼ÏòºÍ×ÊÔ´µ¼ÏòµÄÁ½¸öXMLÎļþÌṩµÄÐÅÏ¢½øÐÐ×ۺϷÖÎö£¬×îÖÕÉú³É´æ´¢RTCÄ£Ð͵ÄMatlabÎļþ¡£

¡¡¡¡5 °¸ÀýÑо¿

¡¡¡¡Õ¹Ê¾³öÒ»¸ö¼òµ¥DIMAϵͳ°¸ÀýµÄAADLÄ£ÐÍ¡£

¡¡¡¡ÓÉÓÚÒ³Ãæƪ·ùËùÏÞ£¬ÓÃÊý×Ö±àºÅ´ú±íϵͳÖеÄ×Ó¹¹¼þ¡£Ö÷Òª¹¹¼þÖÐÏà¹ØÊôÐÔÖµµÄÉ趨Çé¿öÏê¼û(ʱ¼äµ¥Î»¾ùΪ΢Ãë)¡£

¡¡¡¡Îª±ãÓÚÌÖÂÛ£¬½«4Ìõ¶Ëµ½¶ËÁ÷Á¿½øÐбàºÅ£º

¡¡¡¡flow1£º1->2->3->4->5->6->7->8->1

¡¡¡¡flow2£º9->10->11->12->13->14->15->16->17(TT)

¡¡¡¡flow3£º9->18->9

¡¡¡¡flow4£º17->19->17

¡¡¡¡Ê×ÏÈ£¬½èÖúOSATEƽ̨ÉϵÄAADLÁ÷ʱÑÓ·ÖÎö²å¼þ½øÐд¦Àí²ã´ÎµÄʱÑÓ·ÖÎö£¬¼ÆËãµÃ¸÷ÌõÁ÷Á¿µÄʱÑÓÉϽ硣Ȼºó£¬Ê¹ÓÃ×ÔÐпª·¢µÄÄ£ÐÍת»»²å¼þ£¬½«AADLÄ£ÐÍת»¯ÎªRTCÄ£ÐÍ£¬²¢Í¨¹ýÈðÊ¿Áª°î¼¼ÊõѧԺ¿ª·¢µÄRTC·ÖÎö¹¤¾ßRTCToolBox¶Ô¸ÃÄ£ÐͽøÐл¥Á¬²ã´ÎµÄʱÑÓ·ÖÎö£¬¼ÆËãµÃ¸÷¸ö½ÚµãµÄ»¥Á¬²ã´ÎʱÑÓÉϽ硣

¡¡¡¡¶ÔÓÚflow1£¬ÒòÆäÁ÷¾­¶à¸ö½Úµã£¬½«ËùÁ÷¾­µÄ¸÷¸ö½Úµã

¡¡¡¡µÄʱÑÓÉϽçÏà¼Ó£¬¿ÉµÃµ½Ò»¸ö×ÜÌåµÄʱÑÓÉϽç

¡¡¡¡Delay _Flow1=4+5.75+41.333+5+45.333+6.625+10.25=118.291(¦Ìs)

¡¡¡¡ÁíÒ»·½Ã棬ÒÀ¾Ý¡°Pay Burst Only Once¡±Ô­Ôò¼ÆËãËùµÃµÄʱÑÓÉϽçΪ117.042¦Ìs£¬ÏÔÈ»£¬ºóÕßÊÇÒ»¸ö¸ü¡°½ô¡±µÄÈ·½ç¡£

¡¡¡¡ÏÂÃ棬¶ÔÁ½¸ö²ã´ÎµÄ·ÖÎö½á¹û½øÐÐ×ۺϣº¶ÔÓÚTTÁ÷Á¿flow2£¬ÓÉÓÚ²»´æÔÚÒò´«ÊäЭÒé»ò¶à·¸´ÓÃÔì³ÉµÄÅŶÓʱÑÓ£¬¹Ê×ۺϿ¼ÂÇ´¦ÀíºÍ»¥Á¬Á½¸ö²ã´ÎµÄʱÑÓÉϽçΪ£º

¡¡¡¡Total_Delay _Flow2=838+0=838(¦Ìs)¶ÔÓÚÆäËü3ÌõRCÁ÷Á¿£¬½«´¦Àí²ã´ÎºÍ»¥Á¬²ã´ÎµÄ·ÖÎö½á¹ûÏà¼Ó£¬¼´µÃµ½×ۺϿ¼ÂÇÁ½¸ö²ã´ÎµÄʱÑÓÉϽç

¡¡¡¡Total_Delay _Flow1=832+117.042=949.042(¦Ìs)

¡¡¡¡Total_Delay _Flow3=53+10.75=63.75(¦Ìs)

¡¡¡¡Total_Delay _Flow4=53+6.75=59.75(¦Ìs)

¡¡¡¡ÔÚ°´ÕÕÉÏÊö·½·¨ÇóµÃ¸÷ÌõÁ÷Á¿µÄʱÑÓÉϽç²ÎÊýºó£¬¼´¿ÉÀûÓÃÕâЩ²ÎÊý¿ªÕ¹ÏµÍ³ÊµÊ±ÐÔÄÜÆÀ¼Û£¬ÒÔ¼°±ØÒªµÄµü´úÉè¼ÆµÈºóÐø¹¤×÷¡£

¡¡¡¡6 ½áÊøÓï

¡¡¡¡±¾ÎÄ»ùÓÚDIMAϵͳÌØÕ÷£¬Ê¹ÓÃAADLÓïÑÔ½¨Á¢ÏµÍ³Ìåϵ½á¹¹Ä£ÐͺÍÁ÷Ä£ÐÍ£¬½áºÏAADLÁ÷ʱÑÓ·ÖÎö¿ò¼ÜºÍRTC£¬Ìá³öÒ»Ì×´¦ÀíÓ뻥Á¬²ã´ÎÏà½áºÏµÄ¶Ëµ½¶ËÁ÷Á¿µÄʱÑÓ·ÖÎö·½·¨¡£¸Ã·½·¨Í¨¹ý×ÔÐпª·¢µÄ²å¼þ½«AADLÄ£ÐÍת»»ÎªRTCÄ£ÐÍ£¬ÔÚAADLÌåϵ½á¹¹Ä£ÐÍÓëרҵµÄRTC·ÖÎö¹¤¾ßÖ®¼ä½¨Á¢ÓлúÁªÏµ£¬ÊµÏÖÁË¿ç²ã´ÎµÄʱÑÓ·ÖÎö£¬¿ÉÓÃÓÚ·Ö²¼Ê½×ۺϺ½¿Õµç×ÓϵͳÉè¼Æ¹ý³ÌÖÐͨÐÅÈÎÎñµÄʱ¼äÈ·¶¨ÐÔ·ÖÎöÓëÆÀ¼Û¡£

¡¡¡¡´ËÍ⣬ÔÚÑо¿¹ý³ÌÖз¢ÏÖ£¬Ä¿Ç°AADLÓïÑÔÔÚÃèÊö»¥Á¬Í¨ÐÅ·½Ãæ´æÔÚÃ÷ÏԵľÖÏÞ£¬Èç±íÕ÷Ó²¼þÉ豸֮¼ä»¥Á¬µÄ×ÜÏß¹¹¼þ·Ç³£³éÏó£¬ÄÑÒÔ׼ȷ±íÊöʵ¼Ê´«ÊäÍøÂçÖеķÖ×é½»»»ÇéÐεȡ£Òò´Ë£¬Ëæ×ÅDIMAϵͳÔÚº½¿Õµç×ÓÁìÓòµÄÖð½¥Íƹ㣬AADLÓïÑÔÓбØÒªÔö¼ÓÏàÓ¦µÄÓ²¼þÉ豸»¥Á¬½¨Ä£·ûºÅµÄÓïÒå¡£

¡¾Ì¸DIMAϵͳʵʱͨÐÅÁ÷Á¿µÄʱÑÓ·ÖÎö·½·¨ÂÛÎÄ¡¿Ïà¹ØÎÄÕ£º

1.Òƶ¯Í¨ÐÅϵͳ¸ÉÈÅ¿ØÖÆ·ÖÎöÂÛÎÄ

2.Ò칹ϵͳÍøÂçͨÐż¼Êõ·ÖÎöÂÛÎÄ

3.ÎÀÐÇͨÐÅϵͳALOHA¼¼Êõ·ÖÎöÂÛÎÄ

4.ͨÐŵçԴϵͳά»¤·½·¨ÂÛÎÄ

5.ÎÀÐÇͨÐÅϵͳ¸ÉÈżà²â¼¼ÊõµÄ·ÖÎöÂÛÎÄ

6.ÎÀÐÇÒƶ¯Í¨ÐÅϵͳµÄÂÛÎÄ

7.FTOϵͳÊý¾ÝͨÐÅ´¦Àí·ÖÎöÂÛÎÄ

8.ͨÐÅÉ豸¿Î³Ì½Ìѧ·½·¨·ÖÎöÂÛÎÄ