精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于LPC2292微控制器和CAN控制器實現車輛行駛監控系統的設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:李懷俊;劉越琪;朱 ? 2021-04-02 09:13 ? 次閱讀

作者:李懷俊;劉越琪;朱玉強;張飛

1 終端功能

本監控終端除了具有傳統的記錄儀所擁有的事故分析功能外,還能在汽車駕駛員超速行駛時發出超速報警聲,以提醒駕駛員減速行駛,并詳細記錄車輛每次的開車時間、行駛里程、行駛時間、最高車速,以及每次最高車速的持續時間,方便交通管理部門根據所記錄的有關數據對車輛進行有效的管理;同時,該設備可實現多種信息處理,顯示汽車狀況,進行自我診斷,對車速、發動機轉速、水溫、油壓、剎車氣壓、輪胎壓力和蓄電池電壓等一系列參數進行有效監控;通過控制發光二極管、液晶顯示、蜂鳴器等報警手段,為司乘人員提供直接的汽車狀況信息并發出各種超限情況的報警等,可有效防范和化解車輛事故的發生。另外,終端具有GPRS和GPS模塊,可將各種監測數據實時傳至公司管理中心,方便了公司車輛的統一調度和行車監測,利于提高公司管理水平。

2 終端功能模塊設計

選用帶有ARM7TDMI-S內核的LPC2292微控制器,可實現對車速、轉速信號、開關量信號以及水溫、剎車氣壓、輪胎壓力等模擬量信號的采集、處理以及數據的實時存儲和顯示,通過串口、USB接口可以實現與PC機之間的數據通信,通過 CAN和LIN總線接口可實現與汽車上的CAN或LIN節點間的數據通信。該系統的外圍接口模塊有電源模塊、車速等脈沖信號采集模塊、水溫等模擬信號采集模塊、鍵盤接口模塊、存儲器模塊、GPS定位模塊、GPRS通信模塊、LCD顯示模塊、胎壓監測以及通信接口模塊,系統的組成框圖如圖1所示。限于篇幅,本文僅就若干特色功能模塊設計作詳細分析。

基于LPC2292微控制器和CAN控制器實現車輛行駛監控系統的設計

2.1 車速、轉速信號采集電路設計

現有運輸車輛一般都裝有霍爾式集成傳感器,車速轉換成的電壓信號直接送至車速表,信號采集比較方便,具體處理方法是直接從車速表的接線端子取得車速信號。具體接線方式根據車速表信號輸出電路來確定。信號出車速表端子后送至光耦4N35高速隔離開關,再送至集成運放LM358D前置差分電路,進一步去除干擾并有效放大,由LM358D輸出端(7腳)送至9013進行次級放大,至此車速信號已是占空比為50%的方波信號,并已剔除雜波,可直接送至微控制器定時捕獲端口進行計數,具體電路如圖2所示。經反復實驗優化,本電路抗干擾能力很強,實車測試時無論低速狀態或超過110 km/h車速時,均可穩定準確地檢測到速度信號。同理,發動機轉速信號亦可采取類似方法進行處理(在此不再贅述)。

2.3 CAN總線接口功能設計

CAN正常工作需要具備CAN控制器以及CAN總線驅動器。前者實現網絡層次結構中數據鏈路層和物理層的功能,后者則提供CAN控制器與物理總線之間的接口以及對CAN總線的差動發送和接收功能。LPC2292微控制器包含兩個CAN控制器,單個總線上的數據傳輸速率高達1 Mbps,具有32位寄存器RAM訪問功能,帶有全局濾波器和驗收濾波器。本系統采用CTM8251D雙路帶隔離CAN收發器,至少可連接110個節點,通過擴展CAN總線接口,使得串行通信方式的選擇更加多樣化。當車內儀表也具有CAN總線接口的時候,它們可以直接利用此接口與記錄儀通信。CAN總線接口電路如圖4所示。

CAN通信與一般的串口通信類似,在數據通信前先要對CAN總線進行初始化操作,包括CAN控制器的選擇、數據寄存器的設置、通信波特率的設置等。初始化完成后,需要設置雙方的通信協議,建立彼此的連接。只有在同一協議下工作的雙方才能正確進行數據的交換。本系統設置的CAN通信協議為:無過濾條件、 bypass模式、波特率可以預先設置。

