DSP和CAN總線在直流電機測試系統(tǒng)中的應(yīng)用
F2810片內(nèi)的事件管理器模塊可以提供多達16路的PWM輸出信號,最小的死區(qū)時間寬度是一個CPU時鐘周期,最小的PWM脈沖寬度和脈寬的增減量為一個CPU時鐘周期,可以很方便地用來控制直流電機[5]。由于電機要求的PWM控制信號的幅值是5~10V,因此從DSP輸出的PWM信號還需經(jīng)過一個高速開關(guān)管反向器升壓后送至電機的PWM控制端。
2.3復(fù)位電路
系統(tǒng)的復(fù)位電路采用IMP708芯片,該芯片有上電復(fù)位、看門狗和電源監(jiān)控功能。在系統(tǒng)的程序由于外部干擾導(dǎo)致“跑飛”時,IMP708的看門狗在一可選擇的時間間隔內(nèi)產(chǎn)生復(fù)位信號熱啟動系統(tǒng)。IMP708具有電源監(jiān)控功能,通過IMP708和DS1556的雙重監(jiān)控能夠保證使系統(tǒng)可靠運行。
2.4鍵盤和液晶顯示電路(LCD)
鍵盤采用標(biāo)準(zhǔn)的PS/2口的小數(shù)字鍵盤,用來輸入設(shè)置參數(shù)。鍵盤和DSP之間采用復(fù)雜可編程邏輯器件(CPLD)作譯碼電路,將鍵盤的掃描碼映射到DSP的I/O擴展地址0x8001。當(dāng)有鍵按下時,CPLD發(fā)送一個中斷信號到DSP,然后DSP從I/O擴展地址0x8001讀取掃描碼。液晶顯示模塊(LCD)和DSP之間通過CPLD譯碼,將命令控制I/O映射到地址0x8001,將數(shù)據(jù)控制I/O地址映射到0x8003和0x8004[6]。因為LCD是5V器件,所以其8位數(shù)據(jù)線不能和3.3V的DSP直接相連,需要在數(shù)據(jù)線上加電平隔離和轉(zhuǎn)換芯片74LS245。
3.CAN通信協(xié)議設(shè)計
CAN遵從OSI層模型,按照OSI標(biāo)準(zhǔn)模型,CAN結(jié)構(gòu)劃分為兩層:數(shù)據(jù)鏈路層和物理層,它們由CAN控制器的硬件實現(xiàn)電平變換和幀的封裝。CAN網(wǎng)絡(luò)中包括4種不同類型的幀。其中,數(shù)據(jù)幀將數(shù)據(jù)由發(fā)送器傳至接收器;遠程幀由節(jié)點發(fā)送以請求具有相同ID標(biāo)志符的數(shù)據(jù)幀;出錯幀可由任何節(jié)點發(fā)送,以控制總線錯誤;而超載幀用于提供先前和后續(xù)數(shù)據(jù)幀或遠程幀之間的附加延時。另外,數(shù)據(jù)幀和遠程幀以幀空間同先前幀隔開。在實際應(yīng)用中,還需要建立自己的上層協(xié)議。在本系統(tǒng)設(shè)計中,采用簡單實用的“命令項加數(shù)據(jù)項”結(jié)構(gòu)[3],其完整數(shù)據(jù)幀結(jié)構(gòu)如圖5所示??紤]到工在業(yè)控制中,功能一般不多,因此命令項的長度設(shè)定為1B(可描述128種命令)。而在本控制系統(tǒng)中,命令所需參數(shù)一般不會大于7B,故數(shù)據(jù)項長度直接設(shè)為7B。
圖3 數(shù)據(jù)幀結(jié)構(gòu)
4.軟件設(shè)計
系統(tǒng)的CAN應(yīng)用節(jié)點部分采用的是BasicCAN程序,它包含初始化子程序、發(fā)送子程序、接收子程序三個部分。DSP軟件編寫采用的是TI公司的DSP集成開發(fā)環(huán)境CCS2000,它支持匯編語言和C語言編程。為了保證程序運行效率,核心算法FFT程序和中斷向量表程序采用匯編語言編寫,而其它程序都采用C語言編寫,使本系統(tǒng)軟件具有模塊化、結(jié)構(gòu)化、可移植性好和調(diào)試方便的特點。系統(tǒng)的軟件執(zhí)行過程是:首先是系統(tǒng)初始化工作,即設(shè)置寄存器、配置GPIO、定時器、A/D轉(zhuǎn)換器和外部中斷、啟動A/D轉(zhuǎn)換。然后檢測GPIO有沒有啟動信號,檢測到啟動信號后,從另一個GPIO發(fā)出控制信號給直流電機加電。從A/D轉(zhuǎn)換器里讀取電流信號數(shù)據(jù),再通過求平均值得到電機的電流值;對輸出脈沖信號的數(shù)據(jù)進行FFT變換,求出基波的頻率,再根據(jù)電機的具體型號乘以一個系數(shù)得到電機的轉(zhuǎn)速。最后把測試電流和轉(zhuǎn)速送給LCD顯示,啟動CAN總線傳輸,把測試結(jié)果傳輸?shù)缴衔籔C機,以對數(shù)據(jù)進行保存和分析。軟件流程如圖4所示。
圖4軟件流程圖
5.結(jié)束語
本系統(tǒng)采用了以CAN總線構(gòu)建了自動化小型直流電機測試系統(tǒng),設(shè)計中以DSP芯片F(xiàn)2810為核心的自動測試單元能利用DSP的多路模擬量輸入通道和多路PWM輸出通道以及高速計算能力,同時實現(xiàn)對多個電機的準(zhǔn)確、高效率的測試。該系統(tǒng)在測試速度、性價比和可維護性等方面均有明顯的優(yōu)勢。
本文作者創(chuàng)新點:利用DSPTMS320F2810的多路輸入通道和多路PWM輸出通道,實現(xiàn)了在車間的一個測試節(jié)點上,一次接線就能完成電機所有占空比下的電流和轉(zhuǎn)速的測試,一個測試節(jié)點能同時測試多個電機,并通過CAN總線實現(xiàn)測試數(shù)據(jù)的的自動化處理。大大提高了測試效率,節(jié)省了成本。
評論