時間:2009-04-21 12:36:18來æºï¼šhesp
ARINC429總線是美國航空無線電公å¸ï¼ˆARINC)制定的航空數å—總線傳輸標準,定義了航空電åè¨å‚™å’Œç³»çµ±ä¹‹é–“相互通信的一種è¦èŒƒã€‚隨著國內航空æ¥çš„發展,ARINC429總線的應用日益廣泛,已推廣到許多航空è¨å‚™ä¸ã€‚與æ¤åŒæ™‚在許多航空機載è¨å‚™çš„æª¢æ¸¬ç¶ä¿®ä¸å‡ºç¾äº†å¤§é‡å°429信號的檢測需求。這就使得å°429信號的仿真和測試顯得å分關éµã€‚本文使用目å‰å¸‚å ´ä¸ŠæŠ€è¡“æˆç†Ÿçš„基于PCI接å£çš„429收發æ¿å¡ï¼Œä»¥LabWindows/CVI作為軟件開發環境,è¨è¨ˆå¯¦ç¾äº†å°429信號的仿真和測試,é”到了使用個人電腦完æˆ429信號檢測任務的目的。    ARINC429總線簡介   ARINC429å”è°è¦å®šä½¿ç”¨é›™çµžå±è”½ç·šä»¥ä¸²è¡Œæ–¹å¼å‚³è¼¸æ•¸å—數據信æ¯ï¼Œä¿¡æ¯ç‚ºå–®å‘傳輸,å³ç¸½ç·šä¸Šåªå…許有1個發é€è¨å‚™ï¼Œå¯ä»¥æœ‰å¤šå€‹ï¼ˆ≤20個)接收è¨å‚™ã€‚總線的數據傳輸率為12.5~100kbps,傳輸å—為32ä½ã€‚線路上的碼型為雙極性æ¸é›¶ç¢¼ã€‚æ¯æ¢ç·šä¸Šçš„信號電壓范åœç‚º+5V到-5V之間。一æ¢ç·šç¨±ç‚ºA(或+),而å¦ä¸€æ¢ç·šç¨±ç‚ºB(或-)。兩æ¢ç·šè·¯çš„差分信號的é‚輯關系有三種:當A-B 的差分電壓為7.25V~11V時,表示é‚輯1,å³HI;ç•¶A-B的差分電壓為-0.5V~0.5V 時,表示NULL;ç•¶A-B的差分電壓為-11V~-7.25V 時,表示é‚輯0,å³LO。具體編碼方å¼å¦‚圖1所示。
[align=center]圖1 ARINC429雙極性æ¸é›¶ç·¨ç¢¼æ–¹å¼åœ– [/align]   按照è¦å®šARINC429å—çš„32個數據ä½åˆ†ç‚º5個基本å€åŸŸï¼Œåˆ†åˆ¥ç‚ºParityã€SSMã€DATAã€SDIã€LABEL,如圖2所示。1~8使˜¯æ¨™è™Ÿä½ï¼ˆLABEL),標記出包括在這個傳é€å—內的信æ¯çš„類型。通éŽé€™äº›æ•¸æ“šæ¨™è™Ÿï¼ŒæŽ¥æ”¶è¨å‚™å¯ä»¥å¾ˆå®¹æ˜“地判斷出所接收到的å—的用途。9~10使˜¯æºçµ‚端è˜åˆ¥ä½ï¼ˆSDI),它指示信æ¯çš„ä¾†æºæˆ–ä¿¡æ¯çš„終端。11~28或29使˜¯æ•¸æ“šä½ï¼ˆData Field),是所確定的用于傳輸的信æ¯ã€‚ 29到30或31ä½ç‚ºç¬¦è™Ÿç‹€æ…‹çŸ©é™£ä½ï¼ˆSSM),表示數據的特性或å—類型,也å¯è¡¨ç¤ºç™¼é€è¨å‚™çš„狀態信æ¯ã€‚32ä½ç‚ºå¥‡å¶æ ¡é©—ä½ï¼ˆP),實ç¾ç°¡å–®çš„æ•¸æ“šæ ¡é©—åŠŸèƒ½ã€‚
[align=center]圖2 429 信號32ä½å—æ ¼å¼ [/align] 基本è¨è¨ˆæ€æƒ³   è¨è¨ˆèˆªç©º429總線信號的仿真和檢測采用了虛擬儀器的è¨è¨ˆæ€è·¯ã€‚ç°¡å–®çš„èªªï¼Œè™›æ“¬å„€å™¨å°±æ˜¯é€šç”¨è¨ˆç®—æ©ŸåŠ ä¸Šè»Ÿä»¶å’Œç¡¬ä»¶ã€‚ç¡¬ä»¶ç”¨ä¾†è§£æ±ºä¿¡è™Ÿçš„è¼¸å…¥è¼¸å‡ºå•題,軟件用來實ç¾å°ä¿¡è™Ÿçš„處ç†ã€é¡¯ç¤ºç‰åŠŸèƒ½ã€‚å®ƒåˆ©ç”¨è¨ˆç®—æ©Ÿçš„å¼·å¤§æ”¯æŒï¼Œä½¿ç”¨æˆ¶å¯ä»¥å¾ˆæ–¹ä¾¿åœ°å°å…¶ç¶è·ã€æ“´å±•å’Œå‡ç´šã€‚èˆ‡å‚³çµ±å„€å™¨ç›¸æ¯”ï¼Œè™›æ“¬å„€å™¨å…·æœ‰å¾ˆé«˜çš„éˆæ´»æ€§ï¼Œå¯ä»¥é€šéŽç·¨åˆ¶è»Ÿä»¶ä¾†å®šç¾©åŠŸèƒ½ã€‚ç›®å‰åœ¨é€™ä¸€é ˜åŸŸå…§ï¼Œä½¿ç”¨è¼ƒç‚ºå»£æ³›çš„軟件包括NIå…¬å¸çš„LabVIEW å’ŒLabWindows/CVI,HPå…¬å¸çš„VEEç‰ã€‚   è¨è¨ˆä¸ï¼Œç¡¬ä»¶æ–¹é¢ä½¿ç”¨åŸºäºŽPCIæ’æ§½çš„429信號收發æ¿å¡ï¼Œå°‡å…¶æ’入通用電腦PCIæ’æ§½é”åˆ°äº†æ¸¬è©¦çš„ç¡¬ä»¶è¦æ±‚,實ç¾429信號的發é€å’ŒæŽ¥æ”¶;軟件方é¢ä½¿ç”¨NIå…¬å¸çš„LabWindows/CVI作為開發平臺,主è¦ç”¨ä¾†å®Œæˆç™¼é€å‰çš„æ•¸æ“šæº–å‚™ã€å°æŽ¥æ”¶æ•¸æ“šçš„處ç†å’Œé¡¯ç¤ºç‰å·¥ä½œã€‚    è¨è¨ˆå¯¦ç¾æ–¹æ³•   硬件介紹   é¸ç”¨è¥¿å®‰æ–¹å…ƒæ˜Žå…¬å¸ä»£ç†çš„EXC_M4K429RTx模塊æ¿å¡ã€‚該æ¿å¡çš„åŸºæœ¬çµæ§‹å¦‚圖3所示。
[align=center]圖3 M4K429RTxæ¿å¡çµæ§‹åŽŸç†åœ–   [/align][align=left] å…¶ä¸»è¦æ€§èƒ½åƒæ•¸åŒ…括:支æŒ5~10通é“,æ¯å€‹é€šé“凿”¯æŒæŽ¥æ”¶ç™¼é€è‡ªå®šç¾©;信號傳輸率為12.5~100Kbps編程å¯èª¿;4K×8雙端å£RAM作為數據收發緩å˜;支æŒå¥‡å¶æ ¡é©—å’Œå¯ç·¨ç¨‹è¼¸å‡ºç¡¬ä»¶è§¸ç™¼ï¼Œä¸æ–·å’Œé¸æ“‡æ¨¡å¼;發é€é€šé“支æŒå–®å€‹ç™¼é€ï¼Œå–®æ¬¡ç™¼é€å’Œå¾ªç’°ç™¼é€ä¸‰ç¨®ç™¼é€æ¨¡å¼;æŽ¥æ”¶é€šé“æ”¯æŒæŸ¥è©¢æŽ¥æ”¶ï¼Œå–®é€šé“連續接收和多通é“連續接收種模å¼;發é€å—間隔編程å¯èª¿;æ”¯æŒæ·»åŠ æ™‚é–“æ¨™ç°½;有糾錯功能。   軟件支æŒï¼šæä¾›windows下é‹è¡Œçš„Cé©…å‹•;支æŒVCã€LabVIEWã€Delphiã€LabWindows/CVIç‰è»Ÿä»¶é€²è¡Œé–‹ç™¼ã€‚    [/align][align=left]軟件è¨è¨ˆ   軟件è¨è¨ˆä¸»è¦åŒ…括兩方é¢çš„工作,一是è¨è¨ˆå¯¦ç¾29信號的發é€ï¼Œå³ä¿¡è™Ÿçš„仿真;å¦ä¸€å€‹æ˜¯å¯¦ç¾æŽ¥æ”¶429信號并以åˆé©çš„æ–¹å¼è™•ç†ï¼ŒåŒ…括如何顯示ç‰ï¼Œå³ä¿¡è™Ÿçš„æª¢æ¸¬ã€‚   ·ç™¼é€éƒ¨åˆ†   發é€éƒ¨åˆ†è¨è¨ˆæµç¨‹å¦‚圖4所示,è¨è¨ˆçš„工作界é¢åƒè¦‹åœ–5。 [/align]
  首先,輸入è¨å‚™è™Ÿã€æ¨¡å¡Šè™Ÿå’Œé¸æ“‡ç™¼é€é€šé“,通éŽèª¿ç”¨æ¿å¡å‡½æ•¸Init_Module_RTxå°æ¿å¡åˆå§‹åŒ–,ç²å¾—å°æ¿å¡é€²è¡Œæ“ä½œçš„å¥æŸ„,點擊“打開æ¿å¡”按鈕å¯ä»¥å®Œæˆé€™ä¸€æ¥å·¥ä½œã€‚ç„¶åŽèª¿ç”¨æ¿å¡çš„屬性è¨ç½®å‡½æ•¸Setup_Transmit_Channel_RTxè¨ç½®ç™¼é€é€šé“的發é€å±¬æ€§ï¼ŒåŒ…æ‹¬ç™¼é€æ–¹å¼ï¼Œç™¼é€æ•¸æ“šé€ŸçŽ‡ï¼Œç™¼é€æ™‚é–“é–“éš”å’Œå¥‡å¶æ ¡é©—,通éŽé¢æ¿æŽ§ä»¶ç²å¾—é€™äº›å±¬æ€§å€¼ï¼Œå¦‚ç™¼é€æ–¹å¼å¯é¸æ“‡å–®æ¬¡ï¼Œå–®å€‹å’Œå¾ªç’°ç™¼é€ä¸‰ç¨®ç™¼é€æ¨¡å¼ã€‚發é€é€Ÿçއ12.5~100Kbpså¯é¸ã€‚   實ç¾è¨è¨ˆçš„é—œéµæ˜¯å¦‚ä½•å¾—åˆ°æ¨™æº–æ ¼å¼çš„32ä½429碼,并按照æ¿å¡ç¡¬ä»¶è¦å®šçš„æ ¼å¼å°‡å…¶æ”¾å…¥ç™¼é€å¯„å˜å™¨ä¸ã€‚如圖5åœ¨ç™¼é€æ•¸æ“šå€ä¸å°æ‡‰è¼¸å…¥æ‰€è¦ç™¼é€çš„æ•¸æ“šä¿¡æ¯ã€‚由于429 信號數據ä½ç¢¼çš„å¡«å……æ–¹å¼æ ¹æ“šæ•¸æ“šé¡žåž‹çš„ä¸åŒåˆ†ç‚ºå…©ç¨®ï¼Œä¸€ç¨®æ˜¯æŒ‰ç…§BCD碼填充,一種是按照BNRç¢¼å¡«å……ï¼Œå› æ¤ç·¨å¯«è»Ÿä»¶æ™‚,首先需è¦åˆ¤æ–·label類型,確定數據的填充方å¼ï¼Œç„¶åŽå°‡å®ƒå€‘åˆå¹¶æˆç¬¦åˆå…¶æ•¸æ“šé¡žåž‹çš„32ä½429碼信æ¯ï¼Œå†æŒ‰ç…§åœ–6æ‰€ç¤ºçš„ç™¼é€æ ¼å¼ï¼Œå°‡å…¶åˆ†ç‚ºé«˜16ä½å’Œä½Ž16ä½å…©çµ„碼分別放入發é€å¯„å˜å™¨çš„高ä½å’Œä½Žä½ä¸ï¼Œæ‰èƒ½è¢«æ£ç¢ºç™¼é€å‡ºåŽ»ã€‚
  下é¢çµ¦å‡ºäº†ä»¥BNRæ–¹å¼å¡«å……數據å€çš„部分代碼。主è¦é‡‡ç”¨ä½æ“作完æˆäº†32ä½ç¢¼çš„生æˆå’Œæ‹†åˆ†ã€‚ int generat32 (int tr_data,int lab,int ssm, int sdi)//生æˆ32ä½ç¢¼ ï½› int data,i,j=0; tr_data =tr_data<<10; ssm =ssm<<29; sdi =sdi<<8; data =tr_data|lab|ssm|sdi; return data32; ï½ Lo=(data 32&0x 00ffff00)>>8; //生æˆä½Ž16ä½ç¢¼ for(i=0;i<8;i++) //顛倒lableä½ ï½› real_lab=(lab>>i)%2; temp_lab=temp_lab|(real_lab<<(7-i)); real_lab=0; ï½ Hi=((data32& 0xff00000 0)>>24)|(temp_lab<<8); //生æˆé«˜16ä½ç¢¼ èª¿è©¦è‰æ˜Žï¼Œé€šéŽä»¥ä¸Šçš„æ•¸æ“šæº–å‚™å·¥ä½œï¼Œå°±å¯ä»¥ç™¼å‡ºç¬¦åˆè¦èŒƒçš„429碼。   ·æŽ¥æ”¶éƒ¨åˆ†   接收部分的å‰ç«¯è¨è¨ˆèˆ‡ç™¼é€éƒ¨åˆ†ç›¸åŒï¼Œåœ–7是è¨è¨ˆçš„æŽ¥æ”¶ç•Œé¢ã€‚開始也è¦é€²è¡Œæ¿å¡åˆå§‹åŒ–å’Œè¨ç½®æŽ¥æ”¶å±¬æ€§ï¼Œèª¿ç”¨Setup_Receive_Channel_RTx函數è¨ç½®å®Œæˆã€‚
  當開始接收數據時,接收寄å˜å™¨æœƒå¾—到高16ä½å’Œä½Ž16ä½å…©çµ„ç¢¼ï¼ˆæ•¸æ“šæ ¼å¼èˆ‡ç™¼é€éƒ¨åˆ†å®Œå…¨ç›¸åŒï¼Œå¯åƒè¦‹åœ–6ï¼ŒåŒæ™‚在æ¿å¡çš„æ¨™æº–模å¼ä¸‹ï¼Œé‚„會得到用兩個16ä½ç¢¼è¡¨ç¤ºçš„æ™‚間標號以åŠ1個16ä½ç¢¼çš„æ¿å¡ç‹€æ…‹è¿”å›žå€¼ã€‚è¦æ£ç¢ºè˜åˆ¥å„段碼的信æ¯ã€‚é—œéµæ˜¯å°äºŽæ•¸æ“šä½çš„處ç†ã€‚è¦æ ¹æ“šæ•¸æ“šä¸åŒçš„å¡«å……æ–¹å¼ç·¨å¯«ä¸åŒçš„代碼。ä»ç„¶ä»¥BNR碼填充為例,給出讀å–32ä½ç¢¼å„段信æ¯çš„ä»£ç¢¼ã€‚æŒ‰ç…§åŒæ¨£çš„æ€è·¯ï¼Œå¯ä»¥å¾—到以BCD碼填充數據å€çš„è˜åˆ¥ç¨‹åºå’Œå°æ™‚間標號的è˜åˆ¥ã€‚ data=((hi&0x0000001f)<<14)|(lo>>2); //åˆå¹¶å…©ç«¯æ•¸æ“šä»£ç¢¼ï¼Œè®€å–數據 lab=(hi&0xff00)>>8; //讀å–label for(i=0;i<8;i++) l ï½›real_lab=(lab>>i)%2; temp_lab=temp_lab|(real_lab<<(7-i)); real_lab=0;ï½ lab=temp_lab; ssm=(hi&0x00000060)>>5; //讀å–ssm sdi=lo&0x00000003; //讀å–sdi   由以上程åºå¯ä»¥è®€å‡º429ç¢¼çš„å„æ®µç¢¼ä¿¡æ¯ï¼Œå°äºŽé€™äº›ä¿¡æ¯ï¼ŒCVI編程支æŒçš„顯示方å¼åŒ…æ‹¬è¡¨æ ¼å¾ªç’°é¡¯ç¤ºã€è¡¨ç›¤é¡¯ç¤ºç‰ã€‚   ·è§¸ç™¼å’Œä¸æ–·çš„è™•ç† ã€€ã€€å°äºŽä¿¡è™Ÿç™¼é€å’ŒæŽ¥æ”¶ä¸å˜åœ¨çš„è§¸ç™¼å’Œä¸æ–·çš„å•題,æ¿å¡æœ¬èº«æ”¯æŒç¡¬ä»¶è§¸ç™¼å’Œä¸æ–·ã€‚åŒæ™‚é‚„å¯ä»¥åˆ©ç”¨CVIæä¾›çš„Timer控件實ç¾ï¼Œé€šéŽé¢æ¿æŽ§ä»¶å¯ä»¥è¨ç½®Timer的時間間隔來控制觸發時間,通éŽè¨ç½®Timer的關閉,來實ç¾ä¸æ–·ã€‚    çµèªž   本è¨è¨ˆé‡‡ç”¨è™›æ“¬å„€å™¨è¨è¨ˆæ€æƒ³ï¼Œåœ¨é‡å°æŸåž‹é£›æ©Ÿç ”發的自動檢測系統ä¸å¾ˆå¥½åœ°å®Œæˆäº†å°å„類429總線信號的仿真和檢測任務。å¦å¤–,使用這種方法還å¯ä»¥æ ¹æ“šéœ€è¦é¸æ“‡å¤šå€‹é€šé“åŒæ™‚工作,并發æ®è™›æ“¬å„€å™¨éˆæ´»çš„特點å°429信號進行多種處ç†å’Œé¡¯ç¤ºã€‚    åƒè€ƒæ–‡ç»ï¼š   1. 張毅,周紹磊ç‰ï¼Œè™›æ“¬å„€å™¨æŠ€è¡“分æžèˆ‡è¨è¨ˆ[M],機械工æ¥å‡ºç‰ˆç¤¾ï¼Œ2004   2. 429RTx&Discrete Software Tools Programmer’s Reference[M].Excalibur System Inc..2003   3. M4K429RTx User’s Manual[M].Excalibur System Inc..2006   4. 王建新,楊世鳳ç‰ï¼ŒLabWindows/CVI測試技術åŠå·¥ç¨‹æ‡‰ç”¨[M],化å¸å·¥æ¥å‡ºç‰ˆç¤¾ï¼Œ2006 編輯:何世平
標簽:
ä¸Šä¸€ç¯‡ï¼šè«–è®Šé »å™¨å¸¸è¦‹å¹²æ“¾æ•…éšœåˆ†æžåŠå°ç–
下一篇:微能WIN-V63çŸ¢é‡æŽ§åˆ¶è®Šé »å™¨åœ¨...
ä¸åœ‹å‚³å‹•網版權與å…è²¬è²æ˜Žï¼šå‡¡æœ¬ç¶²æ³¨æ˜Ž[來æºï¼šä¸åœ‹å‚³å‹•ç¶²]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Šå‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(www.siyutn.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉載請與0755-82949061è¯ç³»ã€‚任何媒體ã€ç¶²ç«™æˆ–å€‹äººè½‰è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²â€ï¼Œé•å者本網將追究其法律責任。
本網轉載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯ç¶²æˆ–æ¥å…§æŠ•稿人士,版權屬于原版權人。轉載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Šæ³•å¾‹è²¬ä»»ã€‚
相關資訊