超高速攝影機電控系統(tǒng)設計
在XC95288內(nèi)部電路中,F(xiàn)0、F1輸入端口分別輸入標準脈沖和待測的速度脈沖信號(經(jīng)過整形放大以后的信號),計數(shù)器0和1分別對標準脈沖F0和待測信號F1進行計數(shù),鎖存器0和1分別對計數(shù)器0和1的計數(shù)值進行保存,16位的輸入端口NP作為預置閘門時間的設定端口,設其輸入值為NP,則預置閘門時間T0為T0=NP/f0。
本文引用地址:http://www.ex-cimer.com/article/164397.htm在電路剛開始工作時,由清零信號CLR對所有的計數(shù)器、鎖存器和D觸發(fā)器清零。這樣,計數(shù)器0的計數(shù)值NN0的初值為0,故此時NP>NN0,比較器輸出為1,但此時DFF0觸發(fā)器的輸出F2仍保持此初值0,由于F2作用在計數(shù)器0和1的使能端,此時計數(shù)器沒有開始計數(shù),直到信號F1的上升沿到來后,DFF0觸發(fā)器的輸出F2才翻轉為1,允許兩計數(shù)器計數(shù)。隨著計數(shù)值的增加,當NN0>NP時,比較器輸出等于0,不過此時兩個計數(shù)器仍在計數(shù),直到信號F1的又一上升沿到來后,F(xiàn)2=0,兩個計數(shù)器都停止計數(shù),利用F2的下降沿(F3的上升沿)將此時的計數(shù)值NN0和NN1分別通過鎖存器0和1鎖存起來。然后利用此時F2=0,經(jīng)D1觸發(fā)器延時到信號F0的上升沿到來后,對計數(shù)器0、1清零。延時清零的原因是為了避免鎖存器鎖存數(shù)據(jù)與計數(shù)器清零同時進行,從而使存儲數(shù)據(jù)出錯。但由于延時清零,使實際門控信號的上升沿比速度信號F0的上升沿滯后,滯后時間為信號F0的一個周期。為使檢測結果準確,將計數(shù)器0的計數(shù)值加1即可。F2實質(zhì)上就是實際門控信號。
在設計電路時,需要考慮計數(shù)器溢出的情況。例如,在電機轉速很慢的情況下,兩個速度脈沖信號上升沿間的時間間隔較長,這使實際閘門時間變得很長,在該段時間內(nèi),計數(shù)器0可能會出現(xiàn)溢出情況。在該情況下,可用3種方法來解決計數(shù):一是增加計數(shù)器0的位數(shù);二是通過增加計數(shù)器來對溢出次數(shù)另行讀數(shù);三是一旦計數(shù)器溢出,便認為此時電機的轉速約等于0。這里采用的方法是:在電機轉速很慢的時候延時2秒種后再進行測量,而且計數(shù)器都采用16位寬度。
單片機ATMega16L的功能設計
ATMega16L單片機是ATMEL公司生產(chǎn)的高性能單片機,采用精簡指令集,具有預取指令功能,指令可以在一個時鐘周期內(nèi)執(zhí)行,處理速度快。在高速攝影電控系統(tǒng)中,ATMega16L單片機負責讀取XC95288的電機測速值,處理控制內(nèi)外信息的輸入輸出接口,并與上位控制計算機通過RS-485接口進行信息交互。
在軟件編程時,利用ATMega16L單片機定時/計數(shù)器與系統(tǒng)時鐘的預定比例分頻器,可以獲得很高分辨率的時間間隔控制精度,例如,單片機系統(tǒng)采用8MHz的晶振工作,采用8分頻,則時間控制的間隔可以達到微秒,完全能夠實現(xiàn)超高速攝影中要求的0.1微秒的控制精度。這里給出一個ATMega16L單片機讀取XC95288的電機測速值的C語言子程序。
void FX_calc(void)
{
//計算Nb數(shù)值
F_SEL_NB();
NB = ReadFromCPLD()+1;
NB_temp=(uint64_t)NB;
//計算Nx數(shù)值
F_SEL_NX();
NX = ReadFromCPLD();
NX_temp=(uint64_t)NX;
if(NB_temp)
{
//計算Fx數(shù)值
/*32位時x不能超過0xd6=214.75=4,294,967,295/20,000,000
一定要考慮到溢出問題:FF_FF_FF_FF=4,294,967,275, FB=20,000,000
*/
FX_temp=( (uint64_t) (FB* NX_temp)/NB_temp ); //20000000*x/2000
FX = (uint32_t) FX_temp;
}
usart_send_dword(FX);
_delay_ms(10);
}
結束語
根據(jù)以上電路設計的轉鏡式超高速攝影機電控系統(tǒng),已在某系統(tǒng)超高速攝影機中得到應用,系統(tǒng)工作良好。
參考文獻:
[1] 王杰等.Xinlinx FPGA/CPLD設計手冊[M].北京:人民郵電出版社,2011:242
[2] 劉建清等.輕松玩轉AVR單片機C語言[M].北京:北京航空航天大學出版社,2011:90
評論