技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于PC/104總線的多功能擴展通信模塊的設(shè)計

基于PC/104總線的多功能擴展通信模塊的設(shè)計

時間:2008-10-15 09:02:00來源:ronggang

導(dǎo)語:?本文介紹了按照PC/104標(biāo)準開發(fā)帶有四個串行口(兩個RS-232、兩個RS-485)和一個CAN總線接口的多功能、通用型擴展通信模塊的方法,設(shè)計中所有的控制邏輯都由一塊CPLD,CAN控制器與104總線之間的時序也由CPLD調(diào)整
摘要:在控制系統(tǒng)中進行現(xiàn)場控制的PC/104總線計算機往往需要以多種方式、同多種節(jié)點通信。本文介紹了按照PC/104標(biāo)準開發(fā)帶有四個串行口(兩個RS-232、兩個RS-485)和一個CAN總線接口的多功能、通用型擴展通信模塊的方法,設(shè)計中所有的控制邏輯都由一塊CPLD實現(xiàn),CAN控制器與104總線之間的時序也由CPLD調(diào)整。 關(guān)鍵詞:PC/104總線、CAN總線、CPLD、多串行口 Abstract: Design and realization of a communication module with 4 serial ports and a CAN bus interface is presented in this paper. It is based on PC/104 standard. All control logics in the module are occurred by a CPLD device. Time sequence between 104 bus and CAN controller is also adjusted by CPLD. Key words: PC/104 bus , CAN bus , CPLD, Multi serial ports 1 引言   PC/104總線計算機具有體積小、功耗低、工作溫度寬、可靠性高等特點,被廣泛地應(yīng)用于分布式系統(tǒng)和集散控制系統(tǒng)中作為現(xiàn)場控制計算機。在這些系統(tǒng)中的104PC,往往需要同上位機及下面連接的控制執(zhí)行機構(gòu)、傳感器或測量儀表通信,而常用的通信方式有RS-232串行口加MODEM方式、RS-485方式、以太網(wǎng)方式以及各種工業(yè)現(xiàn)場總線。   RS-232串行口加MODEM方式一般用于點對點之間較遠距離的數(shù)據(jù)傳輸;RS-485方式一般用于控制現(xiàn)場對多點實施控制,目前它仍是工業(yè)控制中使用得最廣泛的一種方式;以太網(wǎng)方式可以實現(xiàn)遠程控制和信息共享,但它的時延不可控,在實時性和保密性要求較高的控制系統(tǒng)中的應(yīng)用受到一定限制;現(xiàn)場總線技術(shù)是當(dāng)今自動化領(lǐng)域技術(shù)發(fā)展的熱點之一,是應(yīng)用于控制現(xiàn)場、在微機化測量設(shè)備之間實現(xiàn)雙向串行多節(jié)點數(shù)字通信的系統(tǒng),也被稱為開放式、數(shù)字化、多點通信的底層控制網(wǎng)絡(luò)。現(xiàn)場總線的標(biāo)準很多,其中CAN總線在國內(nèi)的發(fā)展速度最快,被認為是替代RS-485的最理想的方式之一。   CAN總線規(guī)范已被ISO制定為國際標(biāo)準,其模型結(jié)構(gòu)有三層,包括OSI底層的物理層、數(shù)據(jù)鏈路層和頂層的應(yīng)用層,通信速率最高可達1Mbps/40m,直接傳輸距離最高可達10Km/5Kbps,可掛接設(shè)備數(shù)最高可達110個??偩€的電氣規(guī)范類似于RS-485,采用雙線差分平衡傳輸,以兩線間的電壓差表示數(shù)字邏輯,分為“顯性”和“隱性”兩種邏輯。CAN總線采用面向內(nèi)容的編址方案,可以在總線中加進一些新站而無需在硬件或軟件上進行修改。該總線以報文為單位進行數(shù)據(jù)傳送,報文的優(yōu)先級結(jié)合在11位標(biāo)識符中,確保不同實時性要求的數(shù)據(jù)以不同優(yōu)先級傳送,總線讀取中的沖突可通過位仲裁解決。CAN協(xié)議可使用五種檢查錯誤的方法,保證了數(shù)據(jù)傳輸?shù)目煽啃?。利用CAN總線可以以較低的成本、較高的實時處理能力和在惡劣的強電磁干擾環(huán)境下可靠地工作。   綜上所述,根據(jù)目前104PC在工業(yè)控制中的應(yīng)用特點和需求,本設(shè)計的目的是按照PC/104標(biāo)準設(shè)計通用型多功能擴展通信模塊,該通信模塊包括兩個RS-232串行口、兩個RS-485接口和一個CAN總線接口。 2 器件選型和總體設(shè)計方案   要按照PC/104標(biāo)準在通信模塊中擴展四個串行口和一個CAN總線接口,在模塊功耗和外型尺寸上限制很嚴,因而器件需選擇高集成度IC。   異步通訊單元是串行口擴展的核心器件,它在指定波特率和數(shù)據(jù)格式下完成并行數(shù)據(jù)和串行數(shù)據(jù)之間的相互轉(zhuǎn)換并完成相應(yīng)的控制。設(shè)計中選用了TI公司的高集成度異步通訊控制單元TL16C554芯片,它集成有4個ACE(異步通信單元),共用了數(shù)據(jù)線和一些邏輯控制信號,可以通過各自的片選信號選擇每一個ACE單元。每個收發(fā)單元都有自己的中斷請求、數(shù)據(jù)收發(fā)以及MODEM邏輯控制信號,可以完成異步收發(fā)器的所有功能。   RS-232C電平與TTL電平轉(zhuǎn)換通過Max213完成。Max213采用的是SSOP封裝,外型尺寸小,功耗小,一片Max213加上幾個小電容就可以完成一個標(biāo)準RS-232C所有信號的電平轉(zhuǎn)換。   RS-485電平與TTL電平轉(zhuǎn)換通過SN65LBC184實現(xiàn)。SN65LBC184是德州儀器公司推出的RS-485總線驅(qū)動芯片,結(jié)構(gòu)簡單,功耗小,由單芯片實現(xiàn)半雙工RS-485通信。它采用1/2負載設(shè)計,總線上允許掛接64個單元,還具有防靜電、耐高壓沖擊和過熱保護功能,可以提高系統(tǒng)的可靠性。   CAN總線控制器是實現(xiàn)CAN總線接口擴展的核心器件。它將來自104PC上ISA總線的并行數(shù)據(jù)按照CAN總線協(xié)議轉(zhuǎn)發(fā)出去,同時也按照CAN總線協(xié)議接收來自外部總線的數(shù)據(jù)。在設(shè)計中選用了PHILIPS公司的SJA1000獨立CAN總線控制器。SJA1000是PCA82C200的升級產(chǎn)品,集成了CAN總線邏輯鏈路層協(xié)議。它與PCA82C200在硬件和軟件上完全兼容,還具有支持擴展CAN總線協(xié)議的PELI工作模式(支持CAN2.0B協(xié)議)。具體來說,SJA1000主要具有以下特點:擴展的64 Byte FIFO接收緩沖、支持11bit標(biāo)識碼和29bit標(biāo)識碼、支持標(biāo)準和擴展格式的幀信息的傳輸,還具有單/雙掩碼濾波器、仲裁丟失中斷、只聽模式、自身信息接收、最近錯誤寄存等眾多PELICAN模式擴展功能。   CAN總線電平與TTL電平的轉(zhuǎn)換通過PHILIPS公司的PCA82C250完成。該芯片與ISO11898標(biāo)準兼容,支持最高達1Mbaud的高速傳輸,可連接110個節(jié)點。采用限斜率控制,降低射頻干擾,具有寬范圍的抗共模干擾、抗電磁干擾能力。   設(shè)計中所涉及到的邏輯控制、時序控制由CPLD實現(xiàn)。這樣做的目的,主要出于以下考慮:   ·如果采用與非門,譯碼器、鎖存器等分立元件實現(xiàn)邏輯控制,大量的元件難以在PCB板上布局,而且使電路變得復(fù)雜,也降低了模塊的可靠性和抗干擾能力。   ·CAN控制器SJA1000的對外操作接口是一種地址/數(shù)據(jù)分時復(fù)用的接口,而PC104沒有地址/數(shù)據(jù)分時輸出的特性。因此,必須經(jīng)過時序轉(zhuǎn)換才能實現(xiàn)它們之間的連接。目前,一般采用8031單片機轉(zhuǎn)發(fā)數(shù)據(jù)的方式來實現(xiàn):通過8031連接CAN控制器,104PC利用IO端口讀寫的方式將數(shù)據(jù)直接傳送給8031,或者將數(shù)據(jù)寫于雙口RAM中,8031在另一個口讀取數(shù)據(jù),再由它對CAN總線控制器進行操作,將數(shù)據(jù)轉(zhuǎn)發(fā)出去。這種方法無疑又要增加器件和電路的復(fù)雜性。   為此,設(shè)計了通過CPLD整合時序?qū)崿F(xiàn)104PC與CAN控制器連接的方法,由104PC分時送出操作地址和操作數(shù)據(jù),并由CPLD整合相關(guān)的邏輯控制信號,滿足CAN控制器的時序要求。   ·采用CPLD可以根據(jù)需要定義輸入輸出腳,方便PCB板布局和走線。   ·采用CPLD時不必擔(dān)心設(shè)計中所采用器件的種類、數(shù)量,可以任意定義所需各種器件,從而優(yōu)化電路性能。   ·采用CPLD可以通過軟件對電路進行仿真,方便電路調(diào)試。   ·采用CPLD可以在線修改其內(nèi)部邏輯,升級或修改BUG時可不改動外部電路。   CPLD芯片選用ALTERA公司的EPM7064SLC84-10,該芯片具有基于EEPROM的第二代MAX結(jié)構(gòu),支持通過JTAG引腳實現(xiàn)在系統(tǒng)編程。擁有64個宏單元,4個邏輯陣列塊,1250個可用門單元,支持5V/3.3V多電壓IO接口,可提供68個用戶IO引腳。      根據(jù)以上的方案,通信擴展模塊的結(jié)構(gòu)如圖1。 [align=center] 圖1 擴展通信模塊結(jié)構(gòu)[/align] 3 硬件實現(xiàn)   3.1地址譯碼電路   本擴展模塊共需占用七個IO地址,其中兩個IO地址供CAN控制器,四個IO地址供四串口異步通訊單元,一個IO地址供中斷共享電路。必須合理選擇IO地址,否則會引起系統(tǒng)不可預(yù)知的沖突。   各種PC104計算機IO地址分配情況大體相同,以盛博SysCenterMoudle/SuperDx為例,選擇了110H~140H為擴展通訊模塊的IO地址,地址分配見表1,邏輯譯碼結(jié)構(gòu)見圖2。   表1 IO地址分配表
[align=center] 圖2 IO地址邏輯譯碼結(jié)構(gòu)[/align]   圖2用VHDL語言可以很方便地實現(xiàn)。其具體描述如下:   SEL(0)<=AEN;   SEL(1)<=NIOW AND NIOR;   SEL(2)<=ADDR(0);   SEL(3)<=ADDR(1);   SEL(4)<=ADDR(2);   SEL(5)<=ADDR(3);   SEL(6)<=ADDR(4);   SEL(7)<=ADDR(5);   SEL(8)<=ADDR(6);   WITH SEL SELECT   Y<="1111110" WHEN "010001000",//IO/110 地址操作   "1111101" WHEN "010001100",//IO/118 數(shù)據(jù)操作   "1111011" WHEN "010010000",//IO/120 串口1   "1110111" WHEN "010010100",//IO/128 串口2   "1101111" WHEN "010011000",//IO/130 串口3   "1011111" WHEN "010011100",//IO/138 串口4   "0111111" WHEN "010100000",//IO/140 讀中斷號   "1111111" WHEN OTHERS;   END BLOCK CODE;   3.2 104總線與CAN控制器的接口   如前所述,104總線與ISA總線兼容而與CAN控制器要求的時序不同,設(shè)計中將104總線中的BALE、地址和讀寫信號經(jīng)CPLD邏輯整合后提供給CAN控制器,同時從數(shù)據(jù)線分時送出操作地址和操作數(shù),滿足CAN控制器的時序要求。時序整合的VHDL語言如下:   ALE<=(NOT Y(0)) AND BALE;   CSCAN<=Y(1);   IORCAN<=Y(1) OR NIOR;   IOWCAN<=Y(1) OR NIOW;   雙向數(shù)據(jù)緩沖的VHDL實現(xiàn)可以在很多參考書中找到,此處從略。   3.3 異步通信接口電路及中斷共享電路   16554的接口可與PC104實現(xiàn)無縫連接,CPLD實現(xiàn)選通和讀寫邏輯控制,異步通信與CAN控制器共用CPLD內(nèi)的雙向數(shù)據(jù)緩沖電路。   異步通訊控制單元16554有很強的中斷能力,四個串行控制器具有各自的中斷引腳,使用靈活。但系統(tǒng)的中斷資源有限,如果每一個控制器都占用一個中斷號,通訊模塊需要占用五個中斷號。為了節(jié)約中斷資源,設(shè)計中將4個串口控制器共享一個中斷,而CAN總線控制器單獨占用一個中斷。   為了實現(xiàn)共享,設(shè)置了一個中斷向量寄存器,當(dāng)發(fā)生中斷時首先讀取中斷向量寄存器以定位發(fā)出中斷的串行口。其原理見圖3。 [align=center] 圖3 中斷共享電路[/align]   VHDL語言實現(xiàn)如下:   GMID<=NIOR OR Y(6);   INTSER<=INTABCD(0) OR INTABCD(1) OR INTABCD(2) OR INTABCD(3);   INTID<=INTABCD WHEN (GMID=‘0‘)   ELSE   "ZZZZ" 4 結(jié)論   本設(shè)計利用CPLD實現(xiàn)了104總線和CAN控制器之間的時序轉(zhuǎn)換、整個電路的邏輯控制以及中斷共享,使電路設(shè)計結(jié)構(gòu)緊湊,性能穩(wěn)定。擴展了RS-232、RS-485和CAN接口的104PC可以滿足絕大部分控制系統(tǒng)的通信要求。該設(shè)計已被一個分布式防空系統(tǒng)所采用,在歷次聯(lián)調(diào)試驗中性能指標(biāo)均達到了要求。 參考文獻   1. 盛博科技有限公司.PC/104 技術(shù)手冊.SBS Science&technology Co,2000   2. Altera. MAX 7000 Programmable Logic Device Family Data Sheet.1995   3.Texas Instruments. TL16C554 Asynchronous Communication Element Data Sheet. 1998   4. Philips Semiconductors. SJA1000 Stand-alone CAN Controller data sheet. 1997

標(biāo)簽:

點贊

分享到:

上一篇:提高RS485總線通信速度的一種...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號