国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RA8876M的船舶機(jī)艙一體化顯控模塊設(shè)計(jì)

2020-05-08 09:22謝木森
關(guān)鍵詞:字庫(kù)觸摸板機(jī)艙

謝木森, 徐 瑩, 華 金

(上海船舶運(yùn)輸科學(xué)研究所 航運(yùn)技術(shù)與安全國(guó)家重點(diǎn)實(shí)驗(yàn)室, 上海 200135)

0 引 言

隨著信息科技的蓬勃發(fā)展,船舶對(duì)機(jī)艙監(jiān)測(cè)和控制系統(tǒng)的智能化要求越來越高,當(dāng)前以機(jī)艙自動(dòng)化為核心的船舶綜合信息系統(tǒng)已在船舶領(lǐng)域得到廣泛應(yīng)用。船用儀器、儀表實(shí)現(xiàn)智能化,能直接推動(dòng)船舶機(jī)艙整體自動(dòng)化程度的提高。液晶觸摸屏是目前廣泛應(yīng)用的智能人機(jī)交互設(shè)備,具有堅(jiān)固耐用、節(jié)省空間、操作靈敏和展示的內(nèi)容豐富直觀等優(yōu)點(diǎn)[1-3]。

根據(jù)某型船對(duì)大屏幕監(jiān)測(cè)報(bào)警顯示模塊的實(shí)際需求,結(jié)合船舶機(jī)艙內(nèi)各類型顯控模塊的通用需求,上海船舶運(yùn)輸科學(xué)研究所研究開發(fā)了一款基于RA8876M顯示控制器的船舶機(jī)艙一體化顯控模塊。該模塊配備有船舶機(jī)艙內(nèi)常用的多種通信接口,觸控功能操作便捷,15吋(1吋=0.025 4 m)大小的液晶顯示屏能以多種形式展示大量?jī)?nèi)容,適于主機(jī)遙控系統(tǒng)、能量管理系統(tǒng)、機(jī)艙監(jiān)測(cè)報(bào)警系統(tǒng)、透平機(jī)控制系統(tǒng)和電噴柴油機(jī)的機(jī)旁操作系統(tǒng)等船舶智能顯控系統(tǒng)采用。

1 模塊整體結(jié)構(gòu)設(shè)計(jì)

該一體化顯控模塊采用ST意法半導(dǎo)體公司的STM32F429型中央處理器(Cevtral Processing Unit, CPU)作為模塊主控芯片微控制單元(Microcontroller Unit, MCU),采用瑞佑公司的RA8876M型TFT-LCD控制芯片作為顯示控制器,搭配PenMount 6202B型觸摸板控制器,實(shí)現(xiàn)15吋液晶顯示觸摸屏的主要功能。該模塊提供有船舶機(jī)艙內(nèi)廣泛配置的通信接口,包括2路CAN(Controller Area Network)總線接口、2路以太網(wǎng)接口、1路RS485接口和1路通用串行總線(Universal Serial Bus, USB)接口。該模塊的I/O接口自帶12路開關(guān)量輸入接口和6路繼電器輸出接口,既能外接按鍵或其他開關(guān)量輸入,又能滿足聲光報(bào)警和繼電器控制等輸出要求。為提高易維護(hù)性,模塊提供單獨(dú)的一路USB接口支持ISP(In-System Progamming, ISP)程序在線燒寫。此外,該模塊支持大容量SD(Secare Digital)卡數(shù)據(jù)存儲(chǔ)和屏幕亮度調(diào)節(jié)等輔助功能[4]。圖1為機(jī)艙一體化顯控模塊整體結(jié)構(gòu)。

圖1 機(jī)艙一體化顯控模塊整體結(jié)構(gòu)

1.1 主控芯片選擇

STM32F429芯片是基于ARM CoretexM4的32位內(nèi)核的低功耗嵌入式處理器,主頻最高達(dá)到180 MHz,自帶的256 KB SRAM加2 MB FLASH內(nèi)存空間較為充裕,同時(shí)集成有豐富的外設(shè)資源,如高速定時(shí)器、中斷引腳,以及常用的以太網(wǎng)、CAN、USB和RS485等通信接口。此外,該微控制器內(nèi)部集成有可變存儲(chǔ)控制器FMC(Flexible Memory Controller),方便直接驅(qū)動(dòng)RA8876M顯示驅(qū)動(dòng)器。