本系統提供的CAN-BUS通信函數接口如下:

①初始化CAN:int CAN_Init(int cannum,uint32volatile baudset)。

函數入口參數:cannum為CAN控制器的選擇標志符,為1選擇CAN0控制器,為2選擇CAN1控制器;baudset為波特率,可以預先設置。

函數出口參數:初始化成功返回0,失敗則返回1。

函數功能:對CAN控制器進行初始化。

②CAN總線發送數據:int CAN_SendData(int can-num,uint32 volatile frameinfo,uint32 volatile senddatal,uint32 volatile senddata2,uint32 volatile canmode)。

函數入口參數:cannum同上;frameinfo為幀信息,用于設置幀信息寄存器;senddata1和senddata2分別為要發送的數據,用于設置數據寄存器A和B;canmode用于設置CAN工作模式。

函數出口參數:數據發送成功返回0,失敗則返回1。

函數功能:CAN總線進行數據發送。

③CAN總線接收數據:int CAN_RcvData(int can-num。uint32 volatile *pdatal,uint32 volatile *pdata2)。函數入口參數:cannum同上;pdata1和pdata2為接收數據指針。

函數功能:CAN總線接收數據,并從數據寄存器CANRDA和CANRDB中將數據讀進對應的指針中。

2.4 LIN總線接口電路設計

LIN是低成本網絡中的汽車通信協議標準,可以提高通信質量、降低成本,將是在汽車中使用汽車分級網絡的重要因素。LIN總線是一種簡單的單總線系統,其軟件協議棧比較簡單。一個LIN網絡由一個主機節點和一個以上的從機節點組成,所有的節點都包括有從機服務程序,用來發送和接收數據,僅有一個節點包含有主機服務程序。主機程序主要用于發送同步間隔、同步場和ID場(或命令),以控制和協調各個節點的有序通信。

LPC2292微控制器集成有實現LIN總線節點的必要硬件,包括UART、捕獲輸入和足夠的定時器,特別是其捕獲輸入功能,為LIN的幀頭識別、幀同步 &波特率測量提供了極大的便利。LIN總線接口電路如圖5所示,主要由LIN物理層接口芯片TJA1020構成,與LPC2292串口2相連,其主要完成MCU通信信號與LIN物理總線信號之間的相互轉換,為MCU提供一個與LIN物理總線的接口。

2.5 紅外通用接口模塊

出于用戶統一采集數據需求考慮,本系統設計了通用的紅外接口。它能夠支持紅外遙控和數據通信,支持IrDA協議,能夠方便地與各種符合協議標準的設備進行通信。該模塊由HSDL7001編解碼芯片和HSDL3600紅外收發芯片組成。 HSDL7001與MCU串口相連,原理框圖如圖6所示。

HSDL7001可驅動IrDA兼容的收發器,最高傳輸速率達11 502 kbps,其內部有1個SIR編碼器和1個SIR解碼器,支持內部(外接3.* MHz晶振)和外部16XCLK輸入兩種模式。當使用內部時鐘時,波特率可通過A0、A1和A2進行調整。

3 終端軟件設計

嵌入式μClinux具有結構小巧、實時性強、穩定性高、可定制性強的特點。在網絡通信方面,嵌入式操作系統支持TCP/IP及其他協議并提供通信協議動態掛接技術,以及操作系統內部的進程通信應用接口技術。本設計采用穩定的2.4版本的內核,并對它進行合理的裁減和加載,作為操作平臺。μClinux己對本系統采用的主控器有了很好的支持,但在編譯本系統的內核前,需要修改 uclinux/linux-2.4.x/arch/armnommu/config.in文件中關于外部存儲空間的定義,以滿足本系統關于外部 Flash、CH375B和LCD液晶屏等器件的存儲空間的劃分。

3.1 進程管理

μClinux的進程調度沿用了Linux的傳統,系統每隔一定時間掛起進程,同時系統產生快速和周期性的時鐘計時中斷,并通過調度函數(定時器處理函數)決定進程何時擁有相應的時間片,然后進行相關進程切換,這通過父進程調用:fork函數生成子進程來實現。

