亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OM APL138的塞拉門控制器研究*

        2019-09-03 07:23:26卜云祥黃巧亮華明公
        關(guān)鍵詞:共享內(nèi)存塞拉膠條

        卜云祥 黃巧亮 華明公

        (1.江蘇科技大學(xué)電子信息學(xué)院 鎮(zhèn)江 212000)(2.常州今創(chuàng)集團(tuán) 常州 213011)

        1 引言

        國外塞拉門的發(fā)展已經(jīng)有多年歷史,國內(nèi)塞拉門的發(fā)展也有近 20年歷史[1~2],自動化、智能化、高密封性[3~4]、高安全性與可靠性應(yīng)是高鐵塞拉門的發(fā)展趨勢,而塞拉門門控器的設(shè)計(jì)則成為重要設(shè)計(jì)內(nèi)容之一。

        本文基于OMAPL138芯片的門控器設(shè)計(jì),是對現(xiàn)有塞拉門控制器采用兩個獨(dú)立核心板進(jìn)行控制所存在的占用空間大、硬件成本高、后期軟硬件維護(hù)難度大等缺陷進(jìn)行優(yōu)化設(shè)計(jì)。本設(shè)計(jì)采用TI公司的DSP+ARM雙核異構(gòu)處理器,有效解決了原設(shè)計(jì)存在的缺陷并提高了塞拉門控制的精確性和穩(wěn)?定性。

        2 系統(tǒng)功能

        塞拉門控制的具體功能要求如下。

        1)數(shù)據(jù)采集。塞拉門控制器通過傳感器采集門的狀態(tài)信息,每個門對應(yīng)一個特定的ID,通過采集電路將采集到的門ID,開/關(guān)門按鈕指令信息、氣壓信息、速度值等,送入控制器的CPU芯片中進(jìn)行診斷處理。

        2)狀態(tài)檢測。門控器核心板上處理器在判斷出當(dāng)前開門/關(guān)門/障礙物/故障狀態(tài)后,根據(jù)不同情況作出不同反饋動作。障礙物/故障類別主要有敏感膠條觸發(fā)、關(guān)門卡滯、開門受阻。開門受阻和關(guān)門卡滯情況,連續(xù)出現(xiàn)三次后,門停止開關(guān)門嘗試,停在當(dāng)前位置并向總控臺發(fā)送診斷信息。故障信息則包括網(wǎng)絡(luò)故障、氣壓故障、門鎖未鎖死/未打開故障、開到位/關(guān)到位檢測故障等。處理器需要對檢測過程中的診斷信息進(jìn)行存儲。

        3)數(shù)據(jù)通信。處理器可與外界進(jìn)行通信,通信對象可以是其他門控器、或上位機(jī)。

        3 硬件設(shè)計(jì)

        為滿足塞拉門控制的功能要求,本設(shè)計(jì)的門控器核心硬件設(shè)計(jì)采用主從處理器模式,即主處理器(ARM核)主要用于對上位機(jī)通信及數(shù)據(jù)存儲;從處理器(DSP核)主要用于對采集來的車門狀態(tài)進(jìn)行分析和判斷并對塞拉門驅(qū)動電機(jī)的控制。從處理器對車門狀態(tài)的診斷信息能傳輸給主處理器進(jìn)行存儲。

        3.1 主處理器硬件設(shè)計(jì)

        主處理器的硬件框圖如圖1所示。主處理器(ARM核)用于門控器之間數(shù)據(jù)通信、門控器與總控臺之間的以太網(wǎng)通信[5]、診斷信息的存儲處理及通信等。

        NAND FLASH存儲模塊,NAND FLASH芯片選用S34ML01G1_04G1,用于存放主處理器運(yùn)行Linux系統(tǒng)所需文件系統(tǒng)、內(nèi)核文件、u-boot引導(dǎo)文件[6]。

        DDR2共享存儲模塊,芯片選用MT47H64M16HR-25EITH,用于雙核芯片DSP核和ARM核間的診斷信息數(shù)據(jù)的共享存儲和讀寫。

        串口模塊,主處理器通過UART2_RXD和UART2_TXD引腳連接UART接口,以便于連接上位機(jī)軟件進(jìn)行串口調(diào)試。

        以太網(wǎng)通信模塊,主處理器通過RMII_RXD和RMII_TXD引腳連接以太網(wǎng)通信接口用于和總控臺進(jìn)行數(shù)據(jù)通信。

        SD Card模塊,通過MMCSD0_DAT數(shù)據(jù)引腳與主處理器相連,主要用于芯片ARM端運(yùn)行的Linux系統(tǒng)的更新。

        圖1 主處理器硬件框圖

        3.2 從處理器硬件設(shè)計(jì)

        從處理器(DSP核)用于對采集來的車門狀態(tài)進(jìn)行分析和判斷。通過采樣,檢測到塞拉門出現(xiàn)故障時,能及時判斷發(fā)生的故障。故障分為A、B、C三級:A級,車門立刻停止動作,進(jìn)入釋放狀態(tài),等待手動操作;B級:車門將繼續(xù)進(jìn)行開/關(guān)門嘗試;C級:不影響門運(yùn)行狀態(tài)。故障不論級別,均會通過雙核通信將診斷信息傳送到主處理器(ARM核)存儲,而正常運(yùn)行時開關(guān)門信息則不進(jìn)行診斷數(shù)據(jù)傳輸與存儲。從處理器還能實(shí)現(xiàn)對塞拉門驅(qū)動電機(jī)的控制[7]。該部分硬件框圖如圖2所示。

        圖2 從處理器硬件框圖

        從處理器通過ADC采樣引腳(Current1/2),連接外設(shè)系統(tǒng)的電流電壓采樣電路,用于對采集來的車門狀態(tài)進(jìn)行分析和判斷。

        從處理器通過eCAP口,與捕獲電路相連,使得從處理器具有故障診斷功能。

        從處理器通過普通GPIO口接口,與門控器電路相連,實(shí)現(xiàn)對塞拉門主鎖、輔助鎖、報警裝置等硬件設(shè)備的控制,檢測到開/關(guān)門信號(GPIO)時能及時執(zhí)行開關(guān)門命令。

        從處理器通過3路ePWM引腳連接電機(jī)驅(qū)動電路,實(shí)現(xiàn)對塞拉門驅(qū)動電機(jī)的控制。電機(jī)采用無刷直流電機(jī)。

        DDR2共享存儲模塊,用于雙核芯片DSP核和ARM核間對車門診斷信息數(shù)據(jù)的共享存儲和讀寫。

        從處理器通過普通GPIO口與外圍設(shè)備蜂鳴器相連,用于對嚴(yán)重故障信息的報警發(fā)聲。

        4 軟件設(shè)計(jì)

        OMAPL138是DSP+ARM雙核異構(gòu)處理器[8],在本設(shè)計(jì)中,ARM核選用Linux系統(tǒng)環(huán)境Ubuntu 12.04取代之前的裸機(jī)開發(fā),該版本內(nèi)核支持OMAPL138的雙核通信所用到的SYSLINK組件。DSP核則選擇在Linux系統(tǒng)中安裝Code Composer Studio 5.5(CCS 5.5)作為開發(fā)平臺以降低后期軟件維護(hù)難度。

        4.1 系統(tǒng)軟件總體設(shè)計(jì)

        本設(shè)計(jì)中,根據(jù)塞拉門控制器的功能需求以及雙核芯片的硬件特點(diǎn),控制器軟件設(shè)計(jì)主要分為主處理器軟件設(shè)計(jì)和從處理器軟件設(shè)計(jì),本系統(tǒng)軟件設(shè)計(jì)總框圖如圖3所示。

        圖3 系統(tǒng)軟件設(shè)計(jì)流程總圖

        Syslink組件部分由主處理器進(jìn)行啟動并分配共享內(nèi)存空間[9~10],依賴于主處理器啟動,從處理器啟動Syslink組件時只為從處理器本身分配雙核通信空間。

        由于塞拉門故障信息反饋對實(shí)時性要求較高,故Syslink組件啟動[11]后,主處理器不進(jìn)行組件的注銷,Syslink組件隨門控器運(yùn)行而運(yùn)行,使得主從處理器一直處于雙核通信的同步連通狀態(tài)。從而保證了故障反饋的實(shí)時性,增加了塞拉門控制的可靠性和安全性。

        4.2 主處理器軟件設(shè)計(jì)

        Syslink中的處理器間通信協(xié)議(IPC Protocols)有很多類[12],本設(shè)計(jì)綜合使用了多種組件和協(xié)議來傳輸診斷信息,共享內(nèi)存地址范圍為:0xc200 0000~0xc400 0000。Syslink 進(jìn) 程 創(chuàng) 建 函 數(shù) syslink_main()包含兩步,程序如下:

        在主處理中,啟動Syslink組件的啟動函數(shù)Syslink*dual_core_link_new()處理流程如圖4所示。主要實(shí)現(xiàn)總圖中,分配ARM端地址空間、初始化Syslink組件、連接IPC接口部分的功能。

        通過函數(shù)dual_core_link_start()實(shí)現(xiàn)雙核間通信建立流程如圖5所示。主要實(shí)現(xiàn)總圖中,IPC通信啟動及連接部分的功能。

        圖4 Syslink創(chuàng)建流程圖

        圖5 Syslink啟動流程圖

        通信的建立只能由主處理器發(fā)起,從處理器則在上電自動啟動Syslink組件后進(jìn)入等待狀態(tài)。

        1)通過dual_core_link_new()函數(shù)創(chuàng)建雙核通信進(jìn)程。

        首先主處理器需要為Syslink組件分配一個連續(xù)的內(nèi)存空間以及為從處理器DSP分配一個存儲空間:

        Syslink*dual_core_linkspace=(Syslink*)calloc(1,sizeof(Syslink));

        內(nèi)存空間分配完成后,調(diào)用Syslink啟動函數(shù)SysLink_setup(),初始化 Syslink組件,該函數(shù)為Syslink API接口函數(shù),且必須在調(diào)用其他Syslink API函數(shù)之前調(diào)用。該函數(shù)調(diào)用時,若啟動失敗,則將錯誤信息存儲到指定文件夾“stderr”中,延時1ms后再次嘗試啟動,最多嘗試啟動100次?!皊tderr”存儲信息時,通過記錄信息條數(shù)stderr_msg_count來確定是否初始化失敗,若失敗,則門控器數(shù)碼管顯示故障代碼init_error_code。此時需要斷電后重新給門控器上電。

        if(stderr_msg_count>=100){Dig_display(init_error_code);break;}

        調(diào)用Syslink API接口函數(shù)MultiProc_getId()獲取從處理器ID(從處理器ID此后不可更改),然后返回Syslink組件分配到的內(nèi)存空間首地址。

        2)通過函數(shù)dual_core_link_start()實(shí)現(xiàn)雙核通信建立。

        根據(jù)新建雙核進(jìn)程時獲得的從處理器ID:Processor_dsp_address,主處理器調(diào)用Syslink API接口函數(shù)Ipc_control()函數(shù),先后進(jìn)行加載、啟動雙核通信進(jìn)程:

        status_load=Ipc_control(*Processor_dsp_address,0xBABE0000,NULL);

        if(status_load < 0){return false;}

        0xBABE0000為IPC加載回調(diào)函數(shù)控制命令的ID,本段程序功能為發(fā)送加載雙核通信組件命令給從處理器,Ipc_control()函數(shù)若通信加載成功則返回0,失敗返回負(fù)值,根據(jù)其返回值,從而判斷雙核間通信是否成功加載。

        加載后需要發(fā)送啟動雙核通信組件命令給從處理器,啟動命令的判斷過程與加載命令的判斷過程相同,啟動命令名為Ipc_CONTROLCMD_STARTCALLBACK,啟 動 命 令 ID為0xBABE0001。

        dual_core_link_start()函數(shù)返回值為布爾型,根據(jù)返回值可判斷雙核通信是否啟動成功。若成功,則開始進(jìn)行雙核同步處理;若失敗,則報錯并在門控器數(shù)碼管顯示故障代碼后等待門控器核心板斷電重啟。

        if(! dual_core_link_start){Dig_display(start_error_code);break;}

        雙核同步處理過程,首先使用進(jìn)程間信號量進(jìn)行初始化并占用線程,然后使用Syslink IPC協(xié)議中的Notify_registerEvent()函數(shù)注冊雙核同步事件,最后解除進(jìn)程間信號量阻塞,實(shí)現(xiàn)雙核間通信同步。

        主處理器在進(jìn)入同步等待狀態(tài)后,創(chuàng)建共享內(nèi)存,通過Syslink IPC協(xié)議中的NameServer通信協(xié)議上傳共享內(nèi)存地址到Syslink組件。創(chuàng)建共享內(nèi)存、設(shè)置共享內(nèi)存大小由函數(shù)SharedRegion_getH-eap()、Memory_calloc()完成,由于傳輸數(shù)據(jù)內(nèi)容較多,所以創(chuàng)建的共享內(nèi)存空間要取較大值,本設(shè)計(jì)取共享內(nèi)存空間大小為1M。

        4.3 從處理器軟件設(shè)計(jì)

        從處理器即DSP端啟動流程如圖3右側(cè)所示,Syslink組件的創(chuàng)建和初始化過程和主處理器相同,初始化Syslink組件后進(jìn)入循環(huán)等待狀態(tài),DSP每隔1ms查詢一次IPC端口狀態(tài)。在收到主處理器端發(fā)送的Ipc_CONTROLCMD_LOADCALLBACK加載命令[13]后啟動IPC通信。在收到主處理器端Ipc_CONTROLCMD_STARTCALLBACK命令后,退出循環(huán)等待狀態(tài),完成Syslink組件的創(chuàng)建和IPC通信連接[14]。

        在雙核通信連接建立后,DSP開始進(jìn)入工作狀態(tài),進(jìn)入車門診斷流程,DSP端診斷出故障信息時,獲取共享內(nèi)存地址,寫入診斷信息(車門ID、故障代碼、IO狀態(tài)、網(wǎng)絡(luò)信息、發(fā)生時間等)。其中,對敏感膠條的長時間觸發(fā)診斷流程圖如圖6所示,診斷功能為內(nèi)側(cè)敏感元件一直有效,報此故障。

        根據(jù)模塊化的設(shè)計(jì)要求,向共享內(nèi)存寫入故障信息主要由Message_store()函數(shù)實(shí)現(xiàn)。Dig_display()函數(shù)為顯示函數(shù),用于控制數(shù)碼管上故障代碼顯示。Timer_start()函數(shù)用于啟動定時器,Timer_reset()函數(shù)用于復(fù)位定時器。

        在內(nèi)部敏感膠條被按下時,內(nèi)部敏感膠條信號置1,同時檢測定時器0的狀態(tài)若定時器未啟動則啟動定時器0。開始計(jì)時,若已啟動定時器0,則繼續(xù)計(jì)時;若計(jì)時未到60s,則繼續(xù)采集內(nèi)部敏感膠條信號:

        若敏感膠條持續(xù)觸發(fā)且時間超過seted_time(60s)時,判定為已觸發(fā)此故障。通過Message_store()函數(shù)對故障信息進(jìn)行記錄并存入共享內(nèi)存中,通過Dig_display()函數(shù)在門控器上顯示故障代碼。從而實(shí)現(xiàn)了對內(nèi)部敏感膠條故障的診斷。

        其余診斷流程與敏感膠條診斷流程類似,就不再贅述了。至此,塞拉門控制器的軟件設(shè)計(jì)全部完成。

        圖6 敏感膠條故障診斷流程圖

        5 結(jié)語

        本設(shè)計(jì)基于OMAPL138的塞拉門控制器研究,減小了塞拉門控制器占用空間,通過SyslinkIPC雙核通信保證了數(shù)據(jù)傳輸?shù)目焖傩裕?5~16],增強(qiáng)了控制系統(tǒng)的精確性,降低了后期軟硬件維護(hù)難度,為開發(fā)提供了便利,并且在實(shí)際應(yīng)用中驗(yàn)證了可行性。

        接下來的研究中,將嘗試加入LCD顯示屏數(shù)據(jù)接口。由于目前進(jìn)行后期軟件維護(hù)時,需要攜帶電腦,數(shù)據(jù)線等設(shè)備,而在調(diào)試現(xiàn)場的操作空間并沒有那么大,現(xiàn)場維護(hù)有一定難度。使用LCD顯示屏可以使后期的軟件維護(hù)更加方便快速。

        猜你喜歡
        共享內(nèi)存塞拉膠條
        一種用于輪胎生產(chǎn)的返膠裝置
        橡膠科技(2023年2期)2023-04-06 03:46:14
        卡西米羅·吉塞拉的詩
        基于ABAQUS的高速車塞拉門周邊膠條脫出問題分析及改進(jìn)
        淺談門窗用整框注壓膠條角部強(qiáng)度
        高速動車組塞拉門密封膠條國產(chǎn)化研究與應(yīng)用
        通過QT實(shí)現(xiàn)進(jìn)程間的通信
        基于PCI總線的多處理器協(xié)同機(jī)制研究
        QNX下PEX8311多路實(shí)時數(shù)據(jù)采集的驅(qū)動設(shè)計(jì)
        電子世界(2014年21期)2014-04-29 06:41:36
        一種高效RTAI 共享內(nèi)存管理層的研究與實(shí)現(xiàn)*
        洪都拉斯逮捕塞拉亞支持者
        国产精品国产自线拍免费 | 人妻少妇偷人精品一区二区三区| 亚洲天堂一区av在线| 精品人妻无码视频中文字幕一区二区三区 | 三级日韩视频在线观看| 18禁黄污吃奶免费看网站| 蜜桃av噜噜一区二区三区| 亚洲欧美在线视频| 青青草免费观看视频免费| 在线无码中文字幕一区| 8ⅹ8x擦拨擦拨成人免费视频 | 国产一区二区三免费视频| 久久久久久久极品内射| 精品性影院一区二区三区内射| 久久精品国产亚洲AV高清wy| 精品乱色一区二区中文字幕 | 久久精品国产色蜜蜜麻豆| 欧美在线综合| 一区二区视频资源在线观看| 99久久精品费精品国产一区二| 亚洲色在线v中文字幕| 久久久AV无码精品免费| 亚洲国产综合精品中文| 久久影院午夜理论片无码| 国产午夜福利小视频合集| 中文一区二区三区无码视频| 精品国产一区二区三区性色 | 少妇bbwbbw高潮| 亚洲一区二区三区偷拍视频| 人妻体体内射精一区二区| 国产午夜久久久婷婷| 一区二区黄色素人黄色| 亚洲自偷精品视频自拍| 亚洲av日韩av永久无码色欲| 一本色道久久综合狠狠躁中文| 久久国产在线精品观看| 天天躁日日躁狠狠久久| 亚洲αⅴ无码乱码在线观看性色| 男女啪啪动态视频在线观看| 国产精品欧美久久久久久日本一道| 四虎永久免费一级毛片|