該模塊最終選用的LPQF(Low-Profile Quad Flat Package)封裝176腳的STM32F429芯片的高速主頻既能滿足高速觸摸坐標(biāo)采集轉(zhuǎn)換和指揮RA8876M顯卡驅(qū)動(dòng)的要求,又能保證其他采集和通信等任務(wù)正常開展。此外,雙以太網(wǎng)和雙CAN總線的芯片配置對(duì)于對(duì)通信質(zhì)量有較高要求的船舶機(jī)艙系統(tǒng)來說尤為適用。整體來看,該STM32F429芯片是一款高性能、低成本、低功耗、實(shí)時(shí)應(yīng)用、具有競(jìng)爭(zhēng)性價(jià)格優(yōu)勢(shì)的通用型MCU。

1.2 顯示驅(qū)動(dòng)芯片選擇

RA8876M顯示驅(qū)動(dòng)器是一款低功耗雙圖層液晶顯示TFT-LCD控制器,最大可支持2 048×2 048分辨率,支持多種常用輸入顯示數(shù)據(jù)格式,自帶64 MB顯示緩存,無需外擴(kuò)內(nèi)存,支持8/16位的8080/6080并行總線和IIC/SPI串行總線連接到MCU主控芯片,同時(shí)可根據(jù)顯示屏的需要設(shè)定24/18/16位TFT顯示輸出方式。由于RA8876M芯片內(nèi)部均為8位寄存器且自帶顯示緩存,因此硬件設(shè)計(jì)環(huán)節(jié)采用16位FMC驅(qū)動(dòng)方式連接到MCU,F(xiàn)MC的讀寫操作時(shí)序與RA8876M芯片的讀寫時(shí)序一致,將RA8876M芯片當(dāng)作外部存儲(chǔ)器SRAM使用,方便快捷。當(dāng)MCU發(fā)送數(shù)據(jù)指令或從RA8876M芯片中讀取數(shù)據(jù)時(shí),直接往相應(yīng)映射地址讀寫數(shù)據(jù)即可,F(xiàn)MC會(huì)在硬件的基礎(chǔ)上自動(dòng)完成時(shí)序上的控制[5]。

為增強(qiáng)畫面顯示的效果,RA8876M芯片支持2D圖形的BTE(Block Transfer Engine)引擎,可完成大量圖形數(shù)據(jù)轉(zhuǎn)換和傳送任務(wù),芯片自帶常用幾何圖形加速引擎GSE(Geometric Speed-up Engine)和強(qiáng)大的硬件加速功能,能保證MCU發(fā)出的更新顯示和繪圖等指令的執(zhí)行效率。為保證多類型圖片格式和文本格式的顯示更新,芯片通過串行SPI-FLASH接口支持任意大小的圖庫(kù)芯片和多款集通字庫(kù)芯片。采用自帶字庫(kù)的芯片和外置字庫(kù)芯片,均可實(shí)現(xiàn)最大32×32 pixel的字形輸出;外置的字庫(kù)芯片可選用支持多國(guó)語(yǔ)言文字顯示的類型,靈活配置,使該芯片的應(yīng)用場(chǎng)景更加豐富。此外,通過配置芯片對(duì)應(yīng)引腳的PWM(Pulse Width Modulation)功能和I/O引腳,可在線調(diào)節(jié)顯示屏的背光亮度,完成亮屏、熄屏等輔助控制。

1.3 RA8876M軟件開發(fā)

RAio公司提供的上位機(jī)輔助開發(fā)軟件可實(shí)現(xiàn)對(duì)RA8876M芯片的可視化編程。該軟件功能豐富,且每個(gè)功能界面都會(huì)根據(jù)當(dāng)前操作生成相應(yīng)的C語(yǔ)言代碼;這些代碼可直接移植到KEIL開發(fā)環(huán)境中使用。通過研究各界面涉及的API函數(shù)和參數(shù),能降低開發(fā)軟件的學(xué)習(xí)難度,節(jié)省大量軟件開發(fā)時(shí)間。