本系統中,為每個任務建立數據處理子進程,包括:車速、轉速等信號采集處理任務、串口定時通信任務、USB數據傳輸任務、GPRS數據傳輸任務、LCD數據顯示更新任務等。子進程采用由μClinux內核中的cron組件觸發任務機制。系統中的crontab文件記錄了終端的定時數據處理任務信息(可由系統前臺設定任務執行周期),時間一到即可被cron觸發其相應的子進程。由于采用多進程處理,終端可方便地實現多種信號的實時采集以及數據的及時處理、存儲和上送。

3.2 設備驅動程序編寫

設備驅動程序是內核與硬件之間的唯一接口,也是內核代碼的一部分。當硬件設備要與內核進行交互時,就會產生一個中斷信號,通過驅動程序預定義的入口點進入內核,入口點將此信號保存在棧中并保存被中斷任務的寄存器的值。內核提取保存在棧中的中斷信號,再由內核調用相應的中斷處理程序。應用程序可以像操作普通文件一樣對硬件設備進行操作。

本系統用到LPC22292的4路A/D采樣接口對水溫、剎車氣壓以及發動機電壓狀態等參數進行采集。下面以A/D采樣驅動程序為例進行分析:

①應用程序只有通過對設備文件的open、close、read/write、ioctl等進行操作才能訪問硬件設備,Linux的擴展文件操作結構 file_operations實現了標準的文件操作到硬件設備操作的映射,每個設備驅動程序都要實現這個接口所定義的部分或全部函數。A/D驅動程序的擴展文件操作結構如下:

②在設備驅動程序中使用中斷,是提高系統數據處理速率的有效手段。有兩項工作要做:

第一,在初始化函數中的register_chrdev()調用之后,使用request_irq()函數安裝中斷處理程序。request_irq()函數聲明如下:

其中的參數irq是驅動程序使用的設備中斷號;handler是中斷服務函數指針;flags是一個與中斷管理有關的各種選項的字節掩碼;device在/proc/interrupts中用于顯示中斷的擁有者;dev_id這個指針用于共享的中斷信號線,返回0成功,非0失敗。

A/D驅動程序安裝如下一個中斷處理程序:

結 語

基于ARM核的LPC2292為控制核心的嵌入式車輛行駛監控終端,在現有行車記錄儀基礎上增加了若干新功能。它具有以下特點:

①以μClinux系統為數據處理平臺,通過多任務進程調度機制大大提高了系統處理海量數據的能力,實時性得到很大提高,對于車速、發動機轉速、剎車氣壓等監測頻率要求高的參數可以精確監測,增強了車輛行駛安全性。

②先進的通信功能。CAN、LIN總線接口使得終端可以與具備通用總線接口的車輛融為一體,作為車輛的內置診斷裝置,可全方位獲取車輛參數。USB接口使得監控數據可以方便地保存至系統后臺,利于數據分析。

③完善的數據上傳與車輛定位跟蹤功能。管理者不僅可以實時了解車輛的位置現狀,而且可以實時監控車輛的運行狀態,通過司機與管理者的雙重監控,可以有效保證車輛的安全運行,這對于從事高危運輸行業的車輛具有重要意義。

總之,將高性能的ARM微控制器與嵌入式操作系統運用于車輛行駛監控終端中,既能大大提高車輛數據采集與分析的效率和準確性,又可實現對車輛多種性能參數的實時監控,是今后車輛遠程實時監控技術的發展趨勢。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7332

    瀏覽量

    150077
  • 控制器
    +關注

    關注

    112

    文章

    15874

    瀏覽量

    175322
  • 監控系統
    +關注

    關注

    21

    文章

    3768

    瀏覽量

    172272
