• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 汽車電子 > 設計應用 > 多功能嵌入式車輛行駛監控終端設計

    多功能嵌入式車輛行駛監控終端設計

    作者: 時間:2009-07-09 來源:網絡 收藏

    ②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物理總線的接口。

    本文引用地址:http://www.czjhyjcfj.com/article/197872.htm

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

    HSDL7001可驅動IrDA兼容的收發器,最高傳輸速率達11 502 kbps,其內部有1個SIR編碼器和1個SIR解碼器,支持內部(外接3.684 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采樣驅動程序為例進行分析:

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
    蜂鳴器相關文章:蜂鳴器原理


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 余姚市| 安义县| 黄平县| 霍城县| 乌什县| 南川市| 佛学| 和硕县| 库伦旗| 师宗县| 房山区| 金昌市| 宜君县| 红桥区| 紫云| 满洲里市| 宜川县| 阿合奇县| 玉环县| 教育| 固镇县| 东乡| 奈曼旗| 弥勒县| 巨鹿县| 偃师市| 新野县| 玛沁县| 龙陵县| 锡林郭勒盟| 新郑市| 新龙县| 阆中市| 江安县| 南宁市| 抚远县| 喀喇沁旗| 广东省| 阿荣旗| 淮滨县| 萨迦县|