圖2為上位機(jī)輔助開發(fā)工具寫入圖片過程截圖,其中:右側(cè)的Status欄展示了當(dāng)前顯示屏的分辨率、畫布內(nèi)存位置和活動(dòng)窗口的坐標(biāo)位置等編程必要信息,方便開發(fā)人員讀取配置信息;底部的C code欄展示了應(yīng)用當(dāng)前寫入圖片功能調(diào)用的功能函數(shù),方便調(diào)整相關(guān)配置參數(shù)等信息;開發(fā)軟件頂部的功能選擇菜單主要分為5部分,具體如下。

圖2 上位機(jī)輔助開發(fā)工具寫入圖片過程截圖

1) SPI Flash Tool功能,可將圖片轉(zhuǎn)換之后的bin格式文件燒寫到外擴(kuò)圖庫(kù)芯片中。為保證圖庫(kù)芯片正確燒寫,通過軟件的DMA功能,可讀取并顯示圖庫(kù)內(nèi)某具體地址范圍內(nèi)的圖片。

2) MPU Write Tool功能,支持單張圖片資料的在線燒寫和預(yù)覽,并靈活調(diào)整圖像在界面中顯示的區(qū)域。

3) Text Tool工具,提供對(duì)芯片自帶字庫(kù)和外置字庫(kù)的文字顯示和輸出測(cè)試功能,可選擇任意坐標(biāo)位置進(jìn)行文字顯示,同時(shí)可配置字體格式、字體顏色、背景顏色和字體大小等選項(xiàng),避免因頻繁修改字體顯示參數(shù)而花費(fèi)大量時(shí)間更新MCU程序。

4) Draw Function,主要用來在線觀測(cè)各種內(nèi)建二維圖形的顯示效果,并靈活調(diào)整各二維圖形的顯示位置、圖形大小、線條顏色和填充顏色等具體配置,匹配選擇出恰當(dāng)?shù)腁PI函數(shù)和參數(shù),有效提升開發(fā)效率。

5) BTE(Block Transfer Engine)功能,將其與PIP功能相結(jié)合,能實(shí)現(xiàn)2層圖像資料的重疊顯示和拼接組合等功能,大大豐富界面顯示效果。

1.4 觸摸屏和觸摸屏控制器的選擇

觸摸屏一般分為電容、電阻、矢量壓力傳感、表面聲波和紅外線掃描等類型,應(yīng)用最多的是四線電阻式觸摸屏和五線電阻式觸摸屏。電阻式觸摸屏由2個(gè)透明的電阻薄膜組成,當(dāng)水平方向和垂直方向的電阻網(wǎng)有電壓時(shí),可通過A/D轉(zhuǎn)換面板在觸摸點(diǎn)測(cè)量出電壓,從而求出對(duì)應(yīng)的坐標(biāo)值。該模塊選用的五線制電阻式觸摸屏適宜機(jī)艙的復(fù)雜環(huán)境,即使是在觸摸板某些位置出現(xiàn)少數(shù)壞點(diǎn)的情況下,整體仍能正常使用,增強(qiáng)了模塊的耐用性[6]。

PenMount 6202B型觸摸屏控制器內(nèi)置有A/D轉(zhuǎn)換器,具有四線制電阻式觸摸屏和五線制電阻式觸摸屏的特點(diǎn)和功能,可通過USB和RS232接口導(dǎo)出坐標(biāo)數(shù)據(jù)到MCU中,支持觸摸屏的最大分辨率為2 048×2 048,剛好覆蓋RA8876M芯片支持的最大分辨率,能滿足該模塊15吋液晶顯示屏的觸摸要求。

1.5 通信接口

考慮到船舶機(jī)艙內(nèi)的復(fù)雜應(yīng)用場(chǎng)景和大批量的數(shù)據(jù)交互,該模塊提供有不同類型的標(biāo)準(zhǔn)通信接口,以滿足不同設(shè)備和系統(tǒng)的連接需求,提高系統(tǒng)的可擴(kuò)展性。以太網(wǎng)協(xié)議作為當(dāng)前廣泛應(yīng)用的局域網(wǎng)通信協(xié)議,傳輸數(shù)據(jù)量大,傳輸速度快,防干擾能力強(qiáng),適于在船舶機(jī)艙內(nèi)的復(fù)雜環(huán)境中應(yīng)用。此外,CAN總線和RS485總線等也在各種模塊和系統(tǒng)中大量應(yīng)用。因此,該模塊設(shè)計(jì)有2路CAN總線接口、2路以太網(wǎng)接口、1路配合上位機(jī)軟件使用的USB接口和1路RS485接口,能基本覆蓋船舶機(jī)艙內(nèi)常見的數(shù)據(jù)交互場(chǎng)景。