收藏 人收藏

    評論

    相關推薦

    基于LPC2292 和DS18B20 的測溫節點設計The Des ign of Temperature measure node B

    基于LPC2292 和DS18B20 的測溫節點設計 摘要:本文介紹了一種基于LPC2292 和數字式溫度傳感DS18B20 的測溫節點的軟硬件實現方法。論文詳細論述了硬件
    發表于 10-19 14:52

    基于嵌入式微控制器LPC2214的遠程圖像監控系統

    基于嵌入式微控制器LPC2214的遠程圖像監控系統摘要:針對傳統圖像監控系統所存在的缺陷,綜合應
    發表于 12-01 10:23

    怎么利用LPC2292嵌入式微處理設計監護系統

    如何利用LPC2292嵌入式微處理設計監護系統
    發表于 07-31 06:10

    微控制器LPC2292資料推薦

    微控制器LPC2292資料下載內容主要介紹了:LPC2292功能和特性LPC2292引腳功能LPC2292內部方框圖
    發表于 03-31 07:40

    LPC2194CAN控制器和ARM微控制器相關資料分享

    LPC2194是飛利浦公司生產的一款CAN控制器和ARM微控制器。它為四面64腳封裝。自帶4路CAN控制
    發表于 04-22 07:37

    基于LPC2292的手持JPEG圖像顯示設計

            文章介紹了基于32 位ARM7 芯片LPC2292 實現的軟件JPEG 解碼算法及應用了此算法的手持JPEG 圖像顯示的設計。文章從JPEG
    發表于 09-05 09:17 ?21次下載

    基于LPC2292的汽車智能組合儀表

    介紹了一種汽車智能組合儀表的設計, 討論了汽車智能儀表的結構和功能, 分析了系統的軟件設計。該儀表以基于ARM7 的微控制器LPC2292 微控制器
    發表于 06-02 15:04 ?65次下載
    基于<b class='flag-5'>LPC2292</b>的汽車智能組合儀表

    基于LPC2292的手持JPEG圖像顯示設計

    基于LPC2292的手持JPEG圖像顯示設計,很好的資料,快來學習吧
    發表于 02-18 13:52 ?0次下載

    詳解LPC2000系列ARM微控制器CAN驗收濾波應用

     LPC2000 系列ARM微控制器是采用ARM7TDMI-S內核的32位嵌入式微處理,內嵌2路或4路CAN控制器和驗收濾波
    發表于 02-08 19:24 ?2154次閱讀
    詳解<b class='flag-5'>LPC</b>2000系列ARM<b class='flag-5'>微控制器</b>的<b class='flag-5'>CAN</b>驗收濾波<b class='flag-5'>器</b>應用

    關于支持LCD顯示的LPC微控制器系列的介紹(一)

    介紹LPC支持LCD顯示的微控制器系列,展示了LPC微控制器家族開發和圖形設計工具的生態系統,最后為大家逐步演示如何基于
    的頭像 發表于 06-28 19:28 ?6229次閱讀

    LPC2131微控制器外部實現CAN總線通信設計

    Philips公司的LPC213l是基于ARM7TDMI-S的高性能32位RISC微控制器。它具有ARM處理的所有優點——低功耗、高性能和較為豐富的片上資源,但LPC2131內部沒有
    的頭像 發表于 04-18 08:08 ?3052次閱讀
    在<b class='flag-5'>LPC</b>2131<b class='flag-5'>微控制器</b>外部<b class='flag-5'>實現</b><b class='flag-5'>CAN</b>總線通信設計

    基于EasyJTAG仿真上采用LPC2292單片機實現CAN節點的設計

    擴展到了機械工業、紡織機械、農用機械、機器人、數控機床、醫療器械、家用電器及傳感等諸多領域。CAN節點的設計多采用單片機,為此,本文給出了一種基于本身已經嵌入了CAN控制器的單片機
    的頭像 發表于 04-11 17:21 ?2934次閱讀
    基于EasyJTAG仿真<b class='flag-5'>器</b>上采用<b class='flag-5'>LPC2292</b>單片機<b class='flag-5'>實現</b><b class='flag-5'>CAN</b>節點的設計

    LPC2292微控制器的PCB原理圖免費下載

    本文檔的主要內容詳細介紹的是LPC2292微控制器的PCB原理圖免費下載。
    發表于 10-21 11:19 ?15次下載
    <b class='flag-5'>LPC2292</b><b class='flag-5'>微控制器</b>的PCB原理圖免費下載

    CAN控制器和收發

    SJA1000CAN控制器集成在微控制器中,如NXP半導體公司的Cortex-M0內核LPC11Cxx系列微控制器
    發表于 12-04 11:21 ?28次下載
    <b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>和收發<b class='flag-5'>器</b>

    基于LPC2292CAN總線USB接口適配器的設計

    電子發燒友網站提供《基于LPC2292CAN總線USB接口適配器的設計.pdf》資料免費下載
    發表于 10-09 16:53 ?1次下載
    基于<b class='flag-5'>LPC2292</b>的<b class='flag-5'>CAN</b>總線USB接口適配器的設計