基于A(yíng)VR單片機的自由立體顯示背光控制系統
對于模型參數Q11,Q22和R,由PC機輔助計算得到。給定一組測量位置和實(shí)際位置,在Q11,Q22,R三維空間按等量的方法選取格點(diǎn),分別訓練不同參數下的Kalman濾波器對檢測數據進(jìn)行濾波,如果濾波后的位置與真實(shí)值越接近,就說(shuō)明這組濾波器參數越優(yōu)秀。得到了最優(yōu)參數后,就可以按照前面的介紹,進(jìn)行不斷“預測一修正”的Kalman濾波,獲得精度更高的人眼位置(式(8)),并利用式(5)預測t/2時(shí)間后的人眼位置,此時(shí)增益矩陣:

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