《显示器嵌入式软件设计指南课件》由会员分享,可在线阅读,更多相关《显示器嵌入式软件设计指南课件(17页珍藏版)》请在金锄头文库上搜索。
1、2020/9/26,1,F/W Design Guide,87122102,針對軟體在 Design 時一些 undocument 的注意事項加以說明 不分 scaler 所以不 以程式舉例 儘量以文字說明, 提供 scaler廠商 Design注意事項 ,給新進人員訓練用 ,以及給工廠參考 是此文件的意義,2020/9/26,2,1 . Color Temperature check,色溫一般都 save in eeprom, 防止 eeprom 因電氣或是其他不可預期的損壞導致 data lose , 所以在 AC 一經上電後 軟體需要一個保護機制來檢查色溫是否 lose 1. Read
2、各色溫(6500k , 9300k, )的 R,G,B Gain value 2. 將 R,G,B value 加總,取補數加一 (此 value 為 checksum) 3. 比較此 checksum 和存在 eeprom 相對應的 checksum 位址資料是否相同 if not , 載入程式 ROM 的預設值 4. R.G.B 一經工廠自調完成後存入 eeprom 時要計算出 checksum 一併 save to eeprom , 也就是說 save R.G.B 時也要 save checksum,2020/9/26,3,2 . Color Temperature 調整的通訊規則,1.
3、 自調程式的 commands set 的定義 , 包率為 115200 ,19200 , 9600 其中之一 , 因為不是所有的 MCU 都可設定在 115200 第一 個 Byte為傳輸的 Total bytes ,第二 byte 為 AP 自調程式對 scaler Read Or Write 的識別碼 . 0 x50 = Read , 0 x51 = Write , Read 的格式為 5 Bytes長度 ,Write 的格式為 7 Bytes長度 . Read 的第三 byte 固定為 0 x00 ,第 4個 byte 固定為識別碼 第 5個 Byte 為 Check sum , Ch
4、eck sum = (Byte 1 + Byte 2 + Byte 3 + Byte 4) 取補數 + 1 Write 的格式為 7 Bytes長度 , 第二 byte 0 x51 為Write的識別碼 , 第 3 Byte 固定為 0 ,第 4 Byte = sub command , 第 5 Byte Value High ,第 6 Byte Value Low ,第 7 = checksum Examples : 1. 0 x05 0 x50 0 x00 0 x01 CKS(AA). Read the gain of Red 2. 0 x05 0 x50 0 x00 0 x02 CKS(
5、A9). Read the gain of Green 3. 0 x05 0 x50 0 x00 0 x03 CKS(A8). Read Blue Gain 4. 0 x07 0 x51 0 x00 0 x00 0 x00 0 x00 CKS(A8). Auto color balance 5. 0 x07 0 x51 0 x00 0 x00 0 x00 0 x01 CKS(A7). Update(Save) 9300K color temperature. 6. 0 x07 0 x51 0 x00 0 x00 0 x00 0 x02 CKS(A6). Update(Save) 6500K c
6、olor temperature. 7. 0 x07 0 x51 0 x00 0 x00 0 x00 0 x04(A4) CKS. Set 9300K color temperature.,2020/9/26,4,8 . 0 x07 0 x51 0 x00 0 x00 0 x00 0 x05 CKS(A3). Set 6500K color temperature. 9 . 0 x07 0 x51 0 x00 0 x01 value_hi, value_lo CKS. Set the gain of Red 10 . 0 x07 0 x51 0 x00 0 x02 value_hi value
7、_lo CKS. Set the gain of Green 11 . 0 x07 0 x51 0 x00 0 x03 value_hi value_lo CKS. Set the gain of Blue 12 . 0 x07 0 x51 0 x00 0 x00 0 x00 0 x03 CKS(A5). Update(Save) 5400K color temperature. 自調程式下 Read Command 給 Lcd Monitor 時 , Lcd Monitor 回應的格式 0 x07 0 x50 0 x00 subcommand Value_Hi Value_Lo CheckS
8、um 自調程式下 Write Command 給 Lcd Monitor 時 , Lcd Monitor 回應的格式 成功 的話回應 0 x03 0 x0C 0 xF1 失敗 的話回應 0 x03 0 x0B 0 xF2,2020/9/26,5,3. Auto Color 的定義,Auto Color Balance consists of two calibrations , Offset and Gain Offset 的調整是在確保 0 伏特相當於 ADC output 0 Gain 的調整是是在確保 full scale 的 Input Voltage (700mV) 相當於 ADC
9、output 0 xFF 一經 Auto color balance 後 R.G.B offset 和 Gain Value 是不允許調整的 , 甚至調整員 注意 1: 這裡說的 Gain 是指 Input 端 , 而工廠調整色溫乃指 output 端 所以我們開放調整的是 Output 端 注意 2: Auto Color Balance 要讓 Input Source 為含全黑全白的畫面,2020/9/26,6,4. Auto Color1 的定義,Auto color1 其實就是載入預寫在程式 ROM的 R,G,B Value 到 eeprom ,預防 output 端 存在 eepro
10、m 的 RGB data lose,5. Color Update 的定義,手動調整 R.G.B Value 是無法 save to eeprom , 需要透過 Color Update,6. Auto Burn In 的定義及規範,無信號時的情況 1 Press Power Key + Auto Key 進入工廠模式 2 當 osd No signal Menu 跳出時 按 Menu Key 3 選擇 osd 菜單 Auto Burn 4 一秒切換一個 color 黑藍綠紅靚黃粉紅白 5 OSD 位置要 show Run in 時間 OSD position 要 Random 6 Power
11、 Key 解除 Burn In 7 AC on/off 維持在 Burn In 8 Input Signal解除 Burn In,2020/9/26,7,2 . 有信號時的情況 1 Press Power Key + Auto Key 進入工廠模式 2 選擇 osd 菜單 Auto Burn 3 一秒切換一個 color 黑藍綠紅靚黃粉紅白 4 OSD 位置要 show Run in 時間 OSD position 要 Random 5 Power Key 解除 Burn In 6 AC on/off 解除在 Burn In 7 Remove Signal 解除 Burn In,7. Fact
12、ory Reset 的定義及規範,Brightness 回復到 100 , Contrast 回復到 80 , Color Temperature 回復到 6500k OSD H & V Position 回復到 50 , OSD TimeOut 回復到 20秒 ,Volume 回復到 50 , Mute Off Language 回復到 英文 , 清除之前做過 Auto config Timing 的記錄 R , G, B Gain Value cant reset 3. Power Off Lcd Monitor (和 User Mode Reset 唯一差別),2020/9/26,8,8
13、. Image H Position 的定義及規範 H Position 乃調整 Image Hstart , 如何讓每個 Timing 在Auto config完後要 H Position 在 OSD 中 Show 出 50 , 這個問題常被 PE , TE 來質詢 , 或許 RD 認為這無 關緊要 .但這確實可 以達成的 , 以下的做法是觀念的描述 1. Auto config 完成後 save H_Start (1 word) 到 eeprom 吾人稱為 H_start_init 如果 H_start_init = 50 ,所以 Max_Hposition = H_start_init
14、+ 50 Min_Hposition = H_start_init - 50 如此可讓 every step 都增減 1 value 如果 H_start_init 50 , 設定 Max_Hposition = 2 * H_start_init Min_Hposition = 0 如此無法讓 every step 都增減 1 value 但是可讓 Auto 完成後 OSD H position 落在 50, 而且 Display 不會捲到 Next Frame,2020/9/26,9,9. Image V Position 的定義及規範 V Position 乃調整 Image Vstart
15、 , 如何讓每個 Timing 在Auto config完後要 V Position 在 OSD 中 Show 出 50 , 這個問題常被 PE , TE 來質詢 , 或許 RD 認為這無 關緊要 .但這確實可 以達成的 , 以下的做法是觀念的描述 1. Auto config 完成後 save V_Start (1 Byte) 到 eeprom 吾人稱為 V_start_init 如果 V_start_init = 50 ,所以 Max_Vposition = V_start_init + 50 Min_Vposition = V_start_init - 50 如此可讓 every step 都增減 1 value 如果 V_start_init 50 , 設定 Max_Vposition = 2 * V_start_init Min_Vposition = 0 如此無法讓 every step 都增減 1 value 但是可讓 Auto 完成後 OSD V position 落在 50, 而且 Display 不會捲到 Next Frame,2020/9/26,10,10. OSD Time Out 的定義及規範,OSD Time