2 船舶機(jī)艙一體化顯控模塊的軟件設(shè)計(jì)

該模塊的軟件設(shè)計(jì)是在Keil 5開發(fā)環(huán)境中進(jìn)行的,沒有使用操作系統(tǒng),主要實(shí)現(xiàn)一體化顯控模塊的常用功能和各標(biāo)準(zhǔn)接口的正常工作,軟件設(shè)計(jì)主要包括觸摸顯示功能、通信接口功能、數(shù)據(jù)存儲(chǔ)功能和I/O采集輸出功能等。下面主要介紹顯示功能和觸摸功能的軟件設(shè)計(jì)過程。

圖3 RA8876M芯片上電初始化過程

2.1 顯示功能的軟件設(shè)計(jì)

該模塊采用W25Q128型圖庫(kù)芯片,16 MB的內(nèi)存空間,最多可容納10幅1 024×768分辨率的RGB565格式圖像。由于SPI-Flash支持從任意地址連續(xù)讀取任意長(zhǎng)度的數(shù)據(jù),尤其是RA8876M芯片支持DMA(Direct Memory Access)功能,可方便快捷地加載圖像。借助配套上位機(jī)開發(fā)工具,可輕松地將顯示所需圖片資料轉(zhuǎn)換成bin格式文件,打包燒寫到外部圖庫(kù)芯片中,以便程序運(yùn)行時(shí)RA8876M芯片讀取。

RA8876M芯片通過MCU的FMC功能驅(qū)動(dòng),命令寄存器在MCU中的映射地址為0x60020000,數(shù)據(jù)寄存器的映射地址為0x60000000,因此與RA8876M相關(guān)的函數(shù)調(diào)用直接融合到MCU的執(zhí)行代碼中即可。RA8876M芯片上電初始化過程見圖3,初始化SDRAM參數(shù)、LCD屏幕參數(shù)和字庫(kù)圖庫(kù)參數(shù),并默認(rèn)在最高亮度下點(diǎn)亮屏幕。在后續(xù)循環(huán)過程中,根據(jù)觸摸輸入或按鍵采集結(jié)果,不斷更新顯示內(nèi)容即可。

2.2 觸摸功能的軟件設(shè)計(jì)

STM32F429通過RS232接口采集觸摸板控制器PenMount 6202B發(fā)出的A/D坐標(biāo)信息,當(dāng)任意一點(diǎn)被按下時(shí),觸發(fā)MCU的RS232接收中斷,持續(xù)接收坐標(biāo)數(shù)據(jù)。根據(jù)數(shù)據(jù)格式,每6個(gè)字節(jié)為1組,存入數(shù)組ucaRxBuf [5]中,其中:data[5]為校驗(yàn)位;ucaRxBuf [4] + ucaRxBuf [3]為X坐標(biāo)值;ucaRxBuf [2] + ucaRxBuf [1]為Y坐標(biāo)值,當(dāng)ucaRxBuf [0]為0x70時(shí)表示“按下”,當(dāng)ucaRxBuf [0]為0x70時(shí)表示“抬起”[7]。當(dāng)觸摸板感應(yīng)到“按下”時(shí),坐標(biāo)判斷功能代碼如下,觸摸邏輯判斷見圖4。

if(0x70 == ucaRxBuf[0])

