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