基于AVR單片機(jī)的自由立體顯示背光控制系統(tǒng)
對(duì)于模型參數(shù)Q11,Q22和R,由PC機(jī)輔助計(jì)算得到。給定一組測(cè)量位置和實(shí)際位置,在Q11,Q22,R三維空間按等量的方法選取格點(diǎn),分別訓(xùn)練不同參數(shù)下的Kalman濾波器對(duì)檢測(cè)數(shù)據(jù)進(jìn)行濾波,如果濾波后的位置與真實(shí)值越接近,就說明這組濾波器參數(shù)越優(yōu)秀。得到了最優(yōu)參數(shù)后,就可以按照前面的介紹,進(jìn)行不斷“預(yù)測(cè)一修正”的Kalman濾波,獲得精度更高的人眼位置(式(8)),并利用式(5)預(yù)測(cè)t/2時(shí)間后的人眼位置,此時(shí)增益矩陣:
1.3 系統(tǒng)的總體方案設(shè)計(jì)
自由立體顯示系統(tǒng)由計(jì)算機(jī)、RS 232通信電路、單片機(jī)控制電路、驅(qū)動(dòng)電路和LED照明陣列電路組成,結(jié)構(gòu)框圖如圖3所示。本文引用地址:http://m.butianyuan.cn/article/171894.htm
上位機(jī)完成人眼檢測(cè)算法,并且把人眼位置信息通過RS 232送給單片機(jī)。單片機(jī)選擇AVR系列中功能最強(qiáng)的ATmega128,主要完成對(duì)人眼位置數(shù)據(jù)的處理,然后按照一定的時(shí)序發(fā)送給驅(qū)動(dòng)芯片??刂齐娐犯翷ED照明陣列時(shí),按地址逐個(gè)發(fā)送數(shù)據(jù)“1”或“0”,控制每一列LED的點(diǎn)亮與否。
2 硬件設(shè)計(jì)
2.1 驅(qū)動(dòng)電路
根據(jù)背光源亮度恒定的要求,LED陣列的驅(qū)動(dòng)采用聚積科技生成的16位恒流LED驅(qū)動(dòng)芯片MBI5026,其內(nèi)建的CMOS移位緩存器與栓鎖功能,可以將串行輸入的數(shù)據(jù)轉(zhuǎn)換成并行輸出的格式,電流的輸出值可以通過一個(gè)外接電阻進(jìn)行調(diào)整,高達(dá)25 MHz的時(shí)鐘頻率可以滿足大量數(shù)據(jù)傳輸?shù)囊蟆?br />2.2 控制電路
ATmega128是ATMEL公司推出的一款8位RISC結(jié)構(gòu)高速低功耗單片機(jī),在16 MHz時(shí)鐘頻率時(shí)系統(tǒng)性能可達(dá)16 MIPS,內(nèi)帶128 KB的FLASHRO M,4 KB的E2PROM、4 KB系統(tǒng)SRAM;可擴(kuò)展64 KB外部存儲(chǔ)器;兩個(gè)8位定時(shí)器/計(jì)數(shù)器,兩個(gè)16位定時(shí)器/計(jì)數(shù)器;兩路UART通信口,可工作在異步或同步方式。在與上位機(jī)通信的過程中,需要采用MAX232電平轉(zhuǎn)換芯片將PC機(jī)串口輸出的RS 232電平轉(zhuǎn)換成單片機(jī)能接受的TTL電平。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)的總體思路是PC機(jī)檢測(cè)到人眼的位置信息,給出左眼的位置數(shù)據(jù)和右眼的位置數(shù)據(jù),單片機(jī)在得到這兩個(gè)數(shù)據(jù)后,啟動(dòng)TC1開始t/2時(shí)間的定時(shí),同時(shí)開始Kalman濾波,使用由式(8)得到的濾波值刷新LED照明陣列。定時(shí)器中斷服務(wù)處理程序主要包括清零TCCR1B以停止定時(shí)器,按照t/2時(shí)刻人眼位置的預(yù)測(cè)值刷新LED照明陣列。這樣,在人眼檢測(cè)速率為每秒25幀的情況下,可以將LED的刷新速率提升到每秒50次,有效減輕了可視區(qū)域隨觀察者位置變化而帶來的跳躍感。
程序?qū)崿F(xiàn)對(duì)系統(tǒng)的初始化,包括I/O端口的初始化、TC1的初始化、中斷設(shè)置、串行口工作方式選擇、各種變量的初值裝入。波特率設(shè)置為115 200 b/s,數(shù)據(jù)格式采用8位數(shù)據(jù)位,1位起始位,1位停止位。初始化完成后,程序進(jìn)入等待狀態(tài),若上位機(jī)發(fā)送數(shù)據(jù),則進(jìn)入相應(yīng)的串行口中斷服務(wù)處理程序,如圖4所示。
評(píng)論