{

cnt_70_1 = i;

if(0x70 == ucaRxBuf[cnt_70_1 + 6])//every 6 byte

{

if(0xff == ((ucaRxBuf[cnt_70_1+0]+ucaRxBuf[cnt_70_1+1]+〗 ucaRxBuf[cnt_70_1+2]+ ucaRxBuf[cnt_70_1+3]+ucaRxBuf[cnt_70_1+4]〗 +ucaRxBuf[cnt_70_1+5]) & 0xff))

{

//if pass check sum

if((ucaRxBuf[cnt_70_1+2]<4)&&(ucaRxBuf[cnt_70_1+4]<4))

{

Y_cdt = ucaRxBuf[cnt_70_1+2];

Y_cdt = Y_cdt<<8 | ucaRxBuf[cnt_70_1+1];

X_cdt = ucaRxBuf[cnt_70_1+4];

X_cdt = X_cdt<<8 | ucaRxBuf[cnt_70_1+3];

/*映射到屏幕顯示坐標(biāo),左上角(0,0),右下角(1024,768)*/

X_cdt_dis = ((X_cdt-0x60)*125)/100 ; //X coordinate

Y_cdt_dis = 768-(((Y_cdt-0x66)*100)/106); //Y coordinate

Draw_Circle_Fill(0xfff0,X_cdt_dis,Y_cdt_dis,10);

………

}

圖4 觸摸邏輯判斷

此外,PenMount控制器可通過USB接口連接上位機(jī)校準(zhǔn)軟件,提供初始屏幕的多點(diǎn)坐標(biāo)校準(zhǔn)等功能。至此,模塊可實(shí)現(xiàn)觸摸板的觸摸采集功能,配合RA8876M芯片的畫圖切圖等操作,實(shí)現(xiàn)觸摸板某個(gè)位置按下時(shí),液晶顯示屏快速響應(yīng)。

3 模塊實(shí)現(xiàn)與性能分析

該船舶機(jī)艙一體化顯控模塊控制板外觀見圖5,通過在某延伸報(bào)警系統(tǒng)中應(yīng)用,驗(yàn)證該模塊的性能優(yōu)良,操作安全方便。在設(shè)計(jì)中,通過開關(guān)量輸出引出的外部輔助按鍵可實(shí)現(xiàn)屏幕上下翻頁(yè)、報(bào)警應(yīng)答、熄屏休眠和系統(tǒng)重啟等功能,面板外置的USB接口連接到模塊的ISP接口,可根據(jù)需要更新MCU程序,128 MB的圖庫(kù)芯片容量充足,能滿足大多數(shù)船舶機(jī)艙顯控系統(tǒng)的圖像存放需求。此外,通過MCU的DMA功能或RA8876M芯片的內(nèi)存塊搬運(yùn)功能,均可實(shí)現(xiàn)整張屏幕的圖像快速刷寫,在15吋液晶顯示屏上的顯示效果良好,觸摸板的觸摸捕捉靈敏,刷新顯示等響應(yīng)迅速,能充分滿足該船延伸報(bào)警系統(tǒng)對(duì)操作響應(yīng)靈敏性的要求。

a) 正面

b) 背面

4 結(jié) 語(yǔ)

本文在充分了解和分析船舶機(jī)艙內(nèi)各類常規(guī)顯示控制系統(tǒng)之后,結(jié)合觸摸顯控裝置在各種工業(yè)場(chǎng)景中的優(yōu)良性能,設(shè)計(jì)實(shí)現(xiàn)了基于STM32F429+RA8876M的船舶機(jī)艙一體化顯控模塊。該模塊15吋液晶顯示屏展示的內(nèi)容較為豐富,提供有強(qiáng)大的數(shù)據(jù)采集、處理和存儲(chǔ)功能,加上良好的人機(jī)交互性能和多樣化的通信功能,能大大提高船舶機(jī)艙內(nèi)顯示模塊的操作便捷性。通過在某延伸報(bào)警系統(tǒng)中實(shí)際應(yīng)用,驗(yàn)證了該模塊具有優(yōu)良的性能,能推廣應(yīng)用到其他船舶機(jī)艙顯控系統(tǒng)中。

猜你喜歡
字庫(kù)觸摸板機(jī)艙
船舶機(jī)艙火災(zāi)的原因分析及預(yù)防
船用柴油機(jī)的選型和動(dòng)力系統(tǒng)機(jī)艙布置優(yōu)化
船舶機(jī)艙鎳銅合金海水管系的管理與維護(hù)
船舶機(jī)艙通風(fēng)相關(guān)要求及常見關(guān)閉裝置分析
No.2 喜茶聯(lián)合漢儀字庫(kù)推出微型書和書簽
讓打字體驗(yàn)大幅提升的神器
筆記本觸摸板防誤觸二法
Neyya 智能戒指
字庫(kù)字體侵權(quán)系列案例分析研究
老家的惜字庫(kù)