關鍵字:DSP CAN總線 數據采集
CAN(Controller Area Network)即控制器區域網,CAN總線是由德國BOSCH公司為實現汽車測量和執行部件之間的數據通訊而設計的、支持分布式控制及實時控制的串行通訊網絡。CAN BUS現場總線已由ISO/TC22 技術委員會批準為國際標準IOS11898(通訊速率小于1Mbps)和ISO11519(通訊速率小于125kbps)。CAN總線開始主要應用于自動化電子領域的汽車發動機部件、傳感器、抗滑系統等應用中。
1 系統結構
基于現場總線的電力系統數據采集系統由數據采集模塊、CAN總線、工控機(IPC)3部分組成,其系統結構如圖1所示。
圖1 系統結構圖
其中數據采集模塊采集現場數據,直接面向生產過程;工控機主要功能是通過現場總線網絡對數據采集模塊的參數進行設置,實時獲取數據采集模塊的數據和信息,以及顯示、數據分析和完成報表等功能;CAN總線部分主要由CAN總線適配卡、通信介質和相應軟件構成。
2 系統硬件設計
三相電壓、三相電流模擬信號先輸入到信號調理電路,輸出的雙極性信號進入A/D轉換專用芯片ADS7864電路,數據信號經過電平匹配后傳入DSP。該系統還包括開關量輸入電路、開關量輸出電路、時鐘、電源和CAN接口等電路。如圖2所示。
圖2 硬件總體框圖
2.1 TMS320LF2407A的主要特點
美國德州儀器公司生產的TMS320LF2407A芯片將實時信號處理能力和控制器外設功能集于一身,特別適合于工業控制應用。具有豐富的通用輸入、輸出引腳。該芯片供電電壓為3.3V,降低了控制器的功耗;還提供了符合CAN2.0B規范要求的CAN通信模塊;一個16位的同步串行外圍接口(SPI)和串行通信接口(SCI)模塊;具有低成本、低功耗、高速運算能力和高性能處理能力等優點。
2.2 采集模塊電路設計
該部分電路采用ADS7684作為A/D轉換芯片,ADS7684是一種高速、低功耗、六通道、同時采樣保證無失碼的雙12位A/D轉換器。信號調理部分采用互感器對電網信號進行隔離變化,所選用的是電流型互感器,既可測電壓也可測電流,輸入、輸出額定電流6mA/6mA再采用普通運算放大器LM324構成電流電壓轉換器#運放工作在放大狀態,輸出-5~+5V信號。從調理部分得到的雙極性模擬信號經過運算放大器OPA340組成的轉換電路變成0~5V的輸入信號,接入ADS7864的+IN和-IN端子,如圖3所示。
圖3 雙極性輸入轉換電路
ADS7684使用獨立的8MHZ有源時鐘,由5V電源供電。TMS320LF2407A供電電壓是3.3V,而ADS7864供電電壓是5V,所以二者接口需電平轉換,ADS7864的16位數據線經過SN74LVTH16245A電壓轉換芯片再與DSP相連,片選信號CS和讀信號RD分別由2407A的外部I/O空間選通信號CS和讀信號RD經電平匹配模塊引入,它的A/D轉換結束標志信號BUSY同樣須經電平匹配模塊引到2407A的XINT1。ADS7864同時采到6路輸入信號并將它們保存在保持寄存器,然后順序啟動轉換,將轉換的結果分別存放在6個寄存器中,轉換完后發出BUSY中斷信號,DSP響應中斷,順序讀出轉換結果,然后再進行下一次采樣、轉換。
2.3 通信模塊電路設計
目前電力系統的分布式監控系統幾乎都是基于RS-485構建的網絡,采用半雙工的電氣協議,這種機制使得在構建復雜工業現場的實時監控網絡時存在不足,可靠性低,系統故障隔離能力差。在本設計方案中采用了CAN總線技術。該總線技術具有獨特的機制,其主要有以下幾個優點:網絡節點不分主動主從;采用非破壞總線仲裁;支持競爭;傳輸距離遠;通信速度較高(最大1Mbit/s);組網靈活;其報文采用短幀結構,傳輸時間短,受干擾小,具有自己的協議等;所以現場總線CAN以其自身的優點有效支持分布式控制系統或成為實時控制的串行通信網絡。
TMS320LF2407A內帶CAN控制器,使整個電路的外圍設計簡單化,可靠性也得到提高。考慮到CAN 總線數據傳輸的高速率和抗干擾性,CAN通信方案做了如下幾方面設計:DSP的CANRX和CANTX先通過74LVC04A進行3.3V與5V的電平匹配,然后再通過高速光隔TLP113與TJA1050連接;采用了TJA1050作為驅動器代替以往的82C250,TJA1050的優點是完全符合ISO11898標準;高速率最高達1 Mbit/s;輸出驅動器受到溫度保護;至少可以連接110個節點。數字電源VCC和GND是用小功率隔離模塊DC/DC進行一次隔離后得到的。增加了通信的抗干擾能力。CAN通信接口電路如圖4所示。
圖4 CAN通信接口電路
3 系統軟件設計
本系統的軟件在CCS2000的開發環境下編輯、調試的,采用C2000 DSP匯編語言和C語言混合編程。與硬件兩部分相對應,其軟件功能劃分為采樣和通信兩個環節。
3.1 采樣環節
ADS7864 含有兩個可以同時工作的12位A/D轉換器,其3個保持信號選擇輸入的多路開關并且啟動A/D轉換。這3個保持信號同時有效就可以同時保持6路輸入信號,轉換的數據分別存放在6個寄存器中。ADS7864的BUSY端接到DSP 的XINT1端,ADS7864把數據轉換完成后發出中斷請求信號,DSPC相應中斷,進入中斷服務程序,讀取數據。一次讀到16位信息,其中DB15表明數據的有效性(高電平有效),DB14,DB13,DB12表示哪個通道,DB11~DB00為該通道的轉換的結果。地址/模式信號(A0,A1,A2)選擇數據讀取數據的方式,本系統設置為全“1”。根據電路編寫程序,程序流程圖如圖5所示。
圖5 采樣模塊程序流程圖
3.2 通信環節
在使用CAN控制器之前首先必須對它的內部寄存器進行初始化設置。包括相關I/O口、位定時器以及郵箱的相關設置。第1步即為正確配置兩個引腳CANTX和CANRX。第2步初始化位定時器:位定時器主要由BCR1和BCR2這兩個寄存器組成,包括CAN控制器的通訊波特率、同步跳轉寬度、采樣次數和重同步方式。第3步初始化郵箱:郵箱初始化主要是設置郵箱的標識符、控制域以及對相應的郵箱賦初值。以下是寄存器初始化的部分原代碼:
數據的發送與接收:當完成以上3步之后,接著就實現對數據的發送與接收請求。數據的接收,采用中斷方式接收CAN信息,而且所接收到的信息標識符必須與相應的接受郵箱的標識符相同才能被接收,否則被濾除。
4 結束語
本系統充分利用DSP具有內置CAN控制器的優勢,設計了具有雙CAN總線接口的DSP中間控制器,采用分級、分層、區域組合的思想實現雙層、多區域數據信息的采集。文中給出了本數據采集系統的結構,并設計了DSP中間控制器雙CAN總線網絡接口的硬件電路,在實際應用中取得良好的效果,也為相關的電力系統中的電量檢 測提供了一定的參考。