袁雯,曹昌圣,石蒼松
(1.武漢郵電科學(xué)研究院,武漢 430070;2.武漢長江通信智聯(lián)技術(shù)有限公司 )
MST703公交調(diào)度屏的軟硬件模塊設(shè)計
袁雯1,曹昌圣2,石蒼松2
(1.武漢郵電科學(xué)研究院,武漢 430070;2.武漢長江通信智聯(lián)技術(shù)有限公司 )
針對智能公交車載終端與司機人機交互的需求,提出了一種基于視頻解碼芯片MST703的公交調(diào)度屏系統(tǒng)設(shè)計方案;主要闡述了整個系統(tǒng)的軟硬件模塊實現(xiàn)方法,重點討論了系統(tǒng)電源轉(zhuǎn)換以及模擬視頻信號顯示輸出的實現(xiàn)方法;最后完成整個系統(tǒng)設(shè)計,實現(xiàn)了LCD屏的穩(wěn)定顯示,相關(guān)外設(shè)也滿足實際需求。
MST703;STM32;TFT-LCD;視頻監(jiān)控; 車載終端
隨著城市公交客運事業(yè)的蓬勃發(fā)展,公交系統(tǒng)規(guī)模不斷擴大,其治安環(huán)境也變得越來越復(fù)雜。近些年來,車內(nèi)時常發(fā)生盜竊搶劫等治安事件;而在車輛運行的過程中,有時還會發(fā)生與其他車輛或行人刮擦、碰撞等交通事故[1]。鑒于公交客運此類現(xiàn)狀,市面上已涌現(xiàn)多種智能公交車載主機用于公交車輛的智能調(diào)度、車載視頻監(jiān)控和遠程視頻。
與日常所使用的電腦主機類似,車載主機還需有相應(yīng)的附屬設(shè)備來實現(xiàn)人機交互。根據(jù)此類需求,本文提出了一種基于MST703的公交調(diào)度屏解決方案。MST703內(nèi)部集成視頻解碼器和顯示控制單元,可將CVBS視頻信號解碼并轉(zhuǎn)換為RGB格式數(shù)字信號直接控制TFT-LCD的顯示,與傳統(tǒng)的視頻解碼芯相比,MST703不需要額外的LCD驅(qū)動芯片將CVBS視頻信號解碼出來的BT656數(shù)字視頻流轉(zhuǎn)換為LCD控制信號,因此具有較高的實用性。
公交調(diào)度屏系統(tǒng)的主要作用是實現(xiàn)人機交互,需要滿足以下4個需求:①按鍵和觸摸屏輸入控制。②2路CVBS視頻信號接入,一路接入主機視頻信號,一路接入倒車攝像頭信號。③手麥語音輸入,支持司機對車內(nèi)外喊話。④識別IC卡用于司機上下班簽到。
根據(jù)需求,設(shè)計開發(fā)的公交調(diào)度屏視頻監(jiān)控系統(tǒng)整體框圖如圖1所示。整個監(jiān)控系 統(tǒng)由電源管理單元、主控MCU單元和視頻解碼單元三部分組成。其中,電源管理單元為主控芯片,視頻解碼芯片以及鍵盤、觸摸屏等外設(shè)提供正常工作所需的電壓。主控MCU通過SPI等接口實現(xiàn)與其他外設(shè)之間的通信和控制。
圖1 公交調(diào)度屏整體框圖
圖4 5 V轉(zhuǎn)LCD屏電壓電路
調(diào)度屏由車載主機DVR輸出的DC12V供電,然后經(jīng)過DC-DC、LDO轉(zhuǎn)換為系統(tǒng)需要的5 V、3.3 V、1.2 V等各種電壓。其電源模塊框圖如圖2所示。從圖2中可以看出,本設(shè)計中用到了兩片DC-DC芯片TPS563201。其中一片首先將12 V的直流輸入電壓轉(zhuǎn)換成5 V電壓,而后通過LDO將5V電壓轉(zhuǎn)換成 MCU的工作電壓3.3 V,同時5 V電壓也可通過兩片升壓芯片MP1541轉(zhuǎn)化成液晶屏所需的驅(qū)動電壓。另一片TPS563201配合LDO[2]產(chǎn)生MST703芯片所需的3.3 V和1.2 V,但這片TPS563201的使能受MCU控制,因此可以根據(jù)不同環(huán)境靈活控制液晶屏的開關(guān)狀態(tài)。
圖2 系統(tǒng)電源模塊整體框圖
TPS563201電源芯片是TI公司針對數(shù)字電視電源所設(shè)計的同步降壓轉(zhuǎn)換芯片,它不僅具有4.5~17 V的寬輸入電壓范圍,還擁有逐周期過流限制和熱關(guān)斷等功能,確保電路可靠工作[3],詳細電源轉(zhuǎn)換電路如圖3所示。
圖3 12 V轉(zhuǎn)5 V電路原理圖
該芯片輸出電壓Vout與分壓電阻R2、R3之間的關(guān)系如下所示:
(1)
由此可見,設(shè)計中可以選擇不同的分壓電阻來實現(xiàn)5 V和3.3 V電壓的輸出。值得注意的是,電源輸入引腳需添加兩個濾波電容,C2大電容用于濾除電壓中低頻紋波干擾,穩(wěn)定電壓;C3小電容用于濾除電路中的高頻雜波[4]。
本方案采用群創(chuàng)公司型號為AT070TN94的七寸液晶屏,其分辨率為800×480。該屏需要多種不同的輸入電壓為其供電,屏幕背光電壓VLED,校正GAMMA電壓,屏TFT薄膜MOS開關(guān)管開斷電壓VGH、VGL均由升壓芯片MP1541轉(zhuǎn)換完成,轉(zhuǎn)換電路如圖4所示。
芯片MP1541可在低至2.5 V的輸入電壓下工作,輸出電壓高至22 V,同時該款芯片包含欠壓閉鎖、電流限制和熱過載保護,可以防止在輸出過載的情況下造成損壞[5]。與TPS563201類似,設(shè)計時調(diào)整電路中R7、R10的電阻值可實現(xiàn)不同輸出電壓。
由于LCD屏所需VGH與VGL電壓差較高,達到25~30 V左右,因此在VGH產(chǎn)生電路中采取10V電壓疊加半波整流電路[6]。芯片SW腳輸出幅度為5 V的方波開關(guān)信號,在輸出正極性脈沖時間段,D3上方二極管導(dǎo)通整流得到5 V左右電壓;在輸出負極性脈沖時間段,D3下方二極管正偏導(dǎo)通,GAM電壓與整流濾波后5 V電壓疊加即可得到VGH電壓。VGL的電壓產(chǎn)生過程與VGH類似,大小約為-5V。
本方案的視頻核心處理器采用MSTAR公司針對中小型液晶屏開發(fā)的MST703解碼芯片,該芯片支持多種模擬信號輸入,內(nèi)置縮放引擎,可以根據(jù)不同液晶屏對其驅(qū)動參數(shù)進行修改,非常適用于車載多媒體顯示終端應(yīng)用[7]。
3.1 MST703硬件設(shè)計
MST703為一款模數(shù)混合芯片,因此在硬件設(shè)計過程中除電路圖需連接正確外,還應(yīng)注意以下幾個問題:
① 在PCB布線時,輸入CVBS信號要視頻信號走線段需要包地處理。
② 當系統(tǒng)地線噪音很大或信號到驅(qū)動板地線之間連線很長時視頻信號接地點要靠近信號源,這樣利用類似差分的方式去除電源上噪聲影響可有效去除水波紋問題。
③ MST703引腳有數(shù)字地和模擬地之分,在PCB布線時需將兩者區(qū)分開來。由于本電路屬于低頻電路,可以加粗以及縮短地線,并將模擬地和數(shù)字地通過0 Ω電阻混接,從而達到抑制環(huán)路電流,抑制噪聲對模擬信號的影響,減少干擾的目的[8]。
3.2 MST703軟件設(shè)計
MSTAR公司為MST70X系列芯片提供了專門的驅(qū)動源碼,即Maria軟件框架,一般來說只需要在固件庫中調(diào)用API函數(shù)和修改宏定義即可完成開發(fā),不需要設(shè)置每個寄存器的值,大大減小了開發(fā)難度。
3.2.1 軟件整體設(shè)計流程
為滿足產(chǎn)品需求,本系統(tǒng)需要實現(xiàn)MST703的視頻解碼及支持800×480分辨率的LCD顯示功能,同時在外界有倒車信號輸入時還需將LCD顯示畫面切換至倒車視頻信號,因此設(shè)計過程中需要對Maria源代碼進行相應(yīng)的參數(shù)修改和功能裁剪,具體操作流程如圖5所示。
圖5 MST703軟件流程圖
從流程圖中可以看出,芯片MST703在上電之后首先對芯片的版本進行識別并選擇對應(yīng)的Maria庫。選擇完畢后開始一系列的初始化[9]。
首先在內(nèi)置MCU的初始化階段,系統(tǒng)對芯片的GPIO口、串口、時鐘、外部中斷等進行初始化配置,這與一般的嵌入式系統(tǒng)類似。在CVBS信號參數(shù)設(shè)置部分,主要進行初始端口選擇以及A/D寄存器配置,由于調(diào)度屏系統(tǒng)支持兩路CVBS輸入,故在配置時選擇使能相應(yīng)的信號輸入通道CVBS1/SC1、CVBS2/SY0。在進行MST Chip的初始化過程中,主要完成圖像處理和聲音處理相關(guān)的模塊,其中包括Video Decoder初始化、Scaler初始化、Panel初始化等[10]。
3.2.2 LCD屏參數(shù)配置及裁剪
由于本設(shè)計采用群創(chuàng)分辨率為800×480的LCD屏,因此需要對相關(guān)屏幕驅(qū)動參數(shù)進行修改,關(guān)鍵參數(shù)定義如下:
#define PanelHSyncWidth1 //定義同步信號行寬
#define PanelHSyncBackPorch46
#define PanelVSyncWidth1 //定義同步信號列高
#define PanelVSyncBackPorch23
#define PANEL_DE_VSTART0
#define PanelHStart
(PanelHSyncWidth+PanelHSyncBackPorch)
//定義圖像行方向起始位置
#definePanelVStart
(PanelVSyncWidth+PanelVSyncBackPorch)
//定義圖像列方向起始位置
#define PanelWidth800 //屏幕寬度
#define PanelHeight480 //屏幕高度
#define PanelHTotal(PanelWidth+PanelHStart+200)
//單位時間行掃描次數(shù)
#define PanelVTotal(PanelHeight+PanelVStart+22)
//單位時間列掃描次數(shù)
#define PanelVdeEnd (PanelHeight+30)
#define PanelVSiEnd PanelHeight
在調(diào)節(jié)LCD屏顯示效果時,HTotal、VTotal這兩個參數(shù)值非常關(guān)鍵,一般出現(xiàn)上下缺線、白屏、閃動等問題時,可以通過調(diào)整該值來解決。
3.2.3 倒車視頻切換實現(xiàn)
由于MST703提供了多種視頻輸入模式,而調(diào)度屏只需兩路CVBS輸入,因此在程序中應(yīng)指定相應(yīng)通道CVBS模式并使能相應(yīng)寄存器。同時根據(jù)實際需求,MST703需在接收外界倒車信號時將主機視頻信號切換至倒車視頻信號,具體實現(xiàn)代碼如下:
while(1){
……
if((P4&_BIT0) == 0)
{newflag = 0; //倒車視頻信號}
else
{newflag=1; //主機視頻信號}
if (newflag !=oldflag){
oldflag = newflag;
if(newflag==1){
msWriteByte(BK0_00_REGBK,R EG_BANK6s00_ADCATOP);
msWriteByte(BK6s00_03h_ADC_ATOP,0x04);
}
else{
msWriteByte(BK0_00_REGBK,R EG_BANK6s00_ADCATOP);
msWriteByte(BK6s00_03h_ADC_ATOP, 0x02); }
……
}
在公交車正常行駛過程中,newflag狀態(tài)為1,配置相應(yīng)寄存器BK6s00_03h_ADC_ATOP值為0x04,選擇CVBS1/SC1進行主機視頻信號解碼輸出。而當芯片接收到倒車信號時,newflag狀態(tài)變?yōu)?,同時將寄存器BK6s00_03h_ADC_ATOP值修改為0x02,此時選擇CVBS2/SY0輸出倒車視頻信號。
本系統(tǒng)除視頻解碼模塊外還需有一主控MCU模塊來實現(xiàn)鍵盤、觸摸屏、司機刷卡等功能。在設(shè)計中,鍵盤輸入采用5×4矩陣鍵盤的形式實現(xiàn),觸摸屏與刷卡功能需兩路SPI接口,同時調(diào)度屏還需一路UART接口與車載終端通信,綜合這些要求,本方案主控MCU選擇STM32F103V8。
為了增加系統(tǒng)的實時性,MCU中各個任務(wù)的協(xié)調(diào)、調(diào)度是通過嵌入式實時操作系統(tǒng)μCOS-II來實現(xiàn)。為減小操作系統(tǒng)對MCU資源的占用,需對μCOS-II進行裁剪,相應(yīng)的os_cfg.h配置文件更改如下:
#define OS_MAX_EVENTS 2u //最大事件為2個
#define OS_TICKS_PER_SEC 200u //定時最小時間間隔5ms
#define OS_MBOX_EN 0u //關(guān)閉消息郵箱
#define OS_MUTEX_EN 0u //關(guān)閉互斥信號量
#define OS_Q_EN 1u //打開消息隊列
#define OS_SEM_EN 0u //關(guān)閉信號量
整個主控MCU模塊主要包括8個任務(wù),每個任務(wù)之間的通信是通過消息隊列的形式來實現(xiàn)的,系統(tǒng)的任務(wù)模塊及優(yōu)先級如表1所列。
表1 MCU任務(wù)優(yōu)先級比較
觸摸和按鍵的響應(yīng)速度對人機交互的體驗影響比較大,因此,這兩個任務(wù)要有比較高的優(yōu)先級,其余任務(wù)則可根據(jù)實際需求分別設(shè)置。通過長時間的測試,整套系統(tǒng)沒有出現(xiàn)任務(wù)調(diào)度混亂、MCU死機等問題,證明各個任務(wù)的優(yōu)先級設(shè)置較為合理。
為檢驗系統(tǒng)運行的穩(wěn)定性,組裝了一臺調(diào)度屏系統(tǒng)樣機與車載主機配合使用,實物圖如圖6所示。
圖6 調(diào)度屏系統(tǒng)實物圖
由于車載環(huán)境較為復(fù)雜,因此設(shè)備需要在各類極端天氣或振動條件下進行電氣性能測試,本系統(tǒng)所采取的測試高低溫條件分別為50 ℃和-20 ℃,振動加速度峰值為1 g。在上述條件下,系統(tǒng)上電后,LCD正常顯示主機輸出視頻信號,在接收到倒車信號時調(diào)度屏切換至倒車視頻信號、按鍵和觸摸屏操作靈敏,對講手麥接入音頻接口時喊話聲音清晰,IC卡貼近調(diào)度屏刷卡位置時可實現(xiàn)司機簽到。
[1] 王偉.車載移動監(jiān)控市場的發(fā)展及前景展望[J].中國安防,2012(4):62-64.
[2] 金巖.一種低功耗高穩(wěn)定性LDO線性穩(wěn)壓器的設(shè)計[D].蘇州:蘇州大學(xué),2015.
[3] 于春濤,馮奇,孫濤.基于TPS65105的TFT-LCD電源設(shè)計[J].現(xiàn)代電子技術(shù),2013(36):156-157.
[4] 孫揚.超大規(guī)模集成電路電源完整性設(shè)計中濾波電容的選擇[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015(5):21-23.
[5] 胡成龍.基于DC-DC開關(guān)變換器的LED驅(qū)動技術(shù)研究[D].杭州:杭州電子科技大學(xué),2012.
[6] 劉浩,陳志,葛佳樂,等.一種寬電壓輸入范圍降壓電路的設(shè)計[J].微電子學(xué),2011,41(1):54-55.
[7] 張欣冉.大型工程車輛車載視頻監(jiān)控系統(tǒng)的研究[D].石家莊:石家莊鐵道大學(xué),2013.
[8] 賀強,符阿琳.淺析在A/D中的模擬地、數(shù)字地處理[J].電子世界,2013(14):59-60.
[9] 李凱.MST6178MX單芯片平板電視控制芯片軟件系統(tǒng)[D].濟南:山東大學(xué),2010.
[10] MStar Semiconductor.Small Size LCD TV Processor with Video Decoder Preliminary Data Sheet Version1.0,2010.
袁雯(碩士研究生)、曹昌圣(高級工程師)、石蒼松(碩士研究生),主要研究方向為智能交通、車聯(lián)網(wǎng)。
Hardware and Software Module of Bus Dispatching Screen System Based on MST703
Yuan Wen1,Cao Changsheng2,Shi Cangsong2
(1.Wuhan Research Institute of Posts and Telecommunications,Wuhan 430072,China;2.Wuhan YCIG iLink Technology Co,Ltd.)
Aiming at the demand of human-computer interaction between intelligent public transportation terminal device and drivers,in the paper,a bus dispatching screen scheme based on embedded video decoding chip MST703 is proposed.The design method of hardware and software is introduced,the power-switching circuit and the video display method of analog video signal are discussed.Finally,the whole system is completed,which realizes the stability of the LCD display,the related peripherals also can meet the actual demand.
MST703;STM32;TFT-LCD;video monitoring;public transportation terminal device
TN94
A
?迪娜
2017-